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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: (0, _g3wI18n.t)('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('.navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = (0, _g3wI18n.t)('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\".navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[(!_vm.isIframe)?_c('nav',{ref:\"navbar\",staticClass:\"navbar no-print\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"start\",\"height\":\"50px\"},attrs:{\"role\":\"navigation\"}},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"menu-toggler\",attrs:{\"id\":\"menu-toggler\",\"type\":\"checkbox\",\"autocomplete\":\"off\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('label',{staticClass:\"navbar-toggler\",attrs:{\"for\":\"menu-toggler\",\"hidden\":\"\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])]),_vm._v(\" \"),_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav-links\",staticStyle:{\"display\":\"flex\",\"text-align\":\"center\",\"white-space\":\"nowrap\",\"list-style\":\"none\",\"padding\":\"0\",\"margin\":\"0\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{attrs:{\"height\":\"20\",\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e(),_vm._v(\" \"),(item.i18n)?_c('span',{directives:[{name:\"t-html\",rawName:\"v-t-html\",value:(item.text || item.title || item.img_title),expression:\"item.text || item.title || item.img_title\"}],attrs:{\"hidden\":item.text ? undefined : ''}}):_vm._e(),_vm._v(\" \"),(!item.i18n)?_c('span',{attrs:{\"hidden\":item.text ? undefined : ''},domProps:{\"innerHTML\":_vm._s(item.text || item.title || item.img_title)}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar no-print\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({ paddingTop: _vm.isIframe ? 0 : null })},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":\"modal-fullscreen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-fullscreen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('modal-login'):_vm._e(),_vm._v(\" \"),_c('modal-addlayer'),_vm._v(\" \"),_c('modal-changemap'),_vm._v(\" \"),_c('modal-metadata')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ModalAddLayer.vue\":84,\"components/ModalChangeMap.vue\":85,\"components/ModalLogin.vue\":86,\"components/ModalMetadata.vue\":87,\"components/UserMessage.vue\":111,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/gui\":173,\"store/application\":178,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/sameOrigin\":237,\"vue-cookie-law\":\"vue-cookie-law\",\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{display:block;position:relative;padding:0;margin:8px auto;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n this._traverseVisibleLayers(layer.nodes, _layers);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":127,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nvar _g3wI18n = require(\"g3w-i18n\");\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 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((0, _g3wI18n.t)('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":77,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\n\nvar _shpWrite = require('shp-write');\n\nvar _shpWrite2 = _interopRequireDefault(_shpWrite);\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 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', (0, _g3wI18n.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((0, _g3wI18n.t)(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).config.editing.visible : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n _shpWrite2.default.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.01\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":127,\"g3w-i18n\":129,\"services/gui\":173,\"shp-write\":\"shp-write\",\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return !this.isGroup && _application2.default.highlightlayers && layer && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active) && !_vm.layerstree.filter.pagination)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important;text-align:right}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.state.label))])],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],44:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}.modal-content[data-v-70d2a0b2]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-70d2a0b2]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-70d2a0b2]{text-align:center;padding:0!important}.modal[data-v-70d2a0b2]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-70d2a0b2]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toRawType = require('utils/toRawType');\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n id: Date.now(),\n active: null,\n value: undefined !== this.state.value.mime_type ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default,\n Teleport: _vue2Teleport2.default\n },\n computed: {\n images: function images() {\n return [].concat(this.value).map(function (img) {\n return { src: (img || {}).photo || img };\n });\n }\n },\n methods: {\n showGallery: function () {\n var _ref = _asyncToGenerator(function* (index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') {\n this.value.active = true;\n }\n $('#gallery_' + this.id).modal('show');\n });\n\n function showGallery(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showGallery;\n }(),\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\",\"display\":\"inline-block\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.images),function(img,i){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":img.src},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(i)}}})}),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":(\"gallery_\" + _vm.id),\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":(\"carousel_\" + _vm.id),\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,i){return _c('div',{staticClass:\"item\",class:_vm.active == i ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src),\"alt\":\"\"}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.$fa('arrow-right')})]):_vm._e()])])])])])])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":42,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":166}],48:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],49:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":42}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":52,\"components/FormHeader.vue\":53}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":68}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",[_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn \",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})])]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":178,\"utils/getUniqueDomId\":217}],56:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{display:block;position:relative;padding:0;margin-bottom:5px;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none;border-bottom:2px solid #eee}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],59:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.$nextTick();\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":61,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayer = _application2.default.project.getLayerById(projectRelation.referencingLayer);\n\n return !(relationLayer && relationLayer.isEditable());\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":67,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input],\n\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n changed: false\n };\n },\n\n\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n },\n\n methods: {\n getValuesItem: function getValuesItem() {\n var checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.service.state.input.options.values.find(function (v) {\n return !!checked === v.checked;\n }) || {};\n },\n convertValueToChecked: function convertValueToChecked() {\n var _this = this;\n\n if ([null, undefined].includes(this.service.state.value)) {\n return false;\n }\n var option = this.service.state.input.options.values.find(function (v) {\n return _this.service.state.value == v.value;\n });\n if (undefined === option) {\n option = this.service.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.service.state.value = option.value;\n }\n return option.checked;\n },\n changeCheckBox: function changeCheckBox() {\n var _getValuesItem = this.getValuesItem(this.value),\n value = _getValuesItem.value,\n label = _getValuesItem.label;\n\n this.label = label;\n this.state.value = value;\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged() {\n this.value = this.convertValueToChecked();\n\n var _getValuesItem2 = this.getValuesItem(this.value),\n value = _getValuesItem2.value,\n label = _getValuesItem2.label;\n\n this.label = label;\n this.state.value = value;\n }\n },\n\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],64:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],65:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"store/application\":178,\"utils/getUniqueDomId\":217}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],68:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":67,\"vueify/lib/insert-css\":2}],69:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.form.inputs.tooltips.lonlat'),expression:\"'sdk.form.inputs.tooltips.lonlat'\"}],ref:\"g3w-input-lat-lon\",staticClass:\"action skin-tooltip-left skin-color skin-border-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],71:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _g3wI18n = require('g3w-i18n');\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('gui/fields/fields'),\n MediaField = _require.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((0, _g3wI18n.t)(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],75:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n var value = values[this.state.input.options.key];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n if (this.autocomplete) {\n if (!this.multiple) {\n this.state.input.options.values.splice(0);\n }\n this.state.input.options.values.push({\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n }\n\n this.service.sortValues();\n\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.autocomplete || _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n\n if (_this2.autocomplete) {\n _this2.state.input.options.values = _this2.state.input.options.values.filter(function (v) {\n return value != v.value;\n });\n }\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n if (dependencyLayerId) {\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.service.getData({\n key: _this5.state.input.options.value,\n value: _this5.state.input.options.key,\n search: search\n }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n yield this.service.getKeyByValue({\n search: this.multiple ? this.getMultiValues() : this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.form.inputs.tooltips.picklayer'),expression:\"'sdk.form.inputs.tooltips.picklayer'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":156,\"mixins\":166,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],76:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],79:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ 'align': '' }, { 'align': 'center' }, { 'align': 'right' }, { 'align': 'justify' }], [{ 'color': [] }, { 'background': [] }], ['bold', 'italic', 'underline', { 'list': 'ordered' }, { 'list': 'bullet' }, 'link', 'clean', 'html'], ['table', 'column-left', 'column-right', 'column-remove', 'row-above', 'row-below', 'row-remove']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],80:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"utils/getUniqueDomId\":217}],81:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.copy_map_extent_url'),expression:\"'sdk.tooltips.copy_map_extent_url'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":178,\"utils/copyUrl\":190,\"vueify/lib/insert-css\":2}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _g3wI18n = require('g3w-i18n');\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 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 && (0, _g3wI18n.t)('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":94,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/addZValueToOLFeatureGeometry\":182,\"utils/convertSingleMultiGeometry\":188,\"utils/flattenObject\":201,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getUniqueDomId\":217,\"utils/isPointGeometryType\":225,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-81ff9972]{margin:10px 0;position:relative;border:2px dashed #97a1a8;display:flex;flex-direction:column;text-align:center;gap:8px;opacity:.8}#addcustomlayer input[data-v-81ff9972]{position:absolute;outline:none;opacity:0;cursor:pointer;inset:0}#add_custom_url_wms_input[data-v-81ff9972]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-81ff9972]{font-size:1.2em;font-weight:700;margin-bottom:10px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _XHR = require('utils/XHR');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n RasterLayer: _imagelayer.RasterLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nfunction _CSVToArray(text) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n\n var pattern = new RegExp('(' + separator + '|\\r?\\n|\\r|^)' + '(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|' + '([^\"' + separator + \"\\r\\n]*))\", \"gi\");\n\n var data = [[]];\n var matches = null;\n\n while (matches = pattern.exec(text)) {\n if (matches[0] === '\\r\\n') {\n break;\n }\n\n if (matches[1].length && matches[1] !== separator) {\n data.push([]);\n }\n\n data.at(-1).push(matches[2] ? matches[2].replace(new RegExp('\"\"', 'g'), '\"') : matches[3]);\n }\n\n return data;\n}\n\nexports.default = {\n name: 'modal-addlayer',\n\n data: function data() {\n\n return {\n layer_type: undefined,\n file_type: null,\n layer_name: null,\n layer_crs: _application2.default.project.getProjection().getCode(),\n layer_color: {\n hex: '#194d33',\n rgba: { r: 25, g: 77, b: 51, a: 1 },\n a: 1\n },\n wms_config: null,\n wms_urls: [],\n wms_layers: [],\n url: null,\n id: null,\n olLayer: null,\n map_crs: _application2.default.project.getProjection().getCode(),\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n csv_x: null,\n csv_y: null,\n csv_wkt: null,\n csv_separator: ',',\n csv_loading: false,\n name: undefined,\n title: null,\n layers: [],\n projections: [],\n epsg: null,\n error_message: '',\n parse_errors: []\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n feature_count: function feature_count() {\n return this.olLayer && this.olLayer.getSource().getFeatures().length || 0;\n }\n },\n\n watch: {\n wms_layers: function wms_layers() {\n var _this = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.wms_projections[layers.at(-1)].crss[0];\n this.projections = this.wms_projections[layers.at(-1)].crss;\n } else {\n this.projections = this.projections.filter(function (p) {\n return _this.wms_projections[layers.at(-1)].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref4) {\n var name = _ref4.name;\n return _this2.wms_projections[name].crss.includes(_this2.epsg);\n });\n });\n\n function epsg() {\n return _ref3.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function () {\n var _ref5 = _asyncToGenerator(function* (type, oldtype) {\n if (type && oldtype) {\n this.layer_type = undefined;\n yield this.$nextTick();\n this.layer_type = type;\n }\n if ('file' === oldtype) {\n this.unloadFile();\n }\n if ('wms' === oldtype) {\n this.unloadWMS();\n }\n });\n\n function layer_type(_x3, _x4) {\n return _ref5.apply(this, arguments);\n }\n\n return layer_type;\n }(),\n url: function url() {\n var _this3 = this;\n\n if (this.url && !this.wms_config && this.wms_urls.some(function (l) {\n return l.url == _this3.url;\n })) {\n this.id = this.wms_urls.find(function (l) {\n return l.url == _this3.url;\n }).id;\n }\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer_color = val;\n },\n parseFile: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var input = this.$refs.input_file;\n\n if (!input.accept.split(',').includes('.' + input.files[0].name.split('.').at(-1).toLowerCase())) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n if (_gui2.default.getService('map').getLayerByName(input.files[0].name)) {\n this.error_message = 'layer_is_added';\n return;\n }\n\n try {\n\n this.error_message = '';\n this.parse_errors = [];\n this.layer_name = input.files[0].name;\n this.file_type = input.files[0].name.split('.').at(-1).toLowerCase();\n this.layer_data = null;\n\n var epsg = ['zip', 'kml', 'kmz'].includes(this.file_type) ? 'EPSG:4326' : this.layer_crs;\n var features = [];\n var data = void 0;\n\n (this.fields || []).splice(0);\n if ('kmz' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n var zip = new JSZip();\n zip.load((yield input.files[0].arrayBuffer(input.files[0])));\n data = zip.file(/.kml$/i).at(-1).asText();\n }\n\n if ('zip' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n data = JSON.stringify((yield shp((yield input.files[0].arrayBuffer(input.files[0])))));\n }\n\n if ('csv' === this.file_type) {\n this.csv_loading = true;\n\n data = _CSVToArray((yield input.files[0].text()), this.csv_separator);\n var X = ['x', 'lng', 'longitude', 'longitudine'];\n var Y = ['y', 'lat', 'latitude', 'latitudine'];\n this.fields = data.shift();\n var wkt = this.fields.findIndex(function (f) {\n return 'wkt' === f.toLowerCase();\n });\n var x = this.fields.findIndex(function (f) {\n return X.includes(f.toLowerCase());\n });\n var y = this.fields.findIndex(function (f) {\n return Y.includes(f.toLowerCase());\n });\n this.csv_wkt = this.csv_wkt || this.fields[wkt];\n this.csv_x = this.csv_wkt || this.csv_x || this.fields[x] || this.fields[0];\n this.csv_y = this.csv_wkt || this.csv_y || this.fields[y] || this.fields[1];\n data.forEach(function (row, i) {\n var X = Number(row[x]);\n var Y = Number(row[y]);\n\n if (!_this4.csv_wkt && (Number.isNaN(X) || Number.isNaN(Y))) {\n return _this4.parse_errors.push({ row: i + 1, value: data[i] });\n }\n try {\n var feat = new ol.Feature(_extends({\n geometry: new ol.format.WKT().readGeometry(_this4.csv_wkt ? row[wkt] : 'POINT (' + X + ' ' + Y + ')', {\n dataProjection: _this4.layer_crs,\n featureProjection: _gui2.default.getService('map').getEpsg()\n })\n }, row.reduce(function (props, value, i) {\n props[_this4.fields[i]] = value;return props;\n }, {})));\n feat.setId(i);\n features.push(feat);\n } catch (e) {\n console.warn(e);\n }\n });\n\n this.csv_loading = false;\n }\n\n if (!data) {\n data = (yield input.files[0].text()) || {};\n }\n\n this.layer_data = data;\n\n if ('csv' !== this.file_type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[this.file_type].readFeatures(data, {\n dataProjection: epsg,\n featureProjection: _gui2.default.getService('map').getEpsg() || epsg\n });\n }\n\n if (['kml', 'kmz'].includes(this.file_type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (features.length > 0) {\n this.olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: this.layer_name,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n });\n this.fields = 'csv' === this.file_type ? this.fields : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n });\n }\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n });\n\n function parseFile() {\n return _ref6.apply(this, arguments);\n }\n\n return parseFile;\n }(),\n addLayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n this.loading = true;\n\n if ('wms' === this.layer_type) {\n var name = (this.name || 'wms_' + (0, _getUniqueDomId.getUniqueDomId)()).trim();\n\n try {\n var data = this.getLocalWMSData();\n var found = this.wms_config && (data.wms[this.url] || []).some(function (wms) {\n return wms.layers.length === _this5.wms_layers.length && _this5.wms_layers.every(function (l) {\n return wms.layers.includes(l);\n });\n });\n\n if (found) {\n yield this.fetchWMS(this.url);\n }\n\n var config = {\n url: this.url,\n name: name,\n layers: this.wms_layers,\n epsg: this.epsg,\n position: this.position,\n visible: true,\n opacity: 1\n };\n\n data.wms[this.url] = data.wms[this.url] || [];\n data.wms[this.url].push(config);\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWMS(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_config) {\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n }\n }\n\n if ('file' === this.layer_type) {\n try {\n yield _projections2.default.registerProjection(this.layer_crs);\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.' + e;\n return;\n }\n try {\n yield _gui2.default.getService('map').addExternalLayer(this.olLayer, {\n crs: this.layer_crs,\n position: this.position,\n color: this.layer_color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.unloadFile();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n }\n this.loading = false;\n });\n\n function addLayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n unloadFile: function unloadFile() {\n this.error_message = '';\n this.parse_errors = [];\n this.loading = false;\n this.layer_name = null;\n this.file_type = null;\n this.layer_crs = _gui2.default.getService('map').getCrs();\n this.layer_color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer_data = null;\n this.olLayer = null;\n this.fields = [];\n this.field = null;\n this.csv_x = null;\n this.csv_y = null;\n this.csv_wkt = null;\n\n if (this.$refs.input_file) {\n this.$refs.input_file.value = null;\n }\n },\n unloadWMS: function unloadWMS() {\n this.error_message = '';\n this.wms_config = null;\n this.wms_layers = [];\n this.name = null;\n this.loading = false;\n },\n addWmsURL: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.loading = true;\n var wms = { url: this.url, id: this.id, show: true };\n var found = this.wms_urls.find(function (l) {\n return l.url === _this6.url;\n });\n try {\n var response = yield this.fetchWMS(this.url);\n if (!found && response) {\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading = false;\n });\n\n function addWmsURL() {\n return _ref8.apply(this, arguments);\n }\n\n return addWmsURL;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.wms_urls = this.wms_urls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref9.url,\n layers = _ref9.layers,\n name = _ref9.name,\n _ref9$epsg = _ref9.epsg,\n epsg = _ref9$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref9$epsg,\n _ref9$position = _ref9.position,\n position = _ref9$position === undefined ? 'top' : _ref9$position,\n opacity = _ref9.opacity,\n _ref9$visible = _ref9.visible,\n visible = _ref9$visible === undefined ? true : _ref9$visible;\n\n return new Promise(function (res, rej) {\n var wmslayer = new _imagelayer.RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: ol.proj.get(epsg), url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n _gui2.default.getService('map').addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n },\n fetchWMS: function () {\n var _ref10 = _asyncToGenerator(function* (url) {\n this.loading = true;\n try {\n this.loading = false;\n var config = yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url || this.url, service: \"wms\" })\n });\n\n console.log(config);\n\n if (!config.result) {\n throw 'invalid response';\n }\n\n config.wmsurl = url || this.url;\n\n if (config.methods && config.methods.GetMap) {\n this.url = (config.methods.GetMap.urls || []).find(function (u) {\n return 'Get' === u.type;\n }).url;\n } else {\n this.url = config.wmsurl;\n }\n\n this.title = config.title;\n this.name = config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n\n this.wms_projections = config.layers.reduce(function (projections, _ref11) {\n var name = _ref11.name,\n crss = _ref11.crss,\n title = _ref11.title;\n\n projections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n return projections;\n }, {});\n\n this.layers = config.layers;\n\n this.wms_config = config;\n this.error_message = null;\n } catch (e) {\n console.warn(e);\n this.error_message = e;\n }\n this.loading = false;\n });\n\n function fetchWMS(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return fetchWMS;\n }(),\n deleteWMS: function deleteWMS(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this7.layer_type = undefined;\n _this7.url = null;\n _this7.id = null;\n _this7.unloadFile();\n _this7.unloadWMS();\n });\n\n yield _gui2.default.isReady();\n yield _gui2.default.getService('map').isReady();\n\n this.deleteWMS = this.deleteWMS.bind(this);\n\n _gui2.default.getService('map').on('remove-external-layer', this.deleteWMS);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n var map = _gui2.default.getService('map');\n map.on('change-layer-position-map', function () {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref13.id,\n position = _ref13.position;\n\n return _this7.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref14.id,\n opacity = _ref14.opacity;\n\n return _this7.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n visible = _ref15.visible;\n\n return _this7.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this7._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.wms_urls = data.urls;\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unloadFile();\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWMS);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config}},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.url),expression:\"url\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\",\"type\":\"url\",\"list\":\"wms_urls\",\"required\":\"\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(!_vm.wms_config)?_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('add_new_wms_url_help'),expression:\"'add_new_wms_url_help'\"}]}):_vm._e(),_vm._v(\" \"),_c('datalist',{attrs:{\"id\":\"wms_urls\"}},_vm._l((_vm.wms_urls),function(wms){return _c('option',{key:wms.id,domProps:{\"value\":wms.url}},[_vm._v(_vm._s(wms.id))])}),0)]),_vm._v(\" \"),(_vm.url && !_vm.wms_config && !_vm.loading)?_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config || _vm.wms_urls.some(function (l) { return l.url == _vm.url; })}},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.id),expression:\"id\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_name_url_wms_input\",\"required\":\"\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(null !== _vm.id && _vm.wms_urls.some(function (l) { return l.id === _vm.id; }) && _vm.wms_urls.every(function (l) { return l.url !== _vm.url; }))?_c('p',{staticStyle:{\"color\":\"red\",\"margin\":\"10px 0\"}},[_vm._v(\"\\n ⚠️ \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}]})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('button',{staticClass:\"btn btn-block btn-success\",attrs:{\"disabled\":!(_vm.id || '').trim() || _vm.wms_urls.some(function (l) { return l.id === _vm.id && l.url !== _vm.url; }) || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addWmsURL($event)}}},[_c('b',{class:_vm.$fa('plus-square')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('connect_to_wms'),expression:\"'connect_to_wms'\"}]})]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('div',{staticClass:\"form-group\"},[_c('hr'),_vm._v(\" \"),_vm._l((_vm.wms_urls),function(wms){return _c('div',{key:wms.id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\",\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('connect_to_wms'),expression:\"'connect_to_wms'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('eye'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.url))])])})],2):_vm._e(),_vm._v(\" \"),(_vm.wms_config)?_c('fieldset',{attrs:{\"disabled\":_vm.loading}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('disconnect_from_wms'),expression:\"'disconnect_from_wms'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin-top\":\"15px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadWMS}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.wms_config.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\"\\n \"+_vm._s(_vm.wms_config.abstract)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('wms_layers'),expression:\"'wms_layers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(l){return _c('option',{key:l.name,domProps:{\"value\":l.name}},[_vm._v(_vm._s(l.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(p){return _c('option',[_vm._v(_vm._s(p))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[(_vm.layer_data)?_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin\":\"5px 0 0 8px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadFile}},[_vm._v(\"×\")]):_vm._e(),_vm._v(\" \"),_c('form',{style:({ padding: _vm.layer_data ? '0' : '20px 0' }),attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"accept\":\".zip,.geojson,.GEOJSON,.kml,.kmz,.KMZ,.KML,.json,.gpx,.gml,.csv\"},on:{\"change\":_vm.parseFile}}),_vm._v(\" \"),_c('h4',{staticClass:\"skin-color\"},[(!_vm.layer_data)?_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}):(_vm.layer_name)?_c('b',[_vm._v(_vm._s(_vm.layer_name))]):_vm._e()]),_vm._v(\" \"),(!_vm.layer_data)?_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.layer_data)?_c('span',{staticStyle:{\"font-family\":\"Monospace\"}},[_vm._v(\".gml, .geojson, .kml, .kmz, .gpx, .csv, .zip (shapefile)\")]):_vm._e()]),_vm._v(\" \"),('csv' === _vm.file_type)?_c('div',{staticClass:\"form-group\",staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv_loading}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_separator),expression:\"csv_separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_separator=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},[_c('option',[_vm._v(\",\")]),_vm._v(\" \"),_c('option',[_vm._v(\";\")])]),_vm._v(\" \"),(_vm.fields.length > 1 && !_vm.csv_wkt)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_x),expression:\"csv_x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_x=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_y),expression:\"csv_y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_y=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.csv_wkt)?[_c('label',{attrs:{\"for\":\"g3w-select-wkt-field\"}},[_vm._v(\"WKT\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_wkt),expression:\"csv_wkt\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_wkt=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(0 === _vm.fields.length)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_csv_fields'),expression:\"'no_csv_fields'\"}]}):_vm._e(),_vm._v(\" \"),(_vm.olLayer)?_c('small',{staticStyle:{\"color\":\"red\",\"display\":\"inline-block\",\"margin-top\":\"1em\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(\" \"+_vm._s(_vm.feature_count))]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://epsg.io/\" + ((_vm.layer_crs || '').toLowerCase().replace('epsg:', ''))),\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.layer_data || ['kmz', 'zip'].includes(_vm.file_type)}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_crs),expression:\"layer_crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_crs=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((new Set([_vm.map_crs, 'EPSG:3003','EPSG:3004', 'EPSG:3045', 'EPSG:3857', 'EPSG:4326', 'EPSG:6708', 'EPSG:23032', 'EPSG:23033', 'EPSG:25833', 'EPSG:32632', 'EPSG:32633'])),function(crs){return _c('option',[_vm._v(_vm._s(crs))])}),0)]),_vm._v(\" \"),(_vm.parse_errors.length)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"csv_parse_errors\"}},[_vm._v(\"⚠️ Parse errors:\")]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",staticStyle:{\"background-color\":\"gold\",\"font-family\":\"Monospace\"},attrs:{\"id\":\"csv_parse_errors\"}},_vm._l((_vm.parse_errors),function(ref){\nvar value = ref.value;\nvar row = ref.row;\nreturn _c('option',[_vm._v(\"[\"+_vm._s(row)+\"] \"+_vm._s(value))])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]):_vm._e(),_vm._v(\" \"),((_vm.fields || []).length)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('label'),expression:\"'label'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(f){return _c('option',{key:f,domProps:{\"value\":f}},[_vm._v(_vm._s(f))])})],2),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer_color),callback:function ($$v) {_vm.layer_color=$$v},expression:\"layer_color\"}})],1):_vm._e()]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\",\"margin-bottom\":\"5px\"}}):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":'wms' === _vm.layer_type ? !_vm.wms_layers.length : !_vm.layer_data},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81ff9972\"\n\n},{\"g3w-constants\":126,\"map/layers/imagelayer\":155,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-1cd24885]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-1cd24885]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-1cd24885]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-1cd24885]:hover{opacity:1}.menu-item-image img[data-v-1cd24885]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-1cd24885]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-1cd24885]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-1cd24885]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'modal-changemap',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-1cd24885\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'modal-login',\n\n computed: {\n login_url: function login_url() {\n return window.initConfig.user.login_url;\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])])}\n__vue__options__.staticRenderFns = []\n\n},{}],87:[function(require,module,exports){\n(function (process){(function (){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-7923edc6]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-7923edc6]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-7923edc6]{color:var(--skin-success)}#project-catalog[data-v-7923edc6]{background:transparent}.modal-header.nav[data-v-7923edc6]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-7923edc6]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-7923edc6]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-7923edc6]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.modal-header.nav li a.metadata-item-tab[data-v-7923edc6]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.modal-header.nav li a[data-v-7923edc6]{text-align:center}.modal-header.nav li a i[data-v-7923edc6]{margin-right:5px}.metadata-item-tab[data-v-7923edc6]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-7923edc6]{position:absolute;bottom:10px;right:auto}.row-info[data-v-7923edc6]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-7923edc6]{font-weight:700}.h_100[data-v-7923edc6]{height:100%}#project-catalog[data-v-7923edc6]{position:relative;overflow:auto}.nav-tabs[data-v-7923edc6]{border-bottom:0 none}.metadata-label[data-v-7923edc6]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-7923edc6],.metadata-contact-label[data-v-7923edc6]{font-weight:700}.contact-icon[data-v-7923edc6]{margin-right:3px}.metadata-contact-row[data-v-7923edc6]{margin-bottom:5px}.layer_header[data-v-7923edc6]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-7923edc6]{font-weight:700}.layer-header-icon[data-v-7923edc6]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-7923edc6]{position:absolute;right:5px;color:#999}.layer-row[data-v-7923edc6]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-7923edc6]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li.active>a[data-v-7923edc6]:focus,.layer-nav-tabs>li.active>a[data-v-7923edc6]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-7923edc6]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li>a[data-v-7923edc6]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-7923edc6]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-7923edc6]:after,.layer-nav-tabs>li:hover>a[data-v-7923edc6]:after{transform:scale(1)}.layer-tab-content[data-v-7923edc6]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-7923edc6]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-7923edc6],.metadata-nav-tabs>li>a[data-v-7923edc6]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-7923edc6]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-7923edc6]:hover{background-color:transparent}.credit-title-logo[data-v-7923edc6]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-7923edc6]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-7923edc6]{width:50%!important}.customcredits[data-v-7923edc6]{margin-bottom:10px;margin-top:5px;text-align:center}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"modal-metadata\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {}),\n g3wsdk_info: ''\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n },\n copy_g3wsdk_info: function copy_g3wsdk_info(e) {\n var range = document.createRange();\n range.selectNode(e.target);\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(range);\n document.execCommand('copy');\n window.getSelection().removeAllRanges();\n alert('Copied to clipboard!');\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function mounted() {\n var _this = this;\n\n $('#modal-metadata').on('show.bs.modal', _asyncToGenerator(function* () {\n yield Promise.allSettled([new Promise(function (resolve) {\n return $script('https://unpkg.com/platform@1.3.6/platform.js', resolve);\n }), new Promise(function (resolve) {\n return _application4.default.complete ? resolve() : _application4.default.on('complete', resolve);\n })]);\n\n var platform = window.platform || {};\n\n _this.g3wsdk_info = ('\\n[g3wsdk.info]\\n\\n- g3w-admin: __' + initConfig.version + '__\\n- g3w-client: __' + \"3.11.0-alpha.1\" + '__\\n' + Object.entries(_application2.default.pluginsConfigs).map(function (p) {\n return ' - ' + p[0] + ': __' + p[1].version + '__';\n }).join('\\n') + '\\n- browser: __' + platform.name + ' ' + platform.version + '__\\n- operating system: __' + platform.os.toString() + '__\\n').trim();\n }));\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('ul',{staticClass:\"modal-header nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"70vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"5px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_vm._v(\"📍 Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"📱 +39 393 8534336\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"✉️ info@gis3w.it\")])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/g3w-suite\"}},[_vm._v(\"🐞 Report a bug\")])]):_vm._e(),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),(_vm.powered_by && _vm.g3wsdk_info)?_c('pre',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":\"click to copy\"},on:{\"click\":_vm.copy_g3wsdk_info}},[_vm._v(_vm._s(_vm.g3wsdk_info))]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7923edc6\"\n\n}).call(this)}).call(this,require('_process'))\n},{\"_process\":1,\"services/application\":171,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nvar _g3wI18n = require('g3w-i18n');\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\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 || (0, _g3wI18n.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 (0, _g3wI18n.t)(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return (0, _g3wI18n.t)(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return (0, _g3wI18n.t)(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + (0, _g3wI18n.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 || (0, _g3wI18n.t)(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":89,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/printAtlas\":231,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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(\"

\" + (0, _g3wI18n.t)(\"error_map_loading\") + \"

\" + \"
\" + (0, _g3wI18n.t)(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":129,\"services/gui\":173,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.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: (0, _g3wI18n.t)(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-09a18998]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination span[data-v-09a18998]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination select[data-v-09a18998]{min-width:0}#pagination-pages[data-v-09a18998]{display:flex;align-items:baseline}#pagination-pages label[data-v-09a18998]{margin-left:3px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n Select2: _mixins.Select2,\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n showInPagination: function showInPagination(layer) {\n return !layer.filter.pagination;\n },\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return 1 === layer.features.length;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function () {\n var _ref2 = _asyncToGenerator(function* (layer) {\n var _this = this;\n\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n\n if (layer.filter.active) {\n layer.features.filter(function (f) {\n return !f.selection.selected;\n }).forEach(function (f) {\n return _this.$options.service.removeFeatureLayerFromResult(layer, f);\n });\n }\n });\n\n function addRemoveFilter(_x5) {\n return _ref2.apply(this, arguments);\n }\n\n return addRemoveFilter;\n }(),\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref3.layer,\n index = _ref3.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this2 = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this2.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this3 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this3.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this3.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this3.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref4 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x7, _x8, _x9) {\n return _ref4.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref5 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x10, _x11, _x12, _x13) {\n return _ref5.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n },\n showPagination: function showPagination(index) {\n return this.state.query.pagination && this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n },\n loadPaginationData: function () {\n var _ref6 = _asyncToGenerator(function* (index, page, page_size) {\n this.state.layers[index].loading = true;\n try {\n yield this.$options.service.loadPaginationData(index, page, page_size, this.state.query);\n } catch (e) {\n console.warn(e);\n }\n this.state.layers[index].loading = false;\n });\n\n function loadPaginationData(_x15, _x16, _x17) {\n return _ref6.apply(this, arguments);\n }\n\n return loadPaginationData;\n }(),\n getCurrentPagSize: function getCurrentPagSize(index) {\n return this.state.query.pagination.getData.params[index].page_size;\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this4.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this4.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this4.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this4.$options.service.postRender(_this4.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref7.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool && !this.state.query.pagination) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this5 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this5.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":function($event){$event.stopPropagation();return _vm.collapseSidebar($event)}}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.contextmenu.open_attribute_table'),expression:\"'catalog_items.contextmenu.open_attribute_table'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),[(_vm.state.query.pagination)?_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length + ((_vm.state.query.pagination.current[index] - 1) * _vm.getCurrentPagSize(index)))+\" - \"+_vm._s(_vm.state.query.pagination.counts[index])+\")\\n \")]):_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\\n \")])]],2),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type && !_vm.state.query.pagination))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external\n || (\n layer.source\n && layer.source.type !== 'wms'\n && (layer.selection.active || _vm.showInPagination(layer, index))\n )\n )\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active && _vm.showInPagination(layer, index))?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),(_vm.state.query.pagination && _vm.state.query.pagination.page_sizes[index].length > 1)?_c('section',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.loading),expression:\"layer.loading\"}],attrs:{\"id\":\"g3w-queryresults-pagination\"}},[_c('section',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"id\":\"pagination-pages\"}},[_c('select',{staticClass:\"form-control\",on:{\"change\":function($event){_vm.loadPaginationData(index, 1, Number($event.target.value))}}},_vm._l((_vm.state.query.pagination.page_sizes[index]),function(p){return _c('option',{key:p,domProps:{\"value\":p}},[_vm._v(_vm._s(p))])}),0)]),_vm._v(\" \"),(!layer.loading)?_c('section',{attrs:{\"id\":\"pagination-buttons\"}},[(_vm.state.query.pagination.counts[index] > layer.features.length)?_c('button',{staticClass:\"btn\",attrs:{\"disabled\":1 === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] - 1)}}},[_c('i',{class:_vm.g3wtemplate.font['backward']})]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.features.length === _vm.state.query.pagination.counts[index]),expression:\"layer.features.length === state.query.pagination.counts[index]\"}],staticClass:\"btn\",class:{ 'skin-background-color': 1 === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, 1)}}},[_vm._v(_vm._s(1)+\"\\n \")]),_vm._v(\" \"),(_vm.state.query.pagination.counts[index] > layer.features.length)?[(_vm.state.query.pagination.pages[index] > 4 && _vm.state.query.pagination.current[index] > 2 )?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),_vm._l(((\n (_vm.state.query.pagination.pages[index] < 4 || _vm.state.query.pagination.current[index] < 3)\n ? Array.from(Array(_vm.state.query.pagination.pages[index] - 2).keys()).slice(0, 2).map(function (i) { return i + 2; })\n : (_vm.state.query.pagination.pages[index] - _vm.state.query.pagination.current[index]) > 2\n ? [_vm.state.query.pagination.current[index], _vm.state.query.pagination.current[index] + 1 ]\n : [_vm.state.query.pagination.pages[index] - 2, _vm.state.query.pagination.pages[index] - 1 ]\n )),function(page){return _c('button',{staticClass:\"btn\",class:{ 'skin-background-color': page === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, page)}}},[_vm._v(_vm._s(page)+\"\\n \")])}),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 4 && (_vm.state.query.pagination.current[index] < _vm.state.query.pagination.pages[index] - 2))?_c('span',{staticStyle:{\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 1)?_c('button',{staticClass:\"btn\",class:{ 'skin-background-color': _vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.pages[index])}}},[_vm._v(_vm._s(_vm.state.query.pagination.pages[index])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"disabled\":_vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] + 1)}}},[_c('i',{class:_vm.g3wtemplate.font['forward']})])]:_vm._e()],2):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.no_results'),expression:\"'info.no_results'\"}],staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":96,\"components/QueryResultsHeaderFeatureActionsBody.vue\":99,\"components/QueryResultsHeaderFeatureBody.vue\":100,\"components/QueryResultsTableAttributeFieldValue.vue\":101,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],93:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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: \"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', (0, _g3wI18n.t)(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (typeof this.action.clear === 'function') {\n this.action.clear({ layer: this.layer, feature: this.feature });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show && (undefined === (_vm.action.state || {}).show ? _vm.show : _vm.action.state.show))?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!!(_vm.action.state || {}).disabled),expression:\"!!(action.state || {}).disabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': (_vm.action.state || {}).toggled && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],96:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":173,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/parsers\":230}],97:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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((0, _g3wI18n.t)(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":129,\"store/application\":178,\"vueify/lib/insert-css\":2}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":93,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],101:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":46,\"components/FieldVue.vue\":49,\"mixins\":166}],102:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.relations.back_to_relations'),expression:\"'sdk.relations.back_to_relations'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('sdk.tooltips.show_chart'),expression:\"'sdk.tooltips.show_chart'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border compact nowrap\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.tooltips.relations.zoomtogeometry'),expression:\"'sdk.tooltips.relations.zoomtogeometry'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(\"sdk.tooltips.relations.row_to_form\"),expression:\"`sdk.tooltips.relations.row_to_form`\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":43,\"components/QueryResultsActionDownloadFormats.vue\":95,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],103:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],104:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":102,\"components/Relations.vue\":103,\"g3w-constants\":126,\"g3w-eventbus\":127,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],105:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.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: (0, _g3wI18n.t)('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":91,\"components/Tool.vue\":110,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],106:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _g3wI18n = require('g3w-i18n');\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 SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n autofilter: false,\n allvalue: _g3wConstants.SEARCH_ALLVALUE,\n reload: false\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n loading: function loading() {\n return this.state.forminputs.reduce(function (bool, i) {\n return bool || i.loading;\n }, false);\n },\n filterlayers: function filterlayers() {\n return _application2.default.tokens.filtertoken && this.state.search_layers.filter(function (l) {\n return l.getFilterToken();\n }) || [];\n }\n },\n\n methods: {\n clearFilters: function clearFilters() {\n var _this = this;\n\n this.filterlayers.forEach(function (l) {\n if (_this.state.paginate) {\n l.clearSelectionFids();\n } else {\n l.toggleFilterToken();\n }\n });\n },\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this2.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this2.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this2.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this3.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this4 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this4.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return (0, _g3wI18n.t)(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return (0, _g3wI18n.t)(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return (0, _g3wI18n.t)(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this4.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this4.clearSelect2();\n _this4.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n },\n reloadSelect2Inputs: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n if (this.reload) {\n return;\n }\n\n this.reload = true;\n\n yield this.$nextTick();\n\n try {\n yield this.$options.service.setInputs();\n } catch (e) {\n console.warn(e);\n }\n\n this.clearSelect2();\n try {\n yield Promise.allSettled(this.state.forminputs.map(function (input) {\n return _this5.initSelect2Field(input);\n }));\n } catch (e) {\n console.warn(e);\n }\n\n this.reload = false;\n });\n\n function reloadSelect2Inputs() {\n return _ref10.apply(this, arguments);\n }\n\n return reloadSelect2Inputs;\n }()\n },\n watch: {\n autofilter: function autofilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.autofilter.value = Number(bool);\n }\n },\n\n created: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.on('filtertokenchange', _this6.reloadSelect2Inputs);\n });\n });\n\n function created() {\n return _ref11.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n var _this7 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.off('filtertokenchange', _this7.reloadSelect2Inputs);\n });\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching || _vm.loading || _vm.reload),expression:\"state.searching || loading || reload\"}],staticClass:\"g3w-search-panel form-group\"},[_c('bar-loader',{attrs:{\"loading\":_vm.state.searching || _vm.loading || _vm.reload}}),_vm._v(\" \"),_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.filterlayers.length > 0)?_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"g3w-search-filter-layers\"}},[_c('helpdiv',{attrs:{\"message\":\"sdk.search.help_filter\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.nofilter'),expression:\"'layer_selection_filter.tools.nofilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"btn skin-border-color\",staticStyle:{\"background-color\":\"transparent\",\"margin\":\"5px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearFilters($event)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('clear')})])],1):_vm._e(),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autofilter),expression:\"autofilter\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":\"g3w-search-filter\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.autofilter)?_vm._i(_vm.autofilter,null)>-1:(_vm.autofilter)},on:{\"change\":function($event){var $$a=_vm.autofilter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autofilter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autofilter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autofilter=$$c}}}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.autofilter'),expression:\"'sdk.search.autofilter'\"}],attrs:{\"for\":\"g3w-search-filter\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],107:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (child, i) {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement(!!opts.before || undefined === opts.before ? 'beforebegin' : 'afterend', _this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":178}],108:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _g3wI18n = require('g3w-i18n');\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 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: (0, _g3wI18n.t)('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":77,\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\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 _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n toggleFilterToken: function toggleFilterToken(layer) {\n if (layer.state.filter.active && !layer.selectionFids.has('__ALL__')) {\n this.state.selectAll = false;\n this.selectAllRows();\n }\n layer.toggleFilterToken();\n },\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.getFilterToken() || _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error((0, _g3wI18n.t)(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: _g3wConstants.PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.current_layout.rightpanel.height_100),expression:\"state.geolayer.active && current_layout.rightpanel.height_100\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.show_features_on_map'),expression:\"'layer_selection_filter.tools.show_features_on_map'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.invert'),expression:\"'layer_selection_filter.tools.invert'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFilterToken(_vm.layer)}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.relations.row_to_form'),expression:\"'sdk.tooltips.relations.row_to_form'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable() && _vm.layer.config.editing.visible)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":43,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins\":166,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/coordinatesToGeometry\":189,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":173,\"vueify/lib/insert-css\":2}],112:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":50,\"components/FormBody.vue\":51,\"g3w-component\":125,\"g3w-object\":130,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],113:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n //For pagination purpose\n var page_sizes = _g3wConstants.PAGELENGTHS;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false, // in order to get a raw response\n autofilter: Number(show && state.autofilter.value) }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query (not pagination)\n if (show && !state.paginate && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count,\n autofilter: state.autofilter.value }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n }),\n //@since v3.11.0. Used to set already feature layers filtered https://github.com/g3w-suite/g3w-client/issues/676\n autofilter: { value: 0 }, //value 0 no set, 1\n paginate: !!opts.options.paginate //@since 3.11.0 paginate or not\n };\n\n var setInputs = function () {\n var _ref = _asyncToGenerator(function* () {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function setInputs() {\n return _ref.apply(this, arguments);\n };\n }();\n // create search form structure \n state.mounted = setInputs();\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n setInputs: setInputs,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":106,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFormInputs\":191,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getDataForSearchInput\":205,\"utils/getUniqueDomId\":217,\"utils/toRawType\":242}],114:[function(require,module,exports){\nvar _vueColor = require('vue-color');\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nvar _vueCookie = require('vue-cookie');\n\nvar _vueCookie2 = _interopRequireDefault(_vueCookie);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\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 = _vueCookie2.default;\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],115:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":217}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":115,\"store/application\":178}],119:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent,\n placeholder = _ref.placeholder,\n _ref$clear = _ref.clear,\n clear = _ref$clear === undefined ? false : _ref$clear;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n placeholder: placeholder,\n allowClear: clear,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":126,\"services/gui\":173}],145:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nvar _g3wI18n = require('g3w-i18n');\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\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 = (0, _g3wI18n.t)(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _map = require('services/map');\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\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.t)(this.all));\n $(this.$refs.layer).select2('data')[0].text = (0, _g3wI18n.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 queryable = _map.MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _g3wI18n = require('g3w-i18n');\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\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 (0, _g3wI18n.t)(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _lodash = require('lodash.clonedeep');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\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 */\n\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 (0, _lodash2.default)(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false, this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n // in case of layer filter active, always not visible\n _gui2.default.getService('map').toggleSelection(!this.state.filter.active && Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }), this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":173,\"store/projections\":180,\"utils/XHR\":181,\"utils/getScaleFromResolution\":216}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible() && (params.layerId ? params.layerId === l.getId() : true);\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nvar _g3wI18n = require('g3w-i18n');\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 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: (0, _g3wI18n.t)(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: (layers || []).map(function (l) {\n return l.getStyle();\n }).join(','),\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [''], //v3.11.0 @TODO need to check https://openlayers.org/en/v5.3.0/apidoc/module-ol_format_WFS-WFS.html#writeGetFeature\n filter: {\n 'bbox': function bbox() {\n return ol.format.filter.bbox('the_geom', filter.value);\n },\n 'geometry': function geometry() {\n return ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value);\n },\n 'expression': function expression() {\n return null;\n }\n }[filter.type]()\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null,\n /** @since v3.11.0 **/\n pagination: false\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms', 'QGIS gdal',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n //@since 3.11.0 need to reset pagination filter when bool is false\n this.state.filter.pagination = bool && this.state.filter.pagination;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: (0, _g3wI18n.t)('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.setFilter(!!filtertoken);\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n this.setOlSelectionFeatureByFid(fid, selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid) ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1,\n /** @since 3.11.0 */\n autofilter: options.autofilter,\n page: options.page,\n page_size: options.page_size\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering,\n autofilter = _ref43.autofilter,\n page = _ref43.page,\n page_size = _ref43.page_size;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken,\n autofilter: autofilter,\n page: page,\n page_size: page_size\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n filtertoken: response.filtertoken, //@since v3.11.0 returned filtertoken in case of autofilter request\n projections: provider._projections\n }),\n count: response.vector.count //@since v3.11.0 take in account feature count (all). It use for pagination purpose\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject((0, _g3wI18n.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((0, _g3wI18n.t)('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":109,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-object\":130,\"map/layers/feature\":152,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/downloadFile\":200,\"utils/get_legend_params\":218,\"utils/parseAttributes\":229,\"utils/parsers\":230,\"utils/promisify\":232,\"utils/prompt\":233}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"utils/getUniqueDomId\":217}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nvar _lodash = require('lodash.clonedeep');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\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/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\n\n\n/**\n * Base Layer that support editing\n */\nvar TableLayer = exports.TableLayer = function (_Layer) {\n _inherits(TableLayer, _Layer);\n\n function TableLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TableLayer);\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Hook setters methods\n */\n var _this = _possibleConstructorReturn(this, (TableLayer.__proto__ || Object.getPrototypeOf(TableLayer)).call(this, config, opts));\n\n _this.setters = {\n /**\n * Clear all features of the layer\n */\n clearFeatures: function clearFeatures() {\n this._featuresstore.clearFeatures();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n\n /**\n * @TODO it used ????\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n setFeatures: function setFeatures(features) {\n this._featuresstore.setFeatures(features);\n },\n setColor: function setColor(color) {\n this._color = color;\n },\n\n\n /**\n * get data from every sources (server, wms, etc..)\n * through provider related to featuresstore\n *\n * @param {*} opts\n */\n getFeatures: function getFeatures() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this2._featuresstore.getFeatures(opts));\n _this2.emit('getFeatures', features);\n return features;\n }));\n },\n commit: function commit(commitItems) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this3._featuresstore.commit(commitItems));\n // sync selection filter features\n if (response && response.result) {\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(_this3.getId());\n //if layer has geometry\n if (layer.isGeoLayer()) {\n commitItems.update.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n geometry = _ref3.geometry;\n\n if (layer.getOlSelectionFeature(id)) {\n layer.updateOlSelectionFeature({ id: id, geometry: geometry });\n }\n });\n }\n commitItems.delete.forEach(function (id) {\n if (layer.hasSelectionFid(id)) {\n layer.excludeSelectionFid(id);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return response;\n }));\n }\n };\n\n /**\n * EDITING API URL: /api/vector////\n *\n * @example /api/vector/config/qdjango/10/points273849503023\n */\n _this.type = _layer.Layer.LayerTypes.TABLE;\n\n /**\n * color\n */\n _this._color = null;\n\n /**\n * @FIXME add description\n */\n _this.layerId = config.id;\n\n // @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n // editable layer -- > update layer config info\n if (_this.isEditable()) {\n _this.layerForEditing = _asyncToGenerator(function* () {\n // get layer editing config (from server)\n try {\n var _ref5 = yield (0, _promisify.promisify)(_this.getProvider('data').getConfig(opts)),\n vector = _ref5.vector,\n _ref5$constraints = _ref5.constraints,\n constraints = _ref5$constraints === undefined ? {} : _ref5$constraints,\n capabilities = _ref5.capabilities;\n\n yield (0, _waitFor.waitFor)(function () {\n return window.g3wsdk.core.hasOwnProperty('editing');\n }, _g3wConstants.TIMEOUT); // wait until \"editing\" plugin is loaded\n // add editing configurations\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype, // whether is a vector layer,\n visible: (vector.editing || { visible: true }).visible //@since 3.11.0 let know if layer should be editable directly (true) or through relation layer (false)\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return (0, _lodash2.default)(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 = (0, _lodash2.default)(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":126,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":152,\"map/layers/featuresstore\":153,\"map/layers/layer\":156,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/tablelayer\":158,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":203}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":173}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n baseInputMixin: _baseInput2.default\n}; /**\n * @file\n * @since v3.7\n */\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":160,\"mixins/base-input\":161,\"mixins/fields\":163,\"mixins/form-inputs\":164,\"mixins/geo\":165,\"mixins/media\":167,\"mixins/resize\":168,\"mixins/select\":169,\"mixins/select2\":170}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"utils/throttle\":241}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":168,\"store/application\":178}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":126,\"g3w-object\":130}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar 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 + ' - ' + (0, _g3wI18n.t)('sdk.mapcontrols.querybypolygon.no_geometry'),\n messagetext: true,\n autoclose: false\n },\n data: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\n }(),\n\n\n /**\n * Method to search features\n * \n * @param options.layer\n * @param options.filter\n * @param options.raw\n * @param options.queryUrl\n * @param options.feature_count\n * @param options.formatter\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering,\n autofilter: 0,\n //@since 3.11.0 pagination\n page: page,\n page_sizes: page_sizes\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is an array\n params.page_size = (params.page_sizes || [])[0]; //get page size\n //@since 3.11.0 count features returned by\n var counts = [];\n var page_sizes = []; //set pages based on count feature returned by server\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n //@since 3.11.0 In case autofilter set\n if (1 === params.autofilter) {\n (value.data || []).forEach(function (_ref15) {\n var layer = _ref15.layer,\n filtertoken = _ref15.filtertoken;\n\n //in the case of filtertoken response attribute set, need to set it to layer\n if (filtertoken) {\n layer.state.selection.active = layer.state.filter.active = true;\n layer.setFilterToken(filtertoken);\n }\n });\n }\n\n if (params.page_sizes) {\n //get max number of elements per page\n var max = Math.max.apply(Math, _toConsumableArray(Array.isArray(params.page_sizes) ? params.page_sizes : [params.page_sizes]));\n //Check if count (total number of elements of search is more o less than max)\n page_sizes.push(max <= value.count ? params.page_sizes : [].concat(_toConsumableArray(params.page_sizes.filter(function (p) {\n return p < value.count;\n })), [value.count]));\n //add a count element on counts array\n counts.push(value.count);\n }\n if (params.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: params.filter, //filter search (array of filter)\n autofilter: !!params.autofilter, //@since 3.11.0 set Boolean\n //@since 3.11.0 pagination\n pagination: params.page_size && {\n pages: params.page && counts.map(function (count) {\n return Math.round(count / params.page_size);\n }), //set number of pages\n current: params.page && counts.map(function () {\n return params.page;\n }), //current page\n page_sizes: page_sizes, //Array contains a number of features that want get with pagination\n counts: counts,\n //Object contains info for do another request by another part of code\n getData: {\n params: params.filter.map(function (filter) {\n return _extends({}, params, { filter: filter });\n }),\n method: 'searchFeatures',\n layers: layer\n }\n }\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref17.layer,\n _ref17$formatter = _ref17.formatter,\n formatter = _ref17$formatter === undefined ? 0 : _ref17$formatter,\n _ref17$fids = _ref17.fids,\n fids = _ref17$fids === undefined ? [] : _ref17$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var olFeat = new ol.Feature(f.geometry && new ol.geom[f.geometry.type](f.geometry.coordinates));\n olFeat.setProperties(properties);\n olFeat.setId(f.id);\n return olFeat;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: [{\n layer: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref16.apply(this, arguments);\n }\n\n return searchFids;\n }(),\n\n\n /**\n * Search service function to load many layers with each one with its fids\n * \n * @param options.layers - Array of layers that we want serach fids features\n * @param options.fids - Array of array of fids\n * @param options.formatter - how we want visualize\n */\n 'search:layersfids': function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$layers = _ref19.layers,\n layers = _ref19$layers === undefined ? [] : _ref19$layers,\n _ref19$fids = _ref19.fids,\n fids = _ref19$fids === undefined ? [] : _ref19$fids,\n _ref19$formatter = _ref19.formatter,\n formatter = _ref19$formatter === undefined ? 0 : _ref19$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref18.apply(this, arguments);\n }\n\n return searchLayersfids;\n }(),\n\n\n /**\n * POST only: accepts\n * \n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.qgis_layer_id layer id owner of the form data\n * @param params.layer_id layer owner of the data\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.project.getUrl('vector_data') + params.layer_id + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n return response.result ? response.vector.data.features || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref20.apply(this, arguments);\n }\n\n return expressionExpression;\n }(),\n\n\n /**\n * POST only method to return QGIS Expressions evaluated in Project an optional Layer/Form context\n *\n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.layer_id\n * @param params.qgis_layer_id\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref21 = _asyncToGenerator(function* () {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref22.url,\n _ref22$method = _ref22.method,\n method = _ref22$method === undefined ? 'GET' : _ref22$method,\n _ref22$params = _ref22.params,\n params = _ref22$params === undefined ? {} : _ref22$params,\n _ref22$headers = _ref22.headers,\n headers = _ref22$headers === undefined ? {} : _ref22$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref21.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * @param layers \n * @param { Object } opts\n * @param opts.coordinates\n * @param opts.feature_count\n * @param opts.query_point_tolerance\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.reproject\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByCoordinates: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref23.coordinates,\n _ref23$feature_count = _ref23.feature_count,\n feature_count = _ref23$feature_count === undefined ? 10 : _ref23$feature_count,\n _ref23$query_point_to = _ref23.query_point_tolerance,\n query_point_tolerance = _ref23$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref23$query_point_to,\n _ref23$multilayers = _ref23.multilayers,\n multilayers = _ref23$multilayers === undefined ? false : _ref23$multilayers,\n _ref23$reproject = _ref23.reproject,\n reproject = _ref23$reproject === undefined ? true : _ref23$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\n }));\n }));\n },\n\n\n /**\n * @param layers\n * @param { Object } opts\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.bbox\n * @param opts.geometry\n * @param opts.projection\n * @param opts.feature_count\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByGeometry: function () {\n var _ref25 = _asyncToGenerator(function* (layers) {\n var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref26.geometry,\n projection = _ref26.projection,\n _ref26$filterConfig = _ref26.filterConfig,\n filterConfig = _ref26$filterConfig === undefined ? {} : _ref26$filterConfig,\n _ref26$multilayers = _ref26.multilayers,\n multilayers = _ref26$multilayers === undefined ? false : _ref26$multilayers,\n _ref26$feature_count = _ref26.feature_count,\n feature_count = _ref26$feature_count === undefined ? 10 : _ref26$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var filter = {\n config: filterConfig,\n type: 'geometry',\n // Convert filter geometry from map to layer CRS\n value: mapCrs === crs ? geometry : geometry.clone().transform(mapCrs, crs)\n };\n return (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x17) {\n return _ref25.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getMapLayersByFilter\":210,\"utils/groupBy\":219,\"utils/promisify\":232}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nvar _ProjectsMenu = require('components/ProjectsMenu.vue');\n\nvar _ProjectsMenu2 = _interopRequireDefault(_ProjectsMenu);\n\nvar _SidebarItem = require('components/SidebarItem.vue');\n\nvar _SidebarItem2 = _interopRequireDefault(_SidebarItem);\n\nvar _g3wForm = require('components/g3w-form');\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(_SidebarItem2.default))({ 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 // new instance every time\n var formComponent = options.formComponent ? new options.formComponent(options) : new _g3wForm.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(_ProjectsMenu2.default))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":90,\"components/SidebarItem.vue\":107,\"components/g3w-form\":112,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/iframe\":174,\"store/application\":178,\"utils/getListableProjects\":209,\"utils/getProjectUrl\":214,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/toRawType\":242}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/**\n * @param epsg: Number Code of epsg Ex.4326\n * \n * @returns String Normalize epsg: From number ex: 4326 to 'EPSG:4326'\n * \n * @since 3.9.1\n */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * @example template.html\n * \n * ```html\n * \n * \n * \n * \n * Test Iframe\n * \n * \n * \n * \n * \n * \n * ```\n */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\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 _ref18 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\n\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent);\n }\n return response;\n });\n\n function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\n }()\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\n }()\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n });\n\n function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\n\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t);\n }\n });\n\n // just one time\n if (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.reject;\n\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\n\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n }]);\n\n return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createSingleFieldParameter\":196,\"utils/getUniqueDomId\":217,\"utils/normalizeEpsg\":228}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MapLayersStoresRegistry = 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 _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector()\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var mapLayer = new _imagelayer.RasterLayer({\n url: project.state.WMSUrl,\n id: 'overview_layer_' + id,\n tiled: layers[0].state.tiled\n });\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n return mapLayer.getOLLayer(true);\n }).reverse()\n }\n });\n /** @since 3.10.0 Move another bottom left map controls bottom to a left of overview control**/\n document.querySelector('.g3w-map-controls-left-bottom').style.left = '230px';\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n document.querySelector('.g3w-map-controls-left-bottom').style.left = mutation.target.classList.contains('ol-collapsed') ? '50px' : '230px';\n }\n });\n });\n observer.observe(document.querySelector('.ol-custom-overviewmap'), { attributes: true });\n }).catch(function (e) {\n return console.warn(e);\n });\n }\n break;\n\n case 'geocoding':\n case 'nominatim':\n _this5.createMapControl(type, {\n add: false,\n options: { config: config }\n });\n break;\n\n case 'geolocation':\n _this5.createMapControl(type).on('click', (0, _throttle.throttle)(function (e) {\n return _this5.showMarker(e.coordinates);\n }));\n break;\n\n case 'addlayers':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('addlayer', function () {\n return _this5.showAddLayerModal();\n });\n }\n break;\n\n case 'length':\n case 'area':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('measure')) {\n _this5.getMapControlByType('measure').addType(type);\n } else {\n _this5.createMapControl('measure', {\n options: {\n name: \"measure\",\n tipLabel: 'sdk.mapcontrols.measures.title',\n types: [type],\n interactionClassOptions: {\n projection: _this5.getProjection(),\n help: 'sdk.mapcontrols.measures.' + type + '.help'\n }\n }\n });\n }\n }\n break;\n\n /**\n * @since 3.8.0\n */\n case 'zoomhistory':\n $('.g3w-map-controls-left-bottom').append(_this5.createMapControl(type, { add: false }).element);\n break;\n\n }\n });\n return this.getMapControls();\n },\n addHideMap: function addHideMap() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$switchable = _ref10.switchable,\n switchable = _ref10$switchable === undefined ? false : _ref10$switchable;\n\n var idMap = {\n id: 'hidemap_' + Date.now(),\n map: null,\n switchable: switchable\n };\n this.state.hidemaps.push(idMap);\n return idMap;\n },\n setHidden: function setHidden(bool) {\n this.state.hidden = bool;\n },\n\n\n /** Set view based on project config */\n setupViewer: function () {\n var _ref11 = _asyncToGenerator(function* (width, height) {\n var _this6 = this;\n\n if (0 === width || 0 === height) {\n console.warn('[G3W-CLIENT] map was hidden during bootstrap');\n return;\n }\n\n var search = new URLSearchParams(location.search); // search params\n\n var showmarker = 1 * (search.get('showmarker') || 0); /** @since 3.10.0 0 or 1. Show marker on map center*/\n var iframetype = search.get('iframetype'); /** @since 3.10.0 type of iframe: map (only map, no control)*/\n var zoom_to_fid = search.get('zoom_to_fid');\n var zoom_to_features = search.get('ztf'); // zoom to features\n var coords = {\n lat: parseFloat(search.get('lat')),\n lon: parseFloat(search.get('lon')),\n x: parseFloat(search.get('x')),\n y: parseFloat(search.get('y'))\n };\n\n if (this.viewer) {\n this.viewer.destroy();\n }\n\n var olMap = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false, rotateOptions: { autoHide: true, tipLabel: \"Reset rotation (CTRL+DRAG to rotate)\" } }),\n interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotate({ condition: ol.events.condition.platformModifierKeyOnly })]),\n ol3Logo: false,\n keyboardEventTarget: document,\n target: this.target,\n view: new ol.View(this._calculateViewOptions({\n width: width,\n height: height,\n project: this.project,\n map_extent: search.get('map_extent') /** @since 3.10.0 */\n }))\n });\n\n this.viewer = {\n map: olMap,\n getMap: function getMap() {\n return _this6.viewer.map;\n },\n getView: function getView() {\n return _this6.viewer.map.getView();\n },\n getZoom: function getZoom() {\n return _this6.viewer.map.getView().getZoom();\n },\n getResolution: function getResolution() {\n return _this6.viewer.map.getView().getResolution();\n },\n getCenter: function getCenter() {\n return _this6.viewer.map.getView().getCenter();\n },\n destroy: function destroy() {\n if (_this6.viewer.map) {\n _this6.viewer.map.dispose();_this6.viewer.map = null;\n }\n },\n zoomTo: this.zoomTo.bind(this),\n goTo: this.goTo.bind(this),\n fit: this._fit.bind(this),\n /** @TODO check if deprecated */\n changeBaseLayer: function changeBaseLayer(name) {\n return _this6.map.getLayers().insertAt(0, _this6.map.getLayers().find(function (l) {\n return name === l.get('name');\n }));\n }\n };\n\n var map = this.viewer.getMap();\n\n // disable douclickzoom\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(false);\n\n // visual click (sonar effect)\n map.on('click', function (_ref12) {\n var coordinate = _ref12.coordinate;\n\n var circle = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(coordinate) })] }),\n style: new ol.style.Style()\n });\n var start = +new Date();\n var duration = 1700;\n var interval = circle.on('postcompose', function (_ref13) {\n var frameState = _ref13.frameState;\n\n var elapsed = frameState.time - start;\n var ratio = ol.easing.easeOut(elapsed / duration);\n circle.setStyle(new ol.style.Style({\n image: new ol.style.Circle({\n radius: 40 * ratio, // start = 0, end = 40\n fill: new ol.style.Fill({ color: [225, 227, 228, .1] }),\n stroke: new ol.style.Stroke({ color: [225, 227, 228, 1], width: 1.85 * (1 - ratio) }) // start = 1.85, end = 0\n })\n }));\n if (elapsed > duration) {\n map.removeLayer(circle);\n ol.Observable.unByKey(interval); // stop the effect\n }\n });\n map.addLayer(circle);\n });\n\n var currentControl = void 0;\n var can_drag = false;\n\n // set mouse cursor (dragging)\n new Vue().$watch(function () {\n return [_this6.getCurrentToggledMapControl(), _plugins2.default.getPlugin('editing') && _plugins2.default.getPlugin('editing').getActiveTool()];\n }, function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n control = _ref15[0],\n activeTool = _ref15[1];\n\n currentControl = control;\n can_drag = !control && !activeTool;\n map.getViewport().classList.toggle('ol-grab', can_drag);\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(can_drag);\n });\n map.on(['pointerdrag', 'pointerup'], function (e) {\n /** @TODO disable default interaction \"shift+zoom\" ? */\n map.getViewport().classList.toggle('ol-grabbing', e.type == 'pointerdrag' && (!currentControl || !(currentControl.getInteraction() instanceof ol.interaction.DragBox)));\n map.getViewport().classList.toggle('ol-grab', e.type == 'pointerup' && can_drag);\n });\n\n var geom = void 0;\n if (zoom_to_fid) {\n yield this.zoomToFid(zoom_to_fid);\n } else if (zoom_to_features) {\n yield this.zoomToFeaturesUrl(zoom_to_features);\n } else if (!isNaN(coords.lat) && !isNaN(coords.lon)) {\n geom = new ol.geom.Point(ol.proj.transform([coords.lon, coords.lat], 'EPSG:4326', this.getEpsg()));\n } else if (!isNaN(coords.x) && !isNaN(coords.y)) {\n geom = new ol.geom.Point([coords.x, coords.y]);\n }\n\n if (geom && geom.getExtent()) {\n yield this.zoomToGeometry(geom);\n }\n\n // show marker on map center\n if (1 === showmarker) {\n this.defaultsLayers.mapcenter.getSource().addFeature(new ol.Feature({ geometry: new ol.geom.Point(this.getCenter()) }));\n }\n\n // iframe → hide map controls (empty object)\n if ('map' === iframetype) {\n this.config.mapcontrols = {};\n }\n\n // update max scale\n MAP.maxZoom = Math.min((0, _getScaleFromResolution.getScaleFromResolution)(this.getMap().getView().getResolutionForExtent(this.project.state.initextent, this.getMap().getSize()), this.getMapUnits()), MAP.maxZoom);\n\n this.state.size = this.viewer.map.getSize();\n this.state.mapUnits = this.viewer.map.getView().getProjection().getUnits();\n\n if (this.config.background_color) {\n $('#' + this.target).css('background-color', this.config.background_color);\n }\n\n $(this.viewer.map.getViewport()).prepend('
');\n\n this.viewer.map.getInteractions().forEach(function (int) {\n return _this6._watchInteraction(int);\n });\n this.viewer.map.getInteractions().on('add', function (int) {\n return _this6._watchInteraction(int.element);\n });\n\n this._marker = new ol.Overlay({\n position: null,\n positioning: 'center-center',\n element: document.getElementById('marker'),\n stopEvent: false\n });\n\n this.viewer.map.addOverlay(this._marker);\n\n // keep default layers above others\n this.viewer.map.getLayers().on('add', function (e) {\n var zindex = _this6.setLayerZIndex({\n layer: e.element,\n zindex: e.element.get('basemap') || 'bottom' === e.element.get('position') ? 0 : undefined\n });\n if (_this6.defaultsLayers.mapcenter) {\n _this6.defaultsLayers.mapcenter.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.highlightLayer) {\n _this6.defaultsLayers.highlightLayer.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.selectionLayer) {\n _this6.defaultsLayers.selectionLayer.setZIndex(zindex + 2);\n }\n });\n\n this.viewer.map.getLayers().on('remove', function (e) {\n if (e.element.getZIndex() === _this6.layersCount) {\n _this6.layersCount--;\n }\n });\n\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this._setupAllLayers();\n this.setUpMapOlEvents();\n\n // CHECK IF MAPLAYESRSTOREREGISTRY HAS LAYERSTORE\n MAP.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('addLayersStore', this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('removeLayersStore', this._removeEventsKeysToLayersStore.bind(this));\n\n this.emit('viewerset');\n this.setupControls();\n this.emit('ready');\n });\n\n function setupViewer(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return setupViewer;\n }(),\n controlClick: function controlClick(mapcontrol) {\n var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n },\n loadExternalLayer: function loadExternalLayer(layer) {},\n // used in general to alert external layer is loaded\n unloadExternalLayer: function unloadExternalLayer(layer) {}\n };\n\n _this4.on('extraParamsSet', _this4.onExtraParamsSet);\n return _this4;\n }\n\n /**\n * @since 3.11.0\n */\n\n\n _createClass(MapService, [{\n key: 'onExtraParamsSet',\n value: function onExtraParamsSet(extraParams, update) {\n var _this7 = this;\n\n if (update) {\n this.getMapLayers().forEach(function (l) {\n return l.update(_this7.state, extraParams);\n });\n }\n }\n\n /**\n * show spinner layers\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadStart',\n value: function onLayerLoadStart() {\n if (0 === this._howManyAreLoading) {\n this.emit('loadstart');\n _gui2.default.showSpinner({ container: $('#map-spinner'), id: 'maploadspinner', style: 'transparent' });\n }\n this._howManyAreLoading += 1;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadEnd',\n value: function onLayerLoadEnd() {\n this._howManyAreLoading -= 1;\n if (0 === this._howManyAreLoading) {\n this.emit('loadend');\n _gui2.default.hideSpinner('maploadspinner');\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadError',\n value: function onLayerLoadError() {\n /** @since 3.10.0 - fails silently */\n if (!this.project.state.show_load_layer_error) {\n return;\n }\n if (!this.onLayerLoadError.shown) {\n _gui2.default.notify.warning('sdk.errors.layers.load');\n this.onLayerLoadError.shown = true;\n }\n this.onLayerLoadEnd();\n }\n\n /**\n * @returns promise ready\n *\n * @since 3.8.3\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this._ready;\n }\n }, {\n key: 'setUpMapOlEvents',\n value: function setUpMapOlEvents() {\n var _this8 = this;\n\n var dynamicLegend = this.project.state.context_base_legend;\n // set change resolution\n this._keyEvents.ol.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n this._keyEvents.ol.push(this.viewer.map.getView().on('change:resolution', function () {\n _this8.state.bbox = _this8.getMapBBOX();\n _this8.state.resolution = _this8.viewer.getResolution();\n _this8.state.center = _this8.viewer.getCenter();\n _this8.updateMapLayers();\n if (dynamicLegend) {\n _this8.setupCustomMapParamsToLegendUrl();\n }\n }));\n if (dynamicLegend) {\n this._keyEvents.ol.push(this.viewer.map.on('moveend', function () {\n return _this8.setupCustomMapParamsToLegendUrl();\n }));\n } else {\n //set always to show legend at the start\n this.setupCustomMapParamsToLegendUrl();\n }\n }\n\n /**\n * Clear methods to remove all listeners events\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.removeListener('extraParamsSet', this.onExtraParamsSet);\n this._keyEvents.ol.forEach(function (key) {\n return ol.Observable.unByKey(key);\n });\n this._keyEvents.ol.splice(0);\n MAP.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this));\n }\n\n /**\n * @TODO refactor CDU plugin in order to remove `OlMapViewer` class\n */\n\n }, {\n key: '_addHideMap',\n value: function _addHideMap() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref16.ratio,\n _ref16$layers = _ref16.layers,\n layers = _ref16$layers === undefined ? [] : _ref16$layers,\n _ref16$mainview = _ref16.mainview,\n mainview = _ref16$mainview === undefined ? false : _ref16$mainview;\n\n var idMap = this.state.hidemaps.at(-1);\n var view = this.getMap().getView();\n\n var olView = mainview ? view : {\n projection: view.getProjection(),\n center: view.getCenter(),\n resolution: this.getResolution()\n };\n\n // set Map\n idMap.map = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false }),\n interactions: ol.interaction.defaults(),\n ol3Logo: false,\n view: olView instanceof ol.View ? olView : new ol.View(olView),\n keyboardEventTarget: document,\n target: idMap.id\n });\n\n // in case of rate\n if (ratio) {\n var _idMap$map$getSize = idMap.map.getSize(),\n _idMap$map$getSize2 = _slicedToArray(_idMap$map$getSize, 2),\n w = _idMap$map$getSize2[0],\n h = _idMap$map$getSize2[1];\n\n idMap.map.setSize([w, w * ratio]);\n }\n\n (layers || []).forEach(function (l) {\n return idMap.map.addLayer(l);\n });\n\n return idMap.map;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'removeHideMap',\n value: function removeHideMap(id) {\n var i = (this.state.hidemaps || []).findIndex(function (m) {\n return id === m.id;\n });\n if (-1 !== i) {\n this.state.hidemaps.splice(i, 1);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\", \"archiweb\"\n */\n\n }, {\n key: 'createMapImage',\n value: function createMapImage() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref17.map,\n background = _ref17.background;\n\n return new Promise(function (resolve, reject) {\n try {\n var canvas = $(map ? map.getViewport() : $('#g3w-maps .g3w-map').last().children('.ol-viewport')[0]).children('canvas')[0];\n if (navigator.msSaveBlob) {\n resolve(canvas.msToBlob());\n } else {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n });\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n }\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.project;\n }\n }, {\n key: 'getMap',\n value: function getMap() {\n try {\n return this.viewer.map;\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.project.getProjection();\n }\n }, {\n key: 'isMapHidden',\n value: function isMapHidden() {\n return this.state.hidden;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.project.getProjection().getCode();\n }\n }, {\n key: 'getViewport',\n value: function getViewport() {\n return this.viewer.map.getViewport();\n }\n }, {\n key: 'getResolution',\n value: function getResolution() {\n return this.viewer.map.getView().getResolution();\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.viewer.map.getView().getProjection().getCode();\n }\n\n /**\n * Show Marker on a map\n * @param coordinates\n * @param duration\n */\n\n }, {\n key: 'showMarker',\n value: function showMarker(coordinates) {\n var _this9 = this;\n\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n\n this._marker.setPosition(coordinates);\n setTimeout(function () {\n return _this9._marker.setPosition();\n }, duration);\n }\n\n /**\n * @returns layer by name\n */\n\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return name === l.get('name');\n });\n }\n\n /**\n * @returns layer by id\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return id === l.get('id');\n });\n }\n\n /**\n * Used by the following plugins: \"strees\"\n *\n * get all features from vector layer based on coordinates\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromCoordinates',\n value: function getVectorLayerFeaturesFromCoordinates(layerId, coordinates) {\n var intersectGeom = void 0;\n var features = [];\n var map = this.getMap();\n var vectorLayer = this.getLayerById(layerId);\n if (Array.isArray(coordinates)) {\n if (2 === coordinates.length) {\n var pixel = map.getPixelFromCoordinate(coordinates);\n map.forEachFeatureAtPixel(pixel, function (feature) {\n return features.push(feature);\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === vectorLayer;\n }\n });\n } else if (4 === coordinates.length) {\n intersectGeom = ol.geom.Polygon.fromExtent(coordinates);\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(f.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n } else if (coordinates instanceof ol.geom.Polygon || coordinates instanceof ol.geom.MultiPolygon) {\n intersectGeom = coordinates;\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(feature.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n return features;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'getQueryLayerByCoordinates',\n value: function getQueryLayerByCoordinates() {\n var _this10 = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref18.layer,\n coordinates = _ref18.coordinates;\n\n return new Promise(function (resolve, reject) {\n layer.query({\n coordinates: coordinates,\n mapProjection: _this10.getProjection(),\n resolution: _this10.getResolution()\n }).then(function (response) {\n return resolve(response);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n\n //setup controls\n /*\n layout : {\n lv: h : horizontal (default), v vertical\n lh: h: horizontal: v vertical (default)\n }\n */\n\n }, {\n key: 'createMapControl',\n value: function createMapControl(type) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n id = _ref19.id,\n visible = _ref19.visible,\n _ref19$add = _ref19.add,\n add = _ref19$add === undefined ? true : _ref19$add,\n _ref19$toggled = _ref19.toggled,\n toggled = _ref19$toggled === undefined ? false : _ref19$toggled,\n _ref19$options = _ref19.options,\n options = _ref19$options === undefined ? {} : _ref19$options;\n\n var control = CONTROLS[type] ? new CONTROLS[type](_extends({ type: type, toggled: toggled }, options)) : undefined;\n if (undefined === visible) {\n visible = control.isVisible ? control.isVisible() : true;\n }\n if (control) {\n this.addControl(id || type, type, control, add, visible);\n }\n return control;\n }\n }, {\n key: 'showAddLayerModal',\n value: function showAddLayerModal() {\n $('#modal-addlayer').modal('show');\n this.emit('addexternallayer');\n }\n }, {\n key: 'getCenter',\n value: function getCenter() {\n return this.getMap().getView().getCenter();\n }\n\n /**\n * Zoom to Feature ID\n */\n\n }, {\n key: 'zoomToFid',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var zoom_to_fid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '|';\n\n var _zoom_to_fid$split = zoom_to_fid.split(separator),\n _zoom_to_fid$split2 = _slicedToArray(_zoom_to_fid$split, 2),\n layerId = _zoom_to_fid$split2[0],\n fid = _zoom_to_fid$split2[1];\n\n if (undefined === layerId && undefined === fid) {\n return;\n }\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: this.project.getLayerById(layerId),\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function condition() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$data = _ref22.data,\n data = _ref22$data === undefined ? [] : _ref22$data;\n\n return data[0] && data[0].features.length > 0;\n }\n }\n }\n }),\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? [] : _ref21$data;\n\n var feature = data[0] && data[0].features[0];\n\n if (feature) {\n yield this.zoomToFeatures([feature]);\n }\n });\n\n function zoomToFid() {\n return _ref20.apply(this, arguments);\n }\n\n return zoomToFid;\n }()\n\n /**\n * Handle ztf url parameter\n *\n * @param zoom_to_features\n */\n\n }, {\n key: 'zoomToFeaturesUrl',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var zoom_to_features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n try {\n var _zoom_to_features$spl = zoom_to_features.split(':'),\n _zoom_to_features$spl2 = _slicedToArray(_zoom_to_features$spl, 2),\n id = _zoom_to_features$spl2[0],\n filter = _zoom_to_features$spl2[1];\n\n if (!id || !filter) {\n return;\n }\n\n // find project layer\n var pLayer = this.project.getLayers().find(function (l) {\n return id === l.id || id === l.name || id === l.origname;\n });\n\n var layer = pLayer && this.project.getLayerById(pLayer.id);\n\n var r = pLayer && (yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: filter })\n },\n outputs: {\n show: {\n loading: false\n }\n }\n }));\n\n var features = r && r.data && r.data[0] && r.data[0].features;\n\n if (features) {\n this.zoomToFeatures(features);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function zoomToFeaturesUrl() {\n return _ref23.apply(this, arguments);\n }\n\n return zoomToFeaturesUrl;\n }()\n }, {\n key: 'getMapExtent',\n value: function getMapExtent() {\n var map = this.getMap();\n return map.getView().calculateExtent(map.getSize());\n }\n\n /**\n * @param url\n * @param epsg cordinate referece system (since 3.8.0)\n *\n * @returns {string}\n */\n\n }, {\n key: 'addMapExtentUrlParameterToUrl',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (url, epsg) {\n url = new URL(url);\n var changed = undefined !== epsg && epsg !== this.getEpsg();\n if (changed) {\n yield _projections2.default.registerProjection(epsg);\n }\n url.searchParams.set('map_extent', (changed ? ol.proj.transformExtent(this.getMapExtent(), this.getEpsg(), epsg) : this.getMapExtent()).toString());\n return url.toString();\n });\n\n function addMapExtentUrlParameterToUrl(_x25, _x26) {\n return _ref24.apply(this, arguments);\n }\n\n return addMapExtentUrlParameterToUrl;\n }()\n }, {\n key: 'getMapControlByType',\n value: function getMapControlByType(type) {\n // BACKOMP v3.x\n if (\"string\" !== typeof type) {\n type = type.type;\n }\n return (this._controls.find(function (c) {\n return type === c.type;\n }) || {}).control;\n }\n\n /**\n * @param id\n * @param type\n * @param control\n * @param addToMapControls\n * @param visible\n */\n\n }, {\n key: 'addControl',\n value: function addControl(id, type, control) {\n var _this11 = this;\n\n var addToMapControls = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var visible = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n\n this.viewer.map.addControl(control);\n\n control.on('toggled', function (e) {\n return _this11.emit('mapcontrol:toggled', e);\n });\n\n this._controls.push({ id: id, type: type, control: control, visible: visible, mapcontrol: addToMapControls && visible });\n\n control.on('controlclick', function (_ref25) {\n var mapcontrol = _ref25.target;\n\n var clickmap = !!(mapcontrol.isClickMap && mapcontrol.isClickMap());\n if (clickmap) {\n _this11._externalInteractions.forEach(function (int) {\n return int.setActive(false);\n });\n }\n _this11.controlClick(mapcontrol, { clickmap: clickmap });\n });\n\n var buttonControl = $(control.element).find('button');\n\n buttonControl.tooltip({\n placement: 'left',\n container: 'body',\n trigger: _gui2.default.isMobile() ? 'click' : 'hover'\n });\n\n // in case of mobile hide tooltip after click\n if (_gui2.default.isMobile()) {\n buttonControl.on('shown.bs.tooltip', function () {\n var _this12 = this;\n\n setTimeout(function () {\n return $(_this12).tooltip('hide');\n }, 600);\n });\n }\n\n if (addToMapControls && !visible) {\n control.element.style.display = \"none\";\n }\n\n if (addToMapControls) {\n $('.g3w-map-controls').append(control.element);\n }\n\n MAP.controls[type] = control;\n\n if (false === control.offline) {\n MAP.offlineids.push({ id: type, enable: control.getEnable() });\n }\n\n if (false === control.offline && control.getEnable()) {\n control.setEnable(_application2.default.online);\n }\n }\n }, {\n key: 'showControls',\n value: function showControls(types) {\n var _this13 = this;\n\n this._controls.forEach(function (c) {\n return _this13.viewer.map.removeControl(c.control);\n });\n this._controls.forEach(function (c) {\n c.visible = !types || types.indexOf(c.type) > -1 ? true : c.visible;\n if (c.visible) {\n _this13.viewer.map.addControl(c.control);\n }\n });\n }\n }, {\n key: 'getMapControls',\n value: function getMapControls() {\n return this._controls;\n }\n\n /**\n * Used by the following plugins: \"archiweb\"\n */\n\n }, {\n key: 'removeControlById',\n value: function removeControlById(id) {\n var _this14 = this;\n\n this._controls.find(function (c, i) {\n if (id === c.id) {\n _this14._controls.splice(i, 1);\n _this14.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n }, {\n key: 'removeControl',\n value: function removeControl(type) {\n var _this15 = this;\n\n this._controls.find(function (c, i) {\n if (type === c.type) {\n _this15._controls.splice(i, 1);\n _this15.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n\n /**\n * untoggle mapcontrol\n * @param close GUI content\n * @private\n */\n\n }, {\n key: '_unToggleControls',\n value: function _unToggleControls() {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$close = _ref26.close,\n close = _ref26$close === undefined ? true : _ref26$close;\n\n this._controls.forEach(function (c) {\n if (c.control.isToggled && c.control.isToggled()) {\n c.control.toggle(false);\n if (close) {\n _gui2.default.closeContent();\n }\n }\n });\n }\n }, {\n key: 'deactiveMapControls',\n value: function deactiveMapControls() {\n this._unToggleControls({ close: false });\n }\n\n /**\n *\n * Method to disable\n */\n\n }, {\n key: 'disableClickMapControls',\n value: function disableClickMapControls() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._controls.filter(function (c) {\n return c.control.isClickMap && c.control.isClickMap();\n }).forEach(function (c) {\n c.control.isToggled() && c.control.toggle();\n c.control[bool ? 'disable' : 'enable']();\n });\n }\n }, {\n key: '_setupCustomMapParamsToLegendUrl',\n value: function _setupCustomMapParamsToLegendUrl() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (bool) {\n var map = this.getMap();\n var size = map && map.getSize().filter(function (v) {\n return v > 0;\n }) || null;\n var bbox = size && 2 === size.length ? map.getView().calculateExtent(size) : this.project.state.initextent;\n this.getMapLayers().forEach(function (l) {\n return l.setupCustomMapParamsToLegendUrl;\n }) && l.setupCustomMapParamsToLegendUrl({\n crs: this.getEpsg(),\n // in the case of axis orientation inverted if it needs to invert the axis\n bbox: map.getView().getProjection().getAxisOrientation() === \"neu\" ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox\n });\n this.emit('change-map-legend-params');\n }\n }\n }, {\n key: 'getMapLayerByLayerId',\n value: function getMapLayerByLayerId(id) {\n return this.getMapLayers().find(function (l) {\n return l.getLayerConfigs().find(function (l) {\n return id === l.getId();\n });\n });\n }\n }, {\n key: 'getMapLayers',\n value: function getMapLayers() {\n return this._layers.g3w;\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this._layers.base;\n }\n }, {\n key: 'getMapLayerForLayer',\n value: function getMapLayerForLayer(layer) {\n return this.getMapLayers().find(function (ml) {\n return 'layer_' + layer.getMultiLayerId() === ml.getId();\n });\n }\n }, {\n key: 'getProjectLayer',\n value: function getProjectLayer(id) {\n return MAP.layers.getLayerById(id);\n }\n\n /**\n * @param project\n * @param width\n * @param height\n * @param { Array } map_extent since 3.10.0: in case of true, use url parameter to set view options\n * @return {{extent: *, maxResolution: number, center: *, projection: *, resolution: number}}\n * @private\n */\n\n }, {\n key: '_calculateViewOptions',\n value: function _calculateViewOptions() {\n var _ref27 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref27.project,\n width = _ref27.width,\n height = _ref27.height,\n map_extent = _ref27.map_extent;\n\n var initextent = map_extent ? map_extent.split(',').map(function (coord) {\n return 1 * coord;\n }) : project.state.initextent;\n var extent = project.state.extent;\n return {\n extent: extent,\n projection: this.getProjection(),\n center: ol.extent.getCenter(initextent),\n maxResolution: Math.max(ol.extent.getWidth(extent) / width, ol.extent.getHeight(extent) / height), // max(xRes, yRes)\n resolution: Math.max(ol.extent.getWidth(initextent) / width, ol.extent.getHeight(initextent) / height) // max(xInitRes, yInitRes)\n };\n }\n }, {\n key: 'getMapUnits',\n value: function getMapUnits() {\n return this.state.mapUnits;\n }\n\n // remove all events of layersStore\n\n }, {\n key: '_removeEventsKeysToLayersStore',\n value: function _removeEventsKeysToLayersStore(store) {\n var id = store.getId();\n if (this._keyEvents.stores[id]) {\n this._keyEvents.stores[id].forEach(function (evt) {\n Object.entries(evt).forEach(function (_ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n event = _ref29[0],\n key = _ref29[1];\n\n return store.un(event, key);\n });\n });\n delete this._keyEvents.stores[id];\n }\n }\n\n // register all events of layersStore and relative keys\n\n }, {\n key: '_setUpEventsKeysToLayersStore',\n value: function _setUpEventsKeysToLayersStore(store) {\n var _this16 = this;\n\n var id = store.getId();\n // check if already store a key of events\n this._keyEvents.stores[id] = [];\n\n //In the case of store that has layers @since 3.10.0\n store.getLayers().forEach(function (l) {\n return 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n });\n\n this._keyEvents.stores[id].push({\n addLayer: store.onafter('addLayer', function (l) {\n 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n })\n });\n this._keyEvents.stores[id].push({\n removeLayer: store.onafter('removeLayer', function (l) {\n 'vector' === l.getType() && _this16.viewer.map.removeLayer(l.getOLLayer());\n })\n });\n }\n\n // SETUP ALL LAYERS\n\n }, {\n key: '_setupAllLayers',\n value: function _setupAllLayers() {\n var _this17 = this;\n\n // base layers\n var blayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true });\n blayers.forEach(function (l) {\n var base = l.getMapLayer();\n _this17.registerMapLayerListeners(base);\n _this17._layers.base[l.getId()] = base;\n });\n\n Object.values(blayers.length ? this._layers.base : {}).reverse().forEach(function (l) {\n l.update(_this17.state, _this17.layersExtraParams);\n _this17.addLayerToMap(l);\n });\n\n // map layers: geolayers exclude baselayers and eventually vector layers\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: false, VECTORLAYER: false });\n\n // set map projection on each layer\n layers.forEach(function (l) {\n return l.setMapProjection(_this17.getProjection());\n });\n\n //store incremental value for qtimesriable layer with same multilayer id\n var cache = {};\n var mapLayers = [];\n\n Object.entries(\n // Group layers by multilayer property (from project config)\n // to speed up \"qtimeseriesries\" loading for single layers\n (0, _groupBy.groupBy)(layers, function (layer) {\n var id = layer.getMultiLayerId();\n if (layer.isQtimeseries()) {\n cache[id] = undefined === cache[id] ? 0 : cache[id] + 1;\n return id + '_' + cache[id];\n }\n return undefined === cache[id] ? id : id + '_' + (cache[id] + 1);\n })).forEach(function (_ref30) {\n var _ref31 = _slicedToArray(_ref30, 2),\n id = _ref31[0],\n layers = _ref31[1];\n\n var layer = layers[0] || [];\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + id,\n projection: _this17.getProjection(),\n /** @since 3.9.1 */\n format: 1 === layers.length ? layer.getFormat() : null\n }, 1 === layers.length ? {} : _this17.layersExtraParams);\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n mapLayers.push(mapLayer);\n _this17.registerMapLayerListeners(mapLayer);\n });\n\n mapLayers.reverse().forEach(function (l) {\n _this17._layers.g3w.push(l);\n _this17.addLayerToMap(l);\n });\n\n this.updateMapLayers();\n\n // vector layers\n var vlayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ VECTORLAYER: true });\n // set map projection on each layer\n vlayers.forEach(function (l) {\n l.setMapProjection(_this17.getProjection());_this17.addLayerToMap(l.getMapLayer());\n });\n\n // set default layers order\n var map = this.getMap();\n map.addLayer(this.defaultsLayers.mapcenter);\n map.addLayer(this.defaultsLayers.selectionLayer);\n map.addLayer(this.defaultsLayers.highlightLayer);\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n Object.entries(externalLayers || {}).forEach(function (_ref32) {\n var _ref33 = _slicedToArray(_ref32, 2),\n id = _ref33[0],\n layer = _ref33[1];\n\n var olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: new ol.format.GeoJSON().readFeatures(layer.features) })\n });\n olLayer.set('name', id);\n _this17.addExternalLayer(olLayer, _extends({}, layer.options, { zoomToExtent: false }));\n });\n });\n }\n }, {\n key: 'setDefaultLayerStyle',\n value: function setDefaultLayerStyle(type) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (type && this.defaultsLayers[type]) {\n this.defaultsLayers._style[type] = style;\n }\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this18 = this;\n\n Object.keys(this._layers.base).forEach(function (id) {\n return _this18.viewer.map.removeLayer(_this18._layers.base[id].getOLLayer());\n });\n this.getMapLayers().forEach(function (l) {\n _this18.unregisterMapLayerListeners(l);_this18.viewer.map.removeLayer(l.getOLLayer());\n });\n this._layers.g3w = [];\n // remove external layers\n this._layers.external.forEach(function (layer) {\n _this18.removeExternalLayer(layer.get('name'));\n });\n this._layers.external.splice(0);\n // remove default layers\n this.defaultsLayers.mapcenter.getSource().clear();\n this.defaultsLayers.highlightLayer.getSource().clear();\n this.defaultsLayers.selectionLayer.getSource().clear();\n this.getMap().removeLayer(this.defaultsLayers.mapcenter);\n this.getMap().removeLayer(this.defaultsLayers.highlightLayer);\n this.getMap().removeLayer(this.defaultsLayers.selectionLayer);\n }\n\n //set ad increase layerIndex\n\n }, {\n key: 'setLayerZIndex',\n value: function setLayerZIndex(_ref34) {\n var layer = _ref34.layer,\n _ref34$zindex = _ref34.zindex,\n zindex = _ref34$zindex === undefined ? this.layersCount += 1 : _ref34$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false, layerId: layerId };\n\n var _ref35 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref35$showSpinner = _ref35.showSpinner,\n showSpinner = _ref35$showSpinner === undefined ? true : _ref35$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n //pass layerId to change only layer @since 3.11.0\n l.on('filtertokenchange', function (_ref36) {\n var layerId = _ref36.layerId;\n _this20.updateMapLayer(layer, { force: true, layerId: layerId });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref37.info,\n style = _ref37.style;\n\n this.state.map_info.info = info;\n this.state.map_info.style = style || this.state.map_info.style;\n }\n\n /**\n * @param { Array } coordinate\n * @param { Number } zoom\n */\n\n }, {\n key: 'zoomTo',\n value: function zoomTo(coordinate) {\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n\n var view = this.viewer.map.getView();\n view.setCenter(coordinate);\n view.setZoom(zoom);\n }\n }, {\n key: 'goTo',\n value: function goTo(coordinates, zoom) {\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var view = this.viewer.map.getView();\n zoom = zoom || 6;\n\n if (animate) {\n view.animate({ duration: 300, center: coordinates }, zoom ? { zoom: zoom, duration: 300 } : { duration: 300, resolution: view.getResolution() });\n } else {\n view.setCenter(coordinates);\n }\n\n if (zoom && !animate) {\n view.setZoom(zoom);\n }\n }\n\n /**\n * Set map center to coordinate at resolution\n *\n * @param { Array } coordinates\n * @param resolution\n * @param { boolean } animate\n */\n\n }, {\n key: 'goToRes',\n value: function () {\n var _ref38 = _asyncToGenerator(function* (coordinates, resolution) {\n var _this22 = this;\n\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n resolution = resolution || this.viewer.map.getView().getResolution();\n\n yield new Promise(function (res) {\n\n _this22.viewer.map.getView().once('change:center', function () {\n return setTimeout(res, 500);\n });\n\n if (animate) {\n _this22.viewer.map.getView().animate({ duration: 200, center: coordinates }, { duration: 200, resolution: resolution });\n } else {\n _this22.viewer.map.getView().setCenter(coordinates);\n _this22.viewer.map.getView().setResolution(resolution);\n }\n });\n });\n\n function goToRes(_x44, _x45) {\n return _ref38.apply(this, arguments);\n }\n\n return goToRes;\n }()\n }, {\n key: 'getGeometryAndExtentFromFeatures',\n value: function getGeometryAndExtentFromFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var extent = void 0;\n var gtype = void 0;\n var geometry = void 0;\n var coordinates = [];\n features.filter(function (f) {\n return f.getGeometry ? f.getGeometry() : f.geometry;\n }).forEach(function (f) {\n var geom = f.getGeometry ? f.getGeometry() : f.geometry;\n var is_ol_geom = geom instanceof ol.geom.Geometry;\n var f_ext = is_ol_geom ? [].concat(_toConsumableArray(geom.getExtent())) : f.bbox;\n extent = ol.extent.extend(undefined === extent ? f_ext : extent, f_ext);\n gtype = gtype ? gtype : is_ol_geom ? geom.getType() : geom.type;\n var coords = is_ol_geom ? geom.getCoordinates() : geom.coordinates;\n coordinates.push(coords);\n });\n\n //check if features have geometry\n if (coordinates.length > 0) {\n var is_multi = gtype.includes('Multi');\n try {\n geometry = new ol.geom[is_multi ? gtype : 'Multi' + gtype](is_multi ? coordinates.flat() : coordinates);\n extent = undefined === extent ? geometry.getExtent() : extent;\n } catch (e) {\n console.warn(e);\n }\n }\n\n return {\n extent: extent,\n geometry: geometry\n };\n }\n }, {\n key: 'highlightFeatures',\n value: function highlightFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getGeometryAndExtent = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent.geometry;\n // force zoom false\n\n\n options.zoom = false;\n this.highlightGeometry(geometry, options);\n }\n }, {\n key: 'zoomToGeometry',\n value: function zoomToGeometry(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var extent = geometry && geometry.getExtent();\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n }, {\n key: 'zoomToFeatures',\n value: function zoomToFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var _getGeometryAndExtent2 = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent2.geometry,\n extent = _getGeometryAndExtent2.extent;\n\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n\n /**\n * @param { ol.extent } extent\n * @param { Object } options\n * @param { boolean } options.force\n * @param { ol.geometry } options.highLightGeometry\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'zoomToExtent',\n value: function () {\n var _ref39 = _asyncToGenerator(function* (extent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n if (!extent) {\n return Promise.resolve();\n }\n\n var map = this.getMap();\n\n var resolution = void 0;\n\n // if outside project extent, return max resolution\n if (false === ol.extent.containsExtent(this.project.state.extent, extent)) {\n resolution = map.getView().getResolutionForExtent(this.project.state.extent, map.getSize());\n }\n\n // retrieve resolution from given `extent`\n else if (true === options.force) {\n resolution = map.getView().getResolutionForExtent(extent, map.getSize()); // resolution of request extent\n }\n\n // calculate main resolutions from map\n else {\n var curr = map.getView().getResolution();\n // max resolution of the map\n resolution = Math.max(map.getView().getResolutionForExtent(extent, map.getSize()), (0, _getResolutionFromScale.getResolutionFromScale)(MAP.maxZoom, this.getMapUnits()));\n resolution = curr < resolution && curr > resolution ? curr : resolution;\n }\n\n yield this.goToRes(ol.extent.getCenter(extent), resolution);\n\n if (options.highLightGeometry) {\n yield this.highlightGeometry(options.highLightGeometry, { zoom: false, duration: options.duration });\n }\n });\n\n function zoomToExtent(_x51) {\n return _ref39.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist, create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature is in selectionLayer, it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n //In case of add need to set selection style\n opts.feature.setStyle((0, _createSelectedStyle.createSelectedStyle)({\n geometryType: opts.feature.getGeometry().getType(),\n color: this.defaultsLayers._style.selectionLayer.color,\n fill: true\n }));\n source.addFeature(opts.feature);\n break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var _this23 = this;\n\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var layerId = arguments[1];\n\n //take in account that of layer id is specified, need to set only\n // features related to layer visible or not\n if (layerId) {\n this.defaultsLayers.selectionLayer.getSource().getFeatures().filter(function (f) {\n return layerId === f.__layerId;\n }).forEach(function (f) {\n return f.setStyle(visible ? (0, _createSelectedStyle.createSelectedStyle)({\n geometryType: f.getGeometry().getType(),\n color: _this23.defaultsLayers._style.selectionLayer.color,\n fill: true\n }) : new ol.style.Style(null));\n });\n } else {\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref40 = _asyncToGenerator(function* (geometryObj) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var duration = options.duration || 2000;\n var hlayer = this.defaultsLayers.highlightLayer;\n var hide = 'function' === typeof options.hide ? options.hide : null;\n var highlight = 'boolean' === typeof options.highlight ? options.highlight : true;\n var zoom = 'boolean' === typeof options.zoom ? options.zoom : true;\n var geometry = geometryObj instanceof ol.geom.Geometry ? geometryObj : new ol.format.GeoJSON().readGeometry(geometryObj);\n\n this.clearHighlightGeometry();\n this.setDefaultLayerStyle('highlightLayer', { color: options.color });\n\n if (zoom) {\n yield this.zoomToExtent(geometry.getExtent());\n }\n\n if (!highlight) {\n return;\n }\n\n if (options.style) {\n hlayer.setStyle(options.style);\n }\n\n hlayer.getSource().addFeature(new ol.Feature({ geometry: geometry }));\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve) {\n\n var cb = function cb() {\n hlayer.getSource().clear();\n // set default style\n if (options.style) {\n hlayer.setStyle(function (feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({ geometryType: feat.getGeometry().getType(), color: options.color, fill: true })];\n });\n }\n if (!hide) {\n MAP.animatingHighlight = false;\n }\n resolve();\n };\n\n if (hide) {\n hide(cb);\n }\n\n if (duration && duration !== Infinity && !hide) {\n MAP.animatingHighlight = true;\n setTimeout(cb, duration);\n }\n });\n\n return function (_x59) {\n return _ref41.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref40.apply(this, arguments);\n }\n\n return highlightGeometry;\n }()\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry() {\n if (!MAP.animatingHighlight) {\n this.defaultsLayers.highlightLayer.getSource().clear();\n }\n // reset default layer style\n this.defaultsLayers._style.highlightLayer = { color: undefined };\n }\n\n /**\n * Force to referesh a map\n * @param options\n */\n\n }, {\n key: 'refreshMap',\n value: function refreshMap() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { force: true };\n\n this.updateMapLayers(options);\n }\n\n // called when layout (window) resizes\n\n }, {\n key: 'layout',\n value: function layout(_ref42) {\n var width = _ref42.width,\n height = _ref42.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this24 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this24.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this24._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this24._drawShadow.inner.length) {\n ctx.save();\n x_min = _this24._drawShadow.inner[0];\n y_min = _this24._drawShadow.inner[3];\n x_max = _this24._drawShadow.inner[2];\n y_max = _this24._drawShadow.inner[1];\n rotation = _this24._drawShadow.rotation;\n scale = _this24._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this25 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this25.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return external layers added to map\n * @param {String} type 'vector' or 'wms' @since 3.11.0\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers(type) {\n return undefined === type ? this._layers.external : this._layers.external.filter(function (l) {\n return type === l._type;\n });\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref43 = _asyncToGenerator(function* (externalLayer) {\n var _this26 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = (externalLayer._type || externalLayer.type || '').toLowerCase().trim('').trim();\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type];\n\n // skip if is not a valid layer\n if (!layer) {\n console.warn('layer type: ', type, externalLayer);\n return Promise.reject('not a valid layer');\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this26._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x63) {\n return _ref43.apply(this, arguments);\n }\n\n return addExternalLayer;\n }()\n }, {\n key: 'getCookie',\n value: function getCookie(name) {\n Vue.cookie.get(name);\n }\n\n /**\n * @param { unknown | string | null } layer\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'selectLayer',\n value: function selectLayer(layer) {\n var id = 'string' === typeof layer ? layer : layer && layer.getId();\n\n // toggle previous selection\n if (MAP.selectedLayer && id === MAP.selectedLayer.getId()) {\n id = null;\n }\n\n layer = (0, _getCatalogLayerById.getCatalogLayerById)(id) || this.getLegacyExternalLayers().find(function (l) {\n return id === l.getId();\n });\n\n // select layer by id\n (0, _getCatalogLayers.getCatalogLayers)().concat(this.getLegacyExternalLayers()).forEach(function (l) {\n return l.setSelected(l.getId() === id);\n });\n\n MAP.selectedLayer = layer && layer.isSelected() ? layer : null;\n\n Object.values(MAP.controls).forEach(function (c) {\n return c.onSelectLayer && c.onSelectLayer(MAP.selectedLayer);\n });\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'getSelectedLayer',\n value: function getSelectedLayer() {\n return MAP.selectedLayer;\n }\n }]);\n\n return MapService;\n}(_g3wObject2.default);\n\n/** @since 3.8.0 */\n\n\n_application4.default.onbefore('offline', function () {\n return MAP.offlineids.forEach(function (c) {\n c.enable = MAP.controls[c.id].getEnable();MAP.controls[c.id].setEnable(false);\n });\n});\n\n/** @since 3.8.0 */\n_application4.default.onbefore('online', function () {\n return MAP.offlineids.forEach(function (_ref44) {\n var id = _ref44.id,\n enable = _ref44.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nvar MapLayersStoresRegistry = exports.MapLayersStoresRegistry = MAP.layers;\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MapLayersStoresRegistry\n};\n\n},{\"components/MapControlGeocoding.vue\":82,\"components/MapControlZoomHistory.vue\":83,\"g3w-object\":130,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":143,\"map/controls/interactioncontrol\":144,\"map/controls/measurecontrol\":145,\"map/controls/queryby\":146,\"map/controls/scalecontrol\":147,\"map/controls/screenshotcontrol\":148,\"map/controls/streetviewcontrol\":149,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/imagelayer\":155,\"map/layers/vectorlayer\":159,\"services/application\":171,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createFilterFromString\":192,\"utils/createSelectedStyle\":195,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getMapLayersByFilter\":210,\"utils/getProject\":212,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/getUniqueDomId\":217,\"utils/groupBy\":219,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/throttle\":241}],176:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _QueryResultsActionQueryPolygonCSVAttributes = require('components/QueryResultsActionQueryPolygonCSVAttributes.vue');\n\nvar _QueryResultsActionQueryPolygonCSVAttributes2 = _interopRequireDefault(_QueryResultsActionQueryPolygonCSVAttributes);\n\nvar _RelationsPage = require('components/RelationsPage.vue');\n\nvar _RelationsPage2 = _interopRequireDefault(_RelationsPage);\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\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n if (false === options.add && !!options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add && !options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show a query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when the layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on a result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.includes(attr.name);\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: { selected: false },\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() && layer.config.editing.visible : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l, index) {\n //@since 3.11.0 check if a result comes from pagination\n l.filter.pagination = l.filter.pagination || !!(_this3.state.query.pagination && _this3.state.query.pagination.counts[index] > l.features.length);\n options.add || options.update ? _this3.updateLayerResultFeatures(l, options.update) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add, update: options.update });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { text: new ol.style.Text({ fill: new ol.style.Stroke({ color: 'black' }), text: '\\uF3C5', font: '900 3em \"Font Awesome 5 Free\"', offsetY: -15 }) } : { stroke: new ol.style.Stroke({ color: 'black' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * @since 3.11.0\n * Load pagination data\n * @param index\n * @param page\n * @param page_size\n * @param query\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'loadPaginationData',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (index, page, page_size, query) {\n var _this5 = this;\n\n //In the case of first autofilter request in pagination request, remove it from\n if (this.state.query.autofilter && this.state.query.pagination) {\n this.state.query.autofilter = false;\n this.state.query.pagination.getData.params.forEach(function (p) {\n return delete p.autofilter;\n });\n }\n if (page_size) {\n this.state.query.pagination.getData.params[index].page_size = page_size;\n this.state.query.pagination.pages[index] = Math.round(this.state.query.pagination.counts[index] / page_size);\n } //set page size\n //get config from getData object set by pagination method\n var _state$query$paginati = this.state.query.pagination.getData,\n _state$query$paginati2 = _state$query$paginati.layers,\n layers = _state$query$paginati2 === undefined ? [] : _state$query$paginati2,\n method = _state$query$paginati.method,\n params = _state$query$paginati.params;\n\n var layer = layers[index];\n //check if layer has filter\n var has_filtertoken = !!layer.getFilterToken();\n try {\n //get layer pagination data\n var data = yield layer[method](_extends({}, params[index], { page: page }));\n //set response data\n this.setQueryResponse(_extends({}, data, { query: query }), { add: false, update: true });\n //set the current page\n this.state.query.pagination.current[index] = page;\n //in the case of page size change\n var bool = layer.state.selection.active || has_filtertoken;\n //get selection action\n var action = this.state.layersactions[layer.getId()].find(function (_ref5) {\n var id = _ref5.id;\n return 'selection' === id;\n });\n this.state.layers[index].features.forEach(function (f, i) {\n if (bool && !f.selection.selected && layer.isGeoLayer() && f.geometry) {\n var fid = _this5._getFeatureId(f, _this5.state.layers[index].external);\n layer.addOlSelectionFeature({ id: fid, feature: f }).selected = true;\n layer.includeSelectionFid(fid, false);\n }\n f.selection.selected = bool;\n action.state.toggled[i] = bool;\n });\n layer.state.filter.active = bool;\n layer.state.selection.active = bool;\n\n this.state.layers[index].filter.pagination = this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n //in the case of layer with geometry, zoom to features\n if (this.state.layers[index].hasgeometry) {\n this.highLightLayerFeatures(this.state.layers[index]);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function loadPaginationData(_x7, _x8, _x9, _x10) {\n return _ref4.apply(this, arguments);\n }\n\n return loadPaginationData;\n }()\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n }, {\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$id = _ref6.id,\n id = _ref6$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref6$id,\n layerId = _ref6.layerId,\n component = _ref6.component,\n _ref6$type = _ref6.type,\n type = _ref6$type === undefined ? 'feature' : _ref6$type,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'after' : _ref6$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n * @param replace @since 3.11.0 mean replace current state layer features\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this6 = this;\n\n var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n var responseFeatures = responseLayer.features || []; // extract features from responseLayer object\n var external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external; // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n var has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n if (has_features) {\n var features_ids = replace ? [] : layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n //get action selection;\n var action = this.state.layersactions[layer.id].find(function (a) {\n return 'selection' === a.id;\n });\n if (replace) {\n layer.features.forEach(function (f) {\n return delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n });\n layer.features.splice(0);\n }\n responseFeatures.forEach(function (feat, index) {\n var feature_id = _this6._getFeatureId(feat, external);\n // If true, remove the feature because is already loaded\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n //@since 3.11.0\n if (action && feat.selection.selected) {\n (external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id)).excludeSelectionFid(feature_id, layer.filter.active);\n }\n //filter feature\n layer.features.splice(index, 1);\n delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, feat)];\n if (action) {\n delete action.state.toggled[index];\n //need to reset toggled state in reactive mode\n action.state.toggled = Vue.observable(layer.features.reduce(function (a, f, i) {\n a[i] = f.selection.selected;return a;\n }, {}));\n }\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (f) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this6.state.layers = _this6.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this6.clearHighlightGeometry(layer);\n _this6.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this7 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (options.add || options.update) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n var state = _this7.state;\n // eventually set layer action tool and need to be reactive\n _this7.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this7.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.layersactions[layer.id] = _this7.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this7._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this7.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this7.state.actiontools.downloadformats = _this7.state.actiontools.downloadformats || {};\n _this7.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this7.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this7.state.query.type) {\n var downloadsaction = _this7.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this7.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this7.goToGeometry.bind(_this7))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(_RelationsPage2.default))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.emit('show-chart', chartRelationIds, container, {\n relations: _this7._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this7.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this7._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this7.printAtlas.bind(_this7)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this7.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n\n features.forEach(function (_, i) {\n return undefined === _this8.state.toggled[i] ? _g3wEventbus.VM.$set(_this8.state.toggled, i, false) : _this8.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this7.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature not in case of pagination @since 3.11.0\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n // in case of pagination, disabled @since 3.11.0\n state: Vue.observable({ show: !state.query.pagination && !layer.filter.pagination }), //@since 3.11.0 show false in case of pagination\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this7.removeFeatureLayerFromResult.bind(_this7),\n /**\n * @since @3.11.0\n * Need to listen filter layer pagination change\n */\n init: function init() {\n var _this9 = this;\n\n this.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return _this9.state.show = !bool;\n });\n },\n\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n change: function change() {\n this.state.disabled = !state.query.pagination && !layer.filter.pagination;\n }\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({\n toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}),\n // in case of pagination, show @since 3.11.0\n show: !state.query.pagination && !layer.filter.pagination\n }),\n // check feature selection\n init: function init() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref8.feature,\n index = _ref8.index,\n action = _ref8.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var fid = _this7._getFeatureId(feature, layer.external);\n var is_selected_feature = feature ? pLayer.hasSelectionFid(fid) : false;\n //force to add selection feature in case of no pagination and selection is due an autofilter search\n if (!_this7.state.query.pagination && pLayer.state.filter.active && !is_selected_feature) {\n is_selected_feature = true;\n pLayer.addOlSelectionFeature({ id: fid, feature: feature }).selected = true;\n pLayer.includeSelectionFid(fid, false);\n }\n feature.selection.selected = is_selected_feature;\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n is_selected_feature;\n action.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return action.state.show = !bool;\n });\n }\n },\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref9) {\n var _this10 = this;\n\n var features = _ref9.features;\n\n this.state.show = !state.query.pagination && !layer.filter.pagination;\n features.forEach(function (_, index) {\n return undefined === _this10.state.toggled[index] && _g3wEventbus.VM.$set(_this10.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this7.addToSelection.bind(_this7))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this7.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this7.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this7.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref10.layer,\n id = _ref10.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n action = _ref11.action,\n index = _ref11.index,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref12) {\n var id = _ref12.id,\n layer = _ref12.layer,\n _ref12$config = _ref12.config,\n config = _ref12$config === undefined ? {} : _ref12$config,\n action = _ref12.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref13.layer,\n _ref13$component = _ref13.component,\n component = _ref13$component === undefined ? null : _ref13$component,\n _ref13$config = _ref13.config,\n config = _ref13$config === undefined ? null : _ref13$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this11 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref15 = _asyncToGenerator(function* (_ref14) {\n var coordinates = _ref14.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this11.setQueryResponse({\n data: [_this11.getVectorLayerFeaturesFromQueryRequest(_this11._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this11._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x19) {\n return _ref15.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref16 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x22, _x23, _x24, _x25, _x26) {\n return _ref16.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this12 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this12.state.layers = _this12.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$atlas = _ref17.atlas,\n atlas = _ref17$atlas === undefined ? {} : _ref17$atlas,\n _ref17$features = _ref17.features,\n features = _ref17$features === undefined ? [] : _ref17$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref18) {\n var url = _ref18.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this13 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: (0, _g3wI18n.t)('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this13._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref19 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this14 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref20 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref21.layer,\n type = _ref21.type,\n data = _ref21.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this14.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this14.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref20.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x30, _x31) {\n return _ref19.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this15 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this15.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this15.isOneLayerResult() ? [feature] : feature.geometry, _this15.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n if (!this.state.query.pagination && this.isOneLayerResult()) {\n _gui2.default.getService('map').highlightFeatures(layer.features, { duration: Infinity });\n }\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref22.relation,\n layerId = _ref22.layerId,\n feature = _ref22.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(_RelationsPage2.default))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n //is true when click on the selection icon on top of each layer result\n var layerSelection = undefined === feature && undefined === action && undefined === index;\n\n var _action = layerSelection ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = layerSelection && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = layerSelection ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = layerSelection ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = layerSelection ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n //in case, switch selection for all features of a layer\n if (layerSelection) {\n layer.features.forEach(function (f, i) {\n _action.state.toggled[i] = !toggled;\n f.selection.selected = _action.state.toggled[i];\n });\n } else {\n //in the case of switch selection on single feature layer\n _action.state.toggled[index] = !_action.state.toggled[index];\n feature.selection.selected = _action.state.toggled[index];\n }\n\n //In case of pagination and toggled selection layer\n if (toggled && layerSelection) {\n _layer.clearSelectionFids();\n return;\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in an account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from an object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not, changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":95,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":97,\"components/RelationsPage.vue\":104,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"g3w-object\":130,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/copyUrl\":190,\"utils/downloadFile\":200,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/intersects\":221,\"utils/printAtlas\":231,\"utils/throttle\":241,\"utils/within\":244}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":181}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar STATE = Vue.observable({\n\n /**\n * true = application is ready\n */\n ready: false,\n\n /**\n * true = application is loaded inside an iframe\n */\n iframe: window.top !== window.self,\n\n /**\n * true = application is connected\n */\n online: navigator.onLine,\n\n /**\n * true = application is loaded on a mobile device\n */\n ismobile: isMobile.any,\n\n /**\n * true = there is a pending download \n */\n download: false,\n\n /**\n * true = there is a pending upload\n */\n upload: false,\n\n /**\n * Store current map base layer id\n */\n baseLayerId: null,\n\n /**\n * en = default language\n */\n language: 'en',\n\n /**\n * @deprecated Since v3.8. Will be deleted in v4.x. Use ApplicationState.language instead\n */\n lng: 'en',\n\n /**\n * Store Array of loading plugins (by name)\n * Every time a plugin is loaded, plugin name is removed from Array\n * It used in v-plugins directive\n */\n plugins: [],\n\n /** @since 3.11.0 - plugin configs filtered by gid */\n pluginsConfigs: {},\n\n /** @since 3.11.0 - array of initConfig.plugins names */\n configurationPlugins: [],\n\n /**\n * Store application current user\n */\n user: null,\n\n /**\n * Store info of the application map\n */\n map: {\n epsg: '',\n unit: 'metric'\n },\n\n /**\n * Store info of the elements of GUI of the application\n */\n gui: {\n\n app: {\n /**\n * true = application is disabled and unclickable (waiting)\n */\n disabled: false\n },\n\n sidebar: {\n /**\n * true = sidebar is disabled (not responsive)\n */\n disabled: false,\n /**\n * @since v3.11.0\n * true open, false hide - icons only\n */\n open: true\n },\n\n layout: {\n /**\n * store the current layout owner (\"app\" = default)\n */\n __current: 'app',\n\n /**\n * Store application layout info (rightpanel)\n */\n app: {}\n\n }\n\n },\n\n /**\n * Sore vendor keys need it by application third part script\n */\n keys: {\n vendorkeys: {\n google: undefined,\n bing: undefined\n }\n },\n\n /**\n * Store tokens, used by server, for example, to filter features\n */\n tokens: {\n filtertoken: undefined\n },\n\n /**\n * @since 3.10.0\n */\n querybuilder: {\n cache: {},\n searches: JSON.parse(window.localStorage.getItem('QUERYBUILDERSEARCHES') || \"{}\")\n },\n\n /**\n * @since 3.11.0\n */\n navbaritems: [],\n\n /**\n * @since 3.11.0\n */\n sidebar: {\n title: '',\n components: [],\n /** DOM element where insert the component/panel */\n parent: null,\n /** barstack state. It stores the panel array */\n contentsdata: [] // Array<{ content, options }> \n },\n\n contentsdata: [],\n\n /**\n * @since 3.11.0\n */\n viewport: {\n primaryView: 'map', // primary view (default)\n // percentage of secondary view\n secondaryPerc: 0, // setted to 0 at beginning (not visible)\n // used to store if content vertical or horizontal is changed by resised\n resized: {\n start: false,\n 'h': false,\n 'v': false\n },\n // splitting orientation (h = horizontal, v = vertical)\n split: 'h',\n //map\n map: {\n sizes: {\n width: 0,\n height: 0\n },\n aside: false\n },\n //content\n content: {\n loading: false,\n disabled: false,\n sizes: {\n width: 0,\n height: 0\n },\n // store the resize vertical or horizontal\n resize: {\n 'h': { perc: 0 },\n 'v': { perc: 0 }\n },\n aside: true,\n showgoback: true,\n stack: [], // array elements of stack contents\n closable: true, // (x) is closable\n backonclose: false, // back on prevoius content\n contentsdata: [] // content data array\n },\n usermessage: {\n id: null, // unique identify\n show: false,\n title: null,\n message: null,\n position: null,\n type: null,\n draggable: null,\n cloasable: null,\n autoclose: null,\n textMessage: false,\n hooks: {\n header: null,\n body: null,\n footer: null\n }\n },\n // content of viewport (map and content)\n components: {\n map: null,\n content: null\n }\n },\n\n sizes: {\n sidebar: {\n width: 0\n }\n },\n\n /** @since 3.11.0 */\n i18n: {\n plugins: {} // plugins configs\n },\n\n /** @since 3.11.0 */\n project: new _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":130}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":130}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projection.js@v3.10.1\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projections.js@v3.10.1\n */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var proj = {\n code: crs.epsg,\n extent: crs.extent,\n axisOrientation: crs.axisinverted ? 'neu' : 'enu',\n units: crs.geographic ? 'degrees' : 'm'\n };\n p = new ol.proj.Projection(proj);\n p.getAxisOrientation = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\n\n\n /**\n * Check and register epsg\n * \n * @param epsg : \"EPSG:\" Ex. \"EPSG:4326\"\n * \n * @returns { Promise }\n * \n * @since v3.8\n */\n registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.normalizeEpsg)(data.epsg);\n p = this.get(data);\n ol.proj.proj4.register(proj4);\n return p;\n }\n }\n\n return p;\n });\n\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":228}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.XHR = {\n\n /**\n *\n * @param url\n * @param params\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();) * @return {Promise}\n */\n get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: signal })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\n }(),\n\n\n /**\n *\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: signal\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":126,\"utils/downloadFile\":200}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\n/**\n * @since 3.10.0 Add a 3d coordinate eventually, if coordinates are 2 (x, y)\n * @param coords\n * @return {*}\n */\nfunction add3DCoordinate(coords) {\n if (2 === coords.length) {\n coords.push(0);\n }\n return coords;\n}\n\n/**\n * core/geometry/geometry::addZValueToOLFeatureGeometry@v3.4\n */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('invalid geometry type:', geometryType || geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126,\"utils/is3DGeometry\":222}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":126,\"utils/isMultiGeometry\":224}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":126}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":196}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.replace(new RegExp('\\\\s+' + op + '\\\\s+', 'g'), '' + op) // remove all blank space between operators\n .replace(new RegExp('\\'' + op, 'g'), '' + op) // leading single quote\n .replace(new RegExp(op + '\\'', 'g'), '' + op);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":126}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":178,\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":178,\"utils/sanitizeFidFeature\":238}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } style \n * @param style.geometryType\n * @param style.color\n * @param style.fill\n * \n * @returns { ol.style.Style | null } style \n */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 })\n });\n\n case 'Point':\n case 'MultiPoint':\n return new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: fill && new ol.style.Fill({ color: color }),\n stroke: !fill && new ol.style.Stroke({ color: color, width: 4 })\n }),\n zIndex: Infinity\n });\n\n case 'MultiPolygon':\n case 'Polygon':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(ol.color.asArray(color))).splice(0, 3).concat(.25)) }) // force rgba color transparency (alpha = .25)\n });\n\n default:\n console.warn('invalid geometry type', geometryType);\n return null;\n\n }\n}\n\n},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref2.name,\n type = _ref2.type,\n crs = _ref2.crs,\n mapCrs = _ref2.mapCrs,\n data = _ref2.data,\n style = _ref2.style;\n\n var errors = [];\n var epsg = ['zip', 'kml', 'kmz'].includes(type) ? 'EPSG:4326' : crs;\n var features = [];\n\n // SHAPE FILE\n if ('zip' === type) {\n data = JSON.stringify((yield shp((yield data.arrayBuffer(data))))); // un-zip folder data \n }\n\n // KMZ FILE\n if ('kmz' === type) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n data = zip.file(/.kml$/i).at(-1).asText(); // get last kml file within folder\n }\n\n // CSV FILE\n if ('csv' === type) {\n data.values.forEach(function (row, i) {\n var props = {};\n var cols = row.split(data.separator);\n if (cols.length !== data.headers.length) {\n return errors.push({ row: i + 1, value: data.values[i] });\n }\n var coords = [];\n cols.forEach(function (value, i) {\n if (data.headers[i] === data.x) {\n coords[0] = 1 * value;\n }\n if (data.headers[i] === data.y) {\n coords[1] = 1 * value;\n }\n props[data.headers[i]] = value;\n });\n // check if all coordinates are right\n if (coords.every(function (d) {\n return !Number.isNaN(d);\n })) {\n var feat = new ol.Feature(new ol.geom.Point(coords).transform(crs, mapCrs));\n feat.setId(i); // incremental id\n feat.setProperties(props);\n features.push(feat);\n }\n });\n }\n\n if ('csv' !== type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[type].readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (['kml', 'kmz'].includes(type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (errors.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: /* html */\n '',\n data: function data() {\n return { errors: errors };\n }\n }\n },\n autoclose: false\n });\n }\n\n if (features.length) {\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 'csv' === type ? data.headers : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n }\n\n return Promise.reject();\n });\n\n return function createVectorLayerFromFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":126}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":178}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":178}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":126}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":126,\"utils/convertFeatureToGEOJSON\":186,\"utils/getAlphanumericPropertiesFromFeature\":202}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":178}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n\nvar _map = require('services/map');\n\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 return _map.MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(_extends({\n GEOLAYER: true\n }, filter || {}), options);\n });\n}\n\n},{\"services/map\":175}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":126}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/imagelayer\":155,\"map/layers/layersstore\":157,\"map/layers/tablelayer\":158,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/normalizeEpsg\":228}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n try {\n return \"\" + new URL(window.initConfig.urls.baseurl) + project.url;\n } catch (e) {\n console.warn(e);\n return \"\" + location.origin + window.initConfig.urls.baseurl + project.url;\n }\n}\n\n},{}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return ++_uid + \"_\" + Date.now();\n}\n\n},{}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":126}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction normalizeEpsg(epsg) {\n if ('number' === typeof epsg) {\n return 'EPSG:' + epsg;\n }\n epsg = epsg.replace(/[^\\d\\.\\-]/g, \"\");\n if ('' !== epsg) {\n return 'EPSG:' + parseInt(epsg);\n }\n}\n\n},{}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":126}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nvar _g3wI18n = require('g3w-i18n');\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\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: _g3wI18n.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 (0, _g3wI18n.t)(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms,\n filtertoken = _ref5.filtertoken;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [], filtertoken: filtertoken };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: (0, _g3wI18n.t)('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"map/layers/feature\":152,\"services/gui\":173,\"utils/groupBy\":219,\"utils/is3DGeometry\":222,\"utils/removeZValueToOLFeatureGeometry\":235,\"utils/reverseGeometry\":236,\"utils/sanitizeFidFeature\":238}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":178}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Covert a jQuery promise into an ES6 Promise\n * \n * @param promise jquery promise\n */\nfunction promisify(promise) {\n if (promise instanceof Promise) {\n return promise;\n }\n if (!promise || !promise.then) {\n console.trace(promise);\n return Promise.reject('not a promise');\n }\n return new Promise(function (resolve, reject) {\n promise.then(resolve).fail(reject);\n });\n}\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Convert ES6 Promise into jQuery\n * \n * @param promise async function or ES6 promise \n */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).catch(function (e) {\n return console.warn(e);\n }).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":173,\"utils/getUniqueDomId\":217}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[133]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","Constructor","validatorOptions","values","state","input","options","map","v","self","__proto__","Object","getPrototypeOf","ReferenceError","create","enumerable","writable","configurable","setPrototypeOf","gui/inputs/service","6","vueComponentOptions","newObj","key","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_createClass","protoProps","staticProps","defineProperties","target","props","descriptor","defineProperty","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","_this2","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","_createSingleFieldParameter","_defineProperty","SelectService","getCatalogLayerById","orderbyvalue","sort","b","val1","val2","search","_state$input$options","getData","_ref2","$value","addValue","text","sortValues","catch","_this3","_ref3","_ref3$layer_id","_ref3$key","_ref3$value","_this3$_layer$getData","_layer","_getLayerById","getDataTable","_","j","createSingleFieldParameter","operator","logicop","join","trim","properties","id","utils/createSingleFieldParameter","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","_g3wI18n","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","_ref7","_ref5","_ref4","_vueCookieLaw2","_vue2Teleport2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_ModalLogin2","_ModalAddLayer2","_ModalChangeMap2","_ModalMetadata2","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","ModalLogin","ModalAddlayer","ModalChangemap","ModalMetadata","Teleport","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","find","doNotShowAgainVueComponent","checked","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","$refs","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","iframe","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","ref","staticStyle","display","justify-content","role","padding","header_logo_link","frontendurl","alt","src","_v","autocomplete","hidden","for","class","$fa","margin-left","text-align","white-space","list-style","margin","_l","style","order","position","modifiers","data-placement","data-toggle","data-container","$event","img","img_title","domProps","innerHTML","first_name","last_name","data-target","admin_url","logout_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","g3w-disabled","justifyContent","font-weight","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","slot","tag","footer","mousedown","g3w-hide","online","font-size","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","theme","buttonText","to","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ModalAddLayer.vue","components/ModalChangeMap.vue","components/ModalLogin.vue","components/ModalMetadata.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vue2-teleport","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","load","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","./InputText.vue","39","_vueColor","_downloadFile","_shpWrite2","ApplicationState","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","editing","g3wsdk","core","plugin","PluginsRegistry","getPlugin","startEditing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","padding-right","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","pagination","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","_t","word-wrap","43","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","44","geoMixin","Date","now","font","showLayer","45","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","max-height","data-interval","data-slide","components/Field.vue","46","_Field","openLink","link_url","47","mediaMixin","getMediaType","filename","48","49","vueoptions","50","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","51","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","52","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","53","flex-direction","item_selected","fontSize","54","border","55","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","56","57","58","progress","borderRadius","59","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","60","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","61","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","projectRelation","relationLayer","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","62","showHideHelp","loadingState","help","63","stateValueChanged","getValuesItem","convertValueToChecked","option","changeCheckBox","_getValuesItem","_getValuesItem2","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","64","placeholder","composing","65","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","66","67","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","description","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","68","_InputG3W","show_required_field_message","69","70","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","trigger","clear","margin-bottom","labels","71","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","72","pickLayer","pickservice","pick","gui/inputs/picklayer/service","73","radio_value","74","Step","checkValue","getValidator","keydown","75","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","_toConsumableArray","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","getMultiValues","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayerFields","getFields","_ref6$data","getFilterData","fformatter","ffield","_f","ordering","status","_ref11","_ref12","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","processResults","page","results","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","76","state.input.options.min","changeInfoMessage","state.input.options.max","77","keyup","mobileChange","78","max-width","min-width","79","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","background","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","80","tags","81","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","82","_QueryResultsActionChooseLayer2","_plugins2","_projections2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","y","projection","registerProjection","getCode","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","addLayer","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","store/projections","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","83","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","84","_imagelayer","RasterLayer","layer_type","file_type","layer_name","layer_crs","getProjection","rgba","wms_config","wms_urls","wms_layers","olLayer","map_crs","persistent","csv_x","csv_y","csv_wkt","csv_separator","csv_loading","projections","error_message","parse_errors","wms_projections","at","crss","oldtype","unloadFile","unloadWMS","parseFile","input_file","accept","files","layer_data","zip","X","Y","wkt","JSZip","arrayBuffer","asText","shp","separator","pattern","RegExp","matches","shift","findIndex","WKT","readGeometry","dataProjection","gpx","GPX","gml","WMSGetFeatureInfo","geojson","kml","KML","extractStyles","kmz","readFeatures","unset","prop","GEOMETRY_FIELDS","getLocalWMSData","every","fetchWMS","updateLocalWMSData","_addExternalWMSLayer","deleteWMS","addExternalLayer","modal_addlayer","addWmsURL","_this6","found","deleteWmsUrl","_ref9$epsg","_ref9$position","_ref9$visible","res","rej","wmslayer","getOLLayer","interfaceowsurl","wmsurl","GetMap","w","changeLayerData","alldata","_this7","isReady","_ref13","$data","data-dismiss","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","h","map/layers/imagelayer","85","get_macro","get_group","_getListableProjects","LOGO_GIS3W","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","map_url","origin","addMapExtentUrlParameterToUrl","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","utils/getListableProjects","86","onIframeLoaded","login_iframe","contentWindow","reload","grid-template-areas","place-items","inset","grid-area","87","_application4","customcredits","powered_by","docs_url","general","spatial","g3wsdk_info","showHideInfo","box","sanitizeValue","copy_g3wsdk_info","createRange","selectNode","getSelection","removeAllRanges","addRange","alert","credits","$script","complete","platform","pluginsConfigs","os","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","_process","services/application","88","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","print_atlas","ko","suggest","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","89","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","onload","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","90","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","91","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","92","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","Select2","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","showInPagination","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","_x13","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","showPagination","counts","loadPaginationData","page_size","_x15","_x16","_x17","getCurrentPagSize","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","page_sizes","skin-background-color","pages","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","93","clickAction","originalDataTitle","hint_change","condition","94","has_layers","95","download_format","_download","96","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","97","choices","g3w_select_feature_featurepolygon","choice","98","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","99","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","100","101","g3w-link","g3w-vue","102","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","103","featureInfo","noback","104","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","accumulator","property","relationLayerId","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","105","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","106","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","autofilter","allvalue","SEARCH_ALLVALUE","is_staff","forminputs","filterlayers","search_layers","getFilterToken","clearFilters","paginate","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","reloadSelect2Inputs","setInputs","widget_type","opt","time","utils/getDataForSearchInput","107","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","108","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","109","_ref20","_coordinatesToGeometry","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","selectionFids","selectAllRows","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","PAGELENGTHS","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref17","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","110","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","warning","111","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","112","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","113","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","114","VueColor","_vueCookie","_vueCookie2","Proxy","fromEntries","Reflect","overviewproject","VueCookie","vue-cookie","115","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","116","removeAttribute","117","118","_utils","directives/utils","119","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","_ref$clear","g3w_observer","120","oldValue","121","tPlugin","122","123","_el","_ref$el","componentUpdated","oldVnode","124","handleInnerHTML","__currentBinding","__innerHTML","125","_lodash2","_utilDeprecate2","çç","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","126","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","excel","xls","gpkg","shapefile","csv","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","forward","backward","EXCLUDE","./version","127","128","_g3wConstants2","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createVectorLayerFromFile","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","_g3wI18n2","_g3wPlugin","_map","_g3wSearch","_g3wForm","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createVectorLayerFromFile","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","MapLayersStoresRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","Plugin","PluginService","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","finally","console","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","components/g3w-form","components/g3w-search","g3w-plugin","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/createVectorLayerFromFile","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","129","addI18nPlugin","addI18n","getAppLanguage","i18nObject","addResource","_lang","130","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","131","onShow","onClose","132","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","133","_locales2","_iframe2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","directive","use","install","_isMobile","added","mixin","any","inheritAttrs","ACTIONS","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","134","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","help_filter","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_error_type","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","135","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","wms_server","connect_to_wms","disconnect_from_wms","add_new_wms_url_help","no_csv_field","136","137","wms_layer_id_already_added","wms_url_already_added","138","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","139","140","geolocations","141","142","143","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","144","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","145","MeasureControl","Draw","_clearMessagesAndListeners","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","146","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","147","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","148","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","149","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","150","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","151","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","152","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","153","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","154","BaseClass","checkUrl","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","155","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","156","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","mapProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","layersstore","proxyData","_ref15$data","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","157","_g3wObject","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","158","_waitFor","_lodash","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","159","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","160","autocompleteRequest","161","showhelpicon","setUpdate","162","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","163","getFieldService","_fieldsService","sanitizeFieldValue","164","countNoTEmptyInputName","165","166","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","167","isMedia","168","DELAY_TYPE","delayWrapper","delayResize","delayTime","169","resetValues","usecompleter","$container","170","171","172","_groupBy","responses","reason","_ref21","handleQueryPromises","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref17$formatter","_ref17$fids","getFeatureByFids","olFeat","search:layersfids","_ref19","_ref19$layers","_ref19$fids","_ref19$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref22$method","_ref22$params","_ref22$headers","proxy:data","_ref23$feature_count","_ref23$query_point_to","_ref23$multilayers","_ref23$reproject","groupBy","getInfoUrl","getMultiLayerId","mapCrs","_ref26$filterConfig","_ref26$multilayers","_ref26$feature_count","utils/groupBy","173","_clearContents","_ProjectsMenu2","_SidebarItem2","COMPONENTS","SERVICES","navbar","setViewSizes","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","primaryView","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","174","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","isActive","closeeditingpanel","stopAction","utils/normalizeEpsg","175","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","vectorLayer","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref22$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_x25","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref26$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref34$zindex","_ref35$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x51","constrainResolution","setDefaultLayerStyle","_this23","geometryObj","hlayer","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this24","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this25","unWatch","onRemoveExternalLayer","externalLayer","_this26","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","_ref44","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","176","_QueryResultsActionQueryPolygonCSVAttributes2","_RelationsPage2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_state$query$paginati","_state$query$paginati2","has_filtertoken","_getFeatureId","_ref6$id","_ref6$position","responseLayer","features_ids","responseFeatures","feature_id","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","is_selected_feature","hint_changed","_ref11$component","_ref12$config","_ref13$component","_ref13$config","external_layer","not_current","new_layer","_x19","isOneLayerResult","querytitle","actionId","layerAction","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref17$atlas","_ref17$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","_x31","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","layerSelection","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","177","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","178","STATE","onLine","upload","stack","cloasable","179","PLUGINS","180","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","181","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","182","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","183","coordinates1","coordinates2","184","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","185","186","writeFeatureObject","187","matchDayInDate","188","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","189","MultiLineString","MultiPoint","190","tempinput","191","_ref$inputs","192","_ref$filter","193","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","194","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","195","_ref$color","_ref$fill","asString","asArray","196","_ref$operator","_ref$logicop","197","_fields","198","func","199","c1","c2","sqrt","200","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","201","propName","202","203","204","205","_ref5$fields","206","_field$input$options$","_data","207","208","209","listable","210","211","212","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","createLayersTree","213","214","215","216","217","218","219","keyFn","220","childCtor","parentCtor","tempCtor","221","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","222","type3D","223","224","225","226","227","228","229","layerAttributes","featureAttributes","featureAttributesName","230","_reverseGeometry","reverseGeometry","NUMERIC_FIELD","_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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,oBACdC,aAAc,oBACdC,WAAY,oBACZn7C,MAAO,gBACP5jC,QAAS,SACX,EACAsvB,YAAa,CACX3U,MAAO,CACLxd,QAAS,cACTu3B,QAAS,CACPsqD,cAAe,CACb3pD,KAAM,8BACR,EACA4pD,wBAAyB,CACvB5pD,KAAM,6BACR,EACA6pD,wBAAyB,CACvB7pD,KAAM,sDACR,EACA8pD,4BAA6B,CAC3B9pD,KAAM,uCACR,EACA+pD,gBAAiB,CACf/pD,KAAM,oBACR,EACAsZ,UAAW,CACTtZ,KAAM,qBACR,EACAgqD,iBAAkB,CAChBhqD,KAAM,gCACR,EACAiqD,4BAA6B,CAC3BjqD,KAAM,kCACR,EACAopD,mBAAoB,CAClBppD,KAAM,iCACR,EACAkqD,sBAAuB,CACrBlqD,KAAM,2BACR,EACAmqD,uBAAwB,CACtBnqD,KAAM,4BACR,EACAqpD,aAAc,CACZrpD,KAAM,2BACR,EACAspD,cAAe,CACbtpD,KAAM,4BACR,EACAoqD,sBAAuB,CACrBpqD,KAAM,4BACR,EACAupD,aAAc,CACZvpD,KAAM,2BACR,EACAqqD,sBAAuB,CACrBrqD,KAAM,4BACR,EACAwpD,aAAc,CACZxpD,KAAM,2BACR,EACAypD,aAAc,CACZzpD,KAAM,2BACR,EACAuO,MAAO,CACLvO,KAAM,eACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,mEACN4hB,YAAa,SACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EAEA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,0BACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,cACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,qBACTkjF,YAAa,iCACbllE,KAAM,CACJlmC,QAAS,iLACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,gCACX,EACA8iF,UAAW,CACT9iF,QAAS,sBACTmjF,iBAAkB,8HAClBnlE,KAAM,CACJlmC,QAAS,+FACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,yGACX,CACF,EACAruD,QAAS,kBACX,EACAqjF,YAAa,CACXrjF,QAAS,kBACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,QACTge,KAAM,2HACR,EACAulE,KAAM,CACJvjF,QAAS,SACTge,KAAM,qEACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,iBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,QACRC,SAAU,iBACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,eACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,2BACnBC,0BAA2B,oCAC3BC,2BAA4B,iBAC5BphH,MAAO,oBACT,EACAqhH,KAAM,CACJ71F,QAAS,YACTwrB,OAAQ,CACNl3B,SAAU,CACR2nF,OAAQ,CACNxxF,UAAW,qGACb,CACF,EACAioG,SAAU,CACRjoG,UAAW,6BACXG,OAAQ,mDACV,EACAkrG,oCAAqC,0CACrCC,uBAAwB,8CACxBC,4BAA6B,oBAC7BC,2BAA4B,sDAC5BC,2BAA4B,sDAC5BC,gCAAiC,0BACjCvuG,QAAS,UACTF,OAAQ,UACR/B,KAAM,OACN0C,QAAS,OACT8B,SAAU,OACV7B,OAAQ,SACRogC,KAAM,OACNa,SAAU,OACV9hC,MAAO,QACPw3C,MAAO,OACT,EACAv/B,OAAQ,CACN2rB,gBAAmB,sBACrB,EACA/2B,SAAU,CACR8hG,2BAA4B,0EAC9B,CACF,EACAxsF,QAAS,CACPysF,yBAA0B,QAC1BC,iBAAkB,kBAClBC,6BAA8B,wBAC9BC,kBAAmB,iBACnBC,eAAgB,kBAChBC,0BAA2B,kCAC3BC,iBAAkB,6BAClBC,gBAAiB,gCACjBC,kBAAmB,kCACnBC,uBAAwB,6CACxBl9F,KAAM,CACJm9F,cAAe,sBACfC,cAAe,sBACfxrF,IAAK,CACHt7B,MAAO,GACPylG,KAAM,2CACNshB,OAAQ,SACV,EACA5jF,SAAU,CACRyhE,OAAQ,gBACR1mC,IAAK,0BACLU,IAAK,oBACLmmC,KAAM,qBACNE,IAAK,oBACLH,IAAK,oBACLI,QAAS,wBACT8hB,mBAAoB,kDACtB,CACF,CACF,EACAC,IAAK,CACHC,aAAc,qBACd3lF,QAAS,iBACX,CACF,EACAykC,QAAS,CACPmhD,kBAAmB,uCACnBC,oBAAqB,mEACrBC,UAAW,0BACb,EACAC,oBAAqB,wBACrBC,OAAQ,SACRC,kBAAmB,yCACnBC,gBAAiB,+CACjBC,IAAK,KACLC,GAAI,KACJnlD,KAAM,SACNolD,OAAQ,aACRC,UAAW,eACXC,eAAgB,iBAChBx+F,UAAW,wBACXnU,OAAQ,QACRwrG,WAAY,4BACZt4C,MAAO,UACP0/C,aAAc,oBACdC,SAAU,QACVtuF,QAAS,QACT/nB,KAAM,QACNs2G,YAAa,MACbl1F,WAAY,OACZkyD,MAAO,QACP1xD,KAAM,SACNS,OAAQ,UACRk0F,YAAa,gBACbC,cAAe,iBACft4F,KAAM,WACNmxB,KAAM,aACNonE,eAAgB,iBAChBC,gBAAiB,WACjBC,4BAA6B,+BAC7BC,kBAAmB,8BACnBC,0CAA2C,oDAC3CC,6BAA8B,kDAC9BC,mBAAoB,uCACpBC,aAAc,2BACdr2C,KAAM,YACNs2C,OAAQ,YACRhvG,OAAQ,gBACRsM,MAAO,YAEP2iG,gBAAiB,oCACjBC,eAAgB,2BAChBvjH,IAAK,aACLwjH,WAAY,yBACZC,MAAO,YACPC,eAAgB,+CAChBtmG,QAAS,CACP2Y,IAAK,CACH08D,MAAO,CACLh4F,MAAO,uBACPmmB,MAAO,CACL0G,SAAU,iBACV7rB,KAAM,OACN67D,YAAa,aACbtrD,OAAQ,QACV,CACF,EACA23G,cAAe,uBACfC,eAAgB,kBAChBC,uBAAwB,gCACxBC,kBAAmB,mCACnBC,gBAAiB,+EACnB,CACF,EACA1+G,KAAM,CACJ5K,MAAO,aACPupH,kBAAmB,oBACnBC,UAAW,8BACXb,aAAc,4CACdhI,WAAY,oDACZ8I,YAAa,QACf,EACA/1D,YAAa,CACXkxD,YAAa,CACX/5G,MAAO,qCACT,EACA8oD,UAAW,CACT+1D,aAAc,2EACdlpE,YAAa,eACbmZ,SAAU,qEACVgwD,UAAW,mBACXC,kBAAmB,0BACrB,EACAC,kBAAmB,CACjBxrG,OAAQ,mBACRyrG,kBAAmB,6BACnBC,qBAAsB,0DACtBC,qBAAsB,sBACtBC,mBAAoB,mBACpBC,mBAAoB,mBACpBC,aAAc,wBACdC,WAAY,kCACd,EACArrE,MAAO,CACLsrE,eAAgB,mCAClB,EACAxsH,OAAQ,CACN0jC,QAAS,OACX,EACAujF,KAAM,CACJvjF,QAAS,MACX,EACA+oF,WAAY,CACVz/G,MAAO,8BACP0/G,cAAe,8qBACjB,CACF,EACAC,cAAe,CACb/J,SAAU,6GACVj0E,YAAa,CACXi+E,YAAa,iBACbC,qBAAsB,yBACtBC,cAAe,YACfjpG,OAAQ,QACRkpG,kBAAmB,0BACnBC,cAAe,WACf9iF,QAAS,SACX,CACF,EACAyxE,UAAW,CACTvnC,SAAU,YACVnkE,KAAM,SACN2gF,WAAY,uCACZ7jF,KAAM,sBACNkgH,QAAS,cACTC,cAAe,sCACflR,aAAc,oCAChB,CACF,CACF,CAEA,EAAE,IAAImR,IAAI,CAAC,SAAS3tH,EAAQU,EAAOJ,GACnCqJ,OAAO6B,eAAelL,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQoF,QAAU,CAChB08G,YAAa,CACXC,WAAY,CACV70G,MAAO,mBACP80G,UAAW,yCACXC,GAAI,eACN,EACAC,WAAY,CACVxmG,QAAS,kFACTmX,WAAY,SACd,EACAztB,QAAS,UACT+8G,QAAS,UACTC,uBAAwB,CACtB96B,MAAO,CACL5yE,OAAQ,wBACR2tG,SAAU,gBACV9Z,OAAQ,mBACRvgD,MAAO,kBACPs6D,qBAAsB,gCACtBC,WAAY,cACZC,WAAY,aACd,CACF,EACAvwB,QAAS,CACPwwB,qBAAsB,sBACxB,EACAC,eAAgB,CACdjhG,IAAK,MACL+c,OAAQ,SACR9iB,QAAS,UACX,EACAinG,IAAK,CACHt4C,MAAO,CACLu4C,gBAAiB,CACfvgH,MAAO,iBACT,CACF,EACAwgH,iBAAkB,CAChBxgH,MAAO,YACPygH,SAAU,gDACV/5G,MAAO,CACL1F,KAAM,MACR,EACA0/G,SAAU,CACRnhG,QAAS,CACPvf,MAAO,mBACT,EACAmJ,KAAM,CACJnJ,MAAO,gBACT,CACF,CACF,EACAmV,OAAQ,CACNogB,IAAK,MACLorF,WAAY,aACZryC,UAAW,gBACXsyC,cAAe,qBACfC,qBAAsB,0BACtBC,mBAAoB,wBACpB90F,aAAc,CACZ+0F,WAAY,CACVC,IAAK,eACLljF,KAAM,oBACR,CACF,EACAmjF,YAAa,8FACbr7B,WAAY,gBAEd,EACAvd,MAAO,CACL64C,UAAW,oBACXh8F,SAAU,WACV2gC,OAAQ,SACR2O,MAAO,QACPh/B,OAAQ,SACRizC,SAAU,WACV04C,eAAgB,iBAChBC,iBAAkB,mFAClBC,aAAc,uCACd9hE,KAAM,kDACR,EACAuyB,aAAc,CACZ9xE,MAAO,kBACPmV,OAAQ,CACNhW,IAAK,MACLyL,KAAM,cACN2zB,OAAQ,SACRiwB,KAAM,MACR,EACApqC,SAAU,CACRqiB,QAAS,QACT66E,mBAAoB,iBACtB,EACAtpB,MAAO,CACL/gD,OAAQ,CACN1hB,IAAK,iBACL+8C,KAAM,OACNd,KAAM,OACN7rB,MAAO,QACPxmD,IAAK,MACLsyE,OAAQ,QACV,EACAlgE,OAAQ,SACRJ,OAAQ,SACR3K,OAAQ,SACRysE,UAAW,YACX/nD,WAAY,YACd,EACAq2F,UAAW,0CACXC,WAAY,wCACZjjF,OAAQ,yBACRkjF,QAAS,mCACX,EACA1V,OAAQ,CACNx6F,OAAQ,CACN2qB,KAAM,+BACR,EACAwlF,mBAAoB,uBACpBC,mBAAoB,kBACtB,EACA15E,SAAU,CACRjoC,MAAO,WACPqgB,OAAQ,CACN8kD,QAAS,CACPnlE,MAAO,UACPmR,OAAQ,CACNnR,MAAO,QACPgB,KAAM,OACN+iD,YAAa,cACbxb,SAAU,WACVq+B,SAAU,WACVg7C,KAAM,OACNC,kBAAmB,oBACnBC,mBAAoB,WACpBC,UAAW,CACTD,mBAAoB,CAClBt7C,6BAA8B,QAC9BC,cAAe,aACfC,sBAAuB,QACvBs7C,oBAAqB,eACrBC,oBAAqB,eACrBC,gBAAiB,WACjBC,gBAAiB,WACjBC,cAAe,SACfC,cAAe,QACjB,CACF,EACAC,QAAS,KACX,CACF,EACAl9C,QAAS,CACPplE,MAAO,UACPmR,OAAQ,CACNk0B,IAAK,OACL6vB,OAAQ,MACV,CACF,EACA3jD,OAAQ,CACNvR,MAAO,SACPmR,OAAQ,CACNI,OAAQ,SACRwwG,UAAW,CACT18E,IAAK,OACLxB,KAAM,OACN7jC,MAAO,QACPgB,KAAM,OACNikC,aAAc,WACd9P,OAAQ,SACRhjB,WAAY,aACZo2B,SAAU,WACVg6E,YAAa,cACb37C,SAAU,gBACVC,YAAa,eACbE,QAAS,UACX,CACF,EACA1mD,OAAQ,CACN8kD,QAAS,UACTC,QAAS,SACX,CACF,EACAY,QAAS,CACPhmE,MAAO,SACT,CACF,CACF,EACAwiH,SAAU,CACRzvC,UAAW,CACT0vC,YAAa,WACbC,YAAa,YACbC,eAAgB,kBAClB,EACAC,oBAAqB,iBACrBC,mBAAoB,qBACpBC,aAAc,eACdC,cAAe,gBACfC,aAAc,eACdC,aAAc,eACdC,aAAc,eACdC,WAAY,aACZn7C,MAAO,cACP5jC,QAAS,SACX,EACAsvB,YAAa,CACX3U,MAAO,CACLxd,QAAS,cACTu3B,QAAS,CACPsqD,cAAe,CACb3pD,KAAM,sBACR,EACA4pD,wBAAyB,CACvB5pD,KAAM,yBACR,EACA6pD,wBAAyB,CACvB7pD,KAAM,gCACR,EACA8pD,4BAA6B,CAC3B9pD,KAAM,6BACR,EACA+pD,gBAAiB,CACf/pD,KAAM,iBACR,EACAsZ,UAAW,CACTtZ,KAAM,gBACR,EACAgqD,iBAAkB,CAChBhqD,KAAM,sBACR,EACAiqD,4BAA6B,CAC3BjqD,KAAM,6BACR,EACAopD,mBAAoB,CAClBppD,KAAM,4BACR,EACAkqD,sBAAuB,CACrBlqD,KAAM,sBACR,EACAmqD,uBAAwB,CACtBnqD,KAAM,wBACR,EACAqpD,aAAc,CACZrpD,KAAM,sBACR,EACAspD,cAAe,CACbtpD,KAAM,uBACR,EACAoqD,sBAAuB,CACrBpqD,KAAM,uBACR,EACAupD,aAAc,CACZvpD,KAAM,sBACR,EACAqqD,sBAAuB,CACrBrqD,KAAM,uBACR,EACAwpD,aAAc,CACZxpD,KAAM,sBACR,EACAypD,aAAc,CACZzpD,KAAM,sBACR,EACAuO,MAAO,CACLvO,KAAM,aACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,iBACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,mBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,yBACTge,KAAM,CACJlmC,QAAS,qIACX,CACF,EACAgrG,UAAW,CACT9iF,QAAS,mBACTmjF,iBAAkB,yFAClBnlE,KAAM,CACJlmC,QAAS,wGACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,WACX,EACAqjF,YAAa,CACXrjF,QAAS,aACX,EACAsjF,SAAU,CACR7kH,MAAO,UACPnC,OAAQ,CACN0jC,QAAS,SACTge,KAAM,8EACR,EACAulE,KAAM,CACJvjF,QAAS,OACT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,EACAwpD,aAAc,CACZxpD,KAAM,iCACR,EACAypD,aAAc,CACZzpD,KAAM,iCACR,EACAuO,MAAO,CACLvO,KAAM,eACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,uBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,+IACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,+BACX,EACA8iF,UAAW,CACT9iF,QAAS,+BACTmjF,iBAAkB,+FAClBnlE,KAAM,CACJlmC,QAAS,4GACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,YACX,EACAqjF,YAAa,CACXrjF,QAAS,2BACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,SACTge,KAAM,sFACR,EACAulE,KAAM,CACJvjF,QAAS,OACTge,KAAM,sFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,kBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,mBACfC,mBAAoB,0BACpBC,kBAAmB,wBA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EACAypD,aAAc,CACZzpD,KAAM,kBACR,EACAuO,MAAO,CACLvO,KAAM,cACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,yBACN4hB,YAAa,2BACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,oBACPyS,MAAO,uBACPwxG,KAAM,UACNC,IAAK,qBACL3uF,IAAK,QACLpS,QAAS,CACP8nF,WAAY,YACZD,OAAQ,aACV,EACAmZ,eAAgB,CACd5iF,QAAS,uBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,qBACX,EACA8iF,UAAW,CACT9iF,QAAS,uBACX,EACA+iF,cAAe,CACb/iF,QAAS,oBACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,qBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,kCACT,CACF,CACF,EACAob,QAAS,yBACTkjF,YAAa,2CACbllE,KAAM,CACJlmC,QAAS,iGACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,sCACTge,KAAM,CACJlmC,QAAS,yKACX,CACF,EACAgrG,UAAW,CACT9iF,QAAS,qBACTmjF,iBAAkB,wHAClBnlE,KAAM,CACJlmC,QAAS,iIACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,qCACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+DACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,4FACX,CACF,EACAruD,QAAS,kBACX,EACAqjF,YAAa,CACXrjF,QAAS,yBACX,EACAsjF,SAAU,CACR7kH,MAAO,SACPnC,OAAQ,CACN0jC,QAAS,YACTge,KAAM,kHACR,EACAulE,KAAM,CACJvjF,QAAS,OACTge,KAAM,yGACR,CACF,EACA+qE,WAAY,CACVtqH,MAAO,oBACPsqH,WAAY,MACZW,cAAe,UACf9nF,SAAU,QACZ,EACAqxB,MAAO,CACLuwD,eAAgB,kBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,QACRC,SAAU,gBACZ,CACF,EACAC,YAAa,CACXC,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,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,uBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,2BACT,CACF,CACF,EACAob,QAAS,6BACTkjF,YAAa,8BACbllE,KAAM,CACJlmC,QAAS,8IACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,8BACX,EACA8iF,UAAW,CACT9iF,QAAS,yBACTmjF,iBAAkB,sGAClBnlE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,yFACX,CACF,EACAruD,QAAS,eACX,EACAqjF,YAAa,CACXrjF,QAAS,gBACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,UACTge,KAAM,gGACR,EACAulE,KAAM,CACJvjF,QAAS,SACTge,KAAM,wFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,qBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,QACRC,SAAU,aACZ,CACF,EACAC,YAAa,CACXC,UAAW,eACXC,UAAW,YACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,yBACfC,mBAAoB,iCACpBC,kBAAmB,oBACnBC,0BAA2B,wBAC3BC,2BAA4B,eAC5BphH,MAAO,oBACT,EACAqhH,KAAM,CACJ71F,QAAS,gBACTwrB,OAAQ,CACNl3B,SAAU,CACR2nF,OAAQ,CACNxxF,UAAW,yFACb,CACF,EACAioG,SAAU,CACRjoG,UAAW,+BACXG,OAAQ,uCACV,EACAkrG,oCAAqC,oCACrCC,uBAAwB,8CACxBC,4BAA6B,yBAC7BC,2BAA4B,+CAC5BC,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EACAsZ,UAAW,CACTtZ,KAAM,iBACR,EACAgqD,iBAAkB,CAChBhqD,KAAM,2BACR,EACAiqD,4BAA6B,CAC3BjqD,KAAM,gCACR,EACAopD,mBAAoB,CAClBppD,KAAM,gCACR,EACAkqD,sBAAuB,CACrBlqD,KAAM,0BACR,EACAmqD,uBAAwB,CACtBnqD,KAAM,2BACR,EACAqpD,aAAc,CACZrpD,KAAM,0BACR,EACAspD,cAAe,CACbtpD,KAAM,2BACR,EACAoqD,sBAAuB,CACrBpqD,KAAM,0BACR,EACAupD,aAAc,CACZvpD,KAAM,0BACR,EACAqqD,sBAAuB,CACrBrqD,KAAM,0BACR,EACAwpD,aAAc,CACZxpD,KAAM,0BACR,EACAypD,aAAc,CACZzpD,KAAM,0BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,uDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,6BACT,CACF,CACF,EACAob,QAAS,0BACTkjF,YAAa,+BACbllE,KAAM,CACJlmC,QAAS,sJACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,kCACX,EACA8iF,UAAW,CACT9iF,QAAS,wBACTmjF,iBAAkB,wHAClBnlE,KAAM,CACJlmC,QAAS,6FACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,C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uO,MAAO,CACLvO,KAAM,gBACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,wBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,6HACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,wBACX,EACA8iF,UAAW,CACT9iF,QAAS,6CACTmjF,iBAAkB,8GAClBnlE,KAAM,CACJlmC,QAAS,oHACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,gBACX,EACAqjF,YAAa,CACXrjF,QAAS,kBACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,QACTge,KAAM,0FACR,EACAulE,KAAM,CACJvjF,QAAS,SACTge,KAAM,qFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,WAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,YACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,6BACnBC,0BAA2B,kCAC3BC,2BAA4B,cAC5BphH,MAAO,oBACT,EACAqhH,KAAM,CACJ71F,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"} \ No newline at end of file +{"version":3,"file":"app.min.js","sources":["build.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],2:[function(require,module,exports){\nvar inserted = exports.cache = {}\n\nfunction noop () {}\n\nexports.insert = function (css) {\n if (inserted[css]) return noop\n inserted[css] = true\n\n var elem = document.createElement('style')\n elem.setAttribute('type', 'text/css')\n\n if ('textContent' in elem) {\n elem.textContent = css\n } else {\n elem.styleSheet.cssText = css\n }\n\n document.getElementsByTagName('head')[0].appendChild(elem)\n return function () {\n document.getElementsByTagName('head')[0].removeChild(elem)\n inserted[css] = false\n }\n}\n\n},{}],3:[function(require,module,exports){\nvar _FieldText = require('components/FieldText.vue');\n\nvar _FieldText2 = _interopRequireDefault(_FieldText);\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldImage = require('components/FieldImage.vue');\n\nvar _FieldImage2 = _interopRequireDefault(_FieldImage);\n\nvar _FieldGeo = require('components/FieldGeo.vue');\n\nvar _FieldGeo2 = _interopRequireDefault(_FieldGeo);\n\nvar _FieldMedia = require('components/FieldMedia.vue');\n\nvar _FieldMedia2 = _interopRequireDefault(_FieldMedia);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n simple_field: _FieldText2.default,\n text_field: _FieldText2.default,\n link_field: _FieldLink2.default,\n image_field: _FieldImage2.default,\n geo_field: _FieldGeo2.default,\n photo_field: _FieldImage2.default,\n media_field: _FieldMedia2.default,\n vue_field: _FieldVue2.default\n};\n\n},{\"components/FieldGeo.vue\":44,\"components/FieldImage.vue\":45,\"components/FieldLink.vue\":46,\"components/FieldMedia.vue\":47,\"components/FieldText.vue\":48,\"components/FieldVue.vue\":49}],4:[function(require,module,exports){\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _toRawType = require('utils/toRawType');\n\nvar Fields = require('./fields');\n\nmodule.exports = {\n /**\n * Get Type field from field value\n * field: Object contains the value of the field\n * @param field\n * @returns {string}\n */\n getType: function getType(field) {\n var type = field.type;\n if ('vue' !== type) {\n var fieldValue = field.value;\n var value = fieldValue && 'Object' === (0, _toRawType.toRawType)(fieldValue) && !fieldValue.coordinates && !fieldValue.vue ? fieldValue.value : fieldValue;\n if (!value) {\n type = 'simple';\n } else if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n if (value.coordinates) {\n type = 'geo';\n } else if (value.vue) {\n type = 'vue';\n }\n } else if (value && Array.isArray(value)) {\n if (value.length && value[0].photo) {\n type = 'photo';\n } else {\n type = 'simple';\n }\n } else if (value.toString().toLowerCase().match(/[^\\s]+.(png|jpg|jpeg|gif)$/g)) {\n type = 'photo';\n } else if (value.toString().match(/^(https?:\\/\\/[^\\s]+)/g)) {\n type = 'link';\n } else {\n type = 'simple';\n }\n }\n return type + '_field';\n },\n isSimple: function isSimple(field) {\n return 'simple_field' === this.getType(field);\n },\n isLink: function isLink(field) {\n return 'link_field' === this.getType(field);\n },\n isImage: function isImage(field) {\n return 'image_field' === this.getType(field);\n },\n isPhoto: function isPhoto(field) {\n return 'photo_field' === this.getType(field);\n },\n isVue: function isVue(field) {\n return 'vue_field' === this.getType(field);\n },\n\n /**\n * Method to add a new field type to Fields\n * @param type\n * @param field\n */\n add: function add(_ref) {\n var type = _ref.type,\n field = _ref.field;\n\n Fields[type] = field;\n },\n\n /**\n * Remove field from a Fields list\n * @param type\n */\n remove: function remove(type) {\n delete Fields[type];\n }\n};\n\n},{\"./fields\":3,\"utils/toRawType\":242}],5:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(CheckBoxService, _Service);\n\n function CheckBoxService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CheckBoxService);\n\n opts.validatorOptions = {\n values: opts.state.input.options.values.map(function (v) {\n return v;\n })\n };\n return _possibleConstructorReturn(this, (CheckBoxService.__proto__ || Object.getPrototypeOf(CheckBoxService)).call(this, opts));\n }\n\n return CheckBoxService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],6:[function(require,module,exports){\nvar _InputCheckbox = require('components/InputCheckbox.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputCheckbox);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CheckBoxInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = CheckBoxInput;\n\n},{\"components/InputCheckbox.vue\":63}],7:[function(require,module,exports){\nvar _InputColor = require('components/InputColor.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputColor.vue\":64}],8:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _convertQGISDateTimeFormatToMoment2 = require('utils/convertQGISDateTimeFormatToMoment');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(DateTimePickerService, _Service);\n\n function DateTimePickerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, DateTimePickerService);\n\n var _this = _possibleConstructorReturn(this, (DateTimePickerService.__proto__ || Object.getPrototypeOf(DateTimePickerService)).call(this, opts));\n\n _this.validatorOptions = {};\n return _this;\n }\n\n _createClass(DateTimePickerService, [{\n key: 'getLocale',\n value: function getLocale() {\n return window.initConfig.user.i18n ? window.initConfig.user.i18n : 'en';\n }\n }, {\n key: 'convertQGISDateTimeFormatToMoment',\n value: function convertQGISDateTimeFormatToMoment(datetimeformat) {\n return (0, _convertQGISDateTimeFormatToMoment2.convertQGISDateTimeFormatToMoment)(datetimeformat);\n }\n }, {\n key: 'setValidatorOptions',\n value: function setValidatorOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.validatorOptions = opts;\n }\n }]);\n\n return DateTimePickerService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/convertQGISDateTimeFormatToMoment\":187}],9:[function(require,module,exports){\nvar _InputDateTimePicker = require('components/InputDateTimePicker.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputDateTimePicker);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar DateTimePickerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = DateTimePickerInput;\n\n},{\"components/InputDateTimePicker.vue\":65}],10:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(FloatService, _Service);\n\n function FloatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FloatService);\n\n return _possibleConstructorReturn(this, (FloatService.__proto__ || Object.getPrototypeOf(FloatService)).call(this, opts));\n }\n\n return FloatService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],11:[function(require,module,exports){\nvar _InputFloat = require('components/InputFloat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputFloat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar FloatInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = FloatInput;\n\n},{\"components/InputFloat.vue\":66}],12:[function(require,module,exports){\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _InputBase = require('components/InputBase.vue');\n\nvar _InputBase2 = _interopRequireDefault(_InputBase);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputServices = require('./services');\n\nvar Input = {\n props: ['state'],\n mixins: [_mixins.baseInputMixin],\n components: {\n 'baseinput': _InputBase2.default\n },\n watch: {\n 'notvalid': function notvalid(_notvalid) {\n if (_notvalid) {\n this.service.setErrorMessage();\n }\n },\n 'state.value': function stateValue() {\n var _this = this;\n\n if (undefined !== this.state.input.options.default_expression) {\n // need to postpone state.value watch parent that use mixin\n setTimeout(function () {\n return _this.change();\n });\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.service = new InputServices[this.state.input.type]({ state: this.state });\n\n this.$watch(function () {\n return _application2.default.language;\n }, _asyncToGenerator(function* () {\n if (_this2.state.visible) {\n _this2.state.visible = false;\n _this2.service.setErrorMessage();\n yield _this2.$nextTick();\n _this2.state.visible = true;\n }\n }));\n\n if (this.state.editable && this.state.validate.required) {\n this.service.validate();\n }\n\n this.$emit('addinput', this.state);\n /**\n * in case of input value is fill with default value option we need to emit changeinput event\n * without check validation. Example:\n * {\n \"name\": \"id\",\n \"type\": \"integer\",\n \"label\": \"id\",\n \"editable\": false,\n \"validate\": {\n \"required\": true,\n \"unique\": true\n },\n \"pk\": true,\n \"default\": \"nextval('g3wsuite.zone_id_seq'::regclass)\",\n \"input\": {\n \"type\": \"text\",\n \"options\": {}\n }\n }\n in this case if we start a validation, it fail because default value is a string while input is interger\n */\n if (this.state.value_from_default_value) {\n this.$emit('changeinput', this.state);\n }\n },\n destroyed: function destroyed() {\n // emit remove input to form (in case for example tab visibility condition)\n this.$emit('removeinput', this.state);\n }\n};\n\nmodule.exports = Input;\n\n},{\"./services\":28,\"components/InputBase.vue\":62,\"mixins\":166,\"store/application\":178}],13:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(IntegerService, _Service);\n\n function IntegerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, IntegerService);\n\n return _possibleConstructorReturn(this, (IntegerService.__proto__ || Object.getPrototypeOf(IntegerService)).call(this, opts));\n }\n\n return IntegerService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],14:[function(require,module,exports){\nvar _InputInteger = require('components/InputInteger.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputInteger);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar IntegerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = IntegerInput;\n\n},{\"components/InputInteger.vue\":69}],15:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(LonLatService, _Service);\n\n function LonLatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LonLatService);\n\n var _this = _possibleConstructorReturn(this, (LonLatService.__proto__ || Object.getPrototypeOf(LonLatService)).call(this, opts));\n\n _this.coordinatebutton;\n _this.mapService = _gui2.default.getService('map');\n _this.mapEpsg = _this.mapService.getCrs();\n\n _this.mapControlToggleEventHandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n _this.coordinatebutton.active && _this.toggleGetCoordinate();\n }\n };\n _this.map = _this.mapService.getMap();\n _this.outputEpsg = _this.state.epsg || _this.mapEpsg;\n //Store event map key\n _this.eventMapKey;\n return _this;\n }\n\n _createClass(LonLatService, [{\n key: 'setCoordinateButtonReactiveObject',\n value: function setCoordinateButtonReactiveObject(coordinatebutton) {\n this.coordinatebutton = coordinatebutton;\n }\n }, {\n key: 'validate',\n value: function validate() {\n if (this.state.values.lon < -180) {\n this.state.values.lon = -180;\n } else if (this.state.values.lon > 180) {\n this.state.values.lon = 180;\n }\n if (this.state.values.lat < -90) {\n this.state.values.lon = -90;\n } else if (this.state.values.lat > 90) {\n this.state.values.lon = 90;\n }\n\n this.state.validate.valid = !Number.isNaN(1 * this.state.values.lon);\n }\n }, {\n key: 'toggleGetCoordinate',\n value: function toggleGetCoordinate() {\n this.coordinatebutton.active = !this.coordinatebutton.active;\n this.coordinatebutton.active ? this.startToGetCoordinates() : this.stopToGetCoordinates();\n }\n }, {\n key: 'startToGetCoordinates',\n value: function startToGetCoordinates() {\n var _this2 = this;\n\n this.mapService.deactiveMapControls();\n this.mapService.on('mapcontrol:toggled', this.mapControlToggleEventHandler);\n this.eventMapKey = this.map.on('click', function (evt) {\n evt.originalEvent.stopPropagation();\n evt.preventDefault();\n var coordinate = _this2.mapEpsg !== _this2.outputEpsg ? ol.proj.transform(evt.coordinate, _this2.mapEpsg, _this2.outputEpsg) : evt.coordinate;\n _this2.state.value = [coordinate];\n\n var _coordinate = _slicedToArray(coordinate, 2),\n lon = _coordinate[0],\n lat = _coordinate[1];\n\n _this2.state.values.lon = lon;\n _this2.state.values.lat = lat;\n });\n }\n }, {\n key: 'stopToGetCoordinates',\n value: function stopToGetCoordinates() {\n ol.Observable.unByKey(this.eventMapKey);\n this.mapService.off('mapcontrol:toggled', this.mapControlToggleEventHandler);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stopToGetCoordinates();\n }\n }]);\n\n return LonLatService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"services/gui\":173}],16:[function(require,module,exports){\nvar _InputLonLat = require('components/InputLonLat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputLonLat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar LatLontInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = LatLontInput;\n\n},{\"components/InputLonLat.vue\":70}],17:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(MediaService, _Service);\n\n function MediaService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediaService);\n\n return _possibleConstructorReturn(this, (MediaService.__proto__ || Object.getPrototypeOf(MediaService)).call(this, opts));\n }\n\n return MediaService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],18:[function(require,module,exports){\nvar _InputMedia = require('components/InputMedia.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputMedia);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MediaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = MediaInput;\n\n},{\"components/InputMedia.vue\":71}],19:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _pickfeatureinteraction = require('map/interactions/pickfeatureinteraction');\n\nvar _pickfeatureinteraction2 = _interopRequireDefault(_pickfeatureinteraction);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n function PickLayerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickLayerService);\n\n this.pick_type = opts.pick_type || 'wms';\n this.ispicked = false;\n this.fields = opts.fields || [opts.value];\n this.layerId = opts.layer_id;\n this.mapService = _gui2.default.getService('map');\n this.interaction = 'map' === this.pick_type ? new _pickfeatureinteraction2.default({\n layers: [this.mapService.getLayerById(this.layerId)]\n }) : new _pickcoordinatesinteraction2.default();\n }\n\n /**\n *\n * @return {boolean|*}\n */\n\n\n _createClass(PickLayerService, [{\n key: 'isPicked',\n value: function isPicked() {\n return this.ispicked;\n }\n }, {\n key: 'escKeyUpHandler',\n\n\n /**\n * bind interrupt event\n */\n value: function escKeyUpHandler(_ref) {\n var keyCode = _ref.keyCode,\n owner = _ref.data.owner;\n\n if (27 === keyCode) {\n owner.unpick();\n }\n }\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n $(document).on('keyup', { owner: this }, this.escKeyUpHandler);\n }\n }, {\n key: 'pick',\n\n\n /**\n *\n * @return {Promise}\n */\n value: function pick() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.bindEscKeyUp();\n var values = {};\n _this.ispicked = true;\n var afterPick = function afterPick(feature) {\n if (feature) {\n var attributes = feature.getProperties();\n //filter eventually null or undefined field\n _this.fields.filter(function (f) {\n return f;\n }).forEach(function (field) {\n return values[field] = attributes[field];\n });\n resolve(values);\n } else {\n reject();\n }\n _this.ispicked = false;\n _this.unpick();\n };\n _gui2.default.setModal(false);\n _this.mapService.addInteraction(_this.interaction);\n\n _this.interaction.once('picked', function (e) {\n if ('map' === _this.pick_type) {\n var feature = e.feature;\n afterPick(feature);\n } else if ('wms' === _this.pick_type) {\n var layer = _gui2.default.getService('map').getProjectLayer(_this.layerId);\n if (layer) {\n _data2.default.getQueryLayersPromisesByCoordinates([layer], {\n map: _this.mapService.getMap(),\n feature_count: 1,\n coordinates: e.coordinate\n }).then(function (response) {\n var _response$0$data = response[0].data,\n data = _response$0$data === undefined ? [] : _response$0$data;\n\n var feature = data.length && data[0].features[0] || null;\n afterPick(feature);\n }).fail(function (e) {\n return console.warn(e);\n });\n }\n }\n });\n });\n }\n }, {\n key: 'unpick',\n\n\n /**\n *\n */\n value: function unpick() {\n this.mapService.removeInteraction(this.interaction);\n _gui2.default.setModal(true);\n this.unbindEscKeyUp();\n this.ispicked = false;\n }\n }, {\n key: 'clear',\n\n\n /**\n *\n */\n value: function clear() {\n if (this.isPicked()) {\n this.unpick();\n }\n this.mapService = this.interaction = this.field = null;\n }\n }]);\n\n return PickLayerService;\n}();\n\n},{\"map/interactions/pickcoordinatesinteraction\":150,\"map/interactions/pickfeatureinteraction\":151,\"services/data\":172,\"services/gui\":173}],20:[function(require,module,exports){\nvar _InputPickLayer = require('components/InputPickLayer.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputPickLayer);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PickLayerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = PickLayerInput;\n\n},{\"components/InputPickLayer.vue\":72}],21:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RadioService, _Service);\n\n function RadioService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RadioService);\n\n return _possibleConstructorReturn(this, (RadioService.__proto__ || Object.getPrototypeOf(RadioService)).call(this, opts));\n }\n\n return RadioService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],22:[function(require,module,exports){\nvar _InputRadio = require('components/InputRadio.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRadio);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RadioInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RadioInput;\n\n},{\"components/InputRadio.vue\":73}],23:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RangeService, _Service);\n\n function RangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RangeService);\n\n var _opts$state$input$opt = opts.state.input.options.values[0],\n min = _opts$state$input$opt.min,\n max = _opts$state$input$opt.max;\n\n opts.state.info = '[MIN: ' + min + ' - MAX: ' + max + ']';\n\n var _this = _possibleConstructorReturn(this, (RangeService.__proto__ || Object.getPrototypeOf(RangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * min && value <= 1 * max;\n }\n });\n return _this;\n }\n\n _createClass(RangeService, [{\n key: 'isValueInRange',\n value: function isValueInRange(value, min, max) {\n return value <= max && value >= min;\n }\n }]);\n\n return RangeService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],24:[function(require,module,exports){\nvar _InputRange = require('components/InputRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputRange.vue\":74}],25:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(SelectService, _Service);\n\n function SelectService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SelectService);\n\n var _this = _possibleConstructorReturn(this, (SelectService.__proto__ || Object.getPrototypeOf(SelectService)).call(this, opts));\n\n _this.layer = null;\n return _this;\n }\n\n _createClass(SelectService, [{\n key: '_getLayerById',\n value: function _getLayerById(layer_id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer_id);\n }\n }, {\n key: 'addValue',\n value: function addValue(value) {\n this.state.input.options.values.push(value);\n }\n }, {\n key: 'sortValues',\n value: function sortValues() {\n var orderbyvalue = this.state.input.options.orderbyvalue;\n\n this.state.input.options.values.sort(function (a, b) {\n var val1 = a[orderbyvalue ? 'value' : 'key'];\n var val2 = b[orderbyvalue ? 'value' : 'key'];\n if (val1 < val2) {\n return -1;\n }\n if (val1 > val2) {\n return 1;\n }\n return 0;\n });\n }\n }, {\n key: 'getKeyByValue',\n value: function getKeyByValue() {\n var _this2 = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n search = _ref.search;\n\n var _state$input$options = this.state.input.options,\n value = _state$input$options.value,\n key = _state$input$options.key;\n\n return new Promise(function (resolve, reject) {\n _this2.getData({\n key: key,\n value: value,\n search: search\n }).then(function (values) {\n values.forEach(function (_ref2) {\n var key = _ref2.$value,\n value = _ref2.text;\n\n _this2.addValue({\n key: key,\n value: value\n });\n });\n _this2.sortValues();\n resolve(_this2.state.input.options.values);\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }, {\n key: 'getData',\n\n\n /**\n *\n * @param layer_id\n * @param key\n * @param value\n * @param search\n * @return {Promise}\n */\n value: function getData() {\n var _this3 = this;\n\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$layer_id = _ref3.layer_id,\n layer_id = _ref3$layer_id === undefined ? this.state.input.options.layer_id : _ref3$layer_id,\n _ref3$key = _ref3.key,\n key = _ref3$key === undefined ? this.state.input.options.key : _ref3$key,\n _ref3$value = _ref3.value,\n value = _ref3$value === undefined ? this.state.input.options.value : _ref3$value,\n search = _ref3.search;\n\n return new Promise(function (resolve, reject) {\n var _this3$_layer$getData;\n\n if (!_this3._layer) {\n _this3._layer = _this3._getLayerById(layer_id);\n }\n _this3._layer.getDataTable((_this3$_layer$getData = {}, _defineProperty(_this3$_layer$getData, Array.isArray(search) ? 'field' : 'suggest', Array.isArray(search) //take in account multiselect value\n ? search.map(function (_, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: key, value: search[j], operator: \"eq\", logicop: null });\n }).join('|OR,') || '' : (key + '|' + search).trim()), _defineProperty(_this3$_layer$getData, 'ordering', _this3.state.input.options.orderbyvalue ? value : key), _this3$_layer$getData)).then(function (response) {\n var values = response.features.map(function (f) {\n return {\n text: f.properties[key],\n id: f.properties[value],\n $value: f.properties[value]\n };\n });\n resolve(values);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }]);\n\n return SelectService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203}],26:[function(require,module,exports){\nvar _InputSelect = require('components/InputSelect.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSelect);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar SelectInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = SelectInput;\n\n},{\"components/InputSelect.vue\":75}],27:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toRawType = require('utils/toRawType');\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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 = (0, _g3wI18n.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 = (0, _g3wI18n.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 = (0, _g3wI18n.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 = (0, _g3wI18n.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 = '' + (0, _g3wI18n.t)(\"sdk.form.inputs.input_validation_exclude_values\");\n } else if (this.state.validate.required) {\n message = (0, _g3wI18n.t)(\"sdk.form.inputs.input_validation_error\") + ' ( ' + (0, _g3wI18n.t)(\"sdk.form.inputs.\" + this.state.type) + ' )';\n if (this.state.info) {\n message = message + '\\n
\\n ' + this.state.info + '\\n
\\n ';\n }\n this.state.validate.message = this.state.info || message;\n } else {\n //@since 3.11.0\n // in case of state.validate.valid false and not required need to show a right message (info or type)\n this.state.validate.message = this.state.info || (0, _g3wI18n.t)(\"sdk.form.inputs.input_validation_error_type\") + ' ( ' + (0, _g3wI18n.t)(\"sdk.form.inputs.\" + this.state.type) + ' )';\n }\n }\n }, {\n key: 'setUpdate',\n\n /**\n * Method to set update\n */\n value: function setUpdate() {\n var _state = this.state,\n value = _state.value,\n _value = _state._value;\n\n if ('media' === this.state.input.type && 'Object' !== (0, _toRawType.toRawType)(value) && 'Object' !== (0, _toRawType.toRawType)(_value)) {\n this.state.update = value.value != _value.value;\n } else if (\"datetimepicker\" === this.state.input.type) {\n //check\n this.state.update = (null !== value ? value.toUpperCase() : value) != (_value ? _value.toUpperCase() : _value);\n } else {\n this.state.update = value != _value;\n }\n }\n }]);\n\n return Service;\n}();\n\n},{\"g3w-i18n\":129,\"utils/toRawType\":242}],28:[function(require,module,exports){\nvar InputsServices = {\n 'text': require('./service'),\n 'textarea': require('./service'),\n 'texthtml': require('./service'),\n 'integer': require('./integer/service'),\n 'string': require('./service'),\n 'float': require('./float/service'),\n 'radio': require('./radio/service'),\n 'check': require('./checkbox/service'),\n 'range': require('./range/service'),\n 'datetimepicker': require('./datetimepicker/service'),\n 'unique': require('./unique/service'),\n 'select': require('./select/service'),\n 'media': require('./media/service'),\n 'select_autocomplete': require('./select/service'),\n 'picklayer': require('./service'),\n 'color': require('./service'),\n 'slider': require('./sliderrange/service'),\n 'lonlat': require('./lonlat/service')\n};\n\nmodule.exports = InputsServices;\n\n},{\"./checkbox/service\":5,\"./datetimepicker/service\":8,\"./float/service\":10,\"./integer/service\":13,\"./lonlat/service\":15,\"./media/service\":17,\"./radio/service\":21,\"./range/service\":23,\"./select/service\":25,\"./service\":27,\"./sliderrange/service\":29,\"./unique/service\":34}],29:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nvar SliderRangeService = function (_Service) {\n _inherits(SliderRangeService, _Service);\n\n function SliderRangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SliderRangeService);\n\n var state = opts.state;\n\n opts.state.info = '[MIN: ' + state.input.options.min + ' - MAX: ' + state.input.options.max + ']';\n\n var _this = _possibleConstructorReturn(this, (SliderRangeService.__proto__ || Object.getPrototypeOf(SliderRangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * opts.state.input.options.min && value <= 1 * opts.state.input.options.max;\n }\n });\n return _this;\n }\n\n _createClass(SliderRangeService, [{\n key: 'validate',\n value: function validate() {\n this.state.value = 1 * this.state.value;\n this.state.validate.valid = this.state.value >= this.state.input.options.min || this.state.value <= this.state.input.options.max;\n }\n }, {\n key: 'changeInfoMessage',\n value: function changeInfoMessage() {\n this.state.info = '[MIN: ' + this.state.input.options.min + ' - MAX: ' + this.state.input.options.max + ']';\n }\n }]);\n\n return SliderRangeService;\n}(Service);\n\nmodule.exports = SliderRangeService;\n\n},{\"gui/inputs/service\":27}],30:[function(require,module,exports){\nvar _InputSliderRange = require('components/InputSliderRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSliderRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputSliderRange.vue\":76}],31:[function(require,module,exports){\nvar _InputText = require('components/InputText.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputText);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputText.vue\":77}],32:[function(require,module,exports){\nvar _InputTextArea = require('components/InputTextArea.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextArea);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextAreaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextAreaInput;\n\n},{\"components/InputTextArea.vue\":78}],33:[function(require,module,exports){\nvar _InputTextHtml = require('components/InputTextHtml.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextHtml);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextHtmlInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextHtmlInput;\n\n},{\"components/InputTextHtml.vue\":79}],34:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(UniqueService, _Service);\n\n function UniqueService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, UniqueService);\n\n return _possibleConstructorReturn(this, (UniqueService.__proto__ || Object.getPrototypeOf(UniqueService)).call(this, opts));\n }\n\n return UniqueService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],35:[function(require,module,exports){\nvar _InputUnique = require('components/InputUnique.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputUnique);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar UniqueInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = UniqueInput;\n\n},{\"components/InputUnique.vue\":80}],36:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden;max-width:calc(100% - 150px)}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid #aaa;border-top-width:0;border-radius:0;margin-top:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}#menu-toggler[data-v-6659a6eb]{display:none}.navbar-toggler[data-v-6659a6eb]{color:#fff;margin:12px;font-size:1.3em;position:absolute;z-index:101;right:0}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-toggler[data-v-6659a6eb]{display:block;cursor:pointer;user-select:none}#menu-toggler:checked~hgroup[data-v-6659a6eb]{position:fixed;top:0;background:var(--skin-color);padding-left:8px}#menu-toggler:checked~ul[data-v-6659a6eb]{position:fixed;inset:50px 0 0 0;background:var(--skin-color);z-index:100;flex-direction:column;border-top:1px solid #fff}#menu-toggler:not(:checked)~[data-v-6659a6eb]:not(.navbar-toggler),.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none!important}.navbar-nav[data-v-6659a6eb]{flex-direction:column}.user-footer .btn-default[data-v-6659a6eb]{padding:10px}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueCookieLaw = require('vue-cookie-law');\n\nvar _vueCookieLaw2 = _interopRequireDefault(_vueCookieLaw);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _UserMessage = require('components/UserMessage.vue');\n\nvar _UserMessage2 = _interopRequireDefault(_UserMessage);\n\nvar _CatalogContextMenu = require('components/CatalogContextMenu.vue');\n\nvar _CatalogContextMenu2 = _interopRequireDefault(_CatalogContextMenu);\n\nvar _ModalLogin = require('components/ModalLogin.vue');\n\nvar _ModalLogin2 = _interopRequireDefault(_ModalLogin);\n\nvar _ModalAddLayer = require('components/ModalAddLayer.vue');\n\nvar _ModalAddLayer2 = _interopRequireDefault(_ModalAddLayer);\n\nvar _ModalChangeMap = require('components/ModalChangeMap.vue');\n\nvar _ModalChangeMap2 = _interopRequireDefault(_ModalChangeMap);\n\nvar _ModalMetadata = require('components/ModalMetadata.vue');\n\nvar _ModalMetadata2 = _interopRequireDefault(_ModalMetadata);\n\nvar _g3wI18n = require('g3w-i18n');\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\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: (0, _g3wI18n.t)('cookie_law.buttonText'),\n app: _application2.default,\n state: _application2.default.viewport,\n updatePreviousTitle: false,\n header: (0, _g3wI18n.t)('main navigation'),\n custom_links: custom_links\n };\n },\n\n\n components: {\n CookieLaw: _vueCookieLaw2.default,\n userMessage: _UserMessage2.default,\n CatalogContextMenu: _CatalogContextMenu2.default,\n ModalLogin: _ModalLogin2.default,\n ModalAddlayer: _ModalAddLayer2.default,\n ModalChangemap: _ModalChangeMap2.default,\n ModalMetadata: _ModalMetadata2.default,\n Teleport: _vue2Teleport2.default\n },\n\n computed: {\n languages: function languages() {\n var languages = Array.isArray(this.appconfig.i18n) && this.appconfig.i18n || [];\n return languages.length > 1 && languages;\n },\n dropdownParent: function dropdownParent() {\n return window.innerWidth >= 768;\n },\n appconfig: function appconfig() {\n return window.initConfig;\n },\n isIframe: function isIframe() {\n return window.top !== window.self;\n },\n urls: function urls() {\n return this.appconfig.urls;\n },\n logo_url: function logo_url() {\n return _application2.default.project.state.thumbnail || '' + this.appconfig.mediaurl + window.initConfig.header_logo_img;\n },\n project_title: function project_title() {\n return _application2.default.project.getState().name;\n },\n user: function user() {\n return this.appconfig.user && this.appconfig.user.username ? this.appconfig.user : null;\n },\n login_url: function login_url() {\n return this.appconfig.user.login_url;\n },\n has_iframe_login: function has_iframe_login() {\n return this.login_url && ('/' === this.login_url[0] || (0, _sameOrigin.sameOrigin)(this.login_url, window.location.href));\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return this.appconfig.macrogroups.length + this.appconfig.groups.length + this.appconfig.projects.length > 1;\n },\n main_title: function main_title() {\n var main_title = this.appconfig.main_map_title;\n var group_name = this.appconfig.title || this.appconfig.slug;\n return main_title ? main_title + ' - ' + group_name : group_name;\n },\n breadcrumb: function breadcrumb() {\n return this.state.content.contentsdata.filter(function (c) {\n return c.options.crumb;\n }).map(function (c) {\n return c.options.crumb;\n });\n },\n showresize: function showresize() {\n var layout = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n var currentPerc = layout[this.state.split === 'h' ? 'width' : 'height'];\n return this.state.secondaryPerc > 0 && this.state.secondaryPerc < 100 && currentPerc < 100 && currentPerc > 0;\n },\n showresizeicon: function showresizeicon() {\n return 100 !== this.state.secondaryPerc;\n },\n usermessage: function usermessage() {\n return this.state.usermessage;\n },\n showtitle: function showtitle() {\n if (this.state.content.contentsdata.length > 0) {\n var options = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options;\n if (true === options.showtitle || false === options.showtitle) {\n return options.showtitle;\n }\n }\n return true;\n },\n styles: function styles() {\n return {\n map: {\n width: this.state.map.sizes.width + 'px',\n height: this.state.map.sizes.height + 'px'\n },\n content: {\n width: this.state.content.sizes.width + 'px',\n height: this.state.content.sizes.height + 'px',\n zIndex: 1,\n minHeight: 'v' === this.state.split ? _g3wConstants.VIEWPORT.resize.content.min + 'px' : null,\n paddingTop: '8px',\n paddingBottom: '8px'\n }\n };\n },\n contentTitle: function contentTitle() {\n if (this.state.content.contentsdata.length) {\n var _state$content$conten = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options,\n title = _state$content$conten.title,\n post_title = _state$content$conten.post_title,\n _state$content$conten2 = _state$content$conten.text,\n text = _state$content$conten2 === undefined ? false : _state$content$conten2;\n\n return { title: title, post_title: post_title, text: text };\n }\n },\n backOrBackTo: function backOrBackTo() {\n return this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? !this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title ? 'back' : 'backto' : false;\n },\n previousTitle: function previousTitle() {\n var _this = this;\n\n var title = this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title : null;\n this.updatePreviousTitle = true;\n this.$nextTick(function () {\n return _this.updatePreviousTitle = false;\n });\n return title;\n },\n title: function title() {\n return _application2.default.sidebar.title;\n },\n disabled: function disabled() {\n return _application2.default.gui.sidebar.disabled;\n },\n panels: function panels() {\n return _application2.default.sidebar.contentsdata;\n },\n showmainpanel: function showmainpanel() {\n return _application2.default.sidebar.components.length > 0 && !this.panels.length;\n },\n componentname: function componentname() {\n return _application2.default.sidebar.components.length ? _application2.default.sidebar.components.slice(-1)[0].getTitle() : '';\n },\n panelname: function panelname() {\n return this.panels.length ? this.panels.slice(-1)[0].content.getTitle() : '';\n }\n },\n\n methods: {\n templateResultLanguages: function templateResultLanguages(state) {\n if (!state.id) {\n return state.text;\n }\n return $('\\n
\\n \\n ' + state.text + ' \\n ');\n },\n oncCustomItemClick: function oncCustomItemClick(e, item) {\n if (!['modal', 'metadata'].includes(item.type)) {\n return;\n }\n e.preventDefault();\n if (item.target && 'modal' === item.type && document.querySelector(item.target)) {\n return $(item.target).modal('show');\n }\n if (item.target && 'metadata' === item.type && document.querySelector('#modal-metadata')) {\n $('#modal-metadata').modal('show');\n document.querySelector('#modal-metadata a[href=\"' + item.target + '\"]').click();\n return;\n }\n $('body').append('\\n
\\n
\\n
' + item.content + '
\\n
\\n
\\n ');\n $('#custom_modal').modal('show');\n $('#custom_modal').on('hidden.bs.modal', function () {\n return $('#custom_modal').remove();\n });\n },\n showEmbedModal: function showEmbedModal() {\n var url = new URL(location.href);\n url.searchParams.set('map_extent', _gui2.default.getService('map').getMapExtent().toString());\n\n $('body').append('\\n
\\n
\\n
\\n
\\n

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

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: (0, _g3wI18n.t)('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('.navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n if (this.$refs['menu-toggler']) {\n this.$refs['menu-toggler'].checked = false;\n }\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = (0, _g3wI18n.t)('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\".navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[(!_vm.isIframe)?_c('nav',{ref:\"navbar\",staticClass:\"navbar no-print\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"start\",\"height\":\"50px\"},attrs:{\"role\":\"navigation\"}},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"menu-toggler\",attrs:{\"id\":\"menu-toggler\",\"type\":\"checkbox\",\"autocomplete\":\"off\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('label',{staticClass:\"navbar-toggler\",attrs:{\"for\":\"menu-toggler\",\"hidden\":\"\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])]),_vm._v(\" \"),_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav-links\",staticStyle:{\"display\":\"flex\",\"text-align\":\"center\",\"white-space\":\"nowrap\",\"list-style\":\"none\",\"padding\":\"0\",\"margin\":\"0\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{attrs:{\"height\":\"20\",\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e(),_vm._v(\" \"),(item.i18n)?_c('span',{directives:[{name:\"t-html\",rawName:\"v-t-html\",value:(item.text || item.title || item.img_title),expression:\"item.text || item.title || item.img_title\"}],attrs:{\"hidden\":item.text ? undefined : ''}}):_vm._e(),_vm._v(\" \"),(!item.i18n)?_c('span',{attrs:{\"hidden\":item.text ? undefined : ''},domProps:{\"innerHTML\":_vm._s(item.text || item.title || item.img_title)}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar no-print\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({ paddingTop: _vm.isIframe ? 0 : null })},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":\"modal-fullscreen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-fullscreen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('modal-login'):_vm._e(),_vm._v(\" \"),_c('modal-addlayer'),_vm._v(\" \"),_c('modal-changemap'),_vm._v(\" \"),_c('modal-metadata')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ModalAddLayer.vue\":84,\"components/ModalChangeMap.vue\":85,\"components/ModalLogin.vue\":86,\"components/ModalMetadata.vue\":87,\"components/UserMessage.vue\":111,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/gui\":173,\"store/application\":178,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/sameOrigin\":237,\"vue-cookie-law\":\"vue-cookie-law\",\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{display:block;position:relative;padding:0;margin:8px auto;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n this._traverseVisibleLayers(layer.nodes, _layers);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":127,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nvar _g3wI18n = require(\"g3w-i18n\");\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 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((0, _g3wI18n.t)('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":77,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\n\nvar _shpWrite = require('shp-write');\n\nvar _shpWrite2 = _interopRequireDefault(_shpWrite);\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 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', (0, _g3wI18n.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((0, _g3wI18n.t)(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).config.editing.visible : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n _shpWrite2.default.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.01\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":127,\"g3w-i18n\":129,\"services/gui\":173,\"shp-write\":\"shp-write\",\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return !this.isGroup && _application2.default.highlightlayers && layer && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active) && !_vm.layerstree.filter.pagination)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":127,\"mixins/click\":162,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important;text-align:right}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"field\"},[(_vm.state.label)?_c('div',{staticClass:\"col-sm-6 field_label\"},[_vm._t(\"label\",[_vm._v(_vm._s(_vm.state.label))])],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"field_value\",class:[_vm.state.label ? 'col-sm-6' : null ]},[_vm._t(\"field\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],44:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}.modal-content[data-v-70d2a0b2]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-70d2a0b2]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-70d2a0b2]{text-align:center;padding:0!important}.modal[data-v-70d2a0b2]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-70d2a0b2]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toRawType = require('utils/toRawType');\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n id: Date.now(),\n active: null,\n value: undefined !== this.state.value.mime_type ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default,\n Teleport: _vue2Teleport2.default\n },\n computed: {\n images: function images() {\n return [].concat(this.value).map(function (img) {\n return { src: (img || {}).photo || img };\n });\n }\n },\n methods: {\n showGallery: function () {\n var _ref = _asyncToGenerator(function* (index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') {\n this.value.active = true;\n }\n $('#gallery_' + this.id).modal('show');\n });\n\n function showGallery(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showGallery;\n }(),\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\",\"display\":\"inline-block\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.images),function(img,i){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":img.src},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(i)}}})}),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":(\"gallery_\" + _vm.id),\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":(\"carousel_\" + _vm.id),\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,i){return _c('div',{staticClass:\"item\",class:_vm.active == i ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src),\"alt\":\"\"}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.$fa('arrow-right')})]):_vm._e()])])])])])])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":42,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.link_button'),expression:\"'info.link_button'\"}],staticClass:\"btn skin-button field_link\",attrs:{\"slot\":\"field\",\"title\":_vm.value},on:{\"click\":function($event){$event.stopPropagation();return _vm.openLink(_vm.value)}},slot:\"field\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":166}],48:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":42,\"vueify/lib/insert-css\":2}],49:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":42}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_content\",staticStyle:{\"position\":\"relative\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}}),_vm._v(\" \"),_c('g3wformheader',{ref:\"g3wformheader\",attrs:{\"currentid\":_vm.state.currentheaderid,\"headers\":_vm.state.headers,\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"resize-form\":_vm.resizeForm,\"clickheader\":_vm.switchComponent}}),_vm._v(\" \"),_c('div',{ref:\"g3wform_body\",staticClass:\"g3wform_body\"},[_vm._l((_vm.body.components.before),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})}),_vm._v(\" \"),_c('keep-alive',[_c(_vm.state.component,{tag:\"component\",attrs:{\"handleRelation\":_vm.handleRelation,\"state\":_vm.state},on:{\"hook:activated\":_vm.reloadLayout,\"addtovalidate\":_vm.addToValidate,\"removetovalidate\":_vm.removeToValidate,\"changeinput\":_vm.changeInput}})],1),_vm._v(\" \"),_vm._l((_vm.body.components.after),function(component){return _c(component,{tag:\"component\",attrs:{\"fields\":_vm.state.fields}})})],2),_vm._v(\" \"),_c('g3w-form-footer',{ref:\"g3w_form_footer\",attrs:{\"isRootComponent\":_vm.isRootComponent,\"backToRoot\":_vm.backToRoot,\"state\":_vm.state}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":52,\"components/FormHeader.vue\":53}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":68}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group g3wform_footer\"},[(_vm.show)?[_vm._t(\"default\",[_c('div',{staticStyle:{\"margin\":\"3px\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n * \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}]}),_vm._v(\" \"),(_vm.state.footer.message)?_c('div',{style:([_vm.state.footer.style])},[_vm._v(\"\\n \"+_vm._s(_vm.state.footer.message)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.state.buttons),function(button){return _c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.btnEnabled(button)),expression:\"!btnEnabled(button)\"},{name:\"t\",rawName:\"v-t\",value:(button.title),expression:\"button.title\"}],key:button.id,staticClass:\"btn \",class:[button.class],attrs:{\"update\":_vm.state.update,\"valid\":_vm.state.valid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.exec(button.cbk)}}})})])]:[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"prevet\",undefined,$event.key,undefined)){ return null; }$event.stopPropagation();return _vm.backToRoot($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\n name: 'form-header',\n\n props: {\n headers: {\n type: Array,\n default: []\n },\n currentid: {\n type: String\n },\n update: {\n type: Boolean\n },\n valid: {\n type: Boolean\n }\n },\n methods: {\n click: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3wform_header box-header with-border\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('section',{staticClass:\"g3wform_header_content\"},_vm._l((_vm.headers),function(header){return _c('span',{key:header.id,staticClass:\"title\",class:[{item_selected: _vm.currentid === header.id && _vm.headers.length > 1},[_vm.headers.length > 1 ? 'tabs' : 'one' ]],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},style:({fontSize: _vm.isMobile() && '1em !important'}),on:{\"click\":function($event){$event.stopPropagation();return _vm.click(header.id)}}},[(header.icon)?_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_c('i',{class:header.icon})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:(header.title),expression:\"header.title\",arg:\"pre\"}],staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(header.name))]),_vm._v(\" \"),_c(header.component,{tag:\"component\",attrs:{\"valid\":_vm.valid,\"update\":_vm.update}})],1)}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":178,\"utils/getUniqueDomId\":217}],56:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{display:block;position:relative;padding:0;margin-bottom:5px;height:0;width:100%;max-height:0;font-size:1px;line-height:0;clear:both;border:none;border-bottom:2px solid #eee}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],59:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.$nextTick();\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":61,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayer = _application2.default.project.getLayerById(projectRelation.referencingLayer);\n\n return !(relationLayer && relationLayer.isEditable());\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":67,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":166,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input],\n\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n changed: false\n };\n },\n\n\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n },\n\n methods: {\n getValuesItem: function getValuesItem() {\n var checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.service.state.input.options.values.find(function (v) {\n return !!checked === v.checked;\n }) || {};\n },\n convertValueToChecked: function convertValueToChecked() {\n var _this = this;\n\n if ([null, undefined].includes(this.service.state.value)) {\n return false;\n }\n var option = this.service.state.input.options.values.find(function (v) {\n return _this.service.state.value == v.value;\n });\n if (undefined === option) {\n option = this.service.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.service.state.value = option.value;\n }\n return option.checked;\n },\n changeCheckBox: function changeCheckBox() {\n var _getValuesItem = this.getValuesItem(this.value),\n value = _getValuesItem.value,\n label = _getValuesItem.label;\n\n this.label = label;\n this.state.value = value;\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged() {\n this.value = this.convertValueToChecked();\n\n var _getValuesItem2 = this.getValuesItem(this.value),\n value = _getValuesItem2.value,\n label = _getValuesItem2.label;\n\n this.label = label;\n this.state.value = value;\n }\n },\n\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],64:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],65:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"store/application\":178,\"utils/getUniqueDomId\":217}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],68:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":67,\"vueify/lib/insert-css\":2}],69:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.form.inputs.tooltips.lonlat'),expression:\"'sdk.form.inputs.tooltips.lonlat'\"}],ref:\"g3w-input-lat-lon\",staticClass:\"action skin-tooltip-left skin-color skin-border-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],71:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _g3wI18n = require('g3w-i18n');\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('gui/fields/fields'),\n MediaField = _require.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((0, _g3wI18n.t)(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],75:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n var value = values[this.state.input.options.key];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n if (this.autocomplete) {\n if (!this.multiple) {\n this.state.input.options.values.splice(0);\n }\n this.state.input.options.values.push({\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n }\n\n this.service.sortValues();\n\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.autocomplete || _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n\n if (_this2.autocomplete) {\n _this2.state.input.options.values = _this2.state.input.options.values.filter(function (v) {\n return value != v.value;\n });\n }\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n if (dependencyLayerId) {\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.service.getData({\n key: _this5.state.input.options.value,\n value: _this5.state.input.options.key,\n search: search\n }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n yield this.service.getKeyByValue({\n search: this.multiple ? this.getMultiValues() : this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.form.inputs.tooltips.picklayer'),expression:\"'sdk.form.inputs.tooltips.picklayer'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":156,\"mixins\":166,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],76:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],79:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ 'align': '' }, { 'align': 'center' }, { 'align': 'right' }, { 'align': 'justify' }], [{ 'color': [] }, { 'background': [] }], ['bold', 'italic', 'underline', { 'list': 'ordered' }, { 'list': 'bullet' }, 'link', 'clean', 'html'], ['table', 'column-left', 'column-right', 'column-remove', 'row-above', 'row-below', 'row-remove']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],80:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":166,\"utils/getUniqueDomId\":217}],81:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.copy_map_extent_url'),expression:\"'sdk.tooltips.copy_map_extent_url'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":178,\"utils/copyUrl\":190,\"vueify/lib/insert-css\":2}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _g3wI18n = require('g3w-i18n');\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 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 && (0, _g3wI18n.t)('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":94,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/addZValueToOLFeatureGeometry\":182,\"utils/convertSingleMultiGeometry\":188,\"utils/flattenObject\":201,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getUniqueDomId\":217,\"utils/isPointGeometryType\":225,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-81ff9972]{margin:10px 0;position:relative;border:2px dashed #97a1a8;display:flex;flex-direction:column;text-align:center;gap:8px;opacity:.8}#addcustomlayer input[data-v-81ff9972]{position:absolute;outline:none;opacity:0;cursor:pointer;inset:0}#add_custom_url_wms_input[data-v-81ff9972]::placeholder{font-size:85%;opacity:.5}.g3w-wms-panel-title[data-v-81ff9972]{font-size:1.2em;font-weight:700;margin-bottom:10px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _XHR = require('utils/XHR');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n RasterLayer: _imagelayer.RasterLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nfunction _CSVToArray(text) {\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ',';\n\n var pattern = new RegExp('(' + separator + '|\\r?\\n|\\r|^)' + '(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|' + '([^\"' + separator + \"\\r\\n]*))\", \"gi\");\n\n var data = [[]];\n var matches = null;\n\n while (matches = pattern.exec(text)) {\n if (matches[0] === '\\r\\n') {\n break;\n }\n\n if (matches[1].length && matches[1] !== separator) {\n data.push([]);\n }\n\n data.at(-1).push(matches[2] ? matches[2].replace(new RegExp('\"\"', 'g'), '\"') : matches[3]);\n }\n\n return data;\n}\n\nexports.default = {\n name: 'modal-addlayer',\n\n data: function data() {\n\n return {\n layer_type: undefined,\n file_type: null,\n layer_name: null,\n layer_crs: _application2.default.project.getProjection().getCode(),\n layer_color: {\n hex: '#194d33',\n rgba: { r: 25, g: 77, b: 51, a: 1 },\n a: 1\n },\n wms_config: null,\n wms_urls: [],\n wms_layers: [],\n url: null,\n id: null,\n olLayer: null,\n map_crs: _application2.default.project.getProjection().getCode(),\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n csv_x: null,\n csv_y: null,\n csv_wkt: null,\n csv_separator: ',',\n csv_loading: false,\n name: undefined,\n title: null,\n layers: [],\n projections: [],\n epsg: null,\n error_message: '',\n parse_errors: []\n };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n feature_count: function feature_count() {\n return this.olLayer && this.olLayer.getSource().getFeatures().length || 0;\n }\n },\n\n watch: {\n wms_layers: function wms_layers() {\n var _this = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.wms_projections[layers.at(-1)].crss[0];\n this.projections = this.wms_projections[layers.at(-1)].crss;\n } else {\n this.projections = this.projections.filter(function (p) {\n return _this.wms_projections[layers.at(-1)].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref4) {\n var name = _ref4.name;\n return _this2.wms_projections[name].crss.includes(_this2.epsg);\n });\n });\n\n function epsg() {\n return _ref3.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function () {\n var _ref5 = _asyncToGenerator(function* (type, oldtype) {\n if (type && oldtype) {\n this.layer_type = undefined;\n yield this.$nextTick();\n this.layer_type = type;\n }\n if ('file' === oldtype) {\n this.unloadFile();\n }\n if ('wms' === oldtype) {\n this.unloadWMS();\n }\n });\n\n function layer_type(_x3, _x4) {\n return _ref5.apply(this, arguments);\n }\n\n return layer_type;\n }(),\n url: function url() {\n var _this3 = this;\n\n if (this.url && !this.wms_config && this.wms_urls.some(function (l) {\n return l.url == _this3.url;\n })) {\n this.id = this.wms_urls.find(function (l) {\n return l.url == _this3.url;\n }).id;\n }\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer_color = val;\n },\n parseFile: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var input = this.$refs.input_file;\n\n if (!input.accept.split(',').includes('.' + input.files[0].name.split('.').at(-1).toLowerCase())) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n if (_gui2.default.getService('map').getLayerByName(input.files[0].name)) {\n this.error_message = 'layer_is_added';\n return;\n }\n\n try {\n\n this.error_message = '';\n this.parse_errors = [];\n this.layer_name = input.files[0].name;\n this.file_type = input.files[0].name.split('.').at(-1).toLowerCase();\n this.layer_data = null;\n\n var epsg = ['zip', 'kml', 'kmz'].includes(this.file_type) ? 'EPSG:4326' : this.layer_crs;\n var features = [];\n var data = void 0;\n\n (this.fields || []).splice(0);\n if ('kmz' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n var zip = new JSZip();\n zip.load((yield input.files[0].arrayBuffer(input.files[0])));\n data = zip.file(/.kml$/i).at(-1).asText();\n }\n\n if ('zip' === this.file_type) {\n this.layer_crs = 'EPSG:4326';\n data = JSON.stringify((yield shp((yield input.files[0].arrayBuffer(input.files[0])))));\n }\n\n if ('csv' === this.file_type) {\n this.csv_loading = true;\n\n data = _CSVToArray((yield input.files[0].text()), this.csv_separator);\n var X = ['x', 'lng', 'longitude', 'longitudine'];\n var Y = ['y', 'lat', 'latitude', 'latitudine'];\n this.fields = data.shift();\n var wkt = this.fields.findIndex(function (f) {\n return 'wkt' === f.toLowerCase();\n });\n var x = this.fields.findIndex(function (f) {\n return X.includes(f.toLowerCase());\n });\n var y = this.fields.findIndex(function (f) {\n return Y.includes(f.toLowerCase());\n });\n this.csv_wkt = this.csv_wkt || this.fields[wkt];\n this.csv_x = this.csv_wkt || this.csv_x || this.fields[x] || this.fields[0];\n this.csv_y = this.csv_wkt || this.csv_y || this.fields[y] || this.fields[1];\n data.forEach(function (row, i) {\n var X = Number(row[x]);\n var Y = Number(row[y]);\n\n if (!_this4.csv_wkt && (Number.isNaN(X) || Number.isNaN(Y))) {\n return _this4.parse_errors.push({ row: i + 1, value: data[i] });\n }\n try {\n var feat = new ol.Feature(_extends({\n geometry: new ol.format.WKT().readGeometry(_this4.csv_wkt ? row[wkt] : 'POINT (' + X + ' ' + Y + ')', {\n dataProjection: _this4.layer_crs,\n featureProjection: _gui2.default.getService('map').getEpsg()\n })\n }, row.reduce(function (props, value, i) {\n props[_this4.fields[i]] = value;return props;\n }, {})));\n feat.setId(i);\n features.push(feat);\n } catch (e) {\n console.warn(e);\n }\n });\n\n this.csv_loading = false;\n }\n\n if (!data) {\n data = (yield input.files[0].text()) || {};\n }\n\n this.layer_data = data;\n\n if ('csv' !== this.file_type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[this.file_type].readFeatures(data, {\n dataProjection: epsg,\n featureProjection: _gui2.default.getService('map').getEpsg() || epsg\n });\n }\n\n if (['kml', 'kmz'].includes(this.file_type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (features.length > 0) {\n this.olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: this.layer_name,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n });\n this.fields = 'csv' === this.file_type ? this.fields : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n });\n }\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n });\n\n function parseFile() {\n return _ref6.apply(this, arguments);\n }\n\n return parseFile;\n }(),\n addLayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n this.loading = true;\n\n if ('wms' === this.layer_type) {\n var name = (this.name || 'wms_' + (0, _getUniqueDomId.getUniqueDomId)()).trim();\n\n try {\n var data = this.getLocalWMSData();\n var found = this.wms_config && (data.wms[this.url] || []).some(function (wms) {\n return wms.layers.length === _this5.wms_layers.length && _this5.wms_layers.every(function (l) {\n return wms.layers.includes(l);\n });\n });\n\n if (found) {\n yield this.fetchWMS(this.url);\n }\n\n var config = {\n url: this.url,\n name: name,\n layers: this.wms_layers,\n epsg: this.epsg,\n position: this.position,\n visible: true,\n opacity: 1\n };\n\n data.wms[this.url] = data.wms[this.url] || [];\n data.wms[this.url].push(config);\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWMS(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_config) {\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n }\n }\n\n if ('file' === this.layer_type) {\n try {\n yield _projections2.default.registerProjection(this.layer_crs);\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.' + e;\n return;\n }\n try {\n yield _gui2.default.getService('map').addExternalLayer(this.olLayer, {\n crs: this.layer_crs,\n position: this.position,\n color: this.layer_color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.unloadFile();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n }\n this.loading = false;\n });\n\n function addLayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n unloadFile: function unloadFile() {\n this.error_message = '';\n this.parse_errors = [];\n this.loading = false;\n this.layer_name = null;\n this.file_type = null;\n this.layer_crs = _gui2.default.getService('map').getCrs();\n this.layer_color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer_data = null;\n this.olLayer = null;\n this.fields = [];\n this.field = null;\n this.csv_x = null;\n this.csv_y = null;\n this.csv_wkt = null;\n\n if (this.$refs.input_file) {\n this.$refs.input_file.value = null;\n }\n },\n unloadWMS: function unloadWMS() {\n this.error_message = '';\n this.wms_config = null;\n this.wms_layers = [];\n this.name = null;\n this.loading = false;\n },\n addWmsURL: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.loading = true;\n var wms = { url: this.url, id: this.id, show: true };\n var found = this.wms_urls.find(function (l) {\n return l.url === _this6.url;\n });\n try {\n var response = yield this.fetchWMS(this.url);\n if (!found && response) {\n var data = this.getLocalWMSData();\n this.wms_urls.push(wms);\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading = false;\n });\n\n function addWmsURL() {\n return _ref8.apply(this, arguments);\n }\n\n return addWmsURL;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.wms_urls = this.wms_urls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.wms_urls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref9.url,\n layers = _ref9.layers,\n name = _ref9.name,\n _ref9$epsg = _ref9.epsg,\n epsg = _ref9$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref9$epsg,\n _ref9$position = _ref9.position,\n position = _ref9$position === undefined ? 'top' : _ref9$position,\n opacity = _ref9.opacity,\n _ref9$visible = _ref9.visible,\n visible = _ref9$visible === undefined ? true : _ref9$visible;\n\n return new Promise(function (res, rej) {\n var wmslayer = new _imagelayer.RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: ol.proj.get(epsg), url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n _gui2.default.getService('map').addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n },\n fetchWMS: function () {\n var _ref10 = _asyncToGenerator(function* (url) {\n this.loading = true;\n try {\n this.loading = false;\n var config = yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url || this.url, service: \"wms\" })\n });\n\n console.log(config);\n\n if (!config.result) {\n throw 'invalid response';\n }\n\n config.wmsurl = url || this.url;\n\n if (config.methods && config.methods.GetMap) {\n this.url = (config.methods.GetMap.urls || []).find(function (u) {\n return 'Get' === u.type;\n }).url;\n } else {\n this.url = config.wmsurl;\n }\n\n this.title = config.title;\n this.name = config.title + ' ' + (0, _getUniqueDomId.getUniqueDomId)();\n\n this.wms_projections = config.layers.reduce(function (projections, _ref11) {\n var name = _ref11.name,\n crss = _ref11.crss,\n title = _ref11.title;\n\n projections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n return projections;\n }, {});\n\n this.layers = config.layers;\n\n this.wms_config = config;\n this.error_message = null;\n } catch (e) {\n console.warn(e);\n this.error_message = e;\n }\n this.loading = false;\n });\n\n function fetchWMS(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return fetchWMS;\n }(),\n deleteWMS: function deleteWMS(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this7.layer_type = undefined;\n _this7.url = null;\n _this7.id = null;\n _this7.unloadFile();\n _this7.unloadWMS();\n });\n\n yield _gui2.default.isReady();\n yield _gui2.default.getService('map').isReady();\n\n this.deleteWMS = this.deleteWMS.bind(this);\n\n _gui2.default.getService('map').on('remove-external-layer', this.deleteWMS);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n var map = _gui2.default.getService('map');\n map.on('change-layer-position-map', function () {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref13.id,\n position = _ref13.position;\n\n return _this7.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref14.id,\n opacity = _ref14.opacity;\n\n return _this7.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n visible = _ref15.visible;\n\n return _this7.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this7._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.wms_urls = data.urls;\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unloadFile();\n this.unloadWMS();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWMS);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config}},[_c('label',{attrs:{\"for\":\"add_custom_url_wms_input\"}},[_vm._v(\"URL\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.url),expression:\"url\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\",\"type\":\"url\",\"list\":\"wms_urls\",\"required\":\"\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(!_vm.wms_config)?_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('add_new_wms_url_help'),expression:\"'add_new_wms_url_help'\"}]}):_vm._e(),_vm._v(\" \"),_c('datalist',{attrs:{\"id\":\"wms_urls\"}},_vm._l((_vm.wms_urls),function(wms){return _c('option',{key:wms.id,domProps:{\"value\":wms.url}},[_vm._v(_vm._s(wms.id))])}),0)]),_vm._v(\" \"),(_vm.url && !_vm.wms_config && !_vm.loading)?_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.wms_config || _vm.wms_urls.some(function (l) { return l.url == _vm.url; })}},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.id),expression:\"id\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",attrs:{\"id\":\"add_custom_name_url_wms_input\",\"required\":\"\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(null !== _vm.id && _vm.wms_urls.some(function (l) { return l.id === _vm.id; }) && _vm.wms_urls.every(function (l) { return l.url !== _vm.url; }))?_c('p',{staticStyle:{\"color\":\"red\",\"margin\":\"10px 0\"}},[_vm._v(\"\\n ⚠️ \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}]})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('button',{staticClass:\"btn btn-block btn-success\",attrs:{\"disabled\":!(_vm.id || '').trim() || _vm.wms_urls.some(function (l) { return l.id === _vm.id && l.url !== _vm.url; }) || !(_vm.url || '').trim().match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g)},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addWmsURL($event)}}},[_c('b',{class:_vm.$fa('plus-square')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('connect_to_wms'),expression:\"'connect_to_wms'\"}]})]):_vm._e(),_vm._v(\" \"),(!_vm.wms_config)?_c('div',{staticClass:\"form-group\"},[_c('hr'),_vm._v(\" \"),_vm._l((_vm.wms_urls),function(wms){return _c('div',{key:wms.id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\",\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('connect_to_wms'),expression:\"'connect_to_wms'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('eye'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\",\"font-size\":\"1.3em\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.deleteWmsUrl(wms.id)}}})]),_vm._v(\" \"),_c('small',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":_vm.$t('connect_to_wms')},on:{\"click\":function($event){return _vm.fetchWMS(wms.url)}}},[_vm._v(_vm._s(wms.url))])])})],2):_vm._e(),_vm._v(\" \"),(_vm.wms_config)?_c('fieldset',{attrs:{\"disabled\":_vm.loading}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('disconnect_from_wms'),expression:\"'disconnect_from_wms'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin-top\":\"15px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadWMS}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.wms_config.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\"\\n \"+_vm._s(_vm.wms_config.abstract)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('wms_layers'),expression:\"'wms_layers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(l){return _c('option',{key:l.name,domProps:{\"value\":l.name}},[_vm._v(_vm._s(l.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(p){return _c('option',[_vm._v(_vm._s(p))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('div',{staticClass:\"form-group\"},[(_vm.layer_data)?_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"close\",staticStyle:{\"float\":\"right\",\"padding\":\"5px 10px\",\"margin\":\"5px 0 0 8px\",\"outline\":\"1px solid\",\"color\":\"red\",\"opacity\":\"1\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.unloadFile}},[_vm._v(\"×\")]):_vm._e(),_vm._v(\" \"),_c('form',{style:({ padding: _vm.layer_data ? '0' : '20px 0' }),attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"accept\":\".zip,.geojson,.GEOJSON,.kml,.kmz,.KMZ,.KML,.json,.gpx,.gml,.csv\"},on:{\"change\":_vm.parseFile}}),_vm._v(\" \"),_c('h4',{staticClass:\"skin-color\"},[(!_vm.layer_data)?_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}):(_vm.layer_name)?_c('b',[_vm._v(_vm._s(_vm.layer_name))]):_vm._e()]),_vm._v(\" \"),(!_vm.layer_data)?_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),(!_vm.layer_data)?_c('span',{staticStyle:{\"font-family\":\"Monospace\"}},[_vm._v(\".gml, .geojson, .kml, .kmz, .gpx, .csv, .zip (shapefile)\")]):_vm._e()]),_vm._v(\" \"),('csv' === _vm.file_type)?_c('div',{staticClass:\"form-group\",staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv_loading}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_separator),expression:\"csv_separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_separator=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},[_c('option',[_vm._v(\",\")]),_vm._v(\" \"),_c('option',[_vm._v(\";\")])]),_vm._v(\" \"),(_vm.fields.length > 1 && !_vm.csv_wkt)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_x),expression:\"csv_x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_x=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_y),expression:\"csv_y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\",\"disabled\":!(_vm.fields || []).length},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_y=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},_vm.parseFile]}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.csv_wkt)?[_c('label',{attrs:{\"for\":\"g3w-select-wkt-field\"}},[_vm._v(\"WKT\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv_wkt),expression:\"csv_wkt\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.csv_wkt=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.fields),function(h){return _c('option',[_vm._v(_vm._s(h))])}),0)]:_vm._e(),_vm._v(\" \"),(0 === _vm.fields.length)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_csv_fields'),expression:\"'no_csv_fields'\"}]}):_vm._e(),_vm._v(\" \"),(_vm.olLayer)?_c('small',{staticStyle:{\"color\":\"red\",\"display\":\"inline-block\",\"margin-top\":\"1em\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(\" \"+_vm._s(_vm.feature_count))]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://epsg.io/\" + ((_vm.layer_crs || '').toLowerCase().replace('epsg:', ''))),\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('fieldset',{staticClass:\"form-group\",attrs:{\"disabled\":_vm.layer_data || ['kmz', 'zip'].includes(_vm.file_type)}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_crs),expression:\"layer_crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_crs=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((new Set([_vm.map_crs, 'EPSG:3003','EPSG:3004', 'EPSG:3045', 'EPSG:3857', 'EPSG:4326', 'EPSG:6708', 'EPSG:23032', 'EPSG:23033', 'EPSG:25833', 'EPSG:32632', 'EPSG:32633'])),function(crs){return _c('option',[_vm._v(_vm._s(crs))])}),0)]),_vm._v(\" \"),(_vm.parse_errors.length)?_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"csv_parse_errors\"}},[_vm._v(\"⚠️ Parse errors:\")]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",staticStyle:{\"background-color\":\"gold\",\"font-family\":\"Monospace\"},attrs:{\"id\":\"csv_parse_errors\"}},_vm._l((_vm.parse_errors),function(ref){\nvar value = ref.value;\nvar row = ref.row;\nreturn _c('option',[_vm._v(\"[\"+_vm._s(row)+\"] \"+_vm._s(value))])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]):_vm._e(),_vm._v(\" \"),((_vm.fields || []).length)?_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('label'),expression:\"'label'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(f){return _c('option',{key:f,domProps:{\"value\":f}},[_vm._v(_vm._s(f))])})],2),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.layer_data)?_c('div',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer_color),callback:function ($$v) {_vm.layer_color=$$v},expression:\"layer_color\"}})],1):_vm._e()]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\",\"margin-bottom\":\"5px\"}}):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":'wms' === _vm.layer_type ? !_vm.wms_layers.length : !_vm.layer_data},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81ff9972\"\n\n},{\"g3w-constants\":126,\"map/layers/imagelayer\":155,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-1cd24885]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-1cd24885]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-1cd24885]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-1cd24885]:hover{opacity:1}.menu-item-image img[data-v-1cd24885]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-1cd24885]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-1cd24885]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-1cd24885]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'modal-changemap',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-1cd24885\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'modal-login',\n\n computed: {\n login_url: function login_url() {\n return window.initConfig.user.login_url;\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])])}\n__vue__options__.staticRenderFns = []\n\n},{}],87:[function(require,module,exports){\n(function (process){(function (){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-7923edc6]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-7923edc6]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-7923edc6]{color:var(--skin-success)}#project-catalog[data-v-7923edc6]{background:transparent}.modal-header.nav[data-v-7923edc6]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-7923edc6]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-7923edc6]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-7923edc6]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.modal-header.nav li a.metadata-item-tab[data-v-7923edc6]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.modal-header.nav li a[data-v-7923edc6]{text-align:center}.modal-header.nav li a i[data-v-7923edc6]{margin-right:5px}.metadata-item-tab[data-v-7923edc6]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-7923edc6]{position:absolute;bottom:10px;right:auto}.row-info[data-v-7923edc6]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-7923edc6]{font-weight:700}.h_100[data-v-7923edc6]{height:100%}#project-catalog[data-v-7923edc6]{position:relative;overflow:auto}.nav-tabs[data-v-7923edc6]{border-bottom:0 none}.metadata-label[data-v-7923edc6]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-7923edc6],.metadata-contact-label[data-v-7923edc6]{font-weight:700}.contact-icon[data-v-7923edc6]{margin-right:3px}.metadata-contact-row[data-v-7923edc6]{margin-bottom:5px}.layer_header[data-v-7923edc6]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-7923edc6]{font-weight:700}.layer-header-icon[data-v-7923edc6]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-7923edc6]{position:absolute;right:5px;color:#999}.layer-row[data-v-7923edc6]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-7923edc6]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li.active>a[data-v-7923edc6]:focus,.layer-nav-tabs>li.active>a[data-v-7923edc6]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-7923edc6]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-7923edc6],.layer-nav-tabs>li>a[data-v-7923edc6]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-7923edc6]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-7923edc6]:after,.layer-nav-tabs>li:hover>a[data-v-7923edc6]:after{transform:scale(1)}.layer-tab-content[data-v-7923edc6]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-7923edc6]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-7923edc6],.metadata-nav-tabs>li>a[data-v-7923edc6]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-7923edc6]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-7923edc6]:hover{background-color:transparent}.credit-title-logo[data-v-7923edc6]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-7923edc6]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-7923edc6]{width:50%!important}.customcredits[data-v-7923edc6]{margin-bottom:10px;margin-top:5px;text-align:center}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"modal-metadata\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {}),\n g3wsdk_info: ''\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n },\n copy_g3wsdk_info: function copy_g3wsdk_info(e) {\n var range = document.createRange();\n range.selectNode(e.target);\n window.getSelection().removeAllRanges();\n window.getSelection().addRange(range);\n document.execCommand('copy');\n window.getSelection().removeAllRanges();\n alert('Copied to clipboard!');\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function mounted() {\n var _this = this;\n\n $('#modal-metadata').on('show.bs.modal', _asyncToGenerator(function* () {\n yield Promise.allSettled([new Promise(function (resolve) {\n return $script('https://unpkg.com/platform@1.3.6/platform.js', resolve);\n }), new Promise(function (resolve) {\n return _application4.default.complete ? resolve() : _application4.default.on('complete', resolve);\n })]);\n\n var platform = window.platform || {};\n\n _this.g3wsdk_info = ('\\n[g3wsdk.info]\\n\\n- g3w-admin: __' + initConfig.version + '__\\n- g3w-client: __' + \"3.11.0-alpha.1\" + '__\\n' + Object.entries(_application2.default.pluginsConfigs).map(function (p) {\n return ' - ' + p[0] + ': __' + p[1].version + '__';\n }).join('\\n') + '\\n- browser: __' + platform.name + ' ' + platform.version + '__\\n- operating system: __' + platform.os.toString() + '__\\n').trim();\n }));\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('ul',{staticClass:\"modal-header nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"70vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"5px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_vm._v(\"📍 Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"📱 +39 393 8534336\")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"✉️ info@gis3w.it\")])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://github.com/g3w-suite\"}},[_vm._v(\"🐞 Report a bug\")])]):_vm._e(),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),(_vm.powered_by && _vm.g3wsdk_info)?_c('pre',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":\"click to copy\"},on:{\"click\":_vm.copy_g3wsdk_info}},[_vm._v(_vm._s(_vm.g3wsdk_info))]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7923edc6\"\n\n}).call(this)}).call(this,require('_process'))\n},{\"_process\":1,\"services/application\":171,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nvar _g3wI18n = require('g3w-i18n');\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\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 || (0, _g3wI18n.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 (0, _g3wI18n.t)(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return (0, _g3wI18n.t)(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return (0, _g3wI18n.t)(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + (0, _g3wI18n.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 || (0, _g3wI18n.t)(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":89,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/printAtlas\":231,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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(\"

\" + (0, _g3wI18n.t)(\"error_map_loading\") + \"

\" + \"
\" + (0, _g3wI18n.t)(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":129,\"services/gui\":173,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.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: (0, _g3wI18n.t)(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}#g3w-queryresults-pagination[data-v-09a18998]{display:flex;justify-content:space-between;align-items:baseline;margin-top:15px;flex-wrap:wrap}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination span[data-v-09a18998]{background-color:transparent;margin:2px;font-weight:700;font-size:.8em}#g3w-queryresults-pagination button[data-v-09a18998],#g3w-queryresults-pagination select[data-v-09a18998]{min-width:0}#pagination-pages[data-v-09a18998]{display:flex;align-items:baseline}#pagination-pages label[data-v-09a18998]{margin-left:3px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n Select2: _mixins.Select2,\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n showInPagination: function showInPagination(layer) {\n return !layer.filter.pagination;\n },\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return 1 === layer.features.length;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function () {\n var _ref2 = _asyncToGenerator(function* (layer) {\n var _this = this;\n\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n\n if (layer.filter.active) {\n layer.features.filter(function (f) {\n return !f.selection.selected;\n }).forEach(function (f) {\n return _this.$options.service.removeFeatureLayerFromResult(layer, f);\n });\n }\n });\n\n function addRemoveFilter(_x5) {\n return _ref2.apply(this, arguments);\n }\n\n return addRemoveFilter;\n }(),\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref3.layer,\n index = _ref3.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this2 = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this2.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this3 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this3.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this3.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this3.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref4 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x7, _x8, _x9) {\n return _ref4.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref5 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x10, _x11, _x12, _x13) {\n return _ref5.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n },\n showPagination: function showPagination(index) {\n return this.state.query.pagination && this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n },\n loadPaginationData: function () {\n var _ref6 = _asyncToGenerator(function* (index, page, page_size) {\n this.state.layers[index].loading = true;\n try {\n yield this.$options.service.loadPaginationData(index, page, page_size, this.state.query);\n } catch (e) {\n console.warn(e);\n }\n this.state.layers[index].loading = false;\n });\n\n function loadPaginationData(_x15, _x16, _x17) {\n return _ref6.apply(this, arguments);\n }\n\n return loadPaginationData;\n }(),\n getCurrentPagSize: function getCurrentPagSize(index) {\n return this.state.query.pagination.getData.params[index].page_size;\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this4.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this4.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this4.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this4.$options.service.postRender(_this4.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref7.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool && !this.state.query.pagination) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this5 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this5.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){$event.stopPropagation();return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":function($event){$event.stopPropagation();return _vm.collapseSidebar($event)}}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.contextmenu.open_attribute_table'),expression:\"'catalog_items.contextmenu.open_attribute_table'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),[(_vm.state.query.pagination)?_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length + ((_vm.state.query.pagination.current[index] - 1) * _vm.getCurrentPagSize(index)))+\" - \"+_vm._s(_vm.state.query.pagination.counts[index])+\")\\n \")]):_c('span',{staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\\n \")])]],2),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type && !_vm.state.query.pagination))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external\n || (\n layer.source\n && layer.source.type !== 'wms'\n && (layer.selection.active || _vm.showInPagination(layer, index))\n )\n )\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active && _vm.showInPagination(layer, index))?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),(_vm.state.query.pagination && _vm.state.query.pagination.page_sizes[index].length > 1)?_c('section',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.loading),expression:\"layer.loading\"}],attrs:{\"id\":\"g3w-queryresults-pagination\"}},[_c('section',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"id\":\"pagination-pages\"}},[_c('select',{staticClass:\"form-control\",on:{\"change\":function($event){_vm.loadPaginationData(index, 1, Number($event.target.value))}}},_vm._l((_vm.state.query.pagination.page_sizes[index]),function(p){return _c('option',{key:p,domProps:{\"value\":p}},[_vm._v(_vm._s(p))])}),0)]),_vm._v(\" \"),(!layer.loading)?_c('section',{attrs:{\"id\":\"pagination-buttons\"}},[(_vm.state.query.pagination.counts[index] > layer.features.length)?_c('button',{staticClass:\"btn\",attrs:{\"disabled\":1 === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] - 1)}}},[_c('i',{class:_vm.g3wtemplate.font['backward']})]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(layer.features.length === _vm.state.query.pagination.counts[index]),expression:\"layer.features.length === state.query.pagination.counts[index]\"}],staticClass:\"btn\",class:{ 'skin-background-color': 1 === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, 1)}}},[_vm._v(_vm._s(1)+\"\\n \")]),_vm._v(\" \"),(_vm.state.query.pagination.counts[index] > layer.features.length)?[(_vm.state.query.pagination.pages[index] > 4 && _vm.state.query.pagination.current[index] > 2 )?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),_vm._l(((\n (_vm.state.query.pagination.pages[index] < 4 || _vm.state.query.pagination.current[index] < 3)\n ? Array.from(Array(_vm.state.query.pagination.pages[index] - 2).keys()).slice(0, 2).map(function (i) { return i + 2; })\n : (_vm.state.query.pagination.pages[index] - _vm.state.query.pagination.current[index]) > 2\n ? [_vm.state.query.pagination.current[index], _vm.state.query.pagination.current[index] + 1 ]\n : [_vm.state.query.pagination.pages[index] - 2, _vm.state.query.pagination.pages[index] - 1 ]\n )),function(page){return _c('button',{staticClass:\"btn\",class:{ 'skin-background-color': page === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, page)}}},[_vm._v(_vm._s(page)+\"\\n \")])}),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 4 && (_vm.state.query.pagination.current[index] < _vm.state.query.pagination.pages[index] - 2))?_c('span',{staticStyle:{\"align-self\":\"baseline\"}},[_vm._v(\"...\")]):_vm._e(),_vm._v(\" \"),(_vm.state.query.pagination.pages[index] > 1)?_c('button',{staticClass:\"btn\",class:{ 'skin-background-color': _vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index] },on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.pages[index])}}},[_vm._v(_vm._s(_vm.state.query.pagination.pages[index])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"disabled\":_vm.state.query.pagination.pages[index] === _vm.state.query.pagination.current[index]},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadPaginationData(index, _vm.state.query.pagination.current[index] + 1)}}},[_c('i',{class:_vm.g3wtemplate.font['forward']})])]:_vm._e()],2):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('info.no_results'),expression:\"'info.no_results'\"}],staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":96,\"components/QueryResultsHeaderFeatureActionsBody.vue\":99,\"components/QueryResultsHeaderFeatureBody.vue\":100,\"components/QueryResultsTableAttributeFieldValue.vue\":101,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],93:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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: \"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', (0, _g3wI18n.t)(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (typeof this.action.clear === 'function') {\n this.action.clear({ layer: this.layer, feature: this.feature });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show && (undefined === (_vm.action.state || {}).show ? _vm.show : _vm.action.state.show))?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!!(_vm.action.state || {}).disabled),expression:\"!!(action.state || {}).disabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': (_vm.action.state || {}).toggled && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":129}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],96:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":173,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/parsers\":230}],97:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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((0, _g3wI18n.t)(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":129,\"store/application\":178,\"vueify/lib/insert-css\":2}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":93,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){$event.stopPropagation();return _vm.trigger({ id: 'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":98,\"mixins\":166,\"vueify/lib/insert-css\":2}],101:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":46,\"components/FieldVue.vue\":49,\"mixins\":166}],102:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.relations.back_to_relations'),expression:\"'sdk.relations.back_to_relations'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('sdk.tooltips.show_chart'),expression:\"'sdk.tooltips.show_chart'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border compact nowrap\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('sdk.tooltips.relations.zoomtogeometry'),expression:\"'sdk.tooltips.relations.zoomtogeometry'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(\"sdk.tooltips.relations.row_to_form\"),expression:\"`sdk.tooltips.relations.row_to_form`\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":43,\"components/QueryResultsActionDownloadFormats.vue\":95,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"mixins\":166,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],103:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],104:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":102,\"components/Relations.vue\":103,\"g3w-constants\":126,\"g3w-eventbus\":127,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],105:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.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: (0, _g3wI18n.t)('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":91,\"components/Tool.vue\":110,\"g3w-i18n\":129,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],106:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _g3wI18n = require('g3w-i18n');\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 SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n autofilter: false,\n allvalue: _g3wConstants.SEARCH_ALLVALUE,\n reload: false\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n loading: function loading() {\n return this.state.forminputs.reduce(function (bool, i) {\n return bool || i.loading;\n }, false);\n },\n filterlayers: function filterlayers() {\n return _application2.default.tokens.filtertoken && this.state.search_layers.filter(function (l) {\n return l.getFilterToken();\n }) || [];\n }\n },\n\n methods: {\n clearFilters: function clearFilters() {\n var _this = this;\n\n this.filterlayers.forEach(function (l) {\n if (_this.state.paginate) {\n l.clearSelectionFids();\n } else {\n l.toggleFilterToken();\n }\n });\n },\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this2.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this2.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this2.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this3.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this4 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this4.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return (0, _g3wI18n.t)(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return (0, _g3wI18n.t)(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return (0, _g3wI18n.t)(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + (0, _g3wI18n.t)(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this4.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this4.clearSelect2();\n _this4.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n },\n reloadSelect2Inputs: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n if (this.reload) {\n return;\n }\n\n this.reload = true;\n\n yield this.$nextTick();\n\n try {\n yield this.$options.service.setInputs();\n } catch (e) {\n console.warn(e);\n }\n\n this.clearSelect2();\n try {\n yield Promise.allSettled(this.state.forminputs.map(function (input) {\n return _this5.initSelect2Field(input);\n }));\n } catch (e) {\n console.warn(e);\n }\n\n this.reload = false;\n });\n\n function reloadSelect2Inputs() {\n return _ref10.apply(this, arguments);\n }\n\n return reloadSelect2Inputs;\n }()\n },\n watch: {\n autofilter: function autofilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.autofilter.value = Number(bool);\n }\n },\n\n created: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.on('filtertokenchange', _this6.reloadSelect2Inputs);\n });\n });\n\n function created() {\n return _ref11.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n var _this7 = this;\n\n this.state.search_layers.forEach(function (l) {\n return l.off('filtertokenchange', _this7.reloadSelect2Inputs);\n });\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching || _vm.loading || _vm.reload),expression:\"state.searching || loading || reload\"}],staticClass:\"g3w-search-panel form-group\"},[_c('bar-loader',{attrs:{\"loading\":_vm.state.searching || _vm.loading || _vm.reload}}),_vm._v(\" \"),_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.filterlayers.length > 0)?_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"g3w-search-filter-layers\"}},[_c('helpdiv',{attrs:{\"message\":\"sdk.search.help_filter\"}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.nofilter'),expression:\"'layer_selection_filter.tools.nofilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"btn skin-border-color\",staticStyle:{\"background-color\":\"transparent\",\"margin\":\"5px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearFilters($event)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('clear')})])],1):_vm._e(),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.autofilter),expression:\"autofilter\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":\"g3w-search-filter\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.autofilter)?_vm._i(_vm.autofilter,null)>-1:(_vm.autofilter)},on:{\"change\":function($event){var $$a=_vm.autofilter,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.autofilter=$$a.concat([$$v]))}else{$$i>-1&&(_vm.autofilter=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.autofilter=$$c}}}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.autofilter'),expression:\"'sdk.search.autofilter'\"}],attrs:{\"for\":\"g3w-search-filter\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins/resize\":168,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],107:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: component,\n active: false,\n title: component.title || '',\n open: !!component.state.open,\n icon: component.icon,\n iconColor: component.iconColor,\n collapsible: false !== component.collapsible,\n actions: component.actions,\n sidebar: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (child, i) {\n if (i === opts.position || child.id === opts.position) {\n child.insertAdjacentElement(!!opts.before || undefined === opts.before ? 'beforebegin' : 'afterend', _this.$el);\n }\n });\n }\n\n this.component.mount(this.$refs['component-placeholder']);\n\n this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.component.state.visible),expression:\"component.state.visible\"},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.component.state.disabled),expression:\"component.state.disabled\"}],staticClass:\"treeview sidebaritem\",class:{'active': _vm.open },attrs:{\"id\":_vm.component.id}},[_c('bar-loader',{attrs:{\"loading\":_vm.component.state.loading}}),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebar.open ? '' : _vm.title),expression:\"sidebar.open ? '' : title\",arg:\"right\",modifiers:{\"create\":true}}],staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"current-tooltip\":_vm.sidebar.open ? '' : _vm.title}},[_c('div',[(!_vm.sidebar.open)?_c('span',[_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })})]):_c('i',{class:_vm.icon,style:({ color: _vm.iconColor })}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticClass:\"treeview-label\"})]),_vm._v(\" \"),_c('div',[(_vm.info.state)?_c('span',{class:_vm.info.class,staticStyle:{\"position\":\"absolute\",\"right\":\"5px\",\"font-weight\":\"bold\"},style:(_vm.info.style),attrs:{\"title\":_vm.info.tooltip}},[_vm._v(_vm._s(_vm.info.state))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.actions),function(action){return _c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(action.tooltip),expression:\"action.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],key:action.id,staticClass:\"action skin-tooltip-left\",class:action.class,staticStyle:{\"font-weight\":\"bold\",\"padding\":\"3px\"},style:(action.style),on:{\"click\":function($event){$event.stopPropagation();return _vm.triggerAction(action, _vm.component.internalComponent)}}})})],2),_vm._v(\" \"),(_vm.collapsible)?_c('i',{staticClass:\"pull-right\",class:_vm.$fa('angle-left')}):_vm._e()]),_vm._v(\" \"),_c('div',{ref:\"component-placeholder\"})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":178}],108:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _g3wI18n = require('g3w-i18n');\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 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: (0, _g3wI18n.t)('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":77,\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#open_attribute_table{margin-top:5px}#g3w-table-toolbar{margin:.755em 1ch 0 0;position:relative;bottom:3px;display:inline-flex;border:1px solid #d2d6de;background-color:#fff;float:left}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#g3w-view-content .dataTables_filter{margin-left:auto;margin-right:1ch}#g3w-view-content .dataTables_info{padding-left:.5ch;font-weight:lighter}#open_attribute_table .paginate_button{background:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _g3wI18n = require('g3w-i18n');\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 _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n toggleFilterToken: function toggleFilterToken(layer) {\n if (layer.state.filter.active && !layer.selectionFids.has('__ALL__')) {\n this.state.selectAll = false;\n this.selectAllRows();\n }\n layer.toggleFilterToken();\n },\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.getFilterToken() || _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error((0, _g3wI18n.t)(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: _g3wConstants.PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || _g3wConstants.PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.current_layout.rightpanel.height_100),expression:\"state.geolayer.active && current_layout.rightpanel.height_100\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.show_features_on_map'),expression:\"'layer_selection_filter.tools.show_features_on_map'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.invert'),expression:\"'layer_selection_filter.tools.invert'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show_tools),expression:\"state.show_tools\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFilterToken(_vm.layer)}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.relations.row_to_form'),expression:\"'sdk.tooltips.relations.row_to_form'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable() && _vm.layer.config.editing.visible)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":43,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-i18n\":129,\"mixins\":166,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/coordinatesToGeometry\":189,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{color:#fff;z-index:1000;position:absolute;line-height:normal;padding:3px;min-width:250px;box-shadow:0 3px 5px rgba(0,0,0,.3);border-radius:0 0 3px 3px}.usermessage-tool[data-v-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":173,\"vueify/lib/insert-css\":2}],112:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":50,\"components/FormBody.vue\":51,\"g3w-component\":125,\"g3w-object\":130,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],113:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n //For pagination purpose\n var page_sizes = _g3wConstants.PAGELENGTHS;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false, // in order to get a raw response\n autofilter: Number(show && state.autofilter.value) }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query (not pagination)\n if (show && !state.paginate && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: _extends({\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count,\n autofilter: state.autofilter.value }, state.paginate ? { page: 1, page_sizes: page_sizes } : {}),\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n }),\n //@since v3.11.0. Used to set already feature layers filtered https://github.com/g3w-suite/g3w-client/issues/676\n autofilter: { value: 0 }, //value 0 no set, 1\n paginate: !!opts.options.paginate //@since 3.11.0 paginate or not\n };\n\n var setInputs = function () {\n var _ref = _asyncToGenerator(function* () {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function setInputs() {\n return _ref.apply(this, arguments);\n };\n }();\n // create search form structure \n state.mounted = setInputs();\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n setInputs: setInputs,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":106,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFormInputs\":191,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getDataForSearchInput\":205,\"utils/getUniqueDomId\":217,\"utils/toRawType\":242}],114:[function(require,module,exports){\nvar _vueColor = require('vue-color');\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nvar _vueCookie = require('vue-cookie');\n\nvar _vueCookie2 = _interopRequireDefault(_vueCookie);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\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 = _vueCookie2.default;\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],115:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":217}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":115,\"store/application\":178}],119:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent,\n placeholder = _ref.placeholder,\n _ref$clear = _ref.clear,\n clear = _ref$clear === undefined ? false : _ref$clear;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n placeholder: placeholder,\n allowClear: clear,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":126,\"services/gui\":173}],145:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nvar _g3wI18n = require('g3w-i18n');\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\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 = (0, _g3wI18n.t)(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _map = require('services/map');\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\nvar _g3wI18n = require('g3w-i18n');\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\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((0, _g3wI18n.t)(this.all));\n $(this.$refs.layer).select2('data')[0].text = (0, _g3wI18n.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 queryable = _map.MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _g3wI18n = require('g3w-i18n');\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\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 (0, _g3wI18n.t)(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":144,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":144,\"map/interactions/pickcoordinatesinteraction\":150,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _lodash = require('lodash.clonedeep');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\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 */\n\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 (0, _lodash2.default)(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false, this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n // in case of layer filter active, always not visible\n _gui2.default.getService('map').toggleSelection(!this.state.filter.active && Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }), this.state.id);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":173,\"store/projections\":180,\"utils/XHR\":181,\"utils/getScaleFromResolution\":216}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible() && (params.layerId ? params.layerId === l.getId() : true);\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nvar _g3wI18n = require('g3w-i18n');\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 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: (0, _g3wI18n.t)(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: (layers || []).map(function (l) {\n return l.getStyle();\n }).join(','),\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [''], //v3.11.0 @TODO need to check https://openlayers.org/en/v5.3.0/apidoc/module-ol_format_WFS-WFS.html#writeGetFeature\n filter: {\n 'bbox': function bbox() {\n return ol.format.filter.bbox('the_geom', filter.value);\n },\n 'geometry': function geometry() {\n return ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value);\n },\n 'expression': function expression() {\n return null;\n }\n }[filter.type]()\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null,\n /** @since v3.11.0 **/\n pagination: false\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms', 'QGIS gdal',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n //@since 3.11.0 need to reset pagination filter when bool is false\n this.state.filter.pagination = bool && this.state.filter.pagination;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: (0, _g3wI18n.t)('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.setFilter(!!filtertoken);\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n this.setOlSelectionFeatureByFid(fid, selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid) ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1,\n /** @since 3.11.0 */\n autofilter: options.autofilter,\n page: options.page,\n page_size: options.page_size\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering,\n autofilter = _ref43.autofilter,\n page = _ref43.page,\n page_size = _ref43.page_size;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken,\n autofilter: autofilter,\n page: page,\n page_size: page_size\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n filtertoken: response.filtertoken, //@since v3.11.0 returned filtertoken in case of autofilter request\n projections: provider._projections\n }),\n count: response.vector.count //@since v3.11.0 take in account feature count (all). It use for pagination purpose\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject((0, _g3wI18n.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((0, _g3wI18n.t)('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":109,\"g3w-constants\":126,\"g3w-i18n\":129,\"g3w-object\":130,\"map/layers/feature\":152,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/downloadFile\":200,\"utils/get_legend_params\":218,\"utils/parseAttributes\":229,\"utils/parsers\":230,\"utils/promisify\":232,\"utils/prompt\":233}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":130,\"utils/getUniqueDomId\":217}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nvar _lodash = require('lodash.clonedeep');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\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/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\n\n\n/**\n * Base Layer that support editing\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\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype, // whether is a vector layer,\n visible: (vector.editing || { visible: true }).visible //@since 3.11.0 let know if layer should be editable directly (true) or through relation layer (false)\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return (0, _lodash2.default)(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 = (0, _lodash2.default)(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":126,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":152,\"map/layers/featuresstore\":153,\"map/layers/layer\":156,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":130,\"map/layers/geo-mixin\":154,\"map/layers/layer\":156,\"map/layers/tablelayer\":158,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":203}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":173}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n baseInputMixin: _baseInput2.default\n}; /**\n * @file\n * @since v3.7\n */\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":160,\"mixins/base-input\":161,\"mixins/fields\":163,\"mixins/form-inputs\":164,\"mixins/geo\":165,\"mixins/media\":167,\"mixins/resize\":168,\"mixins/select\":169,\"mixins/select2\":170}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"utils/throttle\":241}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":168,\"store/application\":178}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":126,\"g3w-object\":130}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar 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 + ' - ' + (0, _g3wI18n.t)('sdk.mapcontrols.querybypolygon.no_geometry'),\n messagetext: true,\n autoclose: false\n },\n data: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\n }(),\n\n\n /**\n * Method to search features\n * \n * @param options.layer\n * @param options.filter\n * @param options.raw\n * @param options.queryUrl\n * @param options.feature_count\n * @param options.formatter\n * @param options.ordering\n * @param options.autofilter //@since 3.11.0\n * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering,\n autofilter: 0,\n //@since 3.11.0 pagination\n page: page,\n page_sizes: page_sizes\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is an array\n params.page_size = (params.page_sizes || [])[0]; //get page size\n //@since 3.11.0 count features returned by\n var counts = [];\n var page_sizes = []; //set pages based on count feature returned by server\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n //@since 3.11.0 In case autofilter set\n if (1 === params.autofilter) {\n (value.data || []).forEach(function (_ref15) {\n var layer = _ref15.layer,\n filtertoken = _ref15.filtertoken;\n\n //in the case of filtertoken response attribute set, need to set it to layer\n if (filtertoken) {\n layer.state.selection.active = layer.state.filter.active = true;\n layer.setFilterToken(filtertoken);\n }\n });\n }\n\n if (params.page_sizes) {\n //get max number of elements per page\n var max = Math.max.apply(Math, _toConsumableArray(Array.isArray(params.page_sizes) ? params.page_sizes : [params.page_sizes]));\n //Check if count (total number of elements of search is more o less than max)\n page_sizes.push(max <= value.count ? params.page_sizes : [].concat(_toConsumableArray(params.page_sizes.filter(function (p) {\n return p < value.count;\n })), [value.count]));\n //add a count element on counts array\n counts.push(value.count);\n }\n if (params.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: params.filter, //filter search (array of filter)\n autofilter: !!params.autofilter, //@since 3.11.0 set Boolean\n //@since 3.11.0 pagination\n pagination: params.page_size && {\n pages: params.page && counts.map(function (count) {\n return Math.round(count / params.page_size);\n }), //set number of pages\n current: params.page && counts.map(function () {\n return params.page;\n }), //current page\n page_sizes: page_sizes, //Array contains a number of features that want get with pagination\n counts: counts,\n //Object contains info for do another request by another part of code\n getData: {\n params: params.filter.map(function (filter) {\n return _extends({}, params, { filter: filter });\n }),\n method: 'searchFeatures',\n layers: layer\n }\n }\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref17.layer,\n _ref17$formatter = _ref17.formatter,\n formatter = _ref17$formatter === undefined ? 0 : _ref17$formatter,\n _ref17$fids = _ref17.fids,\n fids = _ref17$fids === undefined ? [] : _ref17$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var olFeat = new ol.Feature(f.geometry && new ol.geom[f.geometry.type](f.geometry.coordinates));\n olFeat.setProperties(properties);\n olFeat.setId(f.id);\n return olFeat;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: [{\n layer: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref16.apply(this, arguments);\n }\n\n return searchFids;\n }(),\n\n\n /**\n * Search service function to load many layers with each one with its fids\n * \n * @param options.layers - Array of layers that we want serach fids features\n * @param options.fids - Array of array of fids\n * @param options.formatter - how we want visualize\n */\n 'search:layersfids': function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$layers = _ref19.layers,\n layers = _ref19$layers === undefined ? [] : _ref19$layers,\n _ref19$fids = _ref19.fids,\n fids = _ref19$fids === undefined ? [] : _ref19$fids,\n _ref19$formatter = _ref19.formatter,\n formatter = _ref19$formatter === undefined ? 0 : _ref19$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref18.apply(this, arguments);\n }\n\n return searchLayersfids;\n }(),\n\n\n /**\n * POST only: accepts\n * \n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.qgis_layer_id layer id owner of the form data\n * @param params.layer_id layer owner of the data\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.project.getUrl('vector_data') + params.layer_id + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n return response.result ? response.vector.data.features || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref20.apply(this, arguments);\n }\n\n return expressionExpression;\n }(),\n\n\n /**\n * POST only method to return QGIS Expressions evaluated in Project an optional Layer/Form context\n *\n * Mandatory JSON body: expression\n * Optional JSON body: form_data and qgs_layer_id (QGIS layer id)\n * \n * @param params.layer_id\n * @param params.qgis_layer_id\n * @param params.form_data\n * @param params.field_name since 3.8.0\n * @param params.expression\n * @param params.formatter\n * @param params.parent\n */\n 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref21 = _asyncToGenerator(function* () {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref22.url,\n _ref22$method = _ref22.method,\n method = _ref22$method === undefined ? 'GET' : _ref22$method,\n _ref22$params = _ref22.params,\n params = _ref22$params === undefined ? {} : _ref22$params,\n _ref22$headers = _ref22.headers,\n headers = _ref22$headers === undefined ? {} : _ref22$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref21.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * @param layers \n * @param { Object } opts\n * @param opts.coordinates\n * @param opts.feature_count\n * @param opts.query_point_tolerance\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.reproject\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByCoordinates: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref23.coordinates,\n _ref23$feature_count = _ref23.feature_count,\n feature_count = _ref23$feature_count === undefined ? 10 : _ref23$feature_count,\n _ref23$query_point_to = _ref23.query_point_tolerance,\n query_point_tolerance = _ref23$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref23$query_point_to,\n _ref23$multilayers = _ref23.multilayers,\n multilayers = _ref23$multilayers === undefined ? false : _ref23$multilayers,\n _ref23$reproject = _ref23.reproject,\n reproject = _ref23$reproject === undefined ? true : _ref23$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\n }));\n }));\n },\n\n\n /**\n * @param layers\n * @param { Object } opts\n * @param { boolean } opts.multilayers Group query by layers instead single layer request\n * @param opts.bbox\n * @param opts.geometry\n * @param opts.projection\n * @param opts.feature_count\n * \n * @returns { JQuery.Promise }\n * \n * @since 3.11.0\n */\n getQueryLayersPromisesByGeometry: function () {\n var _ref25 = _asyncToGenerator(function* (layers) {\n var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref26.geometry,\n projection = _ref26.projection,\n _ref26$filterConfig = _ref26.filterConfig,\n filterConfig = _ref26$filterConfig === undefined ? {} : _ref26$filterConfig,\n _ref26$multilayers = _ref26.multilayers,\n multilayers = _ref26$multilayers === undefined ? false : _ref26$multilayers,\n _ref26$feature_count = _ref26.feature_count,\n feature_count = _ref26$feature_count === undefined ? 10 : _ref26$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var filter = {\n config: filterConfig,\n type: 'geometry',\n // Convert filter geometry from map to layer CRS\n value: mapCrs === crs ? geometry : geometry.clone().transform(mapCrs, crs)\n };\n return (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x17) {\n return _ref25.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getMapLayersByFilter\":210,\"utils/groupBy\":219,\"utils/promisify\":232}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nvar _ProjectsMenu = require('components/ProjectsMenu.vue');\n\nvar _ProjectsMenu2 = _interopRequireDefault(_ProjectsMenu);\n\nvar _SidebarItem = require('components/SidebarItem.vue');\n\nvar _SidebarItem2 = _interopRequireDefault(_SidebarItem);\n\nvar _g3wForm = require('components/g3w-form');\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(_SidebarItem2.default))({ 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 ? yield 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 = yield this.closeContent();\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 // new instance every time\n var formComponent = options.formComponent ? new options.formComponent(options) : new _g3wForm.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(_ProjectsMenu2.default))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":90,\"components/SidebarItem.vue\":107,\"components/g3w-form\":112,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-object\":130,\"g3w-panel\":131,\"services/iframe\":174,\"store/application\":178,\"utils/getListableProjects\":209,\"utils/getProjectUrl\":214,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/toRawType\":242}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/**\n * @param epsg: Number Code of epsg Ex.4326\n * \n * @returns String Normalize epsg: From number ex: 4326 to 'EPSG:4326'\n * \n * @since 3.9.1\n */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * @example template.html\n * \n * ```html\n * \n * \n * \n * \n * Test Iframe\n * \n * \n * \n * \n * \n * \n * ```\n */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\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 _ref18 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\n\n\n /**\n * Search feature(s) by field and value\n * \n * @param { Object } opts\n * @param opts.qgs_layer_id\n * @param opts.feature\n * @param opts.zoom\n * @param opts.highlight\n * \n * @returns { Promise<{ qgs_layer_id: null, features: [], found: boolean }>}\n */\n value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\n if (!features || !response.found) {\n throw 'invalid response';\n }\n response.features = features;\n response.qgs_layer_id = qgs_layer_id[i];\n if (zoom) {\n yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\n }\n // in case of no response zoom to an initial extent\n if (!response.found) {\n this.zoomToExtent(this.mapService.project.state.initextent);\n }\n return response;\n });\n\n function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function getReady() {\n return this.ready;\n }\n\n /**\n * Overwrite single service: Usefult to stop eventually running action\n * \n * @virtual method need to be implemented by subclasses\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\n }()\n\n /**\n * Zoom to coordinates\n * \n * @param { Object } params\n * @param { Array } params.coordinates\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\n if (!(coordinates && Array.isArray(coordinates) && 2 === coordinates.length)) {\n return Promise.reject(coordinates);\n }\n if (undefined !== epsg) {\n // normalized psg code\n epsg = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\n }()\n\n /**\n * Eventually send as param the projection in which we would like get center of map\n * \n * @param { Object } params\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\n }()\n\n /**\n * @param { Object } params\n * @param { Array } params.extent\n * @param params.epsg since 3.9.1\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\n if (!(extent && Array.isArray(extent) && 4 === extent.length)) {\n return Promise.reject(extent);\n }\n /** If epsg is provide, get epsg definition */\n if (undefined !== epsg) {\n epsg = _getEpsgFromParam(epsg);\n extent = ol.proj.transformExtent(extent, epsg, this.mapService.getEpsg());\n } else {\n this.mapService.goToBBox(extent);\n }\n return extent;\n });\n\n function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\n\n\n /**\n * Zoom to features\n * \n * @param { Object } params\n * @param params.qgs_layer_id\n * @param params.feature\n * @param { boolean } params.highlight \n * \n * @returns { Promise } qgs_layer_id\n */\n value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var tool = t.getToolById('addfeature');\n if (tool.isActive()) {\n tool.setEnabled(false);\n activeTool = tool;\n } else {\n t.setEditing(false);\n disableToolboxes.push(t);\n }\n });\n\n // just one time\n if (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.reject;\n\n\n this.responseObject.cb = reject;\n\n // set same mode autosave\n this.dependencyApi.setSaveConfig({\n cb: {\n // called when commit changes are done successuffly\n done: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\n\n\n /**\n * Called whe we want to add a feature\n * \n * @param { Object } config\n * @param config.qgs_layer_id\n * @param config.properties\n * \n * @returns { Promise }\n */\n value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n /** @FIXME add description */\n if (1 === toolboxes.length && toolboxes[0]) {\n toolboxes[0].setActiveTool(toolboxes[0].getToolById('addfeature'));\n }\n\n // in case of no feature add avent subscribe\n _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Called when we want to update a know feature field\n * \n * @param config\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: true,\n selected: 1 === qgs_layer_id.length // set selected toolbox\n });\n\n // skip when ..\n if (!response.found) {\n return reject();\n }\n\n yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _delete() {}\n\n /**\n * Called when we want to start editing\n * \n * @param { Array } qgs_layer_id\n * @param { Object } options\n * \n * @returns { Promise< unknown | void > }\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.dependencyApi.resetDefault();\n this.isRunning = false;\n this.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n this.resetSubscribeEvents();\n this.emit('clear');\n }\n }]);\n\n return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createSingleFieldParameter\":196,\"utils/getUniqueDomId\":217,\"utils/normalizeEpsg\":228}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MapLayersStoresRegistry = 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 _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector()\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var mapLayer = new _imagelayer.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 layer = this.project.getLayerById(layerId);\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: layer,\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var _ref23 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref23$data = _ref23.data,\n data = _ref23$data === undefined ? [] : _ref23$data;\n\n if (layer.isEditable()) {\n yield (0, _waitFor.waitFor)(function () {\n return undefined !== layer.config.editing;\n });\n }\n return !!(data[0] && data[0].features.length > 0);\n });\n\n function condition() {\n return _ref22.apply(this, arguments);\n }\n\n return condition;\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 _ref24 = _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 condition: function () {\n var _ref25 = _asyncToGenerator(function* () {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$data = _ref26.data,\n data = _ref26$data === undefined ? [] : _ref26$data;\n\n if (layer.isEditable()) {\n yield (0, _waitFor.waitFor)(function () {\n return undefined !== layer.config.editing;\n });\n }\n return !!(data[0] && data[0].features.length > 0);\n });\n\n function condition() {\n return _ref25.apply(this, arguments);\n }\n\n return condition;\n }()\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 _ref24.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 _ref27 = _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(_x26, _x27) {\n return _ref27.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 (_ref28) {\n var mapcontrol = _ref28.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 _ref29 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref29$close = _ref29.close,\n close = _ref29$close === undefined ? true : _ref29$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 _ref30 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref30.project,\n width = _ref30.width,\n height = _ref30.height,\n map_extent = _ref30.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 (_ref31) {\n var _ref32 = _slicedToArray(_ref31, 2),\n event = _ref32[0],\n key = _ref32[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 (_ref33) {\n var _ref34 = _slicedToArray(_ref33, 2),\n id = _ref34[0],\n layers = _ref34[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 (_ref35) {\n var _ref36 = _slicedToArray(_ref35, 2),\n id = _ref36[0],\n layer = _ref36[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(_ref37) {\n var layer = _ref37.layer,\n _ref37$zindex = _ref37.zindex,\n zindex = _ref37$zindex === undefined ? this.layersCount += 1 : _ref37$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false, layerId: layerId };\n\n var _ref38 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref38$showSpinner = _ref38.showSpinner,\n showSpinner = _ref38$showSpinner === undefined ? true : _ref38$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n //pass layerId to change only layer @since 3.11.0\n l.on('filtertokenchange', function (_ref39) {\n var layerId = _ref39.layerId;\n _this20.updateMapLayer(layer, { force: true, layerId: layerId });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref40.info,\n style = _ref40.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 _ref41 = _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(_x45, _x46) {\n return _ref41.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 _ref42 = _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(_x52) {\n return _ref42.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist, create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature is in selectionLayer, it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n //In case of add need to set selection style\n opts.feature.setStyle((0, _createSelectedStyle.createSelectedStyle)({\n geometryType: opts.feature.getGeometry().getType(),\n color: this.defaultsLayers._style.selectionLayer.color,\n fill: true\n }));\n source.addFeature(opts.feature);\n break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var _this23 = this;\n\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var layerId = arguments[1];\n\n //take in account that of layer id is specified, need to set only\n // features related to layer visible or not\n if (layerId) {\n this.defaultsLayers.selectionLayer.getSource().getFeatures().filter(function (f) {\n return layerId === f.__layerId;\n }).forEach(function (f) {\n return f.setStyle(visible ? (0, _createSelectedStyle.createSelectedStyle)({\n geometryType: f.getGeometry().getType(),\n color: _this23.defaultsLayers._style.selectionLayer.color,\n fill: true\n }) : new ol.style.Style(null));\n });\n } else {\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref43 = _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 _ref44 = _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 (_x60) {\n return _ref44.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x59) {\n return _ref43.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(_ref45) {\n var width = _ref45.width,\n height = _ref45.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this24 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this24.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this24._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this24._drawShadow.inner.length) {\n ctx.save();\n x_min = _this24._drawShadow.inner[0];\n y_min = _this24._drawShadow.inner[3];\n x_max = _this24._drawShadow.inner[2];\n y_max = _this24._drawShadow.inner[1];\n rotation = _this24._drawShadow.rotation;\n scale = _this24._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this25 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this25.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return external layers added to map\n * @param {String} type 'vector' or 'wms' @since 3.11.0\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers(type) {\n return undefined === type ? this._layers.external : this._layers.external.filter(function (l) {\n return type === l._type;\n });\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref46 = _asyncToGenerator(function* (externalLayer) {\n var _this26 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = (externalLayer._type || externalLayer.type || '').toLowerCase().trim('').trim();\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type];\n\n // skip if is not a valid layer\n if (!layer) {\n console.warn('layer type: ', type, externalLayer);\n return Promise.reject('not a valid layer');\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this26._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x64) {\n return _ref46.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 (_ref47) {\n var id = _ref47.id,\n enable = _ref47.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nvar MapLayersStoresRegistry = exports.MapLayersStoresRegistry = MAP.layers;\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MapLayersStoresRegistry\n};\n\n},{\"components/MapControlGeocoding.vue\":82,\"components/MapControlZoomHistory.vue\":83,\"g3w-object\":130,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":143,\"map/controls/interactioncontrol\":144,\"map/controls/measurecontrol\":145,\"map/controls/queryby\":146,\"map/controls/scalecontrol\":147,\"map/controls/screenshotcontrol\":148,\"map/controls/streetviewcontrol\":149,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/imagelayer\":155,\"map/layers/vectorlayer\":159,\"services/application\":171,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createFilterFromString\":192,\"utils/createSelectedStyle\":195,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getMapLayersByFilter\":210,\"utils/getProject\":212,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/getUniqueDomId\":217,\"utils/groupBy\":219,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/throttle\":241,\"utils/waitFor\":243}],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 _RelationsPage = require('components/RelationsPage.vue');\n\nvar _RelationsPage2 = _interopRequireDefault(_RelationsPage);\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\nvar _g3wI18n = require('g3w-i18n');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n if (false === options.add && !!options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add && !options.update) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show a query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when the layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on a result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.includes(attr.name);\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: { selected: false },\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() && layer.config.editing.visible : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l, index) {\n //@since 3.11.0 check if a result comes from pagination\n l.filter.pagination = l.filter.pagination || !!(_this3.state.query.pagination && _this3.state.query.pagination.counts[index] > l.features.length);\n options.add || options.update ? _this3.updateLayerResultFeatures(l, options.update) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add, update: options.update });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { text: new ol.style.Text({ fill: new ol.style.Stroke({ color: 'black' }), text: '\\uF3C5', font: '900 3em \"Font Awesome 5 Free\"', offsetY: -15 }) } : { stroke: new ol.style.Stroke({ color: 'black' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * @since 3.11.0\n * Load pagination data\n * @param index\n * @param page\n * @param page_size\n * @param query\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'loadPaginationData',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (index, page, page_size, query) {\n var _this5 = this;\n\n //In the case of first autofilter request in pagination request, remove it from\n if (this.state.query.autofilter && this.state.query.pagination) {\n this.state.query.autofilter = false;\n this.state.query.pagination.getData.params.forEach(function (p) {\n return delete p.autofilter;\n });\n }\n if (page_size) {\n this.state.query.pagination.getData.params[index].page_size = page_size;\n this.state.query.pagination.pages[index] = Math.round(this.state.query.pagination.counts[index] / page_size);\n } //set page size\n //get config from getData object set by pagination method\n var _state$query$paginati = this.state.query.pagination.getData,\n _state$query$paginati2 = _state$query$paginati.layers,\n layers = _state$query$paginati2 === undefined ? [] : _state$query$paginati2,\n method = _state$query$paginati.method,\n params = _state$query$paginati.params;\n\n var layer = layers[index];\n //check if layer has filter\n var has_filtertoken = !!layer.getFilterToken();\n try {\n //get layer pagination data\n var data = yield layer[method](_extends({}, params[index], { page: page }));\n //set response data\n this.setQueryResponse(_extends({}, data, { query: query }), { add: false, update: true });\n //set the current page\n this.state.query.pagination.current[index] = page;\n //in the case of page size change\n var bool = layer.state.selection.active || has_filtertoken;\n //get selection action\n var action = this.state.layersactions[layer.getId()].find(function (_ref5) {\n var id = _ref5.id;\n return 'selection' === id;\n });\n this.state.layers[index].features.forEach(function (f, i) {\n if (bool && !f.selection.selected && layer.isGeoLayer() && f.geometry) {\n var fid = _this5._getFeatureId(f, _this5.state.layers[index].external);\n layer.addOlSelectionFeature({ id: fid, feature: f }).selected = true;\n layer.includeSelectionFid(fid, false);\n }\n f.selection.selected = bool;\n action.state.toggled[i] = bool;\n });\n layer.state.filter.active = bool;\n layer.state.selection.active = bool;\n\n this.state.layers[index].filter.pagination = this.state.layers[index].features.length < this.state.query.pagination.counts[index];\n //in the case of layer with geometry, zoom to features\n if (this.state.layers[index].hasgeometry) {\n this.highLightLayerFeatures(this.state.layers[index]);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function loadPaginationData(_x7, _x8, _x9, _x10) {\n return _ref4.apply(this, arguments);\n }\n\n return loadPaginationData;\n }()\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n }, {\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$id = _ref6.id,\n id = _ref6$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref6$id,\n layerId = _ref6.layerId,\n component = _ref6.component,\n _ref6$type = _ref6.type,\n type = _ref6$type === undefined ? 'feature' : _ref6$type,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'after' : _ref6$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n * @param replace @since 3.11.0 mean replace current state layer features\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this6 = this;\n\n var replace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n var responseFeatures = responseLayer.features || []; // extract features from responseLayer object\n var external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external; // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n var has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n if (has_features) {\n var features_ids = replace ? [] : layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n //get action selection;\n var action = this.state.layersactions[layer.id].find(function (a) {\n return 'selection' === a.id;\n });\n if (replace) {\n layer.features.forEach(function (f) {\n return delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n });\n layer.features.splice(0);\n }\n responseFeatures.forEach(function (feat, index) {\n var feature_id = _this6._getFeatureId(feat, external);\n // If true, remove the feature because is already loaded\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n //@since 3.11.0\n if (action && feat.selection.selected) {\n (external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id)).excludeSelectionFid(feature_id, layer.filter.active);\n }\n //filter feature\n layer.features.splice(index, 1);\n delete _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, feat)];\n if (action) {\n delete action.state.toggled[index];\n //need to reset toggled state in reactive mode\n action.state.toggled = Vue.observable(layer.features.reduce(function (a, f, i) {\n a[i] = f.selection.selected;return a;\n }, {}));\n }\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (f) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this6.state.layersFeaturesBoxes[_this6.getBoxId(layer, f)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this6.state.layers = _this6.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this6.clearHighlightGeometry(layer);\n _this6.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this7 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false, update: false };\n\n if (options.add || options.update) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n var state = _this7.state;\n // eventually set layer action tool and need to be reactive\n _this7.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this7.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this7.state.layersactions[layer.id] = _this7.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this7._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this7.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this7.state.actiontools.downloadformats = _this7.state.actiontools.downloadformats || {};\n _this7.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this7.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this7.state.query.type) {\n var downloadsaction = _this7.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this7.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this7.goToGeometry.bind(_this7))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(_RelationsPage2.default))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.emit('show-chart', chartRelationIds, container, {\n relations: _this7._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this7.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this7._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this7.printAtlas.bind(_this7)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this7.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this7.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n\n features.forEach(function (_, i) {\n return undefined === _this8.state.toggled[i] ? _g3wEventbus.VM.$set(_this8.state.toggled, i, false) : _this8.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this7.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature not in case of pagination @since 3.11.0\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n // in case of pagination, disabled @since 3.11.0\n state: Vue.observable({ show: !state.query.pagination && !layer.filter.pagination }), //@since 3.11.0 show false in case of pagination\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this7.removeFeatureLayerFromResult.bind(_this7),\n /**\n * @since @3.11.0\n * Need to listen filter layer pagination change\n */\n init: function init() {\n var _this9 = this;\n\n this.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return _this9.state.show = !bool;\n });\n },\n\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n change: function change() {\n this.state.disabled = !state.query.pagination && !layer.filter.pagination;\n }\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({\n toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}),\n // in case of pagination, show @since 3.11.0\n show: !state.query.pagination && !layer.filter.pagination\n }),\n // check feature selection\n init: function init() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref8.feature,\n index = _ref8.index,\n action = _ref8.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var fid = _this7._getFeatureId(feature, layer.external);\n var is_selected_feature = feature ? pLayer.hasSelectionFid(fid) : false;\n //force to add selection feature in case of no pagination and selection is due an autofilter search\n if (!_this7.state.query.pagination && pLayer.state.filter.active && !is_selected_feature) {\n is_selected_feature = true;\n pLayer.addOlSelectionFeature({ id: fid, feature: feature }).selected = true;\n pLayer.includeSelectionFid(fid, false);\n }\n feature.selection.selected = is_selected_feature;\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n is_selected_feature;\n action.unwatch = _g3wEventbus.VM.$watch(function () {\n return layer.filter.pagination;\n }, function (bool) {\n return action.state.show = !bool;\n });\n }\n },\n /**\n * @since @3.11.0\n * Clear action when destroy\n */\n clear: function clear() {\n this.unwatch && this.unwatch();\n },\n\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref9) {\n var _this10 = this;\n\n var features = _ref9.features;\n\n this.state.show = !state.query.pagination && !layer.filter.pagination;\n features.forEach(function (_, index) {\n return undefined === _this10.state.toggled[index] && _g3wEventbus.VM.$set(_this10.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this7.addToSelection.bind(_this7))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this7.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this7.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this7.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref10.layer,\n id = _ref10.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n action = _ref11.action,\n index = _ref11.index,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref12) {\n var id = _ref12.id,\n layer = _ref12.layer,\n _ref12$config = _ref12.config,\n config = _ref12$config === undefined ? {} : _ref12$config,\n action = _ref12.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref13.layer,\n _ref13$component = _ref13.component,\n component = _ref13$component === undefined ? null : _ref13$component,\n _ref13$config = _ref13.config,\n config = _ref13$config === undefined ? null : _ref13$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this11 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref15 = _asyncToGenerator(function* (_ref14) {\n var coordinates = _ref14.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this11.setQueryResponse({\n data: [_this11.getVectorLayerFeaturesFromQueryRequest(_this11._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this11._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x19) {\n return _ref15.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref16 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x22, _x23, _x24, _x25, _x26) {\n return _ref16.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this12 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this12.state.layers = _this12.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$atlas = _ref17.atlas,\n atlas = _ref17$atlas === undefined ? {} : _ref17$atlas,\n _ref17$features = _ref17.features,\n features = _ref17$features === undefined ? [] : _ref17$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref18) {\n var url = _ref18.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this13 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: (0, _g3wI18n.t)('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this13._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref19 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this14 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref20 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref21.layer,\n type = _ref21.type,\n data = _ref21.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this14.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this14.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this14.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref20.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x30, _x31) {\n return _ref19.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this15 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this15.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this15.isOneLayerResult() ? [feature] : feature.geometry, _this15.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref22.relation,\n layerId = _ref22.layerId,\n feature = _ref22.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(_RelationsPage2.default))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n //is true when click on the selection icon on top of each layer result\n var layerSelection = undefined === feature && undefined === action && undefined === index;\n\n var _action = layerSelection ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = layerSelection && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = layerSelection ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = layerSelection ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = layerSelection ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n //in case, switch selection for all features of a layer\n if (layerSelection) {\n layer.features.forEach(function (f, i) {\n _action.state.toggled[i] = !toggled;\n f.selection.selected = _action.state.toggled[i];\n });\n } else {\n //in the case of switch selection on single feature layer\n _action.state.toggled[index] = !_action.state.toggled[index];\n feature.selection.selected = _action.state.toggled[index];\n }\n\n //In case of pagination and toggled selection layer\n if (toggled && layerSelection) {\n _layer.clearSelectionFids();\n return;\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in an account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from an object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not, changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":95,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":97,\"components/RelationsPage.vue\":104,\"g3w-component\":125,\"g3w-constants\":126,\"g3w-eventbus\":127,\"g3w-i18n\":129,\"g3w-object\":130,\"map/interactions/pickcoordinatesinteraction\":150,\"map/layers/layer\":156,\"map/layers/vectorlayer\":159,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/copyUrl\":190,\"utils/downloadFile\":200,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/intersects\":221,\"utils/printAtlas\":231,\"utils/throttle\":241,\"utils/within\":244}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":181}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar STATE = Vue.observable({\n\n /**\n * true = application is ready\n */\n ready: false,\n\n /**\n * true = application is loaded inside an iframe\n */\n iframe: window.top !== window.self,\n\n /**\n * true = application is connected\n */\n online: navigator.onLine,\n\n /**\n * true = application is loaded on a mobile device\n */\n ismobile: isMobile.any,\n\n /**\n * true = there is a pending download \n */\n download: false,\n\n /**\n * true = there is a pending upload\n */\n upload: false,\n\n /**\n * Store current map base layer id\n */\n baseLayerId: null,\n\n /**\n * en = default language\n */\n language: 'en',\n\n /**\n * @deprecated Since v3.8. Will be deleted in v4.x. Use ApplicationState.language instead\n */\n lng: 'en',\n\n /**\n * Store Array of loading plugins (by name)\n * Every time a plugin is loaded, plugin name is removed from Array\n * It used in v-plugins directive\n */\n plugins: [],\n\n /** @since 3.11.0 - plugin configs filtered by gid */\n pluginsConfigs: {},\n\n /** @since 3.11.0 - array of initConfig.plugins names */\n configurationPlugins: [],\n\n /**\n * Store application current user\n */\n user: null,\n\n /**\n * Store info of the application map\n */\n map: {\n epsg: '',\n unit: 'metric'\n },\n\n /**\n * Store info of the elements of GUI of the application\n */\n gui: {\n\n app: {\n /**\n * true = application is disabled and unclickable (waiting)\n */\n disabled: false\n },\n\n sidebar: {\n /**\n * true = sidebar is disabled (not responsive)\n */\n disabled: false,\n /**\n * @since v3.11.0\n * true open, false hide - icons only\n */\n open: true\n },\n\n layout: {\n /**\n * store the current layout owner (\"app\" = default)\n */\n __current: 'app',\n\n /**\n * Store application layout info (rightpanel)\n */\n app: {}\n\n }\n\n },\n\n /**\n * Sore vendor keys need it by application third part script\n */\n keys: {\n vendorkeys: {\n google: undefined,\n bing: undefined\n }\n },\n\n /**\n * Store tokens, used by server, for example, to filter features\n */\n tokens: {\n filtertoken: undefined\n },\n\n /**\n * @since 3.10.0\n */\n querybuilder: {\n cache: {},\n searches: JSON.parse(window.localStorage.getItem('QUERYBUILDERSEARCHES') || \"{}\")\n },\n\n /**\n * @since 3.11.0\n */\n navbaritems: [],\n\n /**\n * @since 3.11.0\n */\n sidebar: {\n title: '',\n components: [],\n /** DOM element where insert the component/panel */\n parent: null,\n /** barstack state. It stores the panel array */\n contentsdata: [] // Array<{ content, options }> \n },\n\n contentsdata: [],\n\n /**\n * @since 3.11.0\n */\n viewport: {\n primaryView: 'map', // primary view (default)\n // percentage of secondary view\n secondaryPerc: 0, // setted to 0 at beginning (not visible)\n // used to store if content vertical or horizontal is changed by resised\n resized: {\n start: false,\n 'h': false,\n 'v': false\n },\n // splitting orientation (h = horizontal, v = vertical)\n split: 'h',\n //map\n map: {\n sizes: {\n width: 0,\n height: 0\n },\n aside: false\n },\n //content\n content: {\n loading: false,\n disabled: false,\n sizes: {\n width: 0,\n height: 0\n },\n // store the resize vertical or horizontal\n resize: {\n 'h': { perc: 0 },\n 'v': { perc: 0 }\n },\n aside: true,\n showgoback: true,\n stack: [], // array elements of stack contents\n closable: true, // (x) is closable\n backonclose: false, // back on prevoius content\n contentsdata: [] // content data array\n },\n usermessage: {\n id: null, // unique identify\n show: false,\n title: null,\n message: null,\n position: null,\n type: null,\n draggable: null,\n cloasable: null,\n autoclose: null,\n textMessage: false,\n hooks: {\n header: null,\n body: null,\n footer: null\n }\n },\n // content of viewport (map and content)\n components: {\n map: null,\n content: null\n }\n },\n\n sizes: {\n sidebar: {\n width: 0\n }\n },\n\n /** @since 3.11.0 */\n i18n: {\n plugins: {} // plugins configs\n },\n\n /** @since 3.11.0 */\n project: new _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":130}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":130}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projection.js@v3.10.1\n * ORIGINAL SOURCE: src/app/g3w-ol/projection/projections.js@v3.10.1\n */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var proj = {\n code: crs.epsg,\n extent: crs.extent,\n axisOrientation: crs.axisinverted ? 'neu' : 'enu',\n units: crs.geographic ? 'degrees' : 'm'\n };\n p = new ol.proj.Projection(proj);\n p.getAxisOrientation = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\n\n\n /**\n * Check and register epsg\n * \n * @param epsg : \"EPSG:\" Ex. \"EPSG:4326\"\n * \n * @returns { Promise }\n * \n * @since v3.8\n */\n registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.normalizeEpsg)(data.epsg);\n p = this.get(data);\n ol.proj.proj4.register(proj4);\n return p;\n }\n }\n\n return p;\n });\n\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":228}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.XHR = {\n\n /**\n *\n * @param url\n * @param params\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();) * @return {Promise}\n */\n get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: signal })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\n }(),\n\n\n /**\n *\n * @param url\n * @param data\n * @param formdata\n * @param contentType\n * @param signal //@since 3.11.0 (e.g. const controller = new AbortController(); const signal = controller.signal; controller.abort();)\n * @return {Promise}\n */\n post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\n } else if (!contentType) {\n formdata = new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString();\n } else {\n formdata = 'string' === typeof data ? data : JSON.stringify(data || {});\n }\n\n var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: signal\n })).text();\n\n // Try to parse response as JSON\n try {\n return JSON.parse(response);\n } catch (e) {\n return response;\n }\n });\n\n function post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":126,\"utils/downloadFile\":200}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\n/**\n * @since 3.10.0 Add a 3d coordinate eventually, if coordinates are 2 (x, y)\n * @param coords\n * @return {*}\n */\nfunction add3DCoordinate(coords) {\n if (2 === coords.length) {\n coords.push(0);\n }\n return coords;\n}\n\n/**\n * core/geometry/geometry::addZValueToOLFeatureGeometry@v3.4\n */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('invalid geometry type:', geometryType || geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126,\"utils/is3DGeometry\":222}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":126,\"utils/isMultiGeometry\":224}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":126}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":196}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.replace(new RegExp('\\\\s+' + op + '\\\\s+', 'g'), '' + op) // remove all blank space between operators\n .replace(new RegExp('\\'' + op, 'g'), '' + op) // leading single quote\n .replace(new RegExp(op + '\\'', 'g'), '' + op);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":126}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":178,\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":178,\"utils/sanitizeFidFeature\":238}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } style \n * @param style.geometryType\n * @param style.color\n * @param style.fill\n * \n * @returns { ol.style.Style | null } style \n */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 })\n });\n\n case 'Point':\n case 'MultiPoint':\n return new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: fill && new ol.style.Fill({ color: color }),\n stroke: !fill && new ol.style.Stroke({ color: color, width: 4 })\n }),\n zIndex: Infinity\n });\n\n case 'MultiPolygon':\n case 'Polygon':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(ol.color.asArray(color))).splice(0, 3).concat(.25)) }) // force rgba color transparency (alpha = .25)\n });\n\n default:\n console.warn('invalid geometry type', geometryType);\n return null;\n\n }\n}\n\n},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref2.name,\n type = _ref2.type,\n crs = _ref2.crs,\n mapCrs = _ref2.mapCrs,\n data = _ref2.data,\n style = _ref2.style;\n\n var errors = [];\n var epsg = ['zip', 'kml', 'kmz'].includes(type) ? 'EPSG:4326' : crs;\n var features = [];\n\n // SHAPE FILE\n if ('zip' === type) {\n data = JSON.stringify((yield shp((yield data.arrayBuffer(data))))); // un-zip folder data \n }\n\n // KMZ FILE\n if ('kmz' === type) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n data = zip.file(/.kml$/i).at(-1).asText(); // get last kml file within folder\n }\n\n // CSV FILE\n if ('csv' === type) {\n data.values.forEach(function (row, i) {\n var props = {};\n var cols = row.split(data.separator);\n if (cols.length !== data.headers.length) {\n return errors.push({ row: i + 1, value: data.values[i] });\n }\n var coords = [];\n cols.forEach(function (value, i) {\n if (data.headers[i] === data.x) {\n coords[0] = 1 * value;\n }\n if (data.headers[i] === data.y) {\n coords[1] = 1 * value;\n }\n props[data.headers[i]] = value;\n });\n // check if all coordinates are right\n if (coords.every(function (d) {\n return !Number.isNaN(d);\n })) {\n var feat = new ol.Feature(new ol.geom.Point(coords).transform(crs, mapCrs));\n feat.setId(i); // incremental id\n feat.setProperties(props);\n features.push(feat);\n }\n });\n }\n\n if ('csv' !== type) {\n features = {\n 'gpx': new ol.format.GPX(),\n 'gml': new ol.format.WMSGetFeatureInfo(),\n 'geojson': new ol.format.GeoJSON(),\n 'zip': new ol.format.GeoJSON(),\n 'kml': new ol.format.KML({ extractStyles: false }),\n 'kmz': new ol.format.KML({ extractStyles: false })\n }[type].readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (['kml', 'kmz'].includes(type)) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n if (errors.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: /* html */\n '',\n data: function data() {\n return { errors: errors };\n }\n }\n },\n autoclose: false\n });\n }\n\n if (features.length) {\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: 'csv' === type ? data.headers : Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n }\n\n return Promise.reject();\n });\n\n return function createVectorLayerFromFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"g3w-constants\":126,\"utils/getUniqueDomId\":217}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":126}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":178}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":178}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":126}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":126,\"utils/convertFeatureToGEOJSON\":186,\"utils/getAlphanumericPropertiesFromFeature\":202}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":178}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n\nvar _map = require('services/map');\n\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 return _map.MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(_extends({\n GEOLAYER: true\n }, filter || {}), options);\n });\n}\n\n},{\"services/map\":175}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":126}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":126,\"g3w-object\":130,\"map/layers/imagelayer\":155,\"map/layers/layersstore\":157,\"map/layers/tablelayer\":158,\"map/layers/vectorlayer\":159,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/normalizeEpsg\":228}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n try {\n return \"\" + new URL(window.initConfig.urls.baseurl) + project.url;\n } catch (e) {\n console.warn(e);\n return \"\" + location.origin + window.initConfig.urls.baseurl + project.url;\n }\n}\n\n},{}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":126}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return ++_uid + \"_\" + Date.now();\n}\n\n},{}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":126}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":126}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction normalizeEpsg(epsg) {\n if ('number' === typeof epsg) {\n return 'EPSG:' + epsg;\n }\n epsg = epsg.replace(/[^\\d\\.\\-]/g, \"\");\n if ('' !== epsg) {\n return 'EPSG:' + parseInt(epsg);\n }\n}\n\n},{}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":126}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nvar _g3wI18n = require('g3w-i18n');\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\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: _g3wI18n.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 (0, _g3wI18n.t)(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms,\n filtertoken = _ref5.filtertoken;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [], filtertoken: filtertoken };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: (0, _g3wI18n.t)('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":126,\"g3w-i18n\":129,\"map/layers/feature\":152,\"services/gui\":173,\"utils/groupBy\":219,\"utils/is3DGeometry\":222,\"utils/removeZValueToOLFeatureGeometry\":235,\"utils/reverseGeometry\":236,\"utils/sanitizeFidFeature\":238}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":178}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Covert a jQuery promise into an ES6 Promise\n * \n * @param promise jquery promise\n */\nfunction promisify(promise) {\n if (promise instanceof Promise) {\n return promise;\n }\n if (!promise || !promise.then) {\n console.trace(promise);\n return Promise.reject('not a promise');\n }\n return new Promise(function (resolve, reject) {\n promise.then(resolve).fail(reject);\n });\n}\n\n/**\n * Migrate your consumer code away from jQuery promises.\n * Convert ES6 Promise into jQuery\n * \n * @param promise async function or ES6 promise \n */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).catch(function (e) {\n return console.warn(e);\n }).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":173,\"utils/getUniqueDomId\":217}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTIPOLYGON:[\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ],\n // [ [xa, ya], [xb, yb], [xc, yc], [xa, ya] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":126}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[133]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","Constructor","validatorOptions","values","state","input","options","map","v","self","__proto__","Object","getPrototypeOf","ReferenceError","create","enumerable","writable","configurable","setPrototypeOf","gui/inputs/service","6","vueComponentOptions","newObj","key","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_createClass","protoProps","staticProps","defineProperties","target","props","descriptor","defineProperty","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","_this2","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","_createSingleFieldParameter","_defineProperty","SelectService","getCatalogLayerById","orderbyvalue","sort","b","val1","val2","search","_state$input$options","getData","_ref2","$value","addValue","text","sortValues","catch","_this3","_ref3","_ref3$layer_id","_ref3$key","_ref3$value","_this3$_layer$getData","_layer","_getLayerById","getDataTable","_","j","createSingleFieldParameter","operator","logicop","join","trim","properties","id","utils/createSingleFieldParameter","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","_g3wI18n","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","_ref7","_ref5","_ref4","_vueCookieLaw2","_vue2Teleport2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_ModalLogin2","_ModalAddLayer2","_ModalChangeMap2","_ModalMetadata2","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","ModalLogin","ModalAddlayer","ModalChangemap","ModalMetadata","Teleport","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","find","doNotShowAgainVueComponent","checked","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","$refs","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","iframe","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","ref","staticStyle","display","justify-content","role","padding","header_logo_link","frontendurl","alt","src","_v","autocomplete","hidden","for","class","$fa","margin-left","text-align","white-space","list-style","margin","_l","style","order","position","modifiers","data-placement","data-toggle","data-container","$event","img","img_title","domProps","innerHTML","first_name","last_name","data-target","admin_url","logout_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","g3w-disabled","justifyContent","font-weight","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","slot","tag","footer","mousedown","g3w-hide","online","font-size","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","theme","buttonText","to","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ModalAddLayer.vue","components/ModalChangeMap.vue","components/ModalLogin.vue","components/ModalMetadata.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vue2-teleport","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","load","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","./InputText.vue","39","_vueColor","_downloadFile","_shpWrite2","ApplicationState","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","editing","g3wsdk","core","plugin","PluginsRegistry","getPlugin","startEditing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","padding-right","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","pagination","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","_t","word-wrap","43","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","44","geoMixin","Date","now","font","showLayer","45","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","max-height","data-interval","data-slide","components/Field.vue","46","_Field","openLink","link_url","47","mediaMixin","getMediaType","filename","48","49","vueoptions","50","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","51","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","52","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","53","flex-direction","item_selected","fontSize","54","border","55","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","56","57","58","progress","borderRadius","59","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","60","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","61","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","projectRelation","relationLayer","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","62","showHideHelp","loadingState","help","63","stateValueChanged","getValuesItem","convertValueToChecked","option","changeCheckBox","_getValuesItem","_getValuesItem2","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","64","placeholder","composing","65","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","66","67","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","description","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","68","_InputG3W","show_required_field_message","69","70","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","trigger","clear","margin-bottom","labels","71","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","72","pickLayer","pickservice","pick","gui/inputs/picklayer/service","73","radio_value","74","Step","checkValue","getValidator","keydown","75","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","_toConsumableArray","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","getMultiValues","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayerFields","getFields","_ref6$data","getFilterData","fformatter","ffield","_f","ordering","status","_ref11","_ref12","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","processResults","page","results","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","76","state.input.options.min","changeInfoMessage","state.input.options.max","77","keyup","mobileChange","78","max-width","min-width","79","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","background","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","80","tags","81","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","82","_QueryResultsActionChooseLayer2","_plugins2","_projections2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","y","projection","registerProjection","getCode","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","addLayer","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","store/projections","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","83","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","84","_imagelayer","RasterLayer","layer_type","file_type","layer_name","layer_crs","getProjection","rgba","wms_config","wms_urls","wms_layers","olLayer","map_crs","persistent","csv_x","csv_y","csv_wkt","csv_separator","csv_loading","projections","error_message","parse_errors","wms_projections","at","crss","oldtype","unloadFile","unloadWMS","parseFile","input_file","accept","files","layer_data","zip","X","Y","wkt","JSZip","arrayBuffer","asText","shp","separator","pattern","RegExp","matches","shift","findIndex","WKT","readGeometry","dataProjection","gpx","GPX","gml","WMSGetFeatureInfo","geojson","kml","KML","extractStyles","kmz","readFeatures","unset","prop","GEOMETRY_FIELDS","getLocalWMSData","every","fetchWMS","updateLocalWMSData","_addExternalWMSLayer","deleteWMS","addExternalLayer","modal_addlayer","addWmsURL","_this6","found","deleteWmsUrl","_ref9$epsg","_ref9$position","_ref9$visible","res","rej","wmslayer","getOLLayer","interfaceowsurl","wmsurl","GetMap","w","changeLayerData","alldata","_this7","isReady","_ref13","$data","data-dismiss","$forceUpdate","font-family","border-bottom","padding-bottom","flex-grow","outline","user-select","h","map/layers/imagelayer","85","get_macro","get_group","_getListableProjects","LOGO_GIS3W","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","map_url","origin","addMapExtentUrlParameterToUrl","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","utils/getListableProjects","86","onIframeLoaded","login_iframe","contentWindow","reload","grid-template-areas","place-items","inset","grid-area","87","_application4","customcredits","powered_by","docs_url","general","spatial","g3wsdk_info","showHideInfo","box","sanitizeValue","copy_g3wsdk_info","createRange","selectNode","getSelection","removeAllRanges","addRange","alert","credits","$script","complete","platform","pluginsConfigs","os","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","overflow","gap","rel","_process","services/application","88","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","print_atlas","ko","suggest","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","89","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","onload","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","90","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","91","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","92","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","Select2","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","showInPagination","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","_x13","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","showPagination","counts","loadPaginationData","page_size","_x15","_x16","_x17","getCurrentPagSize","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","page_sizes","skin-background-color","pages","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","93","clickAction","originalDataTitle","hint_change","condition","94","has_layers","95","download_format","_download","96","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","97","choices","g3w_select_feature_featurepolygon","choice","98","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","99","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","100","101","g3w-link","g3w-vue","102","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","103","featureInfo","noback","104","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","accumulator","property","relationLayerId","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","105","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","106","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","autofilter","allvalue","SEARCH_ALLVALUE","is_staff","forminputs","filterlayers","search_layers","getFilterToken","clearFilters","paginate","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","reloadSelect2Inputs","setInputs","widget_type","opt","time","utils/getDataForSearchInput","107","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","108","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","109","_ref20","_coordinatesToGeometry","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","selectionFids","selectAllRows","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","PAGELENGTHS","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref17","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","110","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","warning","111","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","112","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","113","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","114","VueColor","_vueCookie","_vueCookie2","Proxy","fromEntries","Reflect","overviewproject","VueCookie","vue-cookie","115","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","116","removeAttribute","117","118","_utils","directives/utils","119","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","_ref$clear","g3w_observer","120","oldValue","121","tPlugin","122","123","_el","_ref$el","componentUpdated","oldVnode","124","handleInnerHTML","__currentBinding","__innerHTML","125","_lodash2","_utilDeprecate2","çç","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","126","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","excel","xls","gpkg","shapefile","csv","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","forward","backward","EXCLUDE","./version","127","128","_g3wConstants2","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createVectorLayerFromFile","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","_g3wI18n2","_g3wPlugin","_map","_g3wSearch","_g3wForm","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createVectorLayerFromFile","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","MapLayersStoresRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","Plugin","PluginService","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","finally","console","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","components/g3w-form","components/g3w-search","g3w-plugin","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/createVectorLayerFromFile","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","129","addI18nPlugin","addI18n","getAppLanguage","i18nObject","addResource","_lang","130","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","131","onShow","onClose","132","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","133","_locales2","_iframe2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","directive","use","install","_isMobile","added","mixin","any","inheritAttrs","ACTIONS","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","134","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","help_filter","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_error_type","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","135","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","wms_server","connect_to_wms","disconnect_from_wms","add_new_wms_url_help","no_csv_field","136","137","wms_layer_id_already_added","wms_url_already_added","138","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","139","140","geolocations","141","142","143","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","144","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","145","MeasureControl","Draw","_clearMessagesAndListeners","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","146","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","147","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","148","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","149","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","150","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","151","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","152","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","153","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","154","BaseClass","checkUrl","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","155","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","156","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","mapProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","layersstore","proxyData","_ref15$data","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","157","_g3wObject","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","158","_waitFor","_lodash","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","159","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","160","autocompleteRequest","161","showhelpicon","setUpdate","162","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","163","getFieldService","_fieldsService","sanitizeFieldValue","164","countNoTEmptyInputName","165","166","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","167","isMedia","168","DELAY_TYPE","delayWrapper","delayResize","delayTime","169","resetValues","usecompleter","$container","170","171","172","_groupBy","responses","reason","_ref21","handleQueryPromises","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref17$formatter","_ref17$fids","getFeatureByFids","olFeat","search:layersfids","_ref19","_ref19$layers","_ref19$fids","_ref19$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref22$method","_ref22$params","_ref22$headers","proxy:data","_ref23$feature_count","_ref23$query_point_to","_ref23$multilayers","_ref23$reproject","groupBy","getInfoUrl","getMultiLayerId","mapCrs","_ref26$filterConfig","_ref26$multilayers","_ref26$feature_count","utils/groupBy","173","_clearContents","_ProjectsMenu2","_SidebarItem2","COMPONENTS","SERVICES","navbar","setViewSizes","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","primaryView","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","174","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","isActive","closeeditingpanel","stopAction","utils/normalizeEpsg","175","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","vectorLayer","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref23$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_ref26$data","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref29$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref37$zindex","_ref38$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","_x46","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x52","constrainResolution","setDefaultLayerStyle","_this23","geometryObj","_ref44","hlayer","_x60","_x59","_ref45","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this24","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this25","unWatch","onRemoveExternalLayer","externalLayer","_this26","setText","setSelected","onAddExternalLayer","_x64","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","_RelationsPage2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_state$query$paginati","_state$query$paginati2","has_filtertoken","_getFeatureId","_ref6$id","_ref6$position","responseLayer","features_ids","responseFeatures","feature_id","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","is_selected_feature","hint_changed","_ref11$component","_ref12$config","_ref13$component","_ref13$config","external_layer","not_current","new_layer","_x19","isOneLayerResult","querytitle","actionId","layerAction","_x25","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref17$atlas","_ref17$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","_x31","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","layerSelection","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","177","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","178","STATE","onLine","upload","stack","cloasable","179","PLUGINS","180","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","181","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","182","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","183","coordinates1","coordinates2","184","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","185","186","writeFeatureObject","187","matchDayInDate","188","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","189","MultiLineString","MultiPoint","190","tempinput","191","_ref$inputs","192","_ref$filter","193","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","194","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","195","_ref$color","_ref$fill","asString","asArray","196","_ref$operator","_ref$logicop","197","_fields","198","func","199","c1","c2","sqrt","200","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","201","propName","202","203","204","205","_ref5$fields","206","_field$input$options$","_data","207","208","209","listable","210","211","212","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","createLayersTree","213","214","215","216","217","218","219","keyFn","220","childCtor","parentCtor","tempCtor","221","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","222","type3D","223","224","225","226","227","228","229","layerAttributes","featureAttributes","featureAttributesName","230","_reverseGeometry","reverseGeometry","NUMERIC_FIELD","_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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uBAAwB,CACtBnqD,KAAM,wBACR,EACAqpD,aAAc,CACZrpD,KAAM,sBACR,EACAspD,cAAe,CACbtpD,KAAM,uBACR,EACAoqD,sBAAuB,CACrBpqD,KAAM,uBACR,EACAupD,aAAc,CACZvpD,KAAM,sBACR,EACAqqD,sBAAuB,CACrBrqD,KAAM,uBACR,EACAwpD,aAAc,CACZxpD,KAAM,sBACR,EACAypD,aAAc,CACZzpD,KAAM,sBACR,EACAuO,MAAO,CACLvO,KAAM,aACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,iBACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,mBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,yBACTge,KAAM,CACJlmC,QAAS,qIACX,CACF,EACAgrG,UAAW,CACT9iF,QAAS,mBACTmjF,iBAAkB,yFAClBnlE,KAAM,CACJlmC,QAAS,wGACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,WACX,EACAqjF,YAAa,CACXrjF,QAAS,aACX,EACAsjF,SAAU,CACR7kH,MAAO,UACPnC,OAAQ,CACN0jC,QAAS,SACTge,KAAM,8EACR,EACAulE,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uB,CACrBrqD,KAAM,iCACR,EACAwpD,aAAc,CACZxpD,KAAM,iCACR,EACAypD,aAAc,CACZzpD,KAAM,iCACR,EACAuO,MAAO,CACLvO,KAAM,eACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,uBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,+IACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,+BACX,EACA8iF,UAAW,CACT9iF,QAAS,+BACTmjF,iBAAkB,+FAClBnlE,KAAM,CACJlmC,QAAS,4GACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,YACX,EACAqjF,YAAa,CACXrjF,QAAS,2BACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,SACTge,KAAM,sFACR,EACAulE,KAAM,CACJvjF,QAAS,OACTge,KAAM,sFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,kBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,iBACXC,UAAW,cACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,mBACfC,mBA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Ac,CACZxpD,KAAM,kBACR,EACAypD,aAAc,CACZzpD,KAAM,kBACR,EACAuO,MAAO,CACLvO,KAAM,cACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,yBACN4hB,YAAa,2BACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,oBACPyS,MAAO,uBACPwxG,KAAM,UACNC,IAAK,qBACL3uF,IAAK,QACLpS,QAAS,CACP8nF,WAAY,YACZD,OAAQ,aACV,EACAmZ,eAAgB,CACd5iF,QAAS,uBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,qBACX,EACA8iF,UAAW,CACT9iF,QAAS,uBACX,EACA+iF,cAAe,CACb/iF,QAAS,oBACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,qBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,kCACT,CACF,CACF,EACAob,QAAS,yBACTkjF,YAAa,2CACbllE,KAAM,CACJlmC,QAAS,iGACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,sCACTge,KAAM,CACJlmC,QAAS,yKACX,CACF,EACAgrG,UAAW,CACT9iF,QAAS,qBACTmjF,iBAAkB,wHAClBnlE,KAAM,CACJlmC,QAAS,iIACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,qCACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+DACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,4FACX,CACF,EACAruD,QAAS,kBACX,EACAqjF,YAAa,CACXrjF,QAAS,yBACX,EACAsjF,SAAU,CACR7kH,MAAO,SACPnC,OAAQ,CACN0jC,QAAS,YACTge,KAAM,kHACR,EACAulE,KAAM,CACJvjF,QAAS,OACTge,KAAM,yGACR,CACF,EACA+qE,WAAY,CACVtqH,MAAO,oBACPsqH,WAAY,MACZW,cAAe,UACf9nF,SAAU,QACZ,EACAqxB,MAAO,CACLuwD,eAAgB,kBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,QACRC,SAAU,gBACZ,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AK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,uBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,2BACT,CACF,CACF,EACAob,QAAS,6BACTkjF,YAAa,8BACbllE,KAAM,CACJlmC,QAAS,8IACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,8BACX,EACA8iF,UAAW,CACT9iF,QAAS,yBACTmjF,iBAAkB,sGAClBnlE,KAAM,CACJlmC,QAAS,qFACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,yFACX,CACF,EACAruD,QAAS,eACX,EACAqjF,YAAa,CACXrjF,QAAS,gBACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,UACTge,KAAM,gGACR,EACAulE,KAAM,CACJvjF,QAAS,SACTge,KAAM,wFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,qBAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,QACRC,SAAU,aACZ,CACF,EACAC,YAAa,CACXC,UAAW,eACXC,UAAW,YACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,yBACfC,mBAAoB,iCACpBC,kBAAmB,oBACnBC,0BAA2B,wBAC3BC,2BAA4B,eAC5BphH,MAAO,oBACT,EACAqhH,KAAM,CACJ71F,QAAS,gBACTwrB,OAAQ,CACNl3B,SAAU,CACR2nF,OAAQ,CACNxxF,UAAW,yFACb,CACF,EACAioG,SAAU,CACRjoG,UAAW,+BACXG,OAAQ,uCACV,EACAkrG,oCAAqC,oCACrCC,uBAAwB,8CACxBC,4BAA6B,y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iB,CACf/pD,KAAM,kBACR,EACAsZ,UAAW,CACTtZ,KAAM,iBACR,EACAgqD,iBAAkB,CAChBhqD,KAAM,2BACR,EACAiqD,4BAA6B,CAC3BjqD,KAAM,gCACR,EACAopD,mBAAoB,CAClBppD,KAAM,gCACR,EACAkqD,sBAAuB,CACrBlqD,KAAM,0BACR,EACAmqD,uBAAwB,CACtBnqD,KAAM,2BACR,EACAqpD,aAAc,CACZrpD,KAAM,0BACR,EACAspD,cAAe,CACbtpD,KAAM,2BACR,EACAoqD,sBAAuB,CACrBpqD,KAAM,0BACR,EACAupD,aAAc,CACZvpD,KAAM,0BACR,EACAqqD,sBAAuB,CACrBrqD,KAAM,0BACR,EACAwpD,aAAc,CACZxpD,KAAM,0BACR,EACAypD,aAAc,CACZzpD,KAAM,0BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,uDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,6BACT,CACF,CACF,EACAob,QAAS,0BACTkjF,YAAa,+BACbllE,KAAM,CACJlmC,QAAS,sJACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,kCACX,EACA8iF,UAAW,CACT9iF,QAAS,wBACTmjF,iBAAkB,wHAClBnlE,KAAM,CACJlmC,QAAS,6FACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRv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ACZzpD,KAAM,2BACR,EACAuO,MAAO,CACLvO,KAAM,gBACR,EACAsqD,qBAAsB,CACpBtqD,KAAM,oDACN4hB,YAAa,QACf,CACF,CACF,EACA2oC,QAAS,CACPhkH,MAAO,aACPyS,MAAO,kBACPwxG,KAAM,OACNC,IAAK,kBACL3uF,IAAK,MACLpS,QAAS,CACP8nF,WAAY,aACZD,OAAQ,QACV,EACAmZ,eAAgB,CACd5iF,QAAS,kBACX,EACA6iF,mBAAoB,CAClB7iF,QAAS,gBACX,EACA8iF,UAAW,CACT9iF,QAAS,kBACX,EACA+iF,cAAe,CACb/iF,QAAS,eACX,CACF,EACA4iF,eAAgB,CACdhhF,SAAU,CACRnjC,MAAO,sBACPukH,SAAU,CACRryG,QAAS,CACPiU,MAAO,eACT,EACAq+F,gBAAiB,CACfr+F,MAAO,wBACT,CACF,CACF,EACAob,QAAS,wBACTkjF,YAAa,0BACbllE,KAAM,CACJlmC,QAAS,6HACX,CACF,EACA+qG,mBAAoB,CAClB7iF,QAAS,wBACX,EACA8iF,UAAW,CACT9iF,QAAS,6CACTmjF,iBAAkB,8GAClBnlE,KAAM,CACJlmC,QAAS,oHACX,CACF,EACAirG,cAAe,CACb/iF,QAAS,wBACTpb,MAAO,SACPo5B,KAAM,CACJlmC,QAAS,+CACX,CACF,EACAsrG,SAAU,CACRvgG,SAAU,CACR6gF,IAAK,CACHrV,QAAS,2FACX,CACF,EACAruD,QAAS,gBACX,EACAqjF,YAAa,CACXrjF,QAAS,kBACX,EACAsjF,SAAU,CACRhnH,OAAQ,CACN0jC,QAAS,QACTge,KAAM,0FACR,EACAulE,KAAM,CACJvjF,QAAS,SACTge,KAAM,qFACR,CACF,EACAiV,MAAO,CACLuwD,eAAgB,WAClB,EACAC,UAAW,CACT33C,MAAO,CACL43C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,YACb,CACF,EACAtyC,UAAW,CACTuyC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,6BACnBC,0BAA2B,kCAC3BC,2BAA4B,cAC5BphH,MAAO,oBACT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"} \ No newline at end of file diff --git a/g3w-admin/editing/static/editing/js/plugin.js b/g3w-admin/editing/static/editing/js/plugin.js index 9f58d98ef..06556eaf7 100644 --- a/g3w-admin/editing/static/editing/js/plugin.js +++ b/g3w-admin/editing/static/editing/js/plugin.js @@ -1,2 +1,2 @@ -(()=>{var e=window&&window.initConfig&&window.initConfig.group&&window.initConfig.group.plugins;e&&(e.editing=Object.assign(e.editing||{},{version:"3.9.0-alpha.0",hash:"0cf762b",branch:"dev"}))})(),function n(r,a,o){function s(t,e){if(!a[t]){if(!r[t]){var i="function"==typeof require&&require;if(!e&&i)return i(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}i=a[t]={exports:{}},r[t][0].call(i.exports,function(e){return s(r[t][1][e]||e)},i,i.exports,n,r,a,o)}return a[t].exports}for(var l="function"==typeof require&&require,e=0;eli[data-v-90b32778]{margin-bottom:8px}ins[data-v-90b32778]{background-color:lime;text-decoration-line:none}del[data-v-90b32778]{background-color:tomato}dl[data-v-90b32778]{display:grid;grid-template:auto/.5fr 1fr;margin-bottom:0;word-break:break-all}dt[data-v-90b32778]{background:#fee}dd[data-v-90b32778]{background:#f1f2f4}dd[data-v-90b32778],dt[data-v-90b32778]{margin:0;padding:.3em .5em;border-top:1px solid #fff}");function o(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),r=e("../utils/areCoordinatesEqual"),a=e("../utils/getFeatureTableFieldValue"),i.default={name:"changes",props:{commits:{type:Object,required:!0},layer:{type:Object,required:!0},relation:{type:Boolean,default:!1}},data:function(){return{features:this.layer.readFeatures(),efeatures:this.layer.readEditingFeatures()}},methods:{getFormattedValue:function(e,t){if(e)return"geometry"===t&&e.get(t)?"("+e.get(t).getFlatCoordinates().length/2+")":(0,a.getFeatureTableFieldValue)({layerId:this.layer.getId(),feature:e,property:t})},getValue:function(e,t){return this.getFormattedValue(this.getFeature(e),t)},getEditingValue:function(e,t){return this.getFormattedValue(this.getEditingFeature(e),t)},hasValue:function(e,t){var i=this.getFeature(e),e=this.getEditingFeature(e);return!(i&&e&&null===i.get(t)&&null===e.get(t)||i&&!e&&null===i.get(t))},getId:function(e){return e.id||e},getEditingFeature:function(t){var i=this;return this.efeatures.find(function(e){return i.getId(t)===e.getId()})},getFeature:function(t){var i=this;return this.features.find(function(e){return i.getId(t)===e.getId()})},getType:function(e){e=this.getEditingFeature(e)||this.getFeature(e);return e&&e.getGeometry&&e.getGeometry()?e.getGeometry().getType():""},isEdited:function(e,t){var i=this.getFeature(e),n=this.getEditingFeature(e);return![i,n].includes(void 0)&&(this.getType(e)&&"geometry"===t?!(0,r.areCoordinatesEqual)({feature:i,coordinates:n.get(t).getCoordinates()}):n.get(t)!==i.get(t))},getAttrs:function(e){e=this.getEditingFeature(e)||this.getFeature(e);return Object.entries(e?e.getProperties():{}).sort(function(e,t){return e[0]>t[0]})},getLayerById:function(e){return g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").service.getLayerById(e)}},mounted:(n=o(function*(){this.$refs.value.filter(function(e){return!e.textContent}).forEach(function(e){return e.innerHTML="<empty>"})}),function(){return n.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",[i.relation?n("h4",{directives:[{name:"t-plugin",rawName:"v-t-plugin:pre",value:"editing.messages.commit.header_relation",expression:"'editing.messages.commit.header_relation'",arg:"pre"}],staticClass:"skin-color g3w-long-text",staticStyle:{"font-weight":"bold",margin:"15px 0"}},[i._v(": "+i._s(i.layer.getName()))]):i._e(),i._v(" "),i._l(Object.keys(i.commits).filter(function(e){return i.commits[e].length}),function(e){return[n("h4",{directives:[{name:"t-plugin",rawName:"v-t-plugin:pre",value:"editing.messages.commit."+e,expression:"`editing.messages.commit.${c}`",arg:"pre"}]},[i._v(" ("+i._s(i.commits[e].length)+") ")]),i._v(" "),n("divider"),i._v(" "),n("ul",i._l(i.commits[e],function(t){return n("li",[n("details",[n("summary",[i._v(i._s(i.getType(t))+" #"+i._s(i.getId(t)))]),i._v(" "),i._l(i.getAttrs(t),function(e){e=e[0];return[i.hasValue(t,e)?n("dl",[n("dt",[i._v(i._s(e)+":")]),i._v(" "),n("dd",[i.isEdited(t,e)?[n("del",{ref:"value",refInFor:!0},[i._v(i._s(i.getValue(t,e)))]),i._v(" ← "),n("ins",{ref:"value",refInFor:!0},[i._v(i._s(i.getEditingValue(t,e)))])]:n("span",{ref:"value",refInFor:!0},[i._v(i._s(i.getEditingValue(t,e)||i.getValue(t,e)))]),i._v(" "),"geometry"===e?n("i",[n("code",[i._v("")])]):i._e()],2)]):i._e()]})],2)])}),0)]}),i._v(" "),i._l(Object.entries(i.commits.relations),function(e){var t=e[0],e=e[1];return n("changes",{attrs:{commits:{add:e.add,update:e.update,delete:e.delete,relations:e.relations},relation:!0,layer:i.getLayerById(t)}})})],2)},e.staticRenderFns=[],e._scopeId="data-v-90b32778"},{"../utils/areCoordinatesEqual":31,"../utils/getFeatureTableFieldValue":43,"vueify/lib/insert-css":1}],3:[function(e,t,i){e("vueify/lib/insert-css").insert(".choose-and-zoom-to-feature[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between}#editing-layers-choose-feature .editing-choose-feature-radio-input[data-v-3c5d6465]{align-items:center;padding:5px;position:relative;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.ztf[data-v-3c5d6465]{padding-left:3px;font-size:1.3em;cursor:pointer;margin-top:10px}.magic-radio+label[data-v-3c5d6465]{color:transparent}.feature-attributes[data-v-3c5d6465]{overflow-x:auto;display:flex}.feature-attributes>div[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between;padding:5px}.f-attr[data-v-3c5d6465]{font-weight:700;margin-bottom:10px}.f-val[data-v-3c5d6465]{align-self:start;white-space:nowrap}");Object.defineProperty(i,"__esModule",{value:!0}),n=g3wsdk.gui.GUI,i.default={name:"choosefeature",data:function(){return{feature:this.$options.feature}},methods:{selectFeature:function(e){this.feature.splice(0),this.feature.push(e)},getAttributesFeature:function(e){var t=e.getProperties();return this.$options.attributes.map(function(e){return{attribute:e.label,value:t[e.name]}})},zoomToFeature:function(e){n.getService("map").zoomToFeatures([e],{highlight:!0,duration:1e3})}},mounted:function(){n.closeContent()}},t.exports.__esModule&&(t.exports=t.exports.default);var n,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:"editing-layers-choose-feature"}},i._l(i.$options.features,function(t,e){return n("div",{staticClass:"editing-choose-feature-radio-input"},[n("section",{staticClass:"choose-and-zoom-to-feature"},[n("div",[n("input",{staticClass:"magic-radio",attrs:{id:"choose_feature_"+e,name:"radio",type:"radio"},on:{click:function(e){return e.stopPropagation(),i.selectFeature(t)}}}),i._v(" "),n("label",{attrs:{for:"choose_feature_"+e}},[i._v("id")])]),i._v(" "),n("div",{staticClass:"ztf skin-color",class:i.g3wtemplate.font.marker,on:{click:function(e){return e.stopPropagation(),i.zoomToFeature(t)}}})]),i._v(" "),n("section",{staticClass:"feature-attributes"},i._l(i.getAttributesFeature(t),function(e){var t=e.attribute,e=e.value;return n("div",[n("span",{staticClass:"f-attr"},[i._v(i._s(t))]),i._v(" "),n("span",{staticClass:"f-val"},[i._v(i._s(e))])])}),0)])}),0)},e.staticRenderFns=[],e._scopeId="data-v-3c5d6465"},{"vueify/lib/insert-css":1}],4:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),g3wsdk.gui.GUI,i.default={name:"Copyfeaturesfromotherlayers",data:function(){return{id:this.$options.layers.find(function(e){return e.selected}).id}},watch:{id:function(t){this.$options.layers.forEach(function(e){return e.selected=t===e.id})}}},t.exports.__esModule&&(t.exports=t.exports.default);i="function"==typeof t.exports?t.exports.options:t.exports;i.render=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("section",[i("div",{attrs:{id:"g3w-select-editable-layers-content"}},[i("select",{directives:[{name:"select2",rawName:"v-select2",value:"id",expression:"'id'"}],attrs:{id:"g3w-select-editable-layers-to-copy"}},t._l(t.$options.layers,function(e){return i("option",{key:e.id,domProps:{value:e.id}},[t._v(t._s(e.name))])}),0)])])},i.staticRenderFns=[]},{}],5:[function(e,t,i){var n,r,d,a,o,s,l,u,c,f,g,p,y,h;e("vueify/lib/insert-css").insert(".g3w-editing-panel .editing-button .editing-icon{background-color:#3a4448;color:#222d32;font-size:1.8em;padding:10px;margin:5px;width:45px;height:45px;border-radius:30%;text-align:center}.g3w-editing-panel .editing-button.enabled .editing-icon{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.7)}.g3w-editing-panel .editing-button{cursor:not-allowed}.g3w-editing-panel .editing-button.enabled{cursor:pointer}.g3w-editing-panel .editbtn{border-radius:30%;padding:10px;display:inline-block;opacity:.4;box-shadow:0 1px 1px 0 rgba(0,0,0,.1),0 1px 4px 0 rgba(0,0,0,.3)}.g3w-editing-panel .editbtn.enabled{opacity:1;cursor:pointer}.g3w-editing-panel .editbtn.enabled.toggled{box-shadow:0 0;background-color:#ddd}\n.g3w-editing-panel[data-v-cb98e6ce]{margin-bottom:50px}#onlineofflinemessage[data-v-cb98e6ce]{margin-bottom:5px;padding:5px;border-radius:3px;background-color:orange;color:#fff;font-weight:700}.commitbar[data-v-cb98e6ce]{display:flex;justify-content:flex-end;margin-bottom:5px}.commitbar>div[data-v-cb98e6ce]:first-of-type{margin-right:auto}#g3w-select-editable-layers-content[data-v-cb98e6ce]{margin-bottom:10px;font-weight:700}#g3w-select-editable-layers-content label[data-v-cb98e6ce]{color:#fff!important}#g3w-select-editable-layers-to-show[data-v-cb98e6ce]{cursor:pointer}");function v(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),n=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var i=t,n=[],r=!0,t=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!i||n.length!==i);r=!0);}catch(e){t=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(t)throw a}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=(r=r=e("./Toolbox.vue"))&&r.__esModule?r:{default:r},d=e("../utils/promisify"),f=g3wsdk.gui.GUI,g=(e=g3wsdk.core).ApplicationState,p=e.ApplicationService,y=g3wsdk.core.catalog.CatalogLayersStoresRegistry,h=g3wsdk.core.data.DataRouterService,i.default={name:"Editing",data:function(){return{state:this.$options.service.state,service:this.$options.service,resourcesurl:this.$options.resourcesurl,showcommitbar:this.$options.showcommitbar,saving:!1,layersInEditing:0,editingButtonsEnabled:!0,selectedlayers:[],editinglayers:Object.entries(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").getEditableLayers()).filter(function(e){e=n(e,2);e[0];return e[1].config.editing.visible}).map(function(e){var e=n(e,2),t=e[0],e=e[1];return{id:t,name:e.getName(),title:e.getTitle()}}),activetool:null}},components:{toolbox:r.default},transitions:{addremovetransition:"showhide"},methods:{updateFilterLayers:function(){var e=0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t.g3w-icon[data-v-112912af]{font-weight:700;cursor:pointer}.divider[data-v-112912af]{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}");function R(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function O(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t !r.select)"}],on:{click:function(e){return e.stopPropagation(),a.editAttributesRelations()}}},[n("img",{attrs:{height:"25",width:"25",src:a.resourcesurl+"images/multiEditAttributes.png"}})])]):a._e(),a._v(" "),a.capabilities.includes("change_attr_feature")?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"plugins.editing.form.relations.tooltips.link_relation",expression:"'plugins.editing.form.relations.tooltips.link_relation'",arg:"bottom",modifiers:{create:!0}}],staticClass:"g3w-icon add-link",class:[{disabled:!a.show_add_link},a.g3wtemplate.font.link],attrs:{align:"center"},on:{click:function(e){e.stopPropagation(),a.show_add_link&&a.linkRelation()}}}):a._e(),a._v(" "),a.capabilities.includes("add_feature")?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"plugins.editing.form.relations.tooltips.add_relation",expression:"'plugins.editing.form.relations.tooltips.add_relation'",arg:"bottom",modifiers:{create:!0}}],staticClass:"g3w-icon add-link pull-right",class:[{disabled:!a.show_add_link},a.g3wtemplate.font.plus],on:{click:function(e){e.stopPropagation(),a.show_add_link&&a.addRelationAndLink()}}}):a._e()])]),a._v(" "),a.show_vector_tools?n("section",{ref:"relation_vector_tools",staticClass:"relation_vector_tools"},[n("span",{staticClass:"close_vector_relation_tool",on:{click:function(e){return e.stopPropagation(),a.closeVectorTools(e)}}},[n("i",{staticClass:"g3w-icon skin-color",class:a.g3wtemplate.font.close})]),a._v(" "),n("div",[n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.draw_new_feature",expression:"'editing.relation.draw_new_feature'"}],staticClass:"g3w-editing-new-relation-vector-type"}),a._v(" "),n("button",{staticClass:"btn skin-button",staticStyle:{width:"100%"},on:{click:function(e){return e.stopPropagation(),a.addVectorRelation(e)}}},[n("i",{class:a.g3wtemplate.font.pencil})])]),a._v(" "),n("section",[n("span",{staticClass:"divider"}),a._v(" "),n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.draw_or_copy",expression:"'editing.relation.draw_or_copy'"}],staticStyle:{"align-self":"center"}}),a._v(" "),n("span",{staticClass:"divider"}),a._v(" "),n("div",{attrs:{id:"g3w-select-editable-layers-content"}},[n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.copy_feature_from_other_layer",expression:"'editing.relation.copy_feature_from_other_layer'"}],staticClass:"g3w-editing-new-relation-vector-type"}),a._v(" "),n("select",{directives:[{name:"select2",rawName:"v-select2",value:"copylayerid",expression:"'copylayerid'"}],attrs:{id:"g3w-select-editable-layers-to-copy"}},a._l(a.copyFeatureLayers,function(e){return n("option",{key:e.id,domProps:{value:e.id}},[a._v(a._s(e.name))])}),0),a._v(" "),n("button",{directives:[{name:"disabled",rawName:"v-disabled",value:0===a.copyFeatureLayers.length,expression:"0 === copyFeatureLayers.length"}],staticClass:"btn skin-button",on:{click:function(e){return e.stopPropagation(),a.copyFeatureFromOtherLayer(e)}}},[n("i",{class:a.g3wtemplate.font.clipboard})])])])]):a._e(),a._v(" "),n("div",{directives:[{name:"disabled",rawName:"v-disabled",value:a.disabled,expression:"disabled"}],ref:"relation_body",staticClass:"relation_body box-body"},[0"+m("editing.messages.delete_feature")+'\n
'+(n?m("editing.messages.delete_feature_relations"):"")+"
",function(e){var t,i,n;(e?(e=s.state.features.findIndex(function(e){return e.getUid()===o}),t=s.state.features[e],i=s.state.context.session,n=s.state.inputs.layer.getId(),s.state.inputs.layer.getEditingSource().removeFeature(t),i.pushDelete(n,t),s.state.rows.splice(e,1),r):a)()})}),this.dataTable.row(e).remove().draw(),yield this.$nextTick()}catch(e){}}),function(e){return h.apply(this,arguments)}),copyFeature:(s=w(function*(o){var i,s=this;yield new Promise((i=w(function*(e,t){var i=(0,f.cloneFeature)(s.state.features.find(function(e){return o===e.getUid()}),s.state.inputs.layer.getEditingLayer());s.state.workflow=new d.Workflow({type:"addtablefeature",steps:[new u.Step({help:"editing.steps.help.new",run:p.addTableFeature}),new c.OpenFormStep]}),s.state.inputs.features.push(i);try{var n=yield(0,y.promisify)(s.state.workflow.start({context:s.state.context,inputs:s.state.inputs})),r=n.features[n.features.length-1],a={};Object.entries(s.state.rows[0]).forEach(function(e){e=l(e,2),e=e[0];a[e]=(0,g.getFeatureTableFieldValue)({layerId:s.state.layerId,feature:r,property:e})}),a.__gis3w_feature_uid=r.getUid(),s.state.rows.push(a),e(a)}catch(e){t(e)}finally{s.state.workflow.stop()}}),function(e,t){return i.apply(this,arguments)})),this.show=!1,this.dataTable.destroy(),yield this.$nextTick(),this.show=!0,yield this.$nextTick(),this.setDataTable()}),function(e){return s.apply(this,arguments)}),editFeature:(o=w(function*(t){var i=this,n=this.state.features.findIndex(function(e){return t===e.getUid()}),e=this.state.features[n],r=(this.state.workflow=new d.Workflow({type:"edittablefeature",steps:[new c.OpenFormStep]}),this.state.inputs);r.features.push(e);try{var a=yield(0,y.promisify)(this.state.workflow.start({context:this.state.context,inputs:r})),o=a.features[a.features.length-1];Object.entries(this.state.rows[n]).forEach(function(e){e=l(e,2),e=e[0];i.state.rows[n][e]=(0,g.getFeatureTableFieldValue)({layerId:i.state.layerId,feature:o,property:e})})}catch(e){}finally{this.state.workflow.stop()}}),function(e){return o.apply(this,arguments)}),linkFeature:function(t,e){e.target.checked?this._linkFeatures.push(t):this._linkFeatures=this._linkFeatures.filter(function(e){return e!==t})},getValue:function(e){return e&&"object"===(void 0===e?"undefined":n(e))&&Object===e.constructor?e=e.value:"string"==typeof e&&0===e.indexOf("_new_")&&(e=null),e},setDataTable:function(){this.dataTable=$("#editing_table table").DataTable({columnDefs:[{orderable:!1,targets:0}],order:[1,"asc"],pageLength:10,scrollCollapse:!0,scrollResize:!0,scrollX:!0}),this.resize()}},beforeCreate:function(){this.delayType="debounce",_.disableSideBar(!0),_.showUserMessage({type:"loading",message:"plugins.editing.messages.loading_table_data",autoclose:!1,closable:!1})},mounted:(a=w(function*(){yield this.$nextTick(),this.state.isrelation&&(this._linkFeatures=[]),this.setDataTable(),this.resize(),setTimeout(function(){return _.closeUserMessage()},300)}),function(){return a.apply(this,arguments)}),beforeDestroy:function(){this.cancel(),this._linkFeatures=null,this.dataTable.destroy()}},t.exports.__esModule&&(t.exports=t.exports.default);i="function"==typeof t.exports?t.exports.options:t.exports;i.render=function(){var n=this,e=n.$createElement,r=n._self._c||e;return r("div",{staticClass:"g3w-editing-table",attrs:{id:"editing_table"}},[r("div",{ref:"editing_table_header",staticClass:"editing_table_header"},[r("div",{staticClass:"editing_table_header_content"},[r("h3",{staticClass:"editing_table_title"},[n._v(n._s(n.state.title))])]),n._v(" "),n.state.isrelation?r("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.table.info",expression:"'editing.relation.table.info'"}],staticClass:"editing_table_relation_messagge"}):n._e()]),n._v(" "),n.show?r("table",{staticClass:"display",staticStyle:{width:"100%"}},[r("thead",[r("tr",[n.state.isrelation?n._e():r("th",{staticStyle:{"max-width":"60px"}}),n._v(" "),n.state.isrelation?r("th"):n._e(),n._v(" "),n._l(n.state.headers,function(e){return r("th",[n._v(n._s(e.label))])})],2)]),n._v(" "),r("tbody",n._l(n.state.rows,function(t,i){return r("tr",{key:t.__gis3w_feature_uid,attrs:{id:t.__gis3w_feature_uid}},[n.state.isrelation?n._e():r("td",[r("div",{attrs:{id:"table-editing-tools"}},[r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.edit",expression:"'plugins.editing.table.edit'",arg:"right",modifiers:{create:!0}}]},[n.showTool("change_attr_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font.pencil,staticStyle:{color:"#30cce7"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.editFeature(t.__gis3w_feature_uid)}}}):n._e()]),n._v(" "),r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.copy",expression:"'plugins.editing.table.copy'",arg:"right",modifiers:{create:!0}}]},[n.showTool("add_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font["copy-paste"],staticStyle:{color:"#d98b14",padding:"5px 7px 5px 7px"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.copyFeature(t.__gis3w_feature_uid)}}}):n._e()]),n._v(" "),r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.delete",expression:"'plugins.editing.table.delete'",arg:"right",modifiers:{create:!0}}]},[n.showTool("delete_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font["trash-o"],staticStyle:{color:"red"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.deleteFeature(t.__gis3w_feature_uid)}}}):n._e()])])]),n._v(" "),n.state.isrelation?r("td",[r("input",{staticClass:"magic-checkbox",attrs:{id:"relation__"+i,type:"checkbox"},on:{change:function(e){return n.linkFeature(i,e)}}}),n._v(" "),r("label",{attrs:{for:"relation__"+i}})]):n._e(),n._v(" "),n._l(t,function(e,t){return n.showValue(t)?r("td",{key:t},[n.getValue(e)&&n.isMediaField(t)?r("g3w-media",{attrs:{state:e}}):r("p",[n._v(n._s(n.getValue(e)))])],1):n._e()})],2)}),0)]):n._e(),n._v(" "),r("div",{ref:"table_editing_footer_buttons",staticClass:"table_editing_footer_buttons",attrs:{id:"buttons"}},[r("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:n.state.isrelation?"editing.form.buttons.save_and_back":"editing.form.buttons.save",expression:"state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'"}],staticClass:"btn btn-success",staticStyle:{"margin-right":"10px"},on:{click:function(e){return e.stopPropagation(),n.save(e)}}}),n._v(" "),r("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.form.buttons.cancel",expression:"'editing.form.buttons.cancel'"}],staticClass:"btn btn-danger",on:{click:function(e){return e.stopPropagation(),n.cancel(e)}}})])])},i.staticRenderFns=[],i._scopeId="data-v-13f4ce0f"},{"../g3wsdk/workflow/step":14,"../g3wsdk/workflow/workflow":15,"../utils/addTableFeature":30,"../utils/cloneFeature":35,"../utils/getFeatureTableFieldValue":43,"../utils/getRelationsInEditing":51,"../utils/promisify":58,"../workflows":65,"vueify/lib/insert-css":1}],8:[function(e,t,i){var n,r,o,s,a,l,u;e("vueify/lib/insert-css").insert(".panel.mobile[data-v-c4a84298]{margin-bottom:5px}.panel.mobile .panel-heading[data-v-c4a84298]{display:flex;justify-content:space-between}.panel.mobile .panel-heading .panel-title[data-v-c4a84298]{margin-top:auto;margin-bottom:auto}.panel.mobile .panel-heading .start-editing[data-v-c4a84298]{margin:auto;margin-right:0;padding:6px}.panel.mobile .tools-content .editbtn[data-v-c4a84298]{padding:9px}.panel.mobile .toolbox .panel-body[data-v-c4a84298]{padding:5px!important}.toolbox_help_message[data-v-c4a84298]{font-weight:lighter}.toolbox[data-v-c4a84298]{padding-bottom:5px}.panel[data-v-c4a84298]{border:0!important;margin-bottom:8px}.panel-heading[data-v-c4a84298]{padding:5px 10px;width:100%}.toolboxselected[data-v-c4a84298]{box-shadow:0 0 0 3px var(--skin-color)}.panel:not(.toolboxselected) .info[data-v-c4a84298]{opacity:.4}.panel:not(.toolboxactive) .panel-heading[data-v-c4a84298]{border-radius:3px;filter:grayscale(.8)}.panel:not(.geolayer) .panel-body[data-v-c4a84298]{padding-top:0}.panel.toolboxactive:not(.geolayer) .editbtn.start-editing[data-v-c4a84298]{color:#fff!important}.panel:not(.geolayer) .panel-heading[data-v-c4a84298]{color:#3a4448}.editbtn.start-editing[data-v-c4a84298]{padding:13px;color:currentColor!important;font-size:1.1em;margin:0}.panel-title[data-v-c4a84298]{font-weight:700;word-break:break-word;padding:8px 0;display:inline-block}#toolsoftoolcontainer[data-v-c4a84298]{display:flex;flex-direction:column;margin:5px;padding:5px;border-radius:5px}.info[data-v-c4a84298]{color:#000}.info>i[data-v-c4a84298]{color:#007bff;padding-right:2px}.info+.tools-content[data-v-c4a84298]{margin-top:1em}.filter-by-relation[data-v-c4a84298]{margin-right:5px;cursor:pointer;color:currentColor!important}.tools-content[data-v-c4a84298]{display:flex;flex-wrap:wrap;gap:10px}.message[data-v-c4a84298]{margin-bottom:5px;font-size:1.1em;color:#000;margin-top:5px}.snap-tool[data-v-c4a84298]{display:flex}.snap-tool label>b[data-v-c4a84298]{color:#222d32!important}.tools-of-tool-snap[data-v-c4a84298]{display:flex;width:100%;justify-content:space-between}.tools-of-tool-snap label span[data-v-c4a84298]{color:#222d32!important}.panel-body.disabled[data-v-c4a84298]{opacity:.7}.panel-body.disabled>[data-v-c4a84298]{pointer-events:none}");function d(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),o=g3wsdk.gui.GUI,s=g3wsdk.core.layer.Layer,a=g3wsdk.ol.utils.getResolutionFromScale,l=g3wsdk.core.i18n.tPlugin,u=void 0,i.default={name:"Toolbox",props:["state","resourcesurl"],data:function(){return{active:!1,helpmessage:null,toggled:{relation:!1,layer:!1},snapAll:!1}},computed:{editDisabled:function(){return this.state.loading&&!this.state.startstopediting},hasRelations:function(){return 0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t.description[data-v-8a452b86]{font-weight:700}.dynamic-step[data-v-8a452b86]{padding:10px;font-size:1.2em}.button-step[data-v-8a452b86]{display:inline-flex;align-items:center}.button-step[data-v-8a452b86],button.btn-success[data-v-8a452b86]{font-weight:700;align-self:normal}");Object.defineProperty(i,"__esModule",{value:!0}),i.default={data:function(){return{steps:{}}},methods:{completeStep:function(e){e.done=!0,e.buttonnext.done()}}},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("ul",{staticClass:"steps-list"},i._l(i.steps,function(t,e){return n("li",{key:e,class:{done:t.done},style:{display:t.buttonnext&&"inline-flex"}},[t.buttonnext?n("span",{staticClass:"button-step"},[n("span",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:t.description,expression:"step.description"}],staticClass:"description"}),i._v(" "),t.dynamic?n("span",{staticClass:"dynamic-step"},[i._v(i._s(t.dynamic))]):i._e(),i._v(" "),n("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.workflow.next",expression:"'editing.workflow.next'"}],class:"btn btn-success"+(t.buttonnext.disabled?" g3w-disabled":""),on:{click:function(e){return i.completeStep(t)}}})]):[n("i",{class:i.g3wtemplate.getFontClass(t.done?"success":"empty-circle")}),i._v(" "),n("span",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:t.description,expression:"step.description"}]})]],2)}),0)},e.staticRenderFns=[],e._scopeId="data-v-8a452b86"},{"vueify/lib/insert-css":1}],10:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.Session=i.ChangesManager=void 0;var f="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},l=function(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),e};function n(e,t){for(var i=0;i{var t=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 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,(c.__proto__||Object.getPrototypeOf(c)).call(this,e)));return i.setters={start:function(){var t,i=this,n=0t){i=n;break}if(r.id===t){i=-1;break}}-1e,this._constrains.undo}},{key:"__canRedo",value:function(){return this._constrains.redo=this.getLastHistoryState()&&this.getLastStateId()!=this.state.current||null===this.state.current&&0{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 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)))._options=e,t._run=(e.run||t.run||s(function*(){return!0})).bind(t),t._stop=(e.stop||t.stop||s(function*(){return!0})).bind(t),t._inputs=e.inputs||null,t._context=e.context||null,t._outputs=e.outputs||null,t.state={id:e.id||null,name:e.name||null,help:e.help||null,running:!1,error:null,message:e.message||null,usermessagesteps:{}},t.registerEscKeyEvent(e.escKeyPressEventHandler),t.selectStyle=e.selectStyle,e.steps&&t.setSteps(e.steps),e.onRun&&t.on("run",e.onRun),e.onStop&&t.on("run",e.onStop),e.tools&&(t._tools=e.tools),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),a(n,[{key:"setInputs",value:function(e){this._inputs=this.inputs=e}},{key:"getInputs",value:function(){return this._inputs}},{key:"setContext",value:function(e){return this._context=this.context=e}},{key:"getContext",value:function(){return this.context}},{key:"panic",value:function(){}},{key:"setRoot",value:function(e){this.state.root=e}},{key:"getUserMessageSteps",value:function(){return this.state.usermessagesteps}},{key:"setUserMessageSteps",value:function(){this.state.usermessagesteps=0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t{var i,e=o,t=f;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);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)))._type=void 0!==e.type?e.type:null,t._options=e,t._promise=null,t._inputs=void 0!==e.inputs?e.inputs:null,t._context=void 0!==e.context?e.context:null,t._steps=e.steps||[],t._child=null,t._stackIndex=null,t.runOnce=e.runOnce||!1,t._messages=a.Step.MESSAGES,t._userMessageSteps={},0Hinzufgefügt Die Anzahl der hinzugefügten Features anzeigen",header_update_delete:"Bearbeitet und Gelöscht Die Liste der Feature-ID anzeigen",add:"Hinzugefügt",delete:"Gelöscht",update:"Bearbeitet"},loading_table_data:"Datentabelle wird erstellt. Bitte warten ...",copy_and_paste_from_other_layer_mandatory_fields:"Vor dem Speichern müssen alle Pflichtfelder des eingegebenen features ausgefüllt werden",no_feature_selected:"Keine feature ausgewählt",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Wählen Sie Relationen aus, um sie mit dem aktuellen Feature zu verknüpfen.
"},draw_new_feature:"Zeichnen Sie eine neue feature",draw_or_copy:"oder",copy_feature_from_other_layer:"Kopieren Sie feature aus einer anderen layer"},form:{relations:{tooltips:{back_to_father:"Zurück zur Bearbeitung des Vaters",add_relation:"Neue Relation erstellen und verknüpfen",link_relation:"Eine Relation zu diesem Feature herstellen",open_relation_tools:"Relationstools anzeigen",unlink_relation:"Relation trennen"}},buttons:{save:"Einfügung/Bearbeiten",save_and_back:"Speichern und zurück",save_and_back_table:"Speichern und zurück",cancel:"Änderungen ignorieren"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select one feature"}}}}},{}],17:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"An error occurs. It's no possible to edit layers",some_layers:"An error occurs: It's no possible to edit some layers",editing_multiple_relations:"Editing multiple relationships is not currently supported"},search:"Search",editing_changes:"Editing Changes",editing_data:"Editing Layers",editing_attributes:"Editing attributes",relations:"Relations",edit_relation:"Edit relation",back_to_relations:"Back to Relations",no_relations_found:"No relations found",relation_data:"Relation data",relation_already_added:"Relation already added",list_of_relations_feature:"List of relations feature ",tooltip:{edit_layer:"Edit Layer",filter_by_relation:"Filter layers by relation"},toolbox:{title:"Edit"},table:{edit:"Edit feature",copy:"Create a copy",delete:"Delete feature"},tools:{copy:"Copy features",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Add part to multipart",deletepart:"Delete part from multipart",merge:"Dissolve features",split:"Split Feature",add_feature:"Add feature",delete_feature:"Delete feature",move_feature:"Move feature",update_vertex:"Update feature vertex",update_feature:"Update feature attribute",update_multi_features:"Update attributes of selected features",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Select features",select_element:"Select feature",copy:"Create new copy of selected features",merge:"Dissolve features",split:"Split Feature",new:"Create new feature",edit_table:"Edit table features",draw_new_feature:"Draw feature on map",action_confirm:"Confirm action",double_click_delete:"Select feature on map to delete",edit_feature_vertex:"Modify or add a vertex on selected feature",move:"Move selected feature",select_feature_to_relation:"Select feature that you bind relation",show_edit_feature_form:"Show feature form to edit attributes",pick_feature:"Select feature on map to modify",insert_attributes_feature:"Insert attributes of the feature"}},workflow:{steps:{select:"Click on feature to select",draw_part:"Draw new part",draw_geometry:"Draw geometry",merge:"Select featurewhere dissolve",selectSHIFT:"Select features drawing a rectangle pressing SHIFT",selectDrawBox:"Select features drawing a rectangle by two point of opposite corners",selectDrawBoxAtLeast2Feature:"Select at least features drawing a rectangle by two point of opposite corners",selectPoint:"Click on feature to select",selectPointSHIFT:"Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature",selectMultiPointSHIFT:"Select features drawing a rectangle pressing SHIFT or click on feature",selectMultiPointSHIFTAtLeast2Feature:"Select at least 2 features drawing a rectangle pressing SHIFT or click on feature",copyCTRL:"Copy selected features using CTRL+C",selectStartVertex:"Select starting vertex of selected features",selectToPaste:"Select the point where paste the features selected",draw_split_line:"Draw a line to split selected feature"},title:{steps:"Steps"},next:"Next"},messages:{featureslockbyotheruser:"Some geometries/records are not editable because in editing by other user",splitted:"Splitted",nosplittedfeature:"Feature not spitted",press_esc:"Press ESC to back",online:"Back ONLINE. Now you can save your changes on database",offline:"You are OFFLINE. All changes are saved locally",delete_feature:"Do you want delete selected feature ?",delete_feature_relations:"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature",unlink_relation:"Do you want unlink relation?",commit_feature:"Summary of changes",toolbox_has_no_geometry:"this layer has no geometry",toolbox_has_relation:"this layer is part of a relation",saved:"Data saved successfully",saved_local:"Data saved locally successfully",loading_data:"Loading data",saving:"Saving data. Please wait ...",constraints:{enable_editing:"Please Zoom In to enable editing tools \nActivation scale at 1:"},pdf:"Document preview not available. Please click here ",commit:{header:"The following list show all changes to commit.",header_relation:"Relation",header_add:"Added show the number of features added",header_update_delete:"Modified and Deleted show the list of features id",add:"Added",delete:"Deleted",update:"Updated"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Select relations to link it to current editing feature.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Create and link new relation",link_relation:"Join a relation to this feature",open_relation_tools:"Show relation tools",unlink_relation:"Unlink relation"}},buttons:{save:"Insert/Edit",save_and_back:"Save and Back",save_and_back_table:"Save and Back",cancel:"Ignore Changes"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],18:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Tapahtui virhe. Tasoja ei ole mahdollista muokata.",some_layers:"Tapahtui virhe. Jotkin tasot eivät ole muokattavissa."},search:"Haku",editing_changes:"Editing Changes",editing_data:"Muokataan tasoja",editing_attributes:"Muokataan attribuutteja",relations:"Relaatiot",edit_relation:"Muokkaa relaatiota",back_to_relations:"Takaisin relaatioihin",no_relations_found:"Relaatioita ei löytynyt",relation_data:"Relaation tiedot",relation_already_added:"Relaatio on jo lisätty",list_of_relations_feature:"Lista relaation ominaisuuksista",tooltip:{edit_layer:"Muokkaa tasoa"},toolbox:{title:"Muokkaa"},table:{edit:"Muokkaa ominaisuutta",copy:"Luo kopio",delete:"Poista ominaisuus"},tools:{copy:"Kopio ominaisuuksia",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Lisää osa",deletepart:"Poista osa",merge:"Yhdistä ominaisuudet",split:"Leikkaa ominaisuus",add_feature:"Lisää ominaisuus",delete_feature:"Poista ominaisuus",move_feature:"Siirrä ominaisuutta",update_vertex:"Päivitä pisteen ominaisuutta",update_feature:"Päivitä ominaisuus",update_multi_features:"Muokkaa valittujen ominaisuuksien attribuutteja",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Valitse ominaisuudet",select_element:"Valitse ominaisuus",copy:"Luo kopio valituista ominaisuuksista",merge:"Yhdistä ominaisuudet",split:"Leikkaa ominaisuus",new:"Luo uusi ominaisuus",edit_table:"Muuta taulun ominaisuuksia",draw_new_feature:"Piirrä ominaisuus kartalle",action_confirm:"Hyväksy toiminto",double_click_delete:"Valitse poistettava ominaisuus kartalta",edit_feature_vertex:"Muuta pistettä tai lisää piste valittuun ominaisuuteen",move:"Siirrä valittu ominaisuus",select_feature_to_relation:"Valitse relaatio",show_edit_feature_form:"Näytä ominaisuuslomake muokataksesi attribuutteja",pick_feature:"Valitse muokattava ominaisuus kartalta",insert_attributes_feature:"Lisää ominaisuuden attribuutit"}},workflow:{steps:{select:"Valitse ominaisuus",draw_part:"Piirrä uusi osa",merge:"Valitse ominaisuus yhdistääksesi",draw_geometry:"Piirrä geometria",selectSHIFT:"Paina SHIFT, jos haluat valita kohteita suorakulmiovalinnalla.",selectDrawBox:"Piirrä suorakulmio, jonka siältä kohteet valitaan ",selectDrawBoxAtLeast2Feature:"Piirrä suorakulmio, jonka siältä kohteet vähintään 2 valitaan ",selectPoint:"Valitse ominaisuus",selectPointSHIFT:"Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",selectMultiPointSHIFT:"Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",selectMultiPointSHIFTAtLeast2Feature:"Paina SHIFT, jos haluat valita vähintään 2 ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",copyCTRL:"CTRL+C, voit kopioida valitut ominaisuudet.",selectStartVertex:"Osoita valittujen ominaisuuksien alkupiste.",selectToPaste:"Valitse kohta, johon liität valitut ominaisuudet.",draw_split_line:"Piirrä viiva, jonka mukaan valittu ominaisuus jaetaan."},title:{steps:"Vaiheet"},next:"Seuraava"},messages:{featureslockbyotheruser:"Some features are locked by another user",splitted:"Jaettu",nosplittedfeature:"Ominaisuutta ei jaettu",press_esc:"Paina ESC palataksesi",online:"Yhteys muodostettu. Muutokset voidaan tallentaa tietokantaan.",offline:"Olet offline-tilassa. Muutokset tallennetaan paikallisesti",delete_feature:"Haluatko poistaa valitun ominaisuuden?",delete_feature_relations:"Mikäli ominaisuudella on sitovia relaatioita, näistä relaatiosta tulee orpoja. Suosittelemme käsittelemään nämä relaatiot ennen poistamista",unlink_relation:"Haluatko poistaa relaation?",commit_feature:"Yhteenveto muutoksista",toolbox_has_relation:"tämä kerros on osa relaatiota",saved:"Tiedot tallennettu onnistuneesti",saved_local:"Tiedot on tallennettu onnistuneesti paikallisesti.",loading_data:"Ladataan tietoja",saving:"Tallentaan tietoja. Odota...",constraints:{enable_editing:"Lähennä ottaaksesi muokkaustyökalut käyttöön \nAktivointi mittakaava 1:"},pdf:"Dokumentin esikatselu ei ole saatavilla. Paina tästä ",commit:{header:"Seuraava luettelo näyttää kaikki muutokset.",header_relation:"Relation",header_add:"Lisätty näytä lisättyjen ominaisuuksien lukumäärä",header_update_delete:"Muokattu ja Poistettu Näytä listä ominaisuuksien id:stä",add:"Lisätty",delete:"Poistettu",update:"Muokattu"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Valitse relaatiota linkittääksesi ne muokattavaan ominaisuuteen.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Luo ja linkitä uusi relaatio",link_relation:"Liitä relaatio tähän ominaisuuteen",open_relation_tools:"Näytä relaatiotyökalut",unlink_relation:"Poista relaatio"}},buttons:{save:"Lisää/muokkaa",save_and_back:"Tallenna ja palaa",save_and_back_table:"Tallenna ja palaa",cancel:"Peruuta"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],19:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Une erreur s'est produite lors du chargement des layers dans l'édition.",some_layers:"Une erreur s'est produite lors du chargement de certaines layers dans l'édition."},search:"Recherche",editing_changes:"Editing Changes",editing_data:"Modifier les donnes",editing_attributes:"Modifier les attributs",relations:"Relations",edit_relation:"Modifier la relation",back_to_relations:"Retour aux relations",no_relations_found:"Il n'y a pas de relations",relation_data:"Données sur les relations",relation_already_added:"Relation déjà présente",list_of_relations_feature:"Lister les relations de la fonctionnalité",tooltip:{edit_layer:"Modifier le layer"},toolbox:{title:"Modifier"},table:{edit:"Modifier fonctionnalités",copy:"Créer une copie",delete:"Supprimer la fonctionnalité"},tools:{copy:"Copier les fonctionnalités",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Ajouter une pièce à la géométrie",deletepart:"Supprimer la partie de la géométrie",merge:"Dissoudre les fonctionnalités",split:"Couper la fonctionnalité",add_feature:"Ajouter une fonctionnalité",delete_feature:"Supprimer la fonctionnalité",move_feature:"Déplacez la fonctionnalité",update_vertex:"Mettre à jour les sommets des fonctionnalités",update_feature:"Modifier les attributs des fonctionnalités",update_multi_features:"Modifier les attributs des fonctionnalités sélectionnées",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Sélectionner les fonctionnalités",select_element:"Sélectionner une fonctionnalité",copy:"Créer une copie des fonctionnalités sélectionnées",merge:"Dissoudre les fonctionnalités",split:"Couper la fonctionnalité",new:"Créer une nouvelle fonctionnalité",edit_table:"Modifier les fonctionnalités de la table",draw_new_feature:"Dessiner une fonctionnalité sur la carte",action_confirm:"Confirmer l'action",double_click_delete:"Sélectionner la fonctionnalité sur la carte à supprimer",edit_feature_vertex:"Modifier ou ajouter un sommet à la fonctionnalité sélectionnée",move:"Déplacer la fonctionnalité sélectionnée",select_feature_to_relation:"Sélectionner la fonctionnalité que vous souhaitez mettre en relation",show_edit_feature_form:"Afficher le formulaire de la fonctionnalité permettant de modifier les attributs",pick_feature:"Sélectionner l'élément de la carte à modifier",insert_attributes_feature:"Insérer les attributs de la fonctionnalité"}},workflow:{steps:{select:"Cliquer sur la fonctionnalité à sélectionner",draw_part:"Dessiner la nouvelle partie",draw_geometry:"Dessiner la géométrie",merge:"Sélectionner la fonction à introduire en fondu",selectPoint:"Cliquer sur la fonctionnalité pour la sélectionner",selectSHIFT:"Sélectionner des fonctionnalités en maintenant la touche SHIFT enfoncée",selectDrawBox:"Sélectionner les fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale",selectDrawBoxAtLeast2Feature:"Sélectionner au moins 2 fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale",selectPointSHIFT:"Sélectionner des caractéristiques en maintenant la touche SHIFT enfoncée (multi-sélection) ou en cliquant sur une seule caractéristique",selectMultiPointSHIFT:"Sélectionner des fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle",selectMultiPointSHIFTAtLeast2Feature:"Sélectionner au moins 2 fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle",copyCTRL:"Copier les fonctionnalités sélectionnées avec CTRL+C",selectStartVertex:"Sélectionner le sommet de départ des fonctionnalités choisies",selectToPaste:"Sélectionner le point où les fonctionnalités sélectionnées seront collées",draw_split_line:"Tracez une ligne pour couper la fonctionnalité sélectionnée"},title:{steps:"Étapes"},next:"Suivant"},messages:{featureslockbyotheruser:"Certaines géométries/enregistrements ne sont pas modifiables car ils ont été modifiés par un autre utilisateur",splitted:"Fonctionnalité(s) divisé(es)",nosplittedfeature:"La (les) fonctionnalité(s) n’a (n'ont) pas été divisé(es)",press_esc:"Appuyez sur ESC pour revenir",online:"Vous êtes à nouveau EN LIGNE. Vous pouvez enregistrer les modifications de façon permanente",offline:"Vous êtes HORS LIGNE. Toutes les modifications seront enregistrées temporairement en local",delete_feature:"Voulez-vous supprimer la fonctionnalité sélectionnée ?",delete_feature_relations:"La suppression d'une fonctionnalité avec des relations associées laissera ces relations orphelines. Il est recommandé de gérer ces relations avant de supprimer la fonctionnalité",unlink_relation:"Voulez-vous détacher la relation ?",commit_feature:"Sommaire des changements",toolbox_has_relation:"cette couche fait partie d'une relation",saved:"Les données ont été enregistrées correctement",saved_local:"Les données ont été correctement sauvegardées localement",loading_data:"Chargement des données",saving:"Sauvegarde des données. Veuillez patienter ...",constraints:{enable_editing:"Augmenter le niveau de zoom pour permettre l'édition \nEchelle de déclenchement 1 :"},pdf:"Aperçu du document non disponible. Cliquez ici ",commit:{header:"La liste ci-dessous montre toutes les modifications qui seront enregistrées.",header_relation:"Relation",header_add:"Ajouts indique le nombre de fonctionnalités ajoutées",header_update_delete:"Modifié e Supprimé liste les ids",add:"Ajouté",delete:"Supprimé",update:"Modifié"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"Avant d'enregistrer, il est nécessaire de remplir tous les champs obligatoires du features saisi",no_feature_selected:"Aucune feature sélectionnée",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Sélectionner les relations pour les associer à l'élément en cours d'édition.
"},draw_new_feature:"Dessiner une nouvelle feature",draw_or_copy:"ou",copy_feature_from_other_layer:"Copier feature d'une autre layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Créer et ajouter une nouvelle relation",link_relation:"Associer une relation existante à cette fonctionnalité",open_relation_tools:"Outils de relation ouverte",unlink_relation:"Annuler la relation"}},buttons:{save:"Insérer/Modifier",save_and_back:"Sauvegarder et retourner au parent",save_and_back_table:"Sauvegarder et et revenir en arrière",cancel:"Ignorer modifications"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],20:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0});var n=d(e("./it")),r=d(e("./en")),a=d(e("./fi")),o=d(e("./se")),s=d(e("./fr")),l=d(e("./de")),u=d(e("./ro")),e=d(e("./pl"));function d(e){return e&&e.__esModule?e:{default:e}}i.default={it:n.default,en:r.default,fi:a.default,se:o.default,fr:s.default,de:l.default,ro:u.default,pl:e.default}},{"./de":16,"./en":17,"./fi":18,"./fr":19,"./it":21,"./pl":22,"./ro":23,"./se":24}],21:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"Terminare l'editing dei singoli layer per chiudere la sessione"},errors:{no_layers:"Si è verificato un errore nel caricamento dei layers in editing.",some_layers:"Si è verificato un errore nel caricamento di alcuni layers in editing",editing_multiple_relations:"Le modifica di relazioni multiple non è attualmente supportata"},search:"Cerca",editing_changes:"Modifiche Editing",editing_data:"Modifica dati",editing_attributes:"Edita attributi",relations:"Relazioni",edit_relation:"Edita relazione",back_to_relations:"Ritorna alle Relazioni",no_relations_found:"Non ci sono relazioni",relation_data:"Dati relativi alla relazione",relation_already_added:"Relazione già presente",list_of_relations_feature:"Elenco Relazioni della feature ",tooltip:{edit_layer:"Modifica livello",filter_by_relation:"Filtra i livelli per relazione"},toolbox:{title:"Edita"},table:{edit:"Edita feature",copy:"Crea una copia",delete:"Cancella feature"},tools:{copy:"Copia elementi",pastefeaturesfromotherlayers:"Incolla elemento da altro livello",addpart:"Aggiungi parte alla geometria",deletepart:"Cancella parte dalla geometria",merge:"Dissolvi elementi",split:"Dividi elementi",add_feature:"Aggiungi elemento",delete_feature:"Elimina elemento",move_feature:"Muovi elemento",update_vertex:"Aggiorna vertici elemento",update_feature:"Modifica attributi elemento",update_multi_features:"Modifica gli attributi degli elementi selezionati",update_multi_features_relations:"Modifica gli attributi di tutte le relazioni selezionate",copyfeaturefromexternallayer:"Crea elemento da un livello esterno"},toolsoftool:{measure:"Visualizza misura",snap:"Snap sul layer",snapall:"Snap su tutti i layer"},steps:{help:{select_elements:"Seleziona le geometrie",select_element:"Seleziona l'elemento",copy:"Crea una copia degli elementi selezionati",merge:"Dissolvi elementi",split:"Dvidi elemento",new:"Crea un nuovo elemento",edit_table:"Modifica gli elementi della tabella",draw_new_feature:"Disegna la nuova geometria",action_confirm:"Conferma azione",double_click_delete:"Seleziona la geometria sulla mappa da cancellare",edit_feature_vertex:"Modifica o aggiungi un vertice alla geometria selezionata",move:"Muovi la geometria selezionata",select_feature_to_relation:"Seleziona la geometria che vuoi mettere in relazione",show_edit_feature_form:"Mostra il modulo per modificare gli attributi del'elemento",pick_feature:"Seleziona la geometria da modificare dalla mappa",insert_attributes_feature:"Inserisci gli attributi dell'elemento"}},workflow:{steps:{select:"Seleziona una geometria",draw_part:"Disegna il nuovo elemento da aggiungere alla geometria",draw_geometry:"Disegna la geometria",merge:"Seleziona la geometria su cui dissolvere",selectPoint:"Clicca sulla geometria per selezionarla",selectSHIFT:"Seleziona le geometrie tenedo premuto il tasto SHIFT",selectDrawBox:"Seleziona le geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale",selectDrawBoxAtLeast2Feature:"Seleziona almeno 2 geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale",selectPointSHIFT:"Seleziona le geometrie
MAIUSC+DRAG seleziona più elementi in un area",selectMultiPointSHIFT:"Seleziona le geometrie
SHIFT+DRAG seleziona più elementi in un area",selectMultiPointSHIFTAtLeast2Feature:"Seleziona almeno 2 geometrie
SHIFT+DRAG seleziona più elementi in un area",copyCTRL:"Copia le geometrie selezionate con CTRL+C",selectStartVertex:"Seleziona il vertice di partenza",selectToPaste:"Seleziona il punto dove verranno incollate le geometrie",draw_split_line:"Disegna una linea per dividere la geometria selezionata"},title:{steps:"Passi"},next:"Avanti"},messages:{featureslockbyotheruser:"Ci sono alcune geometrie/records non editabili perchè in modifica da altri utenti",splitted:"Feature(s) splittata(e)",nosplittedfeature:"La(e) feature(s) non è stata splittata",press_esc:"Premi ESC per tornare indietro",online:"Ora sei di nuovo ONLINE. Puoi slavare le modifiche in modo permanente",offline:"Sei OFFLINE. Tutte le modifiche saranno salvate temporaneamente in locale",delete_feature:"Vuoi eliminare l'elemento selezionato?",delete_feature_relations:"Cancellando una feature con relazioni associate, tale relazioni rimarranno orfane. Si consiglia di gestire tali relazioni prima di cancellare la feature",unlink_relation:"Vuoi staccare la relazione?",commit_feature:"Riepilogo modifiche",toolbox_has_no_geometry:"questo livello non ha geometria",toolbox_has_relation:"questo livello fa parte di una relazione",saved:"I dati sono stati salvati correttamente",saved_local:"I dati sono stati salvati correttamente in locale",loading_data:"Caricamento dati",saving:"Salvataggio dati in corso. Attendere ...",constraints:{enable_editing:"Ingrandisci per modificare \nScala di attivazione 1:"},pdf:"Anteprima del documento non disponibile. Clicca qui ",commit:{header:"La lista sotto riporta tutte le modifiche che verranno salvate.",header_relation:"Relazione",header_add:"Aggiunte riporta il numero delle features aggiunte",header_update_delete:"Modificate e Cancellate riporta la lista degli id",add:"Aggiunte",delete:"Cancellate",update:"Aggiornate"},loading_table_data:"Costruzione tabella dati in corso. Attendere ...",copy_and_paste_from_other_layer_mandatory_fields:"Necessario compilare eventuali campi obbligatori sulle features incollate prima del salvataggio",no_feature_selected:"Nessuna feature selezionata",select_min_2_features:"Seleziona come minimo due features"},relation:{table:{info:"
Seleziona le relazioni per associarle alla feature in editing.
"},draw_new_feature:"Disegna nuova geometria",draw_or_copy:"oppure",copy_feature_from_other_layer:"Copia geometria da altro layer"},form:{relations:{tooltips:{back_to_father:"Torna ad editare il padre",add_relation:"Crea ed aggiungi nuova relazione",link_relation:"Associa una relazione esistente a questa feature",open_relation_tools:"Apri strumenti relatione",unlink_relation:"Annulla relazione"}},buttons:{save:"Inserisci/Modifica",save_table:"Modifica",save_and_back:"Salva e torna al padre",save_and_back_table:"Salva e torna indietro",cancel:"Ignora Modifiche"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Seleziona layer",edit_attributes:"Edita attributi delle features in multiple mode"},copyfeaturefromprojectlayer:{title:"Seleziona una feature"}}}}},{}],22:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={errors:{no_layers:"An error occurs. It's no possible to edit layers",some_layers:"An error occurs: It's no possible to edit some layers"},search:"Search",editing_changes:"Editing Changes",editing_data:"Editing Layers",editing_attributes:"Editing attributes",relations:"Relations",edit_relation:"Edit relation",back_to_relations:"Back to Relations",no_relations_found:"No relations found",relation_data:"Relation data",relation_already_added:"Relation already added",list_of_relations_feature:"List of relations feature ",tooltip:{edit_layer:"Edit Layer"},toolbox:{title:"Edit"},table:{edit:"Edit feature",copy:"Create a copy",delete:"Delete feature"},tools:{copy:"Copy features",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Add part to multipart",deletepart:"Delete part from multipart",merge:"Dissolve features",split:"Split Feature",add_feature:"Add feature",delete_feature:"Delete feature",move_feature:"Move feature",update_vertex:"Update feature vertex",update_feature:"Update feature attribute",update_multi_features:"Update attributes of selected features",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Select features",select_element:"Select feature",copy:"Create new copy of selected features",merge:"Dissolve features",split:"Split Feature",new:"Create new feature",edit_table:"Edit table features",draw_new_feature:"Draw feature on map",action_confirm:"Confirm action",double_click_delete:"Select feature on map to delete",edit_feature_vertex:"Modify or add a vertex on selected feature",move:"Move selected feature",select_feature_to_relation:"Select feature that you bind relation",show_edit_feature_form:"Show feature form to edit attributes",pick_feature:"Select feature on map to modify",insert_attributes_feature:"Insert attributes of the feature"}},workflow:{steps:{select:"Click on feature to select",draw_part:"Draw new part",merge:"Select featurewhere dissolve",selectSHIFT:"Select features drawing a rectangle pressing SHIFT",selectDrawBox:"Select features drawing a rectangle by two point of opposite corners",selectDrawBoxAtLeast2Feature:"Select at least features drawing a rectangle by two point of opposite corners",selectPoint:"Click on feature to select",selectPointSHIFT:"Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature",selectMultiPointSHIFT:"Select features drawing a rectangle pressing SHIFT or click on feature",selectMultiPointSHIFTAtLeast2Feature:"Select at least 2 features drawing a rectangle pressing SHIFT or click on feature",copyCTRL:"Copy selected features using CTRL+C",selectStartVertex:"Select starting vertex of selected features",selectToPaste:"Select the point where paste the features selected",draw_split_line:"Draw a line to split selected feature"},title:{steps:"Steps"},next:"Next"},messages:{featureslockbyotheruser:"Some geometries/records are not editable because in editing by other user",splitted:"Splitted",nosplittedfeature:"Feature not spitted",press_esc:"Press ESC to back",online:"Back ONLINE. Now you can save your changes on database",offline:"You are OFFLINE. All changes are saved locally",delete_feature:"Do you want delete selected feature ?",delete_feature_relations:"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature",unlink_relation:"Do you want unlink relation?",commit_feature:"Do you want to save the changes",toolbox_has_relation:"this layer is part of a relation",saved:"Data saved successfully",saved_local:"Data saved locally successfully",loading_data:"Loading data",saving:"Saving data. Please wait ...",constraints:{enable_editing:"Please Zoom In to enable editing tools \nActivation scale at 1:"},pdf:"Document preview not available. Please click here ",commit:{header:"The following list show all changes to commit.",header_add:"Added show the number of features added",header_update_delete:"Modified and Deleted show the list of features id",add:"Added(n. features)",delete:"Deleted(id)",update:"Modified(id)"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Select relations to link it to current editing feature.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Create and link new relation",link_relation:"Join a relation to this feature",open_relation_tools:"Show relation tools",unlink_relation:"Unlink relation"}},buttons:{save:"Insert/Edit",save_and_back:"Save and Back",save_and_back_table:"Save and Back",cancel:"Ignore Changes"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],23:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Avem o eroare. Straturile nu sunt editabile",some_layers:"Avem o eroare: Anumite straturi nu se pot edita"},search:"Caută",editing_changes:"Modificare schimbări",editing_data:"Modificare straturi",editing_attributes:"Modificare atribute",relations:"Relații",edit_relation:"Modifică relația",back_to_relations:"Înapoi la Relații",no_relations_found:"Nu am găsit relații",relation_data:"Date relații",relation_already_added:"Relație adăugată deja",list_of_relations_feature:"Lista relații entitatea ",tooltip:{edit_layer:"Modifică strat"},toolbox:{title:"Modifică"},table:{edit:"Modifică entitate",copy:"Creează o copie",delete:"Elimină entitatea"},tools:{copy:"Copiază entitățile",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Adaugă o parte la multiparte",deletepart:"Elimină partea din multiparte",merge:"Dizolvare entități",split:"Divizare Entitate",add_feature:"Adaugă entitate",delete_feature:"Eliminare entitate",move_feature:"Mută entitate",update_vertex:"Actualizează vertecșii entității",update_feature:"Actualizează atributul entității",update_multi_features:"Actualizează atributele entităților selectate",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Arată măsurătorile",snap:"Acroșare strat",snapall:"Acroșare pe toate straturile"},steps:{help:{select_elements:"Selectează entități",select_element:"Selectează entitate",copy:"Creează o nouă copie a entităților selectate",merge:"Dizolvă entitățile",split:"Divizare Entitate",new:"Creează o entitate",edit_table:"Modifică entitățile tabelare",draw_new_feature:"Desenează entitate pe hartă",action_confirm:"Confirmă acțiunea",double_click_delete:"Selectează entitatea de eliminat din hartă",edit_feature_vertex:"Modifică sau adaugă un vertex la entitatea selectată",move:"Mută entitatea selectată",select_feature_to_relation:"Selectează entitate pentru relaționare",show_edit_feature_form:"Arată formularul entității pentru modificări",pick_feature:"Selectează entitățile de modificat din hartă",insert_attributes_feature:"Inserează atributele entității"}},workflow:{steps:{select:"Click pe entitate pentru a o selecta",draw_part:"Desenează o parte nouă",draw_geometry:"Desenați geometria",merge:"Selectează partea de dizolvat",selectSHIFT:"Selectează entități prin desen triunghi apăsând SHIFT",selectDrawBox:"Selectează entități desenând un dreptunghi prin două puncte opuse",selectDrawBoxAtLeast2Feature:"Selectează cel puțin 2 entități prin desenul unui dreptunghi",selectPoint:"Click pe entitate pentru selectare",selectPointSHIFT:"Selectează entități prin desen dreptunghi apăsând SHIFT (multientități) sau prin click pe entitate",selectMultiPointSHIFT:"Selectează entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate",selectMultiPointSHIFTAtLeast2Feature:"Selectează cel puțin 2 entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate",copyCTRL:"Copiază entitățile selectate folosint CTRL+C",selectStartVertex:"Selectează vertexul de start a entităților selectate",selectToPaste:"Selectează punctul unde să lipim entitățile selectate",draw_split_line:"Desenează o linie pentru a diviza entitatea selectată"},title:{steps:"Pași"},next:"Următorul"},messages:{featureslockbyotheruser:"Unele geometrii/înregistrări nu sunt editabile deoarece sunt editate de către alt utilizator",splitted:"Divizat",nosplittedfeature:"Entitate nedivizată",press_esc:"ESC pentru înapoi",online:"Înapoi ONLINE. Acum se pot salva schimbările",offline:"OFFLINE. Schimbările sunt salvate local",delete_feature:"Șterg entitatea selectată?",delete_feature_relations:"Dacă entitatea are relații care trimit la ea, acele relații devin orfane. Sugerăm să vă ocupați de acele elemente înainte să eliminați această entitate.",unlink_relation:"Dorești să eliminați legătura cu relația?",commit_feature:"Rezumatul modificărilor",toolbox_has_relation:"acest strat face parte dintr-o relație",saved:"Datele sunt salvate",saved_local:"Datele s-au salvat local",loading_data:"Datele se încarcă.",saving:"Salvăm datele. Așteptați ...",constraints:{enable_editing:"Pentru a activa Modificare faceți zoom la \nScara de activare 1:"},pdf:"Previzualizarea documentului nu este disponibilă. Click aici ",commit:{header:"Lista cu toate modificările.",header_relation:"Relation",header_add:"Adăugate arată nr. de entități adăugate",header_update_delete:"Modificate și Șterse arată lista de id-uri de entități",add:"Adăugate",delete:"Eliminate",update:"Modificate"},loading_table_data:"Încărcăm tabelul de date ...",copy_and_paste_from_other_layer_mandatory_fields:"Înainte de a salva, este necesar să completați toate câmpurile obligatorii ale entități introduse",no_feature_selected:"Nicio feature selectată",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Selectează relațiile pentru a face legătura cu entitatea curentă.
"},draw_new_feature:"Desenați o nouă feature",draw_or_copy:"sau",copy_feature_from_other_layer:"Copiați feature dintr-un alt layer"},form:{relations:{tooltips:{back_to_father:"Înapoi la modificările entității părinte",add_relation:"Creează și fă legătura unei relații noi",link_relation:"Leagă o relație de entitate",open_relation_tools:"Arată instrumentele pentru relații",unlink_relation:"Elimină legătura la relație"}},buttons:{save:"Inserați/Editați",save_and_back:"Salvează și dă înapoi",save_and_back_table:"Salvează și dă înapoi",cancel:"Ignorați modificările"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],24:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Ett fel uppstod. Nivåerna kan inte redigeras.",some_layers:"Ett fel uppstod. Vissa nivåer kan inte redigeras."},search:"Sökning",editing_changes:"Editing Changes",editing_data:"Nivåerna redigeras",editing_attributes:"Attributen redigeras",relations:"Relationer",edit_relation:"Redigera relationen",back_to_relations:"Tillbaka till relationerna",no_relations_found:"Inga relationer hittades",relation_data:"Relationsuppgifter",relation_already_added:"Relationen har redan lagts till",list_of_relations_feature:"Lista på relationens egenskaper",tooltip:{edit_layer:"Redigera nivån"},toolbox:{title:"Redigera"},table:{edit:"Redigera egenskap",copy:"Skapa en kopia",delete:"Ta bort egenskap"},tools:{copy:"Kopiera egenskaper",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Lägg till del",deletepart:"Ta bort del",merge:"Slå samman egenskaper",split:"Dela upp egenskap",add_feature:"Lägg till egenskap",delete_feature:"Ta bort egenskap",move_feature:"Flytta egenskap",update_vertex:"Uppdatera punktens egenskap",update_feature:"Uppdatera egenskap",update_multi_features:"Ändra attributen för de valda funktionerna",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Välj egenskaper",select_element:"Välj egenskapalitse ominaisuus",copy:"Skapa kopia av valda egenskaper",merge:"Slå samman egenskaper",split:"Dela upp egenskap",new:"Skapa ny egenskap",edit_table:"Ändra egenskaper i tabellen",draw_new_feature:"Piirrä ominaisuus kartalle",action_confirm:"Godkänn funktionen",double_click_delete:"Välj funktionen som du vill ta bort på kartan",edit_feature_vertex:"Ändra punkten eller lägg till punkten till den valda egenskapen",move:"Flytta den valda egenskapen",select_feature_to_relation:"Välj relation",show_edit_feature_form:"Visa egenskapsformuläret för redigering av attribut",pick_feature:"Välj funktion på kartan för att ändras",insert_attributes_feature:"Lägg till egenskapens attribut"}},workflow:{steps:{select:"Välj egenskap",draw_part:"Rita ny del",draw_geometry:"Rita geometri",merge:"Välj egenskap att slå samman",selectSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel.",selectDrawBox:"Rita upp den rektangel inom vilken objekten väljs ",selectDrawBoxAtLeast2Feature:"Rita rektangeln inom vilken minst två objekt är markerade ",selectPoint:"Välj egenskap",selectPointSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.",selectMultiPointSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.",selectMultiPointSHIFTAtLeast2Feature:"Tryck på SKIFT för att välja minst två objekt med en rektangel eller välj en enda egenskap. ",copyCTRL:"CTRL+C, du kan kopiera valda egenskaper.",selectStartVertex:"Visa startpunkten för valda egenskaper.",selectToPaste:"Välj punkt till vilken de valda egenskaperna ska fogas.",draw_split_line:"Rita en linje enligt vilken den valda egenskapen ska uppdelas."},title:{steps:"Skeden"},next:"Nästa"},messages:{featureslockbyotheruser:"Jotkut geometriat/tietueet eivät ole muokattavissa, koska muut käyttäjät muokkaavat niitä",splitted:"Uppdelad",nosplittedfeature:"Egenskapen har inte delats upp",press_esc:"Tryck ESC för att gå tillbaka",online:"Förbindelsen har upprättats. Ändringar kan sparas i databasen.",offline:"Du är i offline-läge. Ändringarna sparas lokalt",delete_feature:"Vill du ta bort den valda egenskapen?",delete_feature_relations:"Om egenskapen saknar bindande relationer blir dessa relationer föräldralösa. Vi rekommenderar att du behandlar dessa relationer innan du lämnar programmet",unlink_relation:"Vill du ta bort relationen?",commit_feature:"Sammanfattning av ändringar",toolbox_has_relation:"detta lager är en del av en relation",saved:"Uppgifterna sparades",saved_local:"Uppgifterna sparades lokalt.",loading_data:"Uppgifterna laddas",saving:"Uppgifterna sparas. Vänta...",constraints:{enable_editing:"Zooma in för att börja använda redigeringsverktyg \nAktivering skala 1:"},pdf:"Förhandsgranskning av dokument är inte tillgänglig. Tryck här",commit:{header:"Följande lista visar alla ändringar.",header_relation:"Relation",header_add:"Tillagda visar antalet egenskaper som lagts till",header_update_delete:"Redigerad och Borttagen Visa en lista på egenskapernas id",add:"har lagts till",delete:"Borttagen",update:"Redigerad"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Välj relation för länkning till egenskap som ska redigeras.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Skapa och länka ny relation",link_relation:"Foga relationen till denna egenskap",open_relation_tools:"Visa relationsverktyg",unlink_relation:"Ta bort relation"}},buttons:{save:"Infoga/Redigera",save_and_back:"Spara och gå tillbaka",save_and_back_table:"Spara och gå tillbaka",cancel:"Ignorera ändringar"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],25:[function(F,i,r){var x=Object.assign||function(e){for(var t=1;t{var t,i,e,n,r,a,o,s,l=d,u=B;if("function"!=typeof u&&null!==u)throw new TypeError("Super expression must either be null or a function, not "+typeof u);function d(){var t;if(this instanceof d)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,(d.__proto__||Object.getPrototypeOf(d)).call(this,{name:"editing",i18n:g.default,fontClasses:[{name:"measure",className:"fas fa-ruler-combined"},{name:"magnete",className:"fas fa-magnet"},{name:"clipboard",className:"fas fa-clipboard"}]}))).state={open:!1,toolboxes:[],_toolboxes:[],toolboxselected:null,showselectlayers:!0,message:null,relations:[],sessions:{},layers_in_error:!1,formComponents:{},subscribers:{},constraints:{toolboxes:{},showToolboxesExcluded:!0},featuresOnClose:{},uniqueFieldsValues:{},saveConfig:{mode:"default",modal:!1,messages:void 0,cb:{done:function(){},error:function(){}}},editableLayers:{},events:{"start-editing":{},"show-relation-editing":{},layer:{start_editing:{before:{},after:{}}}},show_errors:!1,editFeatureKey:void 0,panel:null,currentLayout:h.getCurrentLayoutName(),unwatchLayout:(new Vue).$watch(function(){return O.gui.layout.__current},function(e){return t.state.currentLayout=e!==t.getName()?e:t.state.currentLayout}),onMapControlToggled:function(e){e=e.target;e.isToggled()&&e.isClickMap()&&t.state.toolboxselected&&t.state.toolboxselected.getActiveTool()&&t.state.toolboxselected.stopActiveTool()}},t.setService(Object.assign(new D,{state:t.state,config:t.config,getSession:t.getSession.bind(t),getFeature:t.getFeature.bind(t),subscribe:t.subscribe.bind(t),unsubscribe:t.unsubscribe.bind(t),fireEvent:t.fireEvent.bind(t),undo:t.undo.bind(t),redo:t.redo.bind(t),getEditingLayer:t.getEditingLayer.bind(t),addToolBox:t.addToolBox.bind(t),runEventHandler:t.runEventHandler.bind(t),resetDefault:t.resetDefault.bind(t),resetAPIDefault:t.resetAPIDefault.bind(t),getLayers:t.getLayers.bind(t),getLayerById:t.getLayerById.bind(t),getToolBoxById:t.getToolBoxById.bind(t),getSessionById:t.getSessionById.bind(t),setApplicationEditingConstraints:t.setApplicationEditingConstraints.bind(t),getToolBoxes:t.getToolBoxes.bind(t),getEditableLayers:t.getEditableLayers.bind(t),stop:t.stop.bind(t),saveChange:t.saveChange.bind(t),commit:t.commit.bind(t),undoRedoLayerUniqueFieldValues:t.undoRedoLayerUniqueFieldValues.bind(t),undoRedoRelationUniqueFieldValues:t.undoRedoRelationUniqueFieldValues.bind(t),stopEditing:t.stopEditing.bind(t),startEditing:t.startEditing.bind(t),addLayerFeature:t.addLayerFeature.bind(t)})),G.getService("map").on("mapcontrol:toggled",t.state.onMapControlToggled),t._init(),t;throw new TypeError("Cannot call a class as a function")}return l.prototype=Object.create(u&&u.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),u&&(Object.setPrototypeOf?Object.setPrototypeOf(l,u):l.__proto__=u),c(d,[{key:"_init",value:(s=R(function*(){var i,d=this;b.getLayers({EDITABLE:!0}).length&&(this.setHookLoading({loading:!0}),this.service.setApi({api:{getSession:this.getSession.bind(this),getFeature:this.getFeature.bind(this),subscribe:this.subscribe.bind(this),unsubscribe:this.unsubscribe.bind(this),getToolBoxById:this.getToolBoxById.bind(this),addNewFeature:p.createFeature,commitChanges:this.commit.bind(this),setApplicationEditingConstraints:this.setApplicationEditingConstraints.bind(this),getMapService:function(){return G.getService("map")},updateLayerFeature:V,deleteLayerFeature:V,addLayerFeature:this.addLayerFeature.bind(this),hidePanel:this.hideEditingPanel.bind(this),resetDefault:this.resetAPIDefault.bind(this),startEditing:this.startEditing.bind(this),stopEditing:this.stopEditing.bind(this),showPanel:this.showPanel.bind(this),setSaveConfig:this.setSaveConfig.bind(this),addFormComponents:this.addFormComponents.bind(this)}}),S.addLayersStore(new w({id:"editing",queryable:!1})),this.state.editableLayers={},this.state._toolboxes=[],this.state.toolboxes=[],(yield Promise.allSettled(b.getLayers({EDITABLE:!0},{TOC_ORDER:!0}).map(function(e){return e.getLayerForEditing({vectorurl:d.config.vectorurl,project_type:d.config.project_type})}))).forEach(function(e){var t=e.status,u=e.value;"fulfilled"!==t?d.state.layers_in_error=!0:(d.state.editableLayers[u.getId()]=u,d.state.uniqueFieldsValues[u.getId()]={},u.getEditingFields().filter(function(e){return e.input&&"select_autocomplete"===e.input.type&&!e.input.options.filter_expression&&!e.input.options.usecompleter}).forEach(function(l){return["start-editing","show-relation-editing"].forEach(function(e){var t=u.getId();d.state.events[e][t]=d.state.events[e][t]||[],d.state.events[e][t].push(R(function*(){var t=l.input.options,e=(t.loading.state="loading",t.values=[],t.layer_id&&b.getLayerById(t.layer_id)),i=[void 0,null].includes(t.filter_fields||[])||0===(t.filter_fields||[]).length;try{if(t.relation_reference&&i){var n,r=yield u.getFilterData({fformatter:l.name});if(r&&r.data)return(n=t.values).push.apply(n,L(r.data.map(function(e){var e=f(e,2),t=e[0];return{key:e[1],value:t}}))),t.loading.state="ready",d.fireEvent("autocomplete",{field:l,data:[r.data]}),t.values}if(e){var a,o=yield(0,C.promisify)(e.getDataTable({ordering:t.orderbyvalue?t.value:t.key}));if(o&&o.features)return(a=t.values).push.apply(a,L((o.features||[]).map(function(e){return{key:e.properties[t.value],value:e.properties[t.key]}}))),t.loading.state="ready",d.fireEvent("autocomplete",{field:l,features:o.features}),t.values}var s=[];return t.loading.state="ready",d.fireEvent("autocomplete",{field:l,features:s}),s}catch(e){return t.loading.state="error",Promise.reject(e)}}))})}),d.state.sessions[u.getId()]=null)}),i=0,this.getLayers().forEach(function(e){var t=e.getId();b.getLayerById(t).getRelations().getArray().filter(function(e){return"ONE"===e.getType()&&t===e.getFather()}).forEach(function(t){var i=void 0!==d.getLayerById(t.getChild());d.getLayerById(t.getFather()).getEditingFields().filter(function(e){return e.vectorjoin_id&&e.vectorjoin_id===t.getId()}).forEach(function(e){e.editable=e.editable&&i})}),e.getColor()||e.setColor(e.isGeoLayer()?["#C43C39","#d95f02","#91522D","#7F9801","#0B2637","#8D5A99","#85B66F","#8D2307","#2B83BA","#7D8B8F","#E8718D","#1E434C","#9B4F07","#1b9e77","#FF9E17","#7570b3","#204B24","#9795A3","#C94F44","#7B9F35","#373276","#882D61","#AA9039","#F38F3A","#712333","#3B3A73","#9E5165","#A51E22","#261326","#e4572e","#29335c","#f3a712","#669bbc","#eb6841","#4f372d","#cc2a36","#00a0b0","#00b159","#f37735","#ffc425"][i++%40]:"#fff")}),S.getLayersStore("editing").addLayers(this.getLayers()),this.getLayers().forEach(function(e){return d.addToolBox(new y.ToolBox(e,[].concat(L(e.getChildren()),L(e.getFathers())).filter(function(e){return d.getLayerById(e)})))}),yield G.isReady(),this._setupGUI(),this.setHookLoading({loading:!1}),this.setReady(!0))}),function(){return s.apply(this,arguments)})},{key:"_setupGUI",value:(o=R(function*(){var h=this;this.registerPlugin(this.config.gid)&&!1!==this.config.visible&&0!==this.getLayers().filter(function(e){return e.config.editing.visible}).length&&(this.state.editFeatureKey=G.getService("queryresults").onafter("editFeature",R(function*(){var e=0\n {var n,t,e,i,r,a=c,o=M;if("function"!=typeof o&&null!==o)throw new TypeError("Super expression must either be null or a function, not "+typeof o);function c(e){var a,t,i,n,r,o,p,s=1{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)),u=(l=[void 0,D.LayerTypes.VECTOR].includes(e.getType()))&&e.getGeometryType(),r=l&&j.isPointGeometryType(u),t=l&&j.isLineGeometryType(u),i=l&&j.isPolygonGeometryType(u),n=D.LayerTypes.TABLE===e.getType(),u=u&&j.isMultiGeometry(u),r=l&&(r?"Point":t?"Line":"Polygon"),a._start=!1,a.constraints={filter:null,show:null,tools:[]},a._constrains={commit:!1,undo:!1,redo:!1},a._states=[],a._history={id:e.getId(),state:new Proxy({},{get:function(e,t){return a._constrains[t]}}),add:a.__add.bind(a),undo:a.__undo.bind(a),clear:a.__clearHistory.bind(a),redo:a.__redo.bind(a),getState:a.__getState.bind(a),getLastState:a.__getLastHistoryState.bind(a),commit:a.__commit.bind(a)},a._session=Object.assign(new M({setters:{start:function(){return(0,I.$promisify)(a.__startSession(0"+B("editing.messages.delete_feature")+'
'+(s.layer.getChildren().length&&(0,h.getRelationsInEditing)({layerId:o,relations:s.layer.getRelations().getArray()}).length?B("editing.messages.delete_feature_relations"):"")+"
",function(e){var t;(e?(r.getSource().removeFeature(a),(t=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").state.uniqueFieldsValues[o])&&Object.keys(a.getProperties()).filter(function(e){return void 0!==t[e]}).forEach(function(e){return t[e].delete(a.get(e))}),i):n)(s)})});return s.features&&(0,_.setAndUnsetSelectedFeaturesStyle)({promise:(0,I.$promisify)(L(function*(){try{return yield e}catch(e){return Promise.reject(e)}})),inputs:s,style:t.selectStyle}),e}))}})]})},(t||i)&&o.includes("change_feature")&&{id:"movevertex",type:["change_feature"],name:"editing.tools.update_vertex",icon:"moveVertex.png",op:new d.Workflow({layer:e,type:"modifygeometryvertex",helpMessage:"editing.tools.update_vertex",steps:[new C.PickFeatureStep({layer:e}),new g.Step({run:b.chooseFeature}),new C.ModifyGeometryVertexStep({tools:["snap","measure"]})]})},l&&o.includes("change_attr_feature")&&{id:"editmultiattributes",type:["change_attr_feature"],name:"editing.tools.update_multi_features",icon:"multiEditAttributes.png",op:new d.Workflow({layer:e,type:"editmultiattributes",helpMessage:"editing.tools.update_multi_features",registerEscKeyEvent:!0,runOnce:!0,steps:[new C.SelectElementsStep({type:"multiple",steps:{select:{description:"editing.workflow.steps."+(O.ismobile?"selectDrawBoxAtLeast2Feature":"selectMultiPointSHIFTAtLeast2Feature"),buttonnext:{disabled:!0,condition:function(e){e=e.features;return(void 0===e?[]:e).length<2},done:function(){d.Workflow.Stack.getCurrent().clearUserMessagesSteps()}},dynamic:0,done:!1}}}),new C.OpenFormStep({multi:!0})]})},l&&o.includes("change_feature")&&{id:"movefeature",type:["change_feature"],name:"editing.tools.move_feature",icon:"move"+r+".png",op:new d.Workflow({layer:e,type:"movefeature",helpMessage:"editing.tools.move_feature",steps:[new C.PickFeatureStep,new g.Step({run:b.chooseFeature}),new C.MoveFeatureStep]})},(p=[],l&&o.includes("add_feature")&&{id:"copyfeaturesfromotherlayer",type:["add_feature"],name:"editing.tools.pastefeaturesfromotherlayers",icon:"pasteFeaturesFromOtherLayers.png",enable:(()=>{function i(){function t(e){return e&&(0,T.isSameBaseGeometryType)(a,e)&&(a===e||j.isMultiGeometry(a)||!j.isMultiGeometry(e))}return p=[].concat(P(A.getLayers({GEOLAYER:!0,BASELAYER:!1}).filter(function(e){return r!==e.getId()&&t(e.getGeometryType())})),P(n.getExternalLayers({type:"vector"}).filter(function(e){return t(e.geometryType)}))).map(function(e,t){return{id:(e.state||{id:e.id}).id,name:(e.state||{name:e.name}).name,external:e.external||!1,selected:0===t}}),o.tool.enabled=0{var t=(0,w.cloneFeature)(u[e],l);r?t.getGeometry().translate(r.x,r.y):(e=t.getGeometry().getCoordinates(),e=(0,F.getDeltaXY)({x:i,y:n,coordinates:e}),t.getGeometry().translate(e.x,e.y)),l.getEditingMediaFields({}).forEach(function(e){return t.set(e,null)}),a.push((0,k.evaluateExpressionFields)({inputs:p,context:y,feature:t}))})(o);Promise.allSettled(a).then(function(e){return e.forEach(function(e){e.status;var e=e.value,t=(0,S.getNotEditableFieldsNoPkValues)({layer:l,feature:e}),i=g.pushAdd(f,e);Object.entries(t).length&&Object.entries(t).forEach(function(e){var e=v(e,2),t=e[0];return i.set(t,e[1])}),c.addFeature(i),p.features.push(i)})}).finally(function(){h.setUserMessageStepDone("to"),s(p)})}}),h.addInteraction(new ol.interaction.Snap({source:c,edge:!1}))});return(0,_.setAndUnsetSelectedFeaturesStyle)({promise:(0,I.$promisify)(L(function*(){try{return yield e}catch(e){return Promise.reject(e)}})),inputs:p,style:h.selectStyle}),e}))}})].filter(Boolean),registerEscKeyEvent:!0})},l&&o.includes("add_feature")&&o.includes("change_feature")&&{id:"addPart",type:["add_feature","change_feature"],name:"editing.tools.addpart",icon:"addPart.png",visible:u,op:new d.Workflow({layer:e,type:"addparttomultigeometries",helpMessage:"editing.tools.addpart",runOnce:!0,steps:[new C.PickFeatureStep({steps:{select:{description:"editing.workflow.steps.select",done:!1}}}),new g.Step({run:b.chooseFeature,help:"editing.steps.help.select_element"}),new C.AddFeatureStep({layer:e,help:"editing.steps.help.select_element",add:!1,steps:{addfeature:{description:"editing.workflow.steps.draw_part",done:!1}},tools:["snap","measure"]}),new g.Step({layer:e,help:"editing.steps.help.select_element",run:q.addPartToMultigeometries})],registerEscKeyEvent:!0})},l&&o.includes("change_feature")&&{id:"deletePart",type:["change_feature"],name:"editing.tools.deletepart",icon:"deletePart.png",visible:u,op:new d.Workflow({layer:e,type:"deletepartfrommultigeometries",steps:[new C.PickFeatureStep,new g.Step({run:b.chooseFeature}),new g.Step({layer:e,run:function(y,h){var v=this;return(0,I.$promisify)(new Promise(function(n,e){var t=y.layer,r=y.layer.getEditingLayer(),a=t.getId(),o=h.session,t=y.features,i=y.coordinate,s=t[0],l=s.clone(),u=s.getGeometry(),d=[];switch(u.getType()){case R.MULTIPOLYGON:d=u.getPolygons();break;case R.MULTILINE:case R.MULTILINESTRING:d=u.getLineStrings();break;case R.MULTIPOINT:d=u.getPoints()}var c=new ol.source.Vector({features:d.map(function(e){return new ol.Feature(e)})}),f=v.getMap(),g=f.getPixelFromCoordinate(i),p=new ol.layer.Vector({source:c,style:r.getStyle()});f.addLayer(p),f.once("postrender",function(){var i=!1;f.forEachFeatureAtPixel(g,function(e){var t;i||(c.removeFeature(e),c.getFeatures().length?(t=(e=c.getFeatures().map(function(e){return e.getGeometry()}))[0]&&e[0].getType(),s.setGeometry(t&&new ol.geom["Multi"+t](e.map(function(e){return e.getCoordinates()}))),(0,k.evaluateExpressionFields)({inputs:y,context:h,feature:s}).finally(function(){o.pushUpdate(a,s,l),n(y)})):(r.getSource().removeFeature(s),o.pushDelete(a,s),n(y)),i=!0)},{layerFilter:function(e){return e===p},hitTolerance:1}),f.removeLayer(p),p=null})}))}})],helpMessage:"editing.tools.deletepart"})},(t||i)&&o.includes("change_feature")&&{id:"splitfeature",type:["change_feature"],name:"editing.tools.split",icon:"splitFeatures.png",op:new d.Workflow({layer:e,type:"splitfeature",runOnce:!0,steps:[new C.SelectElementsStep({layer:e,help:"editing.steps.help.split",type:O.ismobile?"single":"multiple",steps:{select:{description:"editing.workflow.steps."+(O.ismobile?"selectPoint":"selectPointSHIFT"),done:!1}}},!0),new g.Step({layer:e,help:"",steps:{draw_line:{description:"editing.workflow.steps.draw_split_line",done:!1}},run:function(s,l){var i=this;return(0,I.$promisify)(L(function*(){var e=s.layer.getEditingLayer().getSource(),t=new Promise(function(a,o){var t;i.addInteraction(new ol.interaction.Draw({type:"LineString",features:new ol.Collection,freehandCondition:ol.events.condition.never}),{drawend:(t=L(function*(e){for(var i=!1,n=(0,Y.splitFeatures)(s.features,e.feature),t=n.length,r=0;rfunction(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})})(function*(){var e,t=void 0,i=void 0;1function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})})(function*(){try{var e;return 1!==t.features.length&&(e=yield(0,n.chooseFeatureFromFeatures)({features:t.features,inputs:t}),t.features=[e]),t}catch(e){return Promise.reject(e)}}))};var n=e("../utils/chooseFeatureFromFeatures"),r=e("../utils/promisify")},{"../utils/chooseFeatureFromFeatures":34,"../utils/promisify":58}],34:[function(s,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.chooseFeatureFromFeatures=function(e){var t=e.features,a=void 0===t?[]:t,o=e.inputs;return new Promise(function(e,t){var i=[],n=new(Vue.extend(s("../components/ChooseFeatureToEdit.vue")))({features:Array.isArray(a)?a:[],feature:i,attributes:o.layer.getEditingFields().map(function(e){return{name:e.name,label:e.label}})}),r=g3wsdk.gui.GUI.showModalDialog({title:l("editing.modal.tools.copyfeaturefromprojectlayer.title"),className:"modal-left",closeButton:!1,message:n.$mount().$el,buttons:{cancel:{label:"Cancel",className:"btn-danger",callback:function(){t()}},ok:{label:"Ok",className:"btn-success",callback:function(){e(i[0])}}}});r.find("button.btn-success").prop("disabled",!0),n.$watch("feature",function(e){return r.find("button.btn-success").prop("disabled",null===e)})})};var l=g3wsdk.core.i18n.tPlugin},{"../components/ChooseFeatureToEdit.vue":3}],35:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.cloneFeature=function(e,t){e=e.cloneNew(),t=t&&t.getEditingFields().find(function(e){return e.pk});t&&!1===t.editable&&e.set(t.name,null);return e}},{}],36:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.convertToGeometry=function(){var e=0(t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e))({},r.name,r.value)),relations:[n]}),t.un("featuresLockedByOtherUser",i),void 0===u)?e.getLayerById(o).getEditingSource().readFeatures().find(function(e){return r.value===e.get(s)}):u))try{var d=g.getLayerById(o),c=(yield p.getData("search:features",{inputs:{layer:d,formatter:0,filter:g3wsdk.core.utils.createFilterFormInputs({layer:d,search_endpoint:"api",inputs:[{attribute:s,value:r.value}]}),search_endpoint:"api"},outputs:!1})).data;c&&c[0]&&1===c[0].features.length&&(l=!0,u=c[0].features[0])}catch(e){}return{feature:u,locked:l}},r=function(){var s=n.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})},function(e){return r.apply(this,arguments)});var n,r,f=e("../utils/getLayersDependencyFeatures");var g=g3wsdk.core.catalog.CatalogLayersStoresRegistry,p=g3wsdk.core.data.DataRouterService},{"../utils/getLayersDependencyFeatures":45}],49:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.getRelationFieldsFromRelation=function(){var e=0{e=function*(t){try{t.resolve(yield i instanceof Promise?i:i())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}],59:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.setAndUnsetSelectedFeaturesStyle=function(){function e(){var t=(0,l.setFeaturesSelectedStyle)(a,r);(0,s.promisify)(i).finally(function(){a.flat().forEach(function(e){return e.setStyle(t)})})}var t=0({originalStyle:e.getStyle(),selectedStyle:e.getGeometry()?g3wsdk.core.geoutils.createSelectedStyle({geometryType:e.getGeometry().getType()}):e.getStyle()}))(e[0]),n=i.originalStyle,r=i.selectedStyle,e.forEach(function(e){return e.setStyle(t||r)}),n}}},{}],61:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0});var n,r,a=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var i=t,n=[],r=!0,t=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!i||n.length!==i);r=!0);}catch(e){t=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(t)throw a}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")};i.setLayerUniqueFieldValues=(n=function*(n){var r=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing");return yield new Promise(function(t,i){var e=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").getLayerById(n);e.getWidgetData({type:"unique",fields:Object.values(e.getEditingFields().filter(function(e){return!(e.pk&&!1===e.editable)&&("unique"===e.input.type||e.validate.unique)})).map(function(e){return e.name}).join()}).then(function(e){Object.entries(e.data||{}).forEach(function(e){var e=a(e,2),t=e[0];r.state.uniqueFieldsValues[n][t]=new Set(e[1])}),t(r.state.uniqueFieldsValues[n][name])}).fail(function(e){i(e)})}),r.state.uniqueFieldsValues[n]},r=function(){var s=n.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})},function(e){return r.apply(this,arguments)});g3wsdk.core.catalog.CatalogLayersStoresRegistry},{}],62:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.splitFeatures=function(e,n){return(e||[]).reduce(function(e,t){var i=r({splitfeature:n,feature:t});return 1\n \n \n
\n \n \n ',name:"Saveall",props:{update:{type:Boolean},valid:{type:Boolean}},data:function(){return{enabled:x.Workflow.Stack._workflows.slice(0,x.Workflow.Stack.getLength()-1).every(function(e){e=(e.getContext().service instanceof Y?e.getContext().service.getState():{}).valid;return e||void 0===e})}},computed:{disabled:function(){return!this.enabled||!(this.valid&&this.update)}},methods:{saveAll:(l=I(function*(){P.setLoadingContent(!0),P.disableContent(!0),yield Promise.allSettled([].concat(E(x.Workflow.Stack._workflows)).reverse().filter(function(e){return"function"==typeof e.getLastStep()._saveAll}).map(function(r){return new Promise((t=I(function*(e){var t,i=r.getLastStep(),n=r.getContext().service.state.fields.filter(function(e){return!i._multi||null!==e.value});if(0!==n.length)return yield x.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies(),i._features.forEach(function(e){return i.getInputs().layer.setFieldsWithValues(e,n)}),t=i._features.map(function(e){return e.clone()}),i._isContentChild&&(i.getInputs().relationFeatures={newFeatures:t,originalFeatures:i._originalFeatures}),yield i.fireEvent("saveform",{newFeatures:t,originalFeatures:i._originalFeatures}),t.forEach(function(e,t){return i.getContext().session.pushUpdate(i.layerId,e,i._originalFeatures[t])}),yield(0,w.handleRelation1_1LayerFields)({layerId:i.layerId,features:t,fields:n,task:i}),i.fireEvent("savedfeature",t),i.fireEvent("savedfeature_"+i.layerId,t),i.getContext().session.save(),e()}),function(e){return t.apply(this,arguments)}));var t}));try{yield(0,S.promisify)(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").service.commit({modal:!1})),[].concat(E(x.Workflow.Stack._workflows)).reverse().filter(function(e){return"function"==typeof e.getLastStep()._saveAll}).forEach(function(e){var n=e.getContext().service,t=(n.setUpdate(!1,{force:!1}),n.feature);t.isNew()&&(t.state.new=!1,n.force.update=!1),Object.entries(e.getInputs().layer.getEditingSource().readFeatures().find(function(e){return e.getUid()===t.getUid()}).getProperties()).forEach(function(e){var e=p(e,2),t=e[0],e=e[1],i=n.getFields().find(function(e){return t===e.name});i&&(i.value=i._value=e)})})}catch(e){}P.setLoadingContent(!1),P.disableContent(!1)}),function(){return l.apply(this,arguments)})}},buttons:[{id:"save",title:f._isContentChild?x.Workflow.Stack.getParent().getBackButtonLabel()||"plugins.editing.form.buttons.save_and_back":"plugins.editing.form.buttons.save",type:"save",class:"btn-success",cbk:(s=I(function*(t){var i;0===(t=f._multi?t.filter(function(e){return null!==e.value}):t).length?P.setModal(!1):(i=[],P.setLoadingContent(!0),P.disableContent(!0),yield x.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies(),P.setLoadingContent(!1),P.disableContent(!1),f._features.forEach(function(e){d.layer.setFieldsWithValues(e,t),i.push(e.clone())}),f._isContentChild&&(d.relationFeatures={newFeatures:i,originalFeatures:f._originalFeatures}),yield f.fireEvent("saveform",{newFeatures:i,originalFeatures:f._originalFeatures}),i.forEach(function(e,t){return c.session.pushUpdate(f.layerId,e,f._originalFeatures[t])}),yield(0,w.handleRelation1_1LayerFields)({layerId:f.layerId,features:i,fields:t,task:f}),P.setModal(!1),f.fireEvent("savedfeature",i),f.fireEvent("savedfeature_"+f.layerId,i),f._isContentChild&&x.Workflow.Stack.getParents().forEach(function(e){return e.getContextService().setUpdate(!0,{force:!0})})),e(d)}),function(e){return s.apply(this,arguments)})},{id:"cancel",title:"plugins.editing.form.buttons.cancel",type:"cancel",class:"btn-danger",eventButtons:{update:{false:{id:"close",title:"close",type:"cancel",class:"btn-danger"}}},cbk:function(){f._isContentChild||(P.setModal(!1),f.fireEvent("cancelform",d.features)),t(d)}}]})).handleRelation=(u=I(function*(e){f._multi?P.showUserMessage({type:"info",message:"plugins.editing.errors.editing_multiple_relations",duration:3e3,autoclose:!0}):(P.setLoadingContent(!0),yield(0,V.setLayerUniqueFieldValues)(d.layer.getRelationById(e.relation.name).getChild()),o.setCurrentComponentById(e.relation.name),P.setLoadingContent(!1))}),function(e){return u.apply(this,arguments)}),o.addComponents([].concat(E(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").state.formComponents[a]||[]),E((0,G.getRelationsInEditingByFeature)({layerId:a,relations:f._multi?[]:d.layer.getRelations().getArray().filter(function(e){return"ONE"!==e.getType()&&e.getFather()===a}),feature:!f._multi&&d.features[d.features.length-1]}).map(function(e){var t=e.relation,i=e.relations;return{title:"plugins.editing.edit_relation",name:t.name,id:t.id,header:!1,component:Vue.extend({mixins:[g("../components/FormRelation.vue")],name:"relation_"+Date.now(),data:function(){return{layerId:a,relation:t,relations:i}}})}})))),f.fireEvent("openform",{layerId:f.layerId,session:c.session,feature:f._originalFeature,formService:o}),x.Workflow.Stack.getCurrent()&&x.Workflow.Stack.getCurrent().setContextService(o),(0,B.listenRelation1_1FieldChange)({layerId:f.layerId,fields:n}).then(function(e){return f._unwatchs=e}),f.disableSidebar(!0))}),function(e,t){return i.apply(this,arguments)}));return(0,S.$promisify)(I(function*(){return(0,m.setAndUnsetSelectedFeaturesStyle)({promise:(0,S.$promisify)(e),inputs:d,style:f.selectStyle}),e}))}},{key:"stop",value:function(){this.disableSidebar(!1);var e=!1===this._isContentChild||2===x.Workflow.Stack.getLength()&&x.Workflow.Stack.getParent().isType("edittable"),e=(e&&P.getService("map").disableClickMapControls(!1),e&&x.Workflow.Stack.getCurrent().getContextService());e&&!1===this._isContentChild&&e.setUpdate(!1,{force:!1}),P.closeForm({pop:this.push||this._isContentChild}),g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").resetCurrentLayout(),this.fireEvent("closeform"),this.fireEvent("closeform_"+this.layerId),this.layerId=null,this._unwatchs.forEach(function(e){return e()}),this._unwatchs=[]}}]),R);function R(){var e=0{e=function*(t){try{t.resolve(yield i instanceof Promise?i:i())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}]},{},[25]); +(()=>{var e=window&&window.initConfig&&window.initConfig.group&&window.initConfig.group.plugins;e&&(e.editing=Object.assign(e.editing||{},{version:"3.9.0-alpha.0",hash:"e59fd9e",branch:"dev"}))})(),function n(r,a,o){function s(t,e){if(!a[t]){if(!r[t]){var i="function"==typeof require&&require;if(!e&&i)return i(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}i=a[t]={exports:{}},r[t][0].call(i.exports,function(e){return s(r[t][1][e]||e)},i,i.exports,n,r,a,o)}return a[t].exports}for(var l="function"==typeof require&&require,e=0;eli[data-v-90b32778]{margin-bottom:8px}ins[data-v-90b32778]{background-color:lime;text-decoration-line:none}del[data-v-90b32778]{background-color:tomato}dl[data-v-90b32778]{display:grid;grid-template:auto/.5fr 1fr;margin-bottom:0;word-break:break-all}dt[data-v-90b32778]{background:#fee}dd[data-v-90b32778]{background:#f1f2f4}dd[data-v-90b32778],dt[data-v-90b32778]{margin:0;padding:.3em .5em;border-top:1px solid #fff}");function o(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),r=e("../utils/areCoordinatesEqual"),a=e("../utils/getFeatureTableFieldValue"),i.default={name:"changes",props:{commits:{type:Object,required:!0},layer:{type:Object,required:!0},relation:{type:Boolean,default:!1}},data:function(){return{features:this.layer.readFeatures(),efeatures:this.layer.readEditingFeatures()}},methods:{getFormattedValue:function(e,t){if(e)return"geometry"===t&&e.get(t)?"("+e.get(t).getFlatCoordinates().length/2+")":(0,a.getFeatureTableFieldValue)({layerId:this.layer.getId(),feature:e,property:t})},getValue:function(e,t){return this.getFormattedValue(this.getFeature(e),t)},getEditingValue:function(e,t){return this.getFormattedValue(this.getEditingFeature(e),t)},hasValue:function(e,t){var i=this.getFeature(e),e=this.getEditingFeature(e);return!(i&&e&&null===i.get(t)&&null===e.get(t)||i&&!e&&null===i.get(t))},getId:function(e){return e.id||e},getEditingFeature:function(t){var i=this;return this.efeatures.find(function(e){return i.getId(t)===e.getId()})},getFeature:function(t){var i=this;return this.features.find(function(e){return i.getId(t)===e.getId()})},getType:function(e){e=this.getEditingFeature(e)||this.getFeature(e);return e&&e.getGeometry&&e.getGeometry()?e.getGeometry().getType():""},isEdited:function(e,t){var i=this.getFeature(e),n=this.getEditingFeature(e);return![i,n].includes(void 0)&&(this.getType(e)&&"geometry"===t?!(0,r.areCoordinatesEqual)({feature:i,coordinates:n.get(t).getCoordinates()}):n.get(t)!==i.get(t))},getAttrs:function(e){e=this.getEditingFeature(e)||this.getFeature(e);return Object.entries(e?e.getProperties():{}).sort(function(e,t){return e[0]>t[0]})},getLayerById:function(e){return g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").service.getLayerById(e)}},mounted:(n=o(function*(){this.$refs.value.filter(function(e){return!e.textContent}).forEach(function(e){return e.innerHTML="<empty>"})}),function(){return n.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",[i.relation?n("h4",{directives:[{name:"t-plugin",rawName:"v-t-plugin:pre",value:"editing.messages.commit.header_relation",expression:"'editing.messages.commit.header_relation'",arg:"pre"}],staticClass:"skin-color g3w-long-text",staticStyle:{"font-weight":"bold",margin:"15px 0"}},[i._v(": "+i._s(i.layer.getName()))]):i._e(),i._v(" "),i._l(Object.keys(i.commits).filter(function(e){return i.commits[e].length}),function(e){return[n("h4",{directives:[{name:"t-plugin",rawName:"v-t-plugin:pre",value:"editing.messages.commit."+e,expression:"`editing.messages.commit.${c}`",arg:"pre"}]},[i._v(" ("+i._s(i.commits[e].length)+") ")]),i._v(" "),n("divider"),i._v(" "),n("ul",i._l(i.commits[e],function(t){return n("li",[n("details",[n("summary",[i._v(i._s(i.getType(t))+" #"+i._s(i.getId(t)))]),i._v(" "),i._l(i.getAttrs(t),function(e){e=e[0];return[i.hasValue(t,e)?n("dl",[n("dt",[i._v(i._s(e)+":")]),i._v(" "),n("dd",[i.isEdited(t,e)?[n("del",{ref:"value",refInFor:!0},[i._v(i._s(i.getValue(t,e)))]),i._v(" ← "),n("ins",{ref:"value",refInFor:!0},[i._v(i._s(i.getEditingValue(t,e)))])]:n("span",{ref:"value",refInFor:!0},[i._v(i._s(i.getEditingValue(t,e)||i.getValue(t,e)))]),i._v(" "),"geometry"===e?n("i",[n("code",[i._v("")])]):i._e()],2)]):i._e()]})],2)])}),0)]}),i._v(" "),i._l(Object.entries(i.commits.relations),function(e){var t=e[0],e=e[1];return n("changes",{attrs:{commits:{add:e.add,update:e.update,delete:e.delete,relations:e.relations},relation:!0,layer:i.getLayerById(t)}})})],2)},e.staticRenderFns=[],e._scopeId="data-v-90b32778"},{"../utils/areCoordinatesEqual":31,"../utils/getFeatureTableFieldValue":43,"vueify/lib/insert-css":1}],3:[function(e,t,i){e("vueify/lib/insert-css").insert(".choose-and-zoom-to-feature[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between}#editing-layers-choose-feature .editing-choose-feature-radio-input[data-v-3c5d6465]{align-items:center;padding:5px;position:relative;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.ztf[data-v-3c5d6465]{padding-left:3px;font-size:1.3em;cursor:pointer;margin-top:10px}.magic-radio+label[data-v-3c5d6465]{color:transparent}.feature-attributes[data-v-3c5d6465]{overflow-x:auto;display:flex}.feature-attributes>div[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between;padding:5px}.f-attr[data-v-3c5d6465]{font-weight:700;margin-bottom:10px}.f-val[data-v-3c5d6465]{align-self:start;white-space:nowrap}");Object.defineProperty(i,"__esModule",{value:!0}),n=g3wsdk.gui.GUI,i.default={name:"choosefeature",data:function(){return{feature:this.$options.feature}},methods:{selectFeature:function(e){this.feature.splice(0),this.feature.push(e)},getAttributesFeature:function(e){var t=e.getProperties();return this.$options.attributes.map(function(e){return{attribute:e.label,value:t[e.name]}})},zoomToFeature:function(e){n.getService("map").zoomToFeatures([e],{highlight:!0,duration:1e3})}},mounted:function(){n.closeContent()}},t.exports.__esModule&&(t.exports=t.exports.default);var n,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:"editing-layers-choose-feature"}},i._l(i.$options.features,function(t,e){return n("div",{staticClass:"editing-choose-feature-radio-input"},[n("section",{staticClass:"choose-and-zoom-to-feature"},[n("div",[n("input",{staticClass:"magic-radio",attrs:{id:"choose_feature_"+e,name:"radio",type:"radio"},on:{click:function(e){return e.stopPropagation(),i.selectFeature(t)}}}),i._v(" "),n("label",{attrs:{for:"choose_feature_"+e}},[i._v("id")])]),i._v(" "),n("div",{staticClass:"ztf skin-color",class:i.g3wtemplate.font.marker,on:{click:function(e){return e.stopPropagation(),i.zoomToFeature(t)}}})]),i._v(" "),n("section",{staticClass:"feature-attributes"},i._l(i.getAttributesFeature(t),function(e){var t=e.attribute,e=e.value;return n("div",[n("span",{staticClass:"f-attr"},[i._v(i._s(t))]),i._v(" "),n("span",{staticClass:"f-val"},[i._v(i._s(e))])])}),0)])}),0)},e.staticRenderFns=[],e._scopeId="data-v-3c5d6465"},{"vueify/lib/insert-css":1}],4:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),g3wsdk.gui.GUI,i.default={name:"Copyfeaturesfromotherlayers",data:function(){return{id:this.$options.layers.find(function(e){return e.selected}).id}},watch:{id:function(t){this.$options.layers.forEach(function(e){return e.selected=t===e.id})}}},t.exports.__esModule&&(t.exports=t.exports.default);i="function"==typeof t.exports?t.exports.options:t.exports;i.render=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("section",[i("div",{attrs:{id:"g3w-select-editable-layers-content"}},[i("select",{directives:[{name:"select2",rawName:"v-select2",value:"id",expression:"'id'"}],attrs:{id:"g3w-select-editable-layers-to-copy"}},t._l(t.$options.layers,function(e){return i("option",{key:e.id,domProps:{value:e.id}},[t._v(t._s(e.name))])}),0)])])},i.staticRenderFns=[]},{}],5:[function(e,t,i){var n,r,d,a,o,s,l,u,c,f,g,p,y,h;e("vueify/lib/insert-css").insert(".g3w-editing-panel .editing-button .editing-icon{background-color:#3a4448;color:#222d32;font-size:1.8em;padding:10px;margin:5px;width:45px;height:45px;border-radius:30%;text-align:center}.g3w-editing-panel .editing-button.enabled .editing-icon{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.7)}.g3w-editing-panel .editing-button{cursor:not-allowed}.g3w-editing-panel .editing-button.enabled{cursor:pointer}.g3w-editing-panel .editbtn{border-radius:30%;padding:10px;display:inline-block;opacity:.4;box-shadow:0 1px 1px 0 rgba(0,0,0,.1),0 1px 4px 0 rgba(0,0,0,.3)}.g3w-editing-panel .editbtn.enabled{opacity:1;cursor:pointer}.g3w-editing-panel .editbtn.enabled.toggled{box-shadow:0 0;background-color:#ddd}\n.g3w-editing-panel[data-v-cb98e6ce]{margin-bottom:50px}#onlineofflinemessage[data-v-cb98e6ce]{margin-bottom:5px;padding:5px;border-radius:3px;background-color:orange;color:#fff;font-weight:700}.commitbar[data-v-cb98e6ce]{display:flex;justify-content:flex-end;margin-bottom:5px}.commitbar>div[data-v-cb98e6ce]:first-of-type{margin-right:auto}#g3w-select-editable-layers-content[data-v-cb98e6ce]{margin-bottom:10px;font-weight:700}#g3w-select-editable-layers-content label[data-v-cb98e6ce]{color:#fff!important}#g3w-select-editable-layers-to-show[data-v-cb98e6ce]{cursor:pointer}");function v(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),n=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var i=t,n=[],r=!0,t=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!i||n.length!==i);r=!0);}catch(e){t=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(t)throw a}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=(r=r=e("./Toolbox.vue"))&&r.__esModule?r:{default:r},d=e("../utils/promisify"),f=g3wsdk.gui.GUI,g=(e=g3wsdk.core).ApplicationState,p=e.ApplicationService,y=g3wsdk.core.catalog.CatalogLayersStoresRegistry,h=g3wsdk.core.data.DataRouterService,i.default={name:"Editing",data:function(){return{state:this.$options.service.state,service:this.$options.service,resourcesurl:this.$options.resourcesurl,showcommitbar:this.$options.showcommitbar,saving:!1,layersInEditing:0,editingButtonsEnabled:!0,selectedlayers:[],editinglayers:Object.entries(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").getEditableLayers()).filter(function(e){e=n(e,2);e[0];return e[1].config.editing.visible}).map(function(e){var e=n(e,2),t=e[0],e=e[1];return{id:t,name:e.getName(),title:e.getTitle()}}),activetool:null}},components:{toolbox:r.default},transitions:{addremovetransition:"showhide"},methods:{updateFilterLayers:function(){var e=0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t.g3w-icon[data-v-112912af]{font-weight:700;cursor:pointer}.divider[data-v-112912af]{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}");function R(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function O(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t !r.select)"}],on:{click:function(e){return e.stopPropagation(),a.editAttributesRelations()}}},[n("img",{attrs:{height:"25",width:"25",src:a.resourcesurl+"images/multiEditAttributes.png"}})])]):a._e(),a._v(" "),a.capabilities.includes("change_attr_feature")?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"plugins.editing.form.relations.tooltips.link_relation",expression:"'plugins.editing.form.relations.tooltips.link_relation'",arg:"bottom",modifiers:{create:!0}}],staticClass:"g3w-icon add-link",class:[{disabled:!a.show_add_link},a.g3wtemplate.font.link],attrs:{align:"center"},on:{click:function(e){e.stopPropagation(),a.show_add_link&&a.linkRelation()}}}):a._e(),a._v(" "),a.capabilities.includes("add_feature")?n("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:bottom.create",value:"plugins.editing.form.relations.tooltips.add_relation",expression:"'plugins.editing.form.relations.tooltips.add_relation'",arg:"bottom",modifiers:{create:!0}}],staticClass:"g3w-icon add-link pull-right",class:[{disabled:!a.show_add_link},a.g3wtemplate.font.plus],on:{click:function(e){e.stopPropagation(),a.show_add_link&&a.addRelationAndLink()}}}):a._e()])]),a._v(" "),a.show_vector_tools?n("section",{ref:"relation_vector_tools",staticClass:"relation_vector_tools"},[n("span",{staticClass:"close_vector_relation_tool",on:{click:function(e){return e.stopPropagation(),a.closeVectorTools(e)}}},[n("i",{staticClass:"g3w-icon skin-color",class:a.g3wtemplate.font.close})]),a._v(" "),n("div",[n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.draw_new_feature",expression:"'editing.relation.draw_new_feature'"}],staticClass:"g3w-editing-new-relation-vector-type"}),a._v(" "),n("button",{staticClass:"btn skin-button",staticStyle:{width:"100%"},on:{click:function(e){return e.stopPropagation(),a.addVectorRelation(e)}}},[n("i",{class:a.g3wtemplate.font.pencil})])]),a._v(" "),n("section",[n("span",{staticClass:"divider"}),a._v(" "),n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.draw_or_copy",expression:"'editing.relation.draw_or_copy'"}],staticStyle:{"align-self":"center"}}),a._v(" "),n("span",{staticClass:"divider"}),a._v(" "),n("div",{attrs:{id:"g3w-select-editable-layers-content"}},[n("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.copy_feature_from_other_layer",expression:"'editing.relation.copy_feature_from_other_layer'"}],staticClass:"g3w-editing-new-relation-vector-type"}),a._v(" "),n("select",{directives:[{name:"select2",rawName:"v-select2",value:"copylayerid",expression:"'copylayerid'"}],attrs:{id:"g3w-select-editable-layers-to-copy"}},a._l(a.copyFeatureLayers,function(e){return n("option",{key:e.id,domProps:{value:e.id}},[a._v(a._s(e.name))])}),0),a._v(" "),n("button",{directives:[{name:"disabled",rawName:"v-disabled",value:0===a.copyFeatureLayers.length,expression:"0 === copyFeatureLayers.length"}],staticClass:"btn skin-button",on:{click:function(e){return e.stopPropagation(),a.copyFeatureFromOtherLayer(e)}}},[n("i",{class:a.g3wtemplate.font.clipboard})])])])]):a._e(),a._v(" "),n("div",{directives:[{name:"disabled",rawName:"v-disabled",value:a.disabled,expression:"disabled"}],ref:"relation_body",staticClass:"relation_body box-body"},[0"+m("editing.messages.delete_feature")+'\n
'+(n?m("editing.messages.delete_feature_relations"):"")+"
",function(e){var t,i,n;(e?(e=s.state.features.findIndex(function(e){return e.getUid()===o}),t=s.state.features[e],i=s.state.context.session,n=s.state.inputs.layer.getId(),s.state.inputs.layer.getEditingSource().removeFeature(t),i.pushDelete(n,t),s.state.rows.splice(e,1),r):a)()})}),this.dataTable.row(e).remove().draw(),yield this.$nextTick()}catch(e){}}),function(e){return h.apply(this,arguments)}),copyFeature:(s=w(function*(o){var i,s=this;yield new Promise((i=w(function*(e,t){var i=(0,f.cloneFeature)(s.state.features.find(function(e){return o===e.getUid()}),s.state.inputs.layer.getEditingLayer());s.state.workflow=new d.Workflow({type:"addtablefeature",steps:[new u.Step({help:"editing.steps.help.new",run:p.addTableFeature}),new c.OpenFormStep]}),s.state.inputs.features.push(i);try{var n=yield(0,y.promisify)(s.state.workflow.start({context:s.state.context,inputs:s.state.inputs})),r=n.features[n.features.length-1],a={};Object.entries(s.state.rows[0]).forEach(function(e){e=l(e,2),e=e[0];a[e]=(0,g.getFeatureTableFieldValue)({layerId:s.state.layerId,feature:r,property:e})}),a.__gis3w_feature_uid=r.getUid(),s.state.rows.push(a),e(a)}catch(e){t(e)}finally{s.state.workflow.stop()}}),function(e,t){return i.apply(this,arguments)})),this.show=!1,this.dataTable.destroy(),yield this.$nextTick(),this.show=!0,yield this.$nextTick(),this.setDataTable()}),function(e){return s.apply(this,arguments)}),editFeature:(o=w(function*(t){var i=this,n=this.state.features.findIndex(function(e){return t===e.getUid()}),e=this.state.features[n],r=(this.state.workflow=new d.Workflow({type:"edittablefeature",steps:[new c.OpenFormStep]}),this.state.inputs);r.features.push(e);try{var a=yield(0,y.promisify)(this.state.workflow.start({context:this.state.context,inputs:r})),o=a.features[a.features.length-1];Object.entries(this.state.rows[n]).forEach(function(e){e=l(e,2),e=e[0];i.state.rows[n][e]=(0,g.getFeatureTableFieldValue)({layerId:i.state.layerId,feature:o,property:e})})}catch(e){}finally{this.state.workflow.stop()}}),function(e){return o.apply(this,arguments)}),linkFeature:function(t,e){e.target.checked?this._linkFeatures.push(t):this._linkFeatures=this._linkFeatures.filter(function(e){return e!==t})},getValue:function(e){return e&&"object"===(void 0===e?"undefined":n(e))&&Object===e.constructor?e=e.value:"string"==typeof e&&0===e.indexOf("_new_")&&(e=null),e},setDataTable:function(){this.dataTable=$("#editing_table table").DataTable({columnDefs:[{orderable:!1,targets:0}],order:[1,"asc"],pageLength:10,scrollCollapse:!0,scrollResize:!0,scrollX:!0}),this.resize()}},beforeCreate:function(){this.delayType="debounce",_.disableSideBar(!0),_.showUserMessage({type:"loading",message:"plugins.editing.messages.loading_table_data",autoclose:!1,closable:!1})},mounted:(a=w(function*(){yield this.$nextTick(),this.state.isrelation&&(this._linkFeatures=[]),this.setDataTable(),this.resize(),setTimeout(function(){return _.closeUserMessage()},300)}),function(){return a.apply(this,arguments)}),beforeDestroy:function(){this.cancel(),this._linkFeatures=null,this.dataTable.destroy()}},t.exports.__esModule&&(t.exports=t.exports.default);i="function"==typeof t.exports?t.exports.options:t.exports;i.render=function(){var n=this,e=n.$createElement,r=n._self._c||e;return r("div",{staticClass:"g3w-editing-table",attrs:{id:"editing_table"}},[r("div",{ref:"editing_table_header",staticClass:"editing_table_header"},[r("div",{staticClass:"editing_table_header_content"},[r("h3",{staticClass:"editing_table_title"},[n._v(n._s(n.state.title))])]),n._v(" "),n.state.isrelation?r("div",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.relation.table.info",expression:"'editing.relation.table.info'"}],staticClass:"editing_table_relation_messagge"}):n._e()]),n._v(" "),n.show?r("table",{staticClass:"display",staticStyle:{width:"100%"}},[r("thead",[r("tr",[n.state.isrelation?n._e():r("th",{staticStyle:{"max-width":"60px"}}),n._v(" "),n.state.isrelation?r("th"):n._e(),n._v(" "),n._l(n.state.headers,function(e){return r("th",[n._v(n._s(e.label))])})],2)]),n._v(" "),r("tbody",n._l(n.state.rows,function(t,i){return r("tr",{key:t.__gis3w_feature_uid,attrs:{id:t.__gis3w_feature_uid}},[n.state.isrelation?n._e():r("td",[r("div",{attrs:{id:"table-editing-tools"}},[r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.edit",expression:"'plugins.editing.table.edit'",arg:"right",modifiers:{create:!0}}]},[n.showTool("change_attr_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font.pencil,staticStyle:{color:"#30cce7"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.editFeature(t.__gis3w_feature_uid)}}}):n._e()]),n._v(" "),r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.copy",expression:"'plugins.editing.table.copy'",arg:"right",modifiers:{create:!0}}]},[n.showTool("add_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font["copy-paste"],staticStyle:{color:"#d98b14",padding:"5px 7px 5px 7px"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.copyFeature(t.__gis3w_feature_uid)}}}):n._e()]),n._v(" "),r("span",{directives:[{name:"t-tooltip",rawName:"v-t-tooltip:right.create",value:"plugins.editing.table.delete",expression:"'plugins.editing.table.delete'",arg:"right",modifiers:{create:!0}}]},[n.showTool("delete_feature")?r("i",{staticClass:"g3w-icon",class:n.g3wtemplate.font["trash-o"],staticStyle:{color:"red"},attrs:{"aria-hidden":"true"},on:{click:function(e){return e.stopPropagation(),n.deleteFeature(t.__gis3w_feature_uid)}}}):n._e()])])]),n._v(" "),n.state.isrelation?r("td",[r("input",{staticClass:"magic-checkbox",attrs:{id:"relation__"+i,type:"checkbox"},on:{change:function(e){return n.linkFeature(i,e)}}}),n._v(" "),r("label",{attrs:{for:"relation__"+i}})]):n._e(),n._v(" "),n._l(t,function(e,t){return n.showValue(t)?r("td",{key:t},[n.getValue(e)&&n.isMediaField(t)?r("g3w-media",{attrs:{state:e}}):r("p",[n._v(n._s(n.getValue(e)))])],1):n._e()})],2)}),0)]):n._e(),n._v(" "),r("div",{ref:"table_editing_footer_buttons",staticClass:"table_editing_footer_buttons",attrs:{id:"buttons"}},[r("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:n.state.isrelation?"editing.form.buttons.save_and_back":"editing.form.buttons.save",expression:"state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'"}],staticClass:"btn btn-success",staticStyle:{"margin-right":"10px"},on:{click:function(e){return e.stopPropagation(),n.save(e)}}}),n._v(" "),r("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.form.buttons.cancel",expression:"'editing.form.buttons.cancel'"}],staticClass:"btn btn-danger",on:{click:function(e){return e.stopPropagation(),n.cancel(e)}}})])])},i.staticRenderFns=[],i._scopeId="data-v-13f4ce0f"},{"../g3wsdk/workflow/step":14,"../g3wsdk/workflow/workflow":15,"../utils/addTableFeature":30,"../utils/cloneFeature":35,"../utils/getFeatureTableFieldValue":43,"../utils/getRelationsInEditing":51,"../utils/promisify":58,"../workflows":65,"vueify/lib/insert-css":1}],8:[function(e,t,i){var n,r,o,s,a,l,u;e("vueify/lib/insert-css").insert(".panel.mobile[data-v-c4a84298]{margin-bottom:5px}.panel.mobile .panel-heading[data-v-c4a84298]{display:flex;justify-content:space-between}.panel.mobile .panel-heading .panel-title[data-v-c4a84298]{margin-top:auto;margin-bottom:auto}.panel.mobile .panel-heading .start-editing[data-v-c4a84298]{margin:auto;margin-right:0;padding:6px}.panel.mobile .tools-content .editbtn[data-v-c4a84298]{padding:9px}.panel.mobile .toolbox .panel-body[data-v-c4a84298]{padding:5px!important}.toolbox_help_message[data-v-c4a84298]{font-weight:lighter}.toolbox[data-v-c4a84298]{padding-bottom:5px}.panel[data-v-c4a84298]{border:0!important;margin-bottom:8px}.panel-heading[data-v-c4a84298]{padding:5px 10px;width:100%}.toolboxselected[data-v-c4a84298]{box-shadow:0 0 0 3px var(--skin-color)}.panel:not(.toolboxselected) .info[data-v-c4a84298]{opacity:.4}.panel:not(.toolboxactive) .panel-heading[data-v-c4a84298]{border-radius:3px;filter:grayscale(.8)}.panel:not(.geolayer) .panel-body[data-v-c4a84298]{padding-top:0}.panel.toolboxactive:not(.geolayer) .editbtn.start-editing[data-v-c4a84298]{color:#fff!important}.panel:not(.geolayer) .panel-heading[data-v-c4a84298]{color:#3a4448}.editbtn.start-editing[data-v-c4a84298]{padding:13px;color:currentColor!important;font-size:1.1em;margin:0}.panel-title[data-v-c4a84298]{font-weight:700;word-break:break-word;padding:8px 0;display:inline-block}#toolsoftoolcontainer[data-v-c4a84298]{display:flex;flex-direction:column;margin:5px;padding:5px;border-radius:5px}.info[data-v-c4a84298]{color:#000}.info>i[data-v-c4a84298]{color:#007bff;padding-right:2px}.info+.tools-content[data-v-c4a84298]{margin-top:1em}.filter-by-relation[data-v-c4a84298]{margin-right:5px;cursor:pointer;color:currentColor!important}.tools-content[data-v-c4a84298]{display:flex;flex-wrap:wrap;gap:10px}.message[data-v-c4a84298]{margin-bottom:5px;font-size:1.1em;color:#000;margin-top:5px}.snap-tool[data-v-c4a84298]{display:flex}.snap-tool label>b[data-v-c4a84298]{color:#222d32!important}.tools-of-tool-snap[data-v-c4a84298]{display:flex;width:100%;justify-content:space-between}.tools-of-tool-snap label span[data-v-c4a84298]{color:#222d32!important}.panel-body.disabled[data-v-c4a84298]{opacity:.7}.panel-body.disabled>[data-v-c4a84298]{pointer-events:none}");function d(e){return function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})}}Object.defineProperty(i,"__esModule",{value:!0}),o=g3wsdk.gui.GUI,s=g3wsdk.core.layer.Layer,a=g3wsdk.ol.utils.getResolutionFromScale,l=g3wsdk.core.i18n.tPlugin,u=void 0,i.default={name:"Toolbox",props:["state","resourcesurl"],data:function(){return{active:!1,helpmessage:null,toggled:{relation:!1,layer:!1},snapAll:!1}},computed:{editDisabled:function(){return this.state.loading&&!this.state.startstopediting},hasRelations:function(){return 0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t.description[data-v-8a452b86]{font-weight:700}.dynamic-step[data-v-8a452b86]{padding:10px;font-size:1.2em}.button-step[data-v-8a452b86]{display:inline-flex;align-items:center}.button-step[data-v-8a452b86],button.btn-success[data-v-8a452b86]{font-weight:700;align-self:normal}");Object.defineProperty(i,"__esModule",{value:!0}),i.default={data:function(){return{steps:{}}},methods:{completeStep:function(e){e.done=!0,e.buttonnext.done()}}},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("ul",{staticClass:"steps-list"},i._l(i.steps,function(t,e){return n("li",{key:e,class:{done:t.done},style:{display:t.buttonnext&&"inline-flex"}},[t.buttonnext?n("span",{staticClass:"button-step"},[n("span",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:t.description,expression:"step.description"}],staticClass:"description"}),i._v(" "),t.dynamic?n("span",{staticClass:"dynamic-step"},[i._v(i._s(t.dynamic))]):i._e(),i._v(" "),n("button",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:"editing.workflow.next",expression:"'editing.workflow.next'"}],class:"btn btn-success"+(t.buttonnext.disabled?" g3w-disabled":""),on:{click:function(e){return i.completeStep(t)}}})]):[n("i",{class:i.g3wtemplate.getFontClass(t.done?"success":"empty-circle")}),i._v(" "),n("span",{directives:[{name:"t-plugin",rawName:"v-t-plugin",value:t.description,expression:"step.description"}]})]],2)}),0)},e.staticRenderFns=[],e._scopeId="data-v-8a452b86"},{"vueify/lib/insert-css":1}],10:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.Session=i.ChangesManager=void 0;var c="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},l=function(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),e};function n(e,t){for(var i=0;i{var t=d;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function d(){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,(d.__proto__||Object.getPrototypeOf(d)).call(this,e)));return i.setters={start:function(){var t,i=this,n=0t){i=n;break}if(r.id===t){i=-1;break}}-1e,this._constrains.undo}},{key:"__canRedo",value:function(){return this._constrains.redo=this.getLastHistoryState()&&this.getLastStateId()!=this.state.current||null===this.state.current&&0{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 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)))._options=e,t._run=(e.run||t.run||s(function*(){return!0})).bind(t),t._stop=(e.stop||t.stop||s(function*(){return!0})).bind(t),t._inputs=e.inputs||null,t._context=e.context||null,t._outputs=e.outputs||null,t.state={id:e.id||null,name:e.name||null,help:e.help||null,running:!1,error:null,message:e.message||null,usermessagesteps:{}},t.registerEscKeyEvent(e.escKeyPressEventHandler),t.selectStyle=e.selectStyle,e.steps&&t.setSteps(e.steps),e.onRun&&t.on("run",e.onRun),e.onStop&&t.on("run",e.onStop),e.tools&&(t._tools=e.tools),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),a(n,[{key:"setInputs",value:function(e){this._inputs=this.inputs=e}},{key:"getInputs",value:function(){return this._inputs}},{key:"setContext",value:function(e){return this._context=this.context=e}},{key:"getContext",value:function(){return this.context}},{key:"panic",value:function(){}},{key:"setRoot",value:function(e){this.state.root=e}},{key:"getUserMessageSteps",value:function(){return this.state.usermessagesteps}},{key:"setUserMessageSteps",value:function(){this.state.usermessagesteps=0{if(Array.isArray(e)){for(var t=0,i=Array(e.length);t{var i,e=o,t=f;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);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)))._type=void 0!==e.type?e.type:null,t._options=e,t._promise=null,t._inputs=void 0!==e.inputs?e.inputs:null,t._context=void 0!==e.context?e.context:null,t._steps=e.steps||[],t._child=null,t._stackIndex=null,t.runOnce=e.runOnce||!1,t._messages=a.Step.MESSAGES,t._userMessageSteps={},0Hinzufgefügt Die Anzahl der hinzugefügten Features anzeigen",header_update_delete:"Bearbeitet und Gelöscht Die Liste der Feature-ID anzeigen",add:"Hinzugefügt",delete:"Gelöscht",update:"Bearbeitet"},loading_table_data:"Datentabelle wird erstellt. Bitte warten ...",copy_and_paste_from_other_layer_mandatory_fields:"Vor dem Speichern müssen alle Pflichtfelder des eingegebenen features ausgefüllt werden",no_feature_selected:"Keine feature ausgewählt",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Wählen Sie Relationen aus, um sie mit dem aktuellen Feature zu verknüpfen.
"},draw_new_feature:"Zeichnen Sie eine neue feature",draw_or_copy:"oder",copy_feature_from_other_layer:"Kopieren Sie feature aus einer anderen layer"},form:{relations:{tooltips:{back_to_father:"Zurück zur Bearbeitung des Vaters",add_relation:"Neue Relation erstellen und verknüpfen",link_relation:"Eine Relation zu diesem Feature herstellen",open_relation_tools:"Relationstools anzeigen",unlink_relation:"Relation trennen"}},buttons:{save:"Einfügung/Bearbeiten",save_and_back:"Speichern und zurück",save_and_back_table:"Speichern und zurück",cancel:"Änderungen ignorieren"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select one feature"}}}}},{}],17:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"An error occurs. It's no possible to edit layers",some_layers:"An error occurs: It's no possible to edit some layers",editing_multiple_relations:"Editing multiple relationships is not currently supported"},search:"Search",editing_changes:"Editing Changes",editing_data:"Editing Layers",editing_attributes:"Editing attributes",relations:"Relations",edit_relation:"Edit relation",back_to_relations:"Back to Relations",no_relations_found:"No relations found",relation_data:"Relation data",relation_already_added:"Relation already added",list_of_relations_feature:"List of relations feature ",tooltip:{edit_layer:"Edit Layer",filter_by_relation:"Filter layers by relation"},toolbox:{title:"Edit"},table:{edit:"Edit feature",copy:"Create a copy",delete:"Delete feature"},tools:{copy:"Copy features",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Add part to multipart",deletepart:"Delete part from multipart",merge:"Dissolve features",split:"Split Feature",add_feature:"Add feature",delete_feature:"Delete feature",move_feature:"Move feature",update_vertex:"Update feature vertex",update_feature:"Update feature attribute",update_multi_features:"Update attributes of selected features",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Select features",select_element:"Select feature",copy:"Create new copy of selected features",merge:"Dissolve features",split:"Split Feature",new:"Create new feature",edit_table:"Edit table features",draw_new_feature:"Draw feature on map",action_confirm:"Confirm action",double_click_delete:"Select feature on map to delete",edit_feature_vertex:"Modify or add a vertex on selected feature",move:"Move selected feature",select_feature_to_relation:"Select feature that you bind relation",show_edit_feature_form:"Show feature form to edit attributes",pick_feature:"Select feature on map to modify",insert_attributes_feature:"Insert attributes of the feature"}},workflow:{steps:{select:"Click on feature to select",draw_part:"Draw new part",draw_geometry:"Draw geometry",merge:"Select featurewhere dissolve",selectSHIFT:"Select features drawing a rectangle pressing SHIFT",selectDrawBox:"Select features drawing a rectangle by two point of opposite corners",selectDrawBoxAtLeast2Feature:"Select at least features drawing a rectangle by two point of opposite corners",selectPoint:"Click on feature to select",selectPointSHIFT:"Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature",selectMultiPointSHIFT:"Select features drawing a rectangle pressing SHIFT or click on feature",selectMultiPointSHIFTAtLeast2Feature:"Select at least 2 features drawing a rectangle pressing SHIFT or click on feature",copyCTRL:"Copy selected features using CTRL+C",selectStartVertex:"Select starting vertex of selected features",selectToPaste:"Select the point where paste the features selected",draw_split_line:"Draw a line to split selected feature"},title:{steps:"Steps"},next:"Next"},messages:{featureslockbyotheruser:"Some geometries/records are not editable because in editing by other user",splitted:"Splitted",nosplittedfeature:"Feature not spitted",press_esc:"Press ESC to back",online:"Back ONLINE. Now you can save your changes on database",offline:"You are OFFLINE. All changes are saved locally",delete_feature:"Do you want delete selected feature ?",delete_feature_relations:"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature",unlink_relation:"Do you want unlink relation?",commit_feature:"Summary of changes",toolbox_has_no_geometry:"this layer has no geometry",toolbox_has_relation:"this layer is part of a relation",saved:"Data saved successfully",saved_local:"Data saved locally successfully",loading_data:"Loading data",saving:"Saving data. Please wait ...",constraints:{enable_editing:"Please Zoom In to enable editing tools \nActivation scale at 1:"},pdf:"Document preview not available. Please click here ",commit:{header:"The following list show all changes to commit.",header_relation:"Relation",header_add:"Added show the number of features added",header_update_delete:"Modified and Deleted show the list of features id",add:"Added",delete:"Deleted",update:"Updated"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Select relations to link it to current editing feature.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Create and link new relation",link_relation:"Join a relation to this feature",open_relation_tools:"Show relation tools",unlink_relation:"Unlink relation"}},buttons:{save:"Insert/Edit",save_and_back:"Save and Back",save_and_back_table:"Save and Back",cancel:"Ignore Changes"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],18:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Tapahtui virhe. Tasoja ei ole mahdollista muokata.",some_layers:"Tapahtui virhe. Jotkin tasot eivät ole muokattavissa."},search:"Haku",editing_changes:"Editing Changes",editing_data:"Muokataan tasoja",editing_attributes:"Muokataan attribuutteja",relations:"Relaatiot",edit_relation:"Muokkaa relaatiota",back_to_relations:"Takaisin relaatioihin",no_relations_found:"Relaatioita ei löytynyt",relation_data:"Relaation tiedot",relation_already_added:"Relaatio on jo lisätty",list_of_relations_feature:"Lista relaation ominaisuuksista",tooltip:{edit_layer:"Muokkaa tasoa"},toolbox:{title:"Muokkaa"},table:{edit:"Muokkaa ominaisuutta",copy:"Luo kopio",delete:"Poista ominaisuus"},tools:{copy:"Kopio ominaisuuksia",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Lisää osa",deletepart:"Poista osa",merge:"Yhdistä ominaisuudet",split:"Leikkaa ominaisuus",add_feature:"Lisää ominaisuus",delete_feature:"Poista ominaisuus",move_feature:"Siirrä ominaisuutta",update_vertex:"Päivitä pisteen ominaisuutta",update_feature:"Päivitä ominaisuus",update_multi_features:"Muokkaa valittujen ominaisuuksien attribuutteja",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Valitse ominaisuudet",select_element:"Valitse ominaisuus",copy:"Luo kopio valituista ominaisuuksista",merge:"Yhdistä ominaisuudet",split:"Leikkaa ominaisuus",new:"Luo uusi ominaisuus",edit_table:"Muuta taulun ominaisuuksia",draw_new_feature:"Piirrä ominaisuus kartalle",action_confirm:"Hyväksy toiminto",double_click_delete:"Valitse poistettava ominaisuus kartalta",edit_feature_vertex:"Muuta pistettä tai lisää piste valittuun ominaisuuteen",move:"Siirrä valittu ominaisuus",select_feature_to_relation:"Valitse relaatio",show_edit_feature_form:"Näytä ominaisuuslomake muokataksesi attribuutteja",pick_feature:"Valitse muokattava ominaisuus kartalta",insert_attributes_feature:"Lisää ominaisuuden attribuutit"}},workflow:{steps:{select:"Valitse ominaisuus",draw_part:"Piirrä uusi osa",merge:"Valitse ominaisuus yhdistääksesi",draw_geometry:"Piirrä geometria",selectSHIFT:"Paina SHIFT, jos haluat valita kohteita suorakulmiovalinnalla.",selectDrawBox:"Piirrä suorakulmio, jonka siältä kohteet valitaan ",selectDrawBoxAtLeast2Feature:"Piirrä suorakulmio, jonka siältä kohteet vähintään 2 valitaan ",selectPoint:"Valitse ominaisuus",selectPointSHIFT:"Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",selectMultiPointSHIFT:"Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",selectMultiPointSHIFTAtLeast2Feature:"Paina SHIFT, jos haluat valita vähintään 2 ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.",copyCTRL:"CTRL+C, voit kopioida valitut ominaisuudet.",selectStartVertex:"Osoita valittujen ominaisuuksien alkupiste.",selectToPaste:"Valitse kohta, johon liität valitut ominaisuudet.",draw_split_line:"Piirrä viiva, jonka mukaan valittu ominaisuus jaetaan."},title:{steps:"Vaiheet"},next:"Seuraava"},messages:{featureslockbyotheruser:"Some features are locked by another user",splitted:"Jaettu",nosplittedfeature:"Ominaisuutta ei jaettu",press_esc:"Paina ESC palataksesi",online:"Yhteys muodostettu. Muutokset voidaan tallentaa tietokantaan.",offline:"Olet offline-tilassa. Muutokset tallennetaan paikallisesti",delete_feature:"Haluatko poistaa valitun ominaisuuden?",delete_feature_relations:"Mikäli ominaisuudella on sitovia relaatioita, näistä relaatiosta tulee orpoja. Suosittelemme käsittelemään nämä relaatiot ennen poistamista",unlink_relation:"Haluatko poistaa relaation?",commit_feature:"Yhteenveto muutoksista",toolbox_has_relation:"tämä kerros on osa relaatiota",saved:"Tiedot tallennettu onnistuneesti",saved_local:"Tiedot on tallennettu onnistuneesti paikallisesti.",loading_data:"Ladataan tietoja",saving:"Tallentaan tietoja. Odota...",constraints:{enable_editing:"Lähennä ottaaksesi muokkaustyökalut käyttöön \nAktivointi mittakaava 1:"},pdf:"Dokumentin esikatselu ei ole saatavilla. Paina tästä ",commit:{header:"Seuraava luettelo näyttää kaikki muutokset.",header_relation:"Relation",header_add:"Lisätty näytä lisättyjen ominaisuuksien lukumäärä",header_update_delete:"Muokattu ja Poistettu Näytä listä ominaisuuksien id:stä",add:"Lisätty",delete:"Poistettu",update:"Muokattu"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Valitse relaatiota linkittääksesi ne muokattavaan ominaisuuteen.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Luo ja linkitä uusi relaatio",link_relation:"Liitä relaatio tähän ominaisuuteen",open_relation_tools:"Näytä relaatiotyökalut",unlink_relation:"Poista relaatio"}},buttons:{save:"Lisää/muokkaa",save_and_back:"Tallenna ja palaa",save_and_back_table:"Tallenna ja palaa",cancel:"Peruuta"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],19:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Une erreur s'est produite lors du chargement des layers dans l'édition.",some_layers:"Une erreur s'est produite lors du chargement de certaines layers dans l'édition."},search:"Recherche",editing_changes:"Editing Changes",editing_data:"Modifier les donnes",editing_attributes:"Modifier les attributs",relations:"Relations",edit_relation:"Modifier la relation",back_to_relations:"Retour aux relations",no_relations_found:"Il n'y a pas de relations",relation_data:"Données sur les relations",relation_already_added:"Relation déjà présente",list_of_relations_feature:"Lister les relations de la fonctionnalité",tooltip:{edit_layer:"Modifier le layer"},toolbox:{title:"Modifier"},table:{edit:"Modifier fonctionnalités",copy:"Créer une copie",delete:"Supprimer la fonctionnalité"},tools:{copy:"Copier les fonctionnalités",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Ajouter une pièce à la géométrie",deletepart:"Supprimer la partie de la géométrie",merge:"Dissoudre les fonctionnalités",split:"Couper la fonctionnalité",add_feature:"Ajouter une fonctionnalité",delete_feature:"Supprimer la fonctionnalité",move_feature:"Déplacez la fonctionnalité",update_vertex:"Mettre à jour les sommets des fonctionnalités",update_feature:"Modifier les attributs des fonctionnalités",update_multi_features:"Modifier les attributs des fonctionnalités sélectionnées",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Sélectionner les fonctionnalités",select_element:"Sélectionner une fonctionnalité",copy:"Créer une copie des fonctionnalités sélectionnées",merge:"Dissoudre les fonctionnalités",split:"Couper la fonctionnalité",new:"Créer une nouvelle fonctionnalité",edit_table:"Modifier les fonctionnalités de la table",draw_new_feature:"Dessiner une fonctionnalité sur la carte",action_confirm:"Confirmer l'action",double_click_delete:"Sélectionner la fonctionnalité sur la carte à supprimer",edit_feature_vertex:"Modifier ou ajouter un sommet à la fonctionnalité sélectionnée",move:"Déplacer la fonctionnalité sélectionnée",select_feature_to_relation:"Sélectionner la fonctionnalité que vous souhaitez mettre en relation",show_edit_feature_form:"Afficher le formulaire de la fonctionnalité permettant de modifier les attributs",pick_feature:"Sélectionner l'élément de la carte à modifier",insert_attributes_feature:"Insérer les attributs de la fonctionnalité"}},workflow:{steps:{select:"Cliquer sur la fonctionnalité à sélectionner",draw_part:"Dessiner la nouvelle partie",draw_geometry:"Dessiner la géométrie",merge:"Sélectionner la fonction à introduire en fondu",selectPoint:"Cliquer sur la fonctionnalité pour la sélectionner",selectSHIFT:"Sélectionner des fonctionnalités en maintenant la touche SHIFT enfoncée",selectDrawBox:"Sélectionner les fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale",selectDrawBoxAtLeast2Feature:"Sélectionner au moins 2 fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale",selectPointSHIFT:"Sélectionner des caractéristiques en maintenant la touche SHIFT enfoncée (multi-sélection) ou en cliquant sur une seule caractéristique",selectMultiPointSHIFT:"Sélectionner des fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle",selectMultiPointSHIFTAtLeast2Feature:"Sélectionner au moins 2 fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle",copyCTRL:"Copier les fonctionnalités sélectionnées avec CTRL+C",selectStartVertex:"Sélectionner le sommet de départ des fonctionnalités choisies",selectToPaste:"Sélectionner le point où les fonctionnalités sélectionnées seront collées",draw_split_line:"Tracez une ligne pour couper la fonctionnalité sélectionnée"},title:{steps:"Étapes"},next:"Suivant"},messages:{featureslockbyotheruser:"Certaines géométries/enregistrements ne sont pas modifiables car ils ont été modifiés par un autre utilisateur",splitted:"Fonctionnalité(s) divisé(es)",nosplittedfeature:"La (les) fonctionnalité(s) n’a (n'ont) pas été divisé(es)",press_esc:"Appuyez sur ESC pour revenir",online:"Vous êtes à nouveau EN LIGNE. Vous pouvez enregistrer les modifications de façon permanente",offline:"Vous êtes HORS LIGNE. Toutes les modifications seront enregistrées temporairement en local",delete_feature:"Voulez-vous supprimer la fonctionnalité sélectionnée ?",delete_feature_relations:"La suppression d'une fonctionnalité avec des relations associées laissera ces relations orphelines. Il est recommandé de gérer ces relations avant de supprimer la fonctionnalité",unlink_relation:"Voulez-vous détacher la relation ?",commit_feature:"Sommaire des changements",toolbox_has_relation:"cette couche fait partie d'une relation",saved:"Les données ont été enregistrées correctement",saved_local:"Les données ont été correctement sauvegardées localement",loading_data:"Chargement des données",saving:"Sauvegarde des données. Veuillez patienter ...",constraints:{enable_editing:"Augmenter le niveau de zoom pour permettre l'édition \nEchelle de déclenchement 1 :"},pdf:"Aperçu du document non disponible. Cliquez ici ",commit:{header:"La liste ci-dessous montre toutes les modifications qui seront enregistrées.",header_relation:"Relation",header_add:"Ajouts indique le nombre de fonctionnalités ajoutées",header_update_delete:"Modifié e Supprimé liste les ids",add:"Ajouté",delete:"Supprimé",update:"Modifié"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"Avant d'enregistrer, il est nécessaire de remplir tous les champs obligatoires du features saisi",no_feature_selected:"Aucune feature sélectionnée",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Sélectionner les relations pour les associer à l'élément en cours d'édition.
"},draw_new_feature:"Dessiner une nouvelle feature",draw_or_copy:"ou",copy_feature_from_other_layer:"Copier feature d'une autre layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Créer et ajouter une nouvelle relation",link_relation:"Associer une relation existante à cette fonctionnalité",open_relation_tools:"Outils de relation ouverte",unlink_relation:"Annuler la relation"}},buttons:{save:"Insérer/Modifier",save_and_back:"Sauvegarder et retourner au parent",save_and_back_table:"Sauvegarder et et revenir en arrière",cancel:"Ignorer modifications"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],20:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0});var n=d(e("./it")),r=d(e("./en")),a=d(e("./fi")),o=d(e("./se")),s=d(e("./fr")),l=d(e("./de")),u=d(e("./ro")),e=d(e("./pl"));function d(e){return e&&e.__esModule?e:{default:e}}i.default={it:n.default,en:r.default,fi:a.default,se:o.default,fr:s.default,de:l.default,ro:u.default,pl:e.default}},{"./de":16,"./en":17,"./fi":18,"./fr":19,"./it":21,"./pl":22,"./ro":23,"./se":24}],21:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"Terminare l'editing dei singoli layer per chiudere la sessione"},errors:{no_layers:"Si è verificato un errore nel caricamento dei layers in editing.",some_layers:"Si è verificato un errore nel caricamento di alcuni layers in editing",editing_multiple_relations:"Le modifica di relazioni multiple non è attualmente supportata"},search:"Cerca",editing_changes:"Modifiche Editing",editing_data:"Modifica dati",editing_attributes:"Edita attributi",relations:"Relazioni",edit_relation:"Edita relazione",back_to_relations:"Ritorna alle Relazioni",no_relations_found:"Non ci sono relazioni",relation_data:"Dati relativi alla relazione",relation_already_added:"Relazione già presente",list_of_relations_feature:"Elenco Relazioni della feature ",tooltip:{edit_layer:"Modifica livello",filter_by_relation:"Filtra i livelli per relazione"},toolbox:{title:"Edita"},table:{edit:"Edita feature",copy:"Crea una copia",delete:"Cancella feature"},tools:{copy:"Copia elementi",pastefeaturesfromotherlayers:"Incolla elemento da altro livello",addpart:"Aggiungi parte alla geometria",deletepart:"Cancella parte dalla geometria",merge:"Dissolvi elementi",split:"Dividi elementi",add_feature:"Aggiungi elemento",delete_feature:"Elimina elemento",move_feature:"Muovi elemento",update_vertex:"Aggiorna vertici elemento",update_feature:"Modifica attributi elemento",update_multi_features:"Modifica gli attributi degli elementi selezionati",update_multi_features_relations:"Modifica gli attributi di tutte le relazioni selezionate",copyfeaturefromexternallayer:"Crea elemento da un livello esterno"},toolsoftool:{measure:"Visualizza misura",snap:"Snap sul layer",snapall:"Snap su tutti i layer"},steps:{help:{select_elements:"Seleziona le geometrie",select_element:"Seleziona l'elemento",copy:"Crea una copia degli elementi selezionati",merge:"Dissolvi elementi",split:"Dvidi elemento",new:"Crea un nuovo elemento",edit_table:"Modifica gli elementi della tabella",draw_new_feature:"Disegna la nuova geometria",action_confirm:"Conferma azione",double_click_delete:"Seleziona la geometria sulla mappa da cancellare",edit_feature_vertex:"Modifica o aggiungi un vertice alla geometria selezionata",move:"Muovi la geometria selezionata",select_feature_to_relation:"Seleziona la geometria che vuoi mettere in relazione",show_edit_feature_form:"Mostra il modulo per modificare gli attributi del'elemento",pick_feature:"Seleziona la geometria da modificare dalla mappa",insert_attributes_feature:"Inserisci gli attributi dell'elemento"}},workflow:{steps:{select:"Seleziona una geometria",draw_part:"Disegna il nuovo elemento da aggiungere alla geometria",draw_geometry:"Disegna la geometria",merge:"Seleziona la geometria su cui dissolvere",selectPoint:"Clicca sulla geometria per selezionarla",selectSHIFT:"Seleziona le geometrie tenedo premuto il tasto SHIFT",selectDrawBox:"Seleziona le geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale",selectDrawBoxAtLeast2Feature:"Seleziona almeno 2 geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale",selectPointSHIFT:"Seleziona le geometrie
MAIUSC+DRAG seleziona più elementi in un area",selectMultiPointSHIFT:"Seleziona le geometrie
SHIFT+DRAG seleziona più elementi in un area",selectMultiPointSHIFTAtLeast2Feature:"Seleziona almeno 2 geometrie
SHIFT+DRAG seleziona più elementi in un area",copyCTRL:"Copia le geometrie selezionate con CTRL+C",selectStartVertex:"Seleziona il vertice di partenza",selectToPaste:"Seleziona il punto dove verranno incollate le geometrie",draw_split_line:"Disegna una linea per dividere la geometria selezionata"},title:{steps:"Passi"},next:"Avanti"},messages:{featureslockbyotheruser:"Ci sono alcune geometrie/records non editabili perchè in modifica da altri utenti",splitted:"Feature(s) splittata(e)",nosplittedfeature:"La(e) feature(s) non è stata splittata",press_esc:"Premi ESC per tornare indietro",online:"Ora sei di nuovo ONLINE. Puoi slavare le modifiche in modo permanente",offline:"Sei OFFLINE. Tutte le modifiche saranno salvate temporaneamente in locale",delete_feature:"Vuoi eliminare l'elemento selezionato?",delete_feature_relations:"Cancellando una feature con relazioni associate, tale relazioni rimarranno orfane. Si consiglia di gestire tali relazioni prima di cancellare la feature",unlink_relation:"Vuoi staccare la relazione?",commit_feature:"Riepilogo modifiche",toolbox_has_no_geometry:"questo livello non ha geometria",toolbox_has_relation:"questo livello fa parte di una relazione",saved:"I dati sono stati salvati correttamente",saved_local:"I dati sono stati salvati correttamente in locale",loading_data:"Caricamento dati",saving:"Salvataggio dati in corso. Attendere ...",constraints:{enable_editing:"Ingrandisci per modificare \nScala di attivazione 1:"},pdf:"Anteprima del documento non disponibile. Clicca qui ",commit:{header:"La lista sotto riporta tutte le modifiche che verranno salvate.",header_relation:"Relazione",header_add:"Aggiunte riporta il numero delle features aggiunte",header_update_delete:"Modificate e Cancellate riporta la lista degli id",add:"Aggiunte",delete:"Cancellate",update:"Aggiornate"},loading_table_data:"Costruzione tabella dati in corso. Attendere ...",copy_and_paste_from_other_layer_mandatory_fields:"Necessario compilare eventuali campi obbligatori sulle features incollate prima del salvataggio",no_feature_selected:"Nessuna feature selezionata",select_min_2_features:"Seleziona come minimo due features"},relation:{table:{info:"
Seleziona le relazioni per associarle alla feature in editing.
"},draw_new_feature:"Disegna nuova geometria",draw_or_copy:"oppure",copy_feature_from_other_layer:"Copia geometria da altro layer"},form:{relations:{tooltips:{back_to_father:"Torna ad editare il padre",add_relation:"Crea ed aggiungi nuova relazione",link_relation:"Associa una relazione esistente a questa feature",open_relation_tools:"Apri strumenti relatione",unlink_relation:"Annulla relazione"}},buttons:{save:"Inserisci/Modifica",save_table:"Modifica",save_and_back:"Salva e torna al padre",save_and_back_table:"Salva e torna indietro",cancel:"Ignora Modifiche"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Seleziona layer",edit_attributes:"Edita attributi delle features in multiple mode"},copyfeaturefromprojectlayer:{title:"Seleziona una feature"}}}}},{}],22:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={errors:{no_layers:"An error occurs. It's no possible to edit layers",some_layers:"An error occurs: It's no possible to edit some layers"},search:"Search",editing_changes:"Editing Changes",editing_data:"Editing Layers",editing_attributes:"Editing attributes",relations:"Relations",edit_relation:"Edit relation",back_to_relations:"Back to Relations",no_relations_found:"No relations found",relation_data:"Relation data",relation_already_added:"Relation already added",list_of_relations_feature:"List of relations feature ",tooltip:{edit_layer:"Edit Layer"},toolbox:{title:"Edit"},table:{edit:"Edit feature",copy:"Create a copy",delete:"Delete feature"},tools:{copy:"Copy features",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Add part to multipart",deletepart:"Delete part from multipart",merge:"Dissolve features",split:"Split Feature",add_feature:"Add feature",delete_feature:"Delete feature",move_feature:"Move feature",update_vertex:"Update feature vertex",update_feature:"Update feature attribute",update_multi_features:"Update attributes of selected features",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Select features",select_element:"Select feature",copy:"Create new copy of selected features",merge:"Dissolve features",split:"Split Feature",new:"Create new feature",edit_table:"Edit table features",draw_new_feature:"Draw feature on map",action_confirm:"Confirm action",double_click_delete:"Select feature on map to delete",edit_feature_vertex:"Modify or add a vertex on selected feature",move:"Move selected feature",select_feature_to_relation:"Select feature that you bind relation",show_edit_feature_form:"Show feature form to edit attributes",pick_feature:"Select feature on map to modify",insert_attributes_feature:"Insert attributes of the feature"}},workflow:{steps:{select:"Click on feature to select",draw_part:"Draw new part",merge:"Select featurewhere dissolve",selectSHIFT:"Select features drawing a rectangle pressing SHIFT",selectDrawBox:"Select features drawing a rectangle by two point of opposite corners",selectDrawBoxAtLeast2Feature:"Select at least features drawing a rectangle by two point of opposite corners",selectPoint:"Click on feature to select",selectPointSHIFT:"Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature",selectMultiPointSHIFT:"Select features drawing a rectangle pressing SHIFT or click on feature",selectMultiPointSHIFTAtLeast2Feature:"Select at least 2 features drawing a rectangle pressing SHIFT or click on feature",copyCTRL:"Copy selected features using CTRL+C",selectStartVertex:"Select starting vertex of selected features",selectToPaste:"Select the point where paste the features selected",draw_split_line:"Draw a line to split selected feature"},title:{steps:"Steps"},next:"Next"},messages:{featureslockbyotheruser:"Some geometries/records are not editable because in editing by other user",splitted:"Splitted",nosplittedfeature:"Feature not spitted",press_esc:"Press ESC to back",online:"Back ONLINE. Now you can save your changes on database",offline:"You are OFFLINE. All changes are saved locally",delete_feature:"Do you want delete selected feature ?",delete_feature_relations:"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature",unlink_relation:"Do you want unlink relation?",commit_feature:"Do you want to save the changes",toolbox_has_relation:"this layer is part of a relation",saved:"Data saved successfully",saved_local:"Data saved locally successfully",loading_data:"Loading data",saving:"Saving data. Please wait ...",constraints:{enable_editing:"Please Zoom In to enable editing tools \nActivation scale at 1:"},pdf:"Document preview not available. Please click here ",commit:{header:"The following list show all changes to commit.",header_add:"Added show the number of features added",header_update_delete:"Modified and Deleted show the list of features id",add:"Added(n. features)",delete:"Deleted(id)",update:"Modified(id)"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Select relations to link it to current editing feature.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Create and link new relation",link_relation:"Join a relation to this feature",open_relation_tools:"Show relation tools",unlink_relation:"Unlink relation"}},buttons:{save:"Insert/Edit",save_and_back:"Save and Back",save_and_back_table:"Save and Back",cancel:"Ignore Changes"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],23:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Avem o eroare. Straturile nu sunt editabile",some_layers:"Avem o eroare: Anumite straturi nu se pot edita"},search:"Caută",editing_changes:"Modificare schimbări",editing_data:"Modificare straturi",editing_attributes:"Modificare atribute",relations:"Relații",edit_relation:"Modifică relația",back_to_relations:"Înapoi la Relații",no_relations_found:"Nu am găsit relații",relation_data:"Date relații",relation_already_added:"Relație adăugată deja",list_of_relations_feature:"Lista relații entitatea ",tooltip:{edit_layer:"Modifică strat"},toolbox:{title:"Modifică"},table:{edit:"Modifică entitate",copy:"Creează o copie",delete:"Elimină entitatea"},tools:{copy:"Copiază entitățile",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Adaugă o parte la multiparte",deletepart:"Elimină partea din multiparte",merge:"Dizolvare entități",split:"Divizare Entitate",add_feature:"Adaugă entitate",delete_feature:"Eliminare entitate",move_feature:"Mută entitate",update_vertex:"Actualizează vertecșii entității",update_feature:"Actualizează atributul entității",update_multi_features:"Actualizează atributele entităților selectate",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Arată măsurătorile",snap:"Acroșare strat",snapall:"Acroșare pe toate straturile"},steps:{help:{select_elements:"Selectează entități",select_element:"Selectează entitate",copy:"Creează o nouă copie a entităților selectate",merge:"Dizolvă entitățile",split:"Divizare Entitate",new:"Creează o entitate",edit_table:"Modifică entitățile tabelare",draw_new_feature:"Desenează entitate pe hartă",action_confirm:"Confirmă acțiunea",double_click_delete:"Selectează entitatea de eliminat din hartă",edit_feature_vertex:"Modifică sau adaugă un vertex la entitatea selectată",move:"Mută entitatea selectată",select_feature_to_relation:"Selectează entitate pentru relaționare",show_edit_feature_form:"Arată formularul entității pentru modificări",pick_feature:"Selectează entitățile de modificat din hartă",insert_attributes_feature:"Inserează atributele entității"}},workflow:{steps:{select:"Click pe entitate pentru a o selecta",draw_part:"Desenează o parte nouă",draw_geometry:"Desenați geometria",merge:"Selectează partea de dizolvat",selectSHIFT:"Selectează entități prin desen triunghi apăsând SHIFT",selectDrawBox:"Selectează entități desenând un dreptunghi prin două puncte opuse",selectDrawBoxAtLeast2Feature:"Selectează cel puțin 2 entități prin desenul unui dreptunghi",selectPoint:"Click pe entitate pentru selectare",selectPointSHIFT:"Selectează entități prin desen dreptunghi apăsând SHIFT (multientități) sau prin click pe entitate",selectMultiPointSHIFT:"Selectează entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate",selectMultiPointSHIFTAtLeast2Feature:"Selectează cel puțin 2 entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate",copyCTRL:"Copiază entitățile selectate folosint CTRL+C",selectStartVertex:"Selectează vertexul de start a entităților selectate",selectToPaste:"Selectează punctul unde să lipim entitățile selectate",draw_split_line:"Desenează o linie pentru a diviza entitatea selectată"},title:{steps:"Pași"},next:"Următorul"},messages:{featureslockbyotheruser:"Unele geometrii/înregistrări nu sunt editabile deoarece sunt editate de către alt utilizator",splitted:"Divizat",nosplittedfeature:"Entitate nedivizată",press_esc:"ESC pentru înapoi",online:"Înapoi ONLINE. Acum se pot salva schimbările",offline:"OFFLINE. Schimbările sunt salvate local",delete_feature:"Șterg entitatea selectată?",delete_feature_relations:"Dacă entitatea are relații care trimit la ea, acele relații devin orfane. Sugerăm să vă ocupați de acele elemente înainte să eliminați această entitate.",unlink_relation:"Dorești să eliminați legătura cu relația?",commit_feature:"Rezumatul modificărilor",toolbox_has_relation:"acest strat face parte dintr-o relație",saved:"Datele sunt salvate",saved_local:"Datele s-au salvat local",loading_data:"Datele se încarcă.",saving:"Salvăm datele. Așteptați ...",constraints:{enable_editing:"Pentru a activa Modificare faceți zoom la \nScara de activare 1:"},pdf:"Previzualizarea documentului nu este disponibilă. Click aici ",commit:{header:"Lista cu toate modificările.",header_relation:"Relation",header_add:"Adăugate arată nr. de entități adăugate",header_update_delete:"Modificate și Șterse arată lista de id-uri de entități",add:"Adăugate",delete:"Eliminate",update:"Modificate"},loading_table_data:"Încărcăm tabelul de date ...",copy_and_paste_from_other_layer_mandatory_fields:"Înainte de a salva, este necesar să completați toate câmpurile obligatorii ale entități introduse",no_feature_selected:"Nicio feature selectată",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Selectează relațiile pentru a face legătura cu entitatea curentă.
"},draw_new_feature:"Desenați o nouă feature",draw_or_copy:"sau",copy_feature_from_other_layer:"Copiați feature dintr-un alt layer"},form:{relations:{tooltips:{back_to_father:"Înapoi la modificările entității părinte",add_relation:"Creează și fă legătura unei relații noi",link_relation:"Leagă o relație de entitate",open_relation_tools:"Arată instrumentele pentru relații",unlink_relation:"Elimină legătura la relație"}},buttons:{save:"Inserați/Editați",save_and_back:"Salvează și dă înapoi",save_and_back_table:"Salvează și dă înapoi",cancel:"Ignorați modificările"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],24:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.default={close_editing_panel:{message:"To close editing form need to exit from editing layer"},errors:{no_layers:"Ett fel uppstod. Nivåerna kan inte redigeras.",some_layers:"Ett fel uppstod. Vissa nivåer kan inte redigeras."},search:"Sökning",editing_changes:"Editing Changes",editing_data:"Nivåerna redigeras",editing_attributes:"Attributen redigeras",relations:"Relationer",edit_relation:"Redigera relationen",back_to_relations:"Tillbaka till relationerna",no_relations_found:"Inga relationer hittades",relation_data:"Relationsuppgifter",relation_already_added:"Relationen har redan lagts till",list_of_relations_feature:"Lista på relationens egenskaper",tooltip:{edit_layer:"Redigera nivån"},toolbox:{title:"Redigera"},table:{edit:"Redigera egenskap",copy:"Skapa en kopia",delete:"Ta bort egenskap"},tools:{copy:"Kopiera egenskaper",pastefeaturesfromotherlayers:"Paste features from other layer",addpart:"Lägg till del",deletepart:"Ta bort del",merge:"Slå samman egenskaper",split:"Dela upp egenskap",add_feature:"Lägg till egenskap",delete_feature:"Ta bort egenskap",move_feature:"Flytta egenskap",update_vertex:"Uppdatera punktens egenskap",update_feature:"Uppdatera egenskap",update_multi_features:"Ändra attributen för de valda funktionerna",update_multi_features_relations:"Update attributes of all selected relations",copyfeaturefromexternallayer:"Create Feature from added layer"},toolsoftool:{measure:"Show measure",snap:"Snap layer",snapall:"Snap to all layers"},steps:{help:{select_elements:"Välj egenskaper",select_element:"Välj egenskapalitse ominaisuus",copy:"Skapa kopia av valda egenskaper",merge:"Slå samman egenskaper",split:"Dela upp egenskap",new:"Skapa ny egenskap",edit_table:"Ändra egenskaper i tabellen",draw_new_feature:"Piirrä ominaisuus kartalle",action_confirm:"Godkänn funktionen",double_click_delete:"Välj funktionen som du vill ta bort på kartan",edit_feature_vertex:"Ändra punkten eller lägg till punkten till den valda egenskapen",move:"Flytta den valda egenskapen",select_feature_to_relation:"Välj relation",show_edit_feature_form:"Visa egenskapsformuläret för redigering av attribut",pick_feature:"Välj funktion på kartan för att ändras",insert_attributes_feature:"Lägg till egenskapens attribut"}},workflow:{steps:{select:"Välj egenskap",draw_part:"Rita ny del",draw_geometry:"Rita geometri",merge:"Välj egenskap att slå samman",selectSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel.",selectDrawBox:"Rita upp den rektangel inom vilken objekten väljs ",selectDrawBoxAtLeast2Feature:"Rita rektangeln inom vilken minst två objekt är markerade ",selectPoint:"Välj egenskap",selectPointSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.",selectMultiPointSHIFT:"Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.",selectMultiPointSHIFTAtLeast2Feature:"Tryck på SKIFT för att välja minst två objekt med en rektangel eller välj en enda egenskap. ",copyCTRL:"CTRL+C, du kan kopiera valda egenskaper.",selectStartVertex:"Visa startpunkten för valda egenskaper.",selectToPaste:"Välj punkt till vilken de valda egenskaperna ska fogas.",draw_split_line:"Rita en linje enligt vilken den valda egenskapen ska uppdelas."},title:{steps:"Skeden"},next:"Nästa"},messages:{featureslockbyotheruser:"Jotkut geometriat/tietueet eivät ole muokattavissa, koska muut käyttäjät muokkaavat niitä",splitted:"Uppdelad",nosplittedfeature:"Egenskapen har inte delats upp",press_esc:"Tryck ESC för att gå tillbaka",online:"Förbindelsen har upprättats. Ändringar kan sparas i databasen.",offline:"Du är i offline-läge. Ändringarna sparas lokalt",delete_feature:"Vill du ta bort den valda egenskapen?",delete_feature_relations:"Om egenskapen saknar bindande relationer blir dessa relationer föräldralösa. Vi rekommenderar att du behandlar dessa relationer innan du lämnar programmet",unlink_relation:"Vill du ta bort relationen?",commit_feature:"Sammanfattning av ändringar",toolbox_has_relation:"detta lager är en del av en relation",saved:"Uppgifterna sparades",saved_local:"Uppgifterna sparades lokalt.",loading_data:"Uppgifterna laddas",saving:"Uppgifterna sparas. Vänta...",constraints:{enable_editing:"Zooma in för att börja använda redigeringsverktyg \nAktivering skala 1:"},pdf:"Förhandsgranskning av dokument är inte tillgänglig. Tryck här",commit:{header:"Följande lista visar alla ändringar.",header_relation:"Relation",header_add:"Tillagda visar antalet egenskaper som lagts till",header_update_delete:"Redigerad och Borttagen Visa en lista på egenskapernas id",add:"har lagts till",delete:"Borttagen",update:"Redigerad"},loading_table_data:"Building Data Table. Please wait ...",copy_and_paste_from_other_layer_mandatory_fields:"It is necessary to fill in any mandatory fields on the features pasted before saving",no_feature_selected:"No feature selected",select_min_2_features:"Select at least 2 features"},relation:{table:{info:"
Välj relation för länkning till egenskap som ska redigeras.
"},draw_new_feature:"Draw new feature",draw_or_copy:"or",copy_feature_from_other_layer:"Copy feature from other layer"},form:{relations:{tooltips:{back_to_father:"Back to edit father",add_relation:"Skapa och länka ny relation",link_relation:"Foga relationen till denna egenskap",open_relation_tools:"Visa relationsverktyg",unlink_relation:"Ta bort relation"}},buttons:{save:"Infoga/Redigera",save_and_back:"Spara och gå tillbaka",save_and_back_table:"Spara och gå tillbaka",cancel:"Ignorera ändringar"}},modal:{tools:{copyfeaturefromotherlayer:{title:"Select layer",edit_attributes:"Edit attributes of pasted features in multiple mode"},copyfeaturefromprojectlayer:{title:"Select a feature"}}}}},{}],25:[function(F,i,r){var x=Object.assign||function(e){for(var t=1;t{var t,i,e,n,r,a,o,s,l=d,u=B;if("function"!=typeof u&&null!==u)throw new TypeError("Super expression must either be null or a function, not "+typeof u);function d(){var t;if(this instanceof d)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,(d.__proto__||Object.getPrototypeOf(d)).call(this,{name:"editing",i18n:g.default,fontClasses:[{name:"measure",className:"fas fa-ruler-combined"},{name:"magnete",className:"fas fa-magnet"},{name:"clipboard",className:"fas fa-clipboard"}]}))).state={open:!1,toolboxes:[],_toolboxes:[],toolboxselected:null,showselectlayers:!0,message:null,relations:[],sessions:{},layers_in_error:!1,formComponents:{},subscribers:{},constraints:{toolboxes:{},showToolboxesExcluded:!0},featuresOnClose:{},uniqueFieldsValues:{},saveConfig:{mode:"default",modal:!1,messages:void 0,cb:{done:function(){},error:function(){}}},editableLayers:{},events:{"start-editing":{},"show-relation-editing":{},layer:{start_editing:{before:{},after:{}}}},show_errors:!1,editFeatureKey:void 0,panel:null,currentLayout:h.getCurrentLayoutName(),unwatchLayout:(new Vue).$watch(function(){return O.gui.layout.__current},function(e){return t.state.currentLayout=e!==t.getName()?e:t.state.currentLayout}),onMapControlToggled:function(e){e=e.target;e.isToggled()&&e.isClickMap()&&t.state.toolboxselected&&t.state.toolboxselected.getActiveTool()&&t.state.toolboxselected.stopActiveTool()}},t.setService(Object.assign(new D,{state:t.state,config:t.config,getSession:t.getSession.bind(t),getFeature:t.getFeature.bind(t),subscribe:t.subscribe.bind(t),unsubscribe:t.unsubscribe.bind(t),fireEvent:t.fireEvent.bind(t),undo:t.undo.bind(t),redo:t.redo.bind(t),getEditingLayer:t.getEditingLayer.bind(t),addToolBox:t.addToolBox.bind(t),runEventHandler:t.runEventHandler.bind(t),resetDefault:t.resetDefault.bind(t),resetAPIDefault:t.resetAPIDefault.bind(t),getLayers:t.getLayers.bind(t),getLayerById:t.getLayerById.bind(t),getToolBoxById:t.getToolBoxById.bind(t),getSessionById:t.getSessionById.bind(t),setApplicationEditingConstraints:t.setApplicationEditingConstraints.bind(t),getToolBoxes:t.getToolBoxes.bind(t),getEditableLayers:t.getEditableLayers.bind(t),stop:t.stop.bind(t),saveChange:t.saveChange.bind(t),commit:t.commit.bind(t),undoRedoLayerUniqueFieldValues:t.undoRedoLayerUniqueFieldValues.bind(t),undoRedoRelationUniqueFieldValues:t.undoRedoRelationUniqueFieldValues.bind(t),stopEditing:t.stopEditing.bind(t),startEditing:t.startEditing.bind(t),addLayerFeature:t.addLayerFeature.bind(t)})),G.getService("map").on("mapcontrol:toggled",t.state.onMapControlToggled),t._init(),t;throw new TypeError("Cannot call a class as a function")}return l.prototype=Object.create(u&&u.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),u&&(Object.setPrototypeOf?Object.setPrototypeOf(l,u):l.__proto__=u),c(d,[{key:"_init",value:(s=R(function*(){var i,d=this;b.getLayers({EDITABLE:!0}).length&&(this.setHookLoading({loading:!0}),this.service.setApi({api:{getSession:this.getSession.bind(this),getFeature:this.getFeature.bind(this),subscribe:this.subscribe.bind(this),unsubscribe:this.unsubscribe.bind(this),getToolBoxById:this.getToolBoxById.bind(this),addNewFeature:p.createFeature,commitChanges:this.commit.bind(this),setApplicationEditingConstraints:this.setApplicationEditingConstraints.bind(this),getMapService:function(){return G.getService("map")},updateLayerFeature:V,deleteLayerFeature:V,addLayerFeature:this.addLayerFeature.bind(this),hidePanel:this.hideEditingPanel.bind(this),resetDefault:this.resetAPIDefault.bind(this),startEditing:this.startEditing.bind(this),stopEditing:this.stopEditing.bind(this),showPanel:this.showPanel.bind(this),setSaveConfig:this.setSaveConfig.bind(this),addFormComponents:this.addFormComponents.bind(this)}}),S.addLayersStore(new w({id:"editing",queryable:!1})),this.state.editableLayers={},this.state._toolboxes=[],this.state.toolboxes=[],(yield Promise.allSettled(b.getLayers({EDITABLE:!0},{TOC_ORDER:!0}).map(function(e){return e.getLayerForEditing({vectorurl:d.config.vectorurl,project_type:d.config.project_type})}))).forEach(function(e){var t=e.status,u=e.value;"fulfilled"!==t?d.state.layers_in_error=!0:(d.state.editableLayers[u.getId()]=u,d.state.uniqueFieldsValues[u.getId()]={},u.getEditingFields().filter(function(e){return e.input&&"select_autocomplete"===e.input.type&&!e.input.options.filter_expression&&!e.input.options.usecompleter}).forEach(function(l){return["start-editing","show-relation-editing"].forEach(function(e){var t=u.getId();d.state.events[e][t]=d.state.events[e][t]||[],d.state.events[e][t].push(R(function*(){var t=l.input.options,e=(t.loading.state="loading",t.values=[],t.layer_id&&b.getLayerById(t.layer_id)),i=[void 0,null].includes(t.filter_fields||[])||0===(t.filter_fields||[]).length;try{if(t.relation_reference&&i){var n,r=yield u.getFilterData({fformatter:l.name});if(r&&r.data)return(n=t.values).push.apply(n,L(r.data.map(function(e){var e=f(e,2),t=e[0];return{key:e[1],value:t}}))),t.loading.state="ready",d.fireEvent("autocomplete",{field:l,data:[r.data]}),t.values}if(e){var a,o=yield(0,C.promisify)(e.getDataTable({ordering:t.orderbyvalue?t.value:t.key}));if(o&&o.features)return(a=t.values).push.apply(a,L((o.features||[]).map(function(e){return{key:e.properties[t.value],value:e.properties[t.key]}}))),t.loading.state="ready",d.fireEvent("autocomplete",{field:l,features:o.features}),t.values}var s=[];return t.loading.state="ready",d.fireEvent("autocomplete",{field:l,features:s}),s}catch(e){return t.loading.state="error",Promise.reject(e)}}))})}),d.state.sessions[u.getId()]=null)}),i=0,this.getLayers().forEach(function(e){var t=e.getId();b.getLayerById(t).getRelations().getArray().filter(function(e){return"ONE"===e.getType()&&t===e.getFather()}).forEach(function(t){var i=void 0!==d.getLayerById(t.getChild());d.getLayerById(t.getFather()).getEditingFields().filter(function(e){return e.vectorjoin_id&&e.vectorjoin_id===t.getId()}).forEach(function(e){e.editable=e.editable&&i})}),e.getColor()||e.setColor(e.isGeoLayer()?["#C43C39","#d95f02","#91522D","#7F9801","#0B2637","#8D5A99","#85B66F","#8D2307","#2B83BA","#7D8B8F","#E8718D","#1E434C","#9B4F07","#1b9e77","#FF9E17","#7570b3","#204B24","#9795A3","#C94F44","#7B9F35","#373276","#882D61","#AA9039","#F38F3A","#712333","#3B3A73","#9E5165","#A51E22","#261326","#e4572e","#29335c","#f3a712","#669bbc","#eb6841","#4f372d","#cc2a36","#00a0b0","#00b159","#f37735","#ffc425"][i++%40]:"#fff")}),S.getLayersStore("editing").addLayers(this.getLayers()),this.getLayers().forEach(function(e){return d.addToolBox(new y.ToolBox(e,[].concat(L(e.getChildren()),L(e.getFathers())).filter(function(e){return d.getLayerById(e)})))}),yield G.isReady(),this._setupGUI(),this.setHookLoading({loading:!1}),this.setReady(!0))}),function(){return s.apply(this,arguments)})},{key:"_setupGUI",value:(o=R(function*(){var h=this;this.registerPlugin(this.config.gid)&&!1!==this.config.visible&&0!==this.getLayers().filter(function(e){return e.config.editing.visible}).length&&(this.state.editFeatureKey=G.getService("queryresults").onafter("editFeature",R(function*(){var e=0\n {var n,t,e,i,r,a=c,o=M;if("function"!=typeof o&&null!==o)throw new TypeError("Super expression must either be null or a function, not "+typeof o);function c(e){var a,t,i,n,r,o,p,s=1{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)),u=(l=[void 0,D.LayerTypes.VECTOR].includes(e.getType()))&&e.getGeometryType(),r=l&&j.isPointGeometryType(u),t=l&&j.isLineGeometryType(u),i=l&&j.isPolygonGeometryType(u),n=D.LayerTypes.TABLE===e.getType(),u=u&&j.isMultiGeometry(u),r=l&&(r?"Point":t?"Line":"Polygon"),a._start=!1,a.constraints={filter:null,show:null,tools:[]},a._constrains={commit:!1,undo:!1,redo:!1},a._states=[],a._history={id:e.getId(),state:new Proxy({},{get:function(e,t){return a._constrains[t]}}),add:a.__add.bind(a),undo:a.__undo.bind(a),clear:a.__clearHistory.bind(a),redo:a.__redo.bind(a),getState:a.__getState.bind(a),getLastState:a.__getLastHistoryState.bind(a),commit:a.__commit.bind(a)},a._session=Object.assign(new M({setters:{start:function(){return(0,I.$promisify)(a.__startSession(0"+B("editing.messages.delete_feature")+'
'+(s.layer.getChildren().length&&(0,h.getRelationsInEditing)({layerId:o,relations:s.layer.getRelations().getArray()}).length?B("editing.messages.delete_feature_relations"):"")+"
",function(e){var t;(e?(r.getSource().removeFeature(a),(t=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").state.uniqueFieldsValues[o])&&Object.keys(a.getProperties()).filter(function(e){return void 0!==t[e]}).forEach(function(e){return t[e].delete(a.get(e))}),i):n)(s)})});return s.features&&(0,_.setAndUnsetSelectedFeaturesStyle)({promise:(0,I.$promisify)(L(function*(){try{return yield e}catch(e){return Promise.reject(e)}})),inputs:s,style:t.selectStyle}),e}))}})]})},(t||i)&&o.includes("change_feature")&&{id:"movevertex",type:["change_feature"],name:"editing.tools.update_vertex",icon:"moveVertex.png",op:new f.Workflow({layer:e,type:"modifygeometryvertex",helpMessage:"editing.tools.update_vertex",steps:[new C.PickFeatureStep({layer:e}),new g.Step({run:b.chooseFeature}),new C.ModifyGeometryVertexStep({tools:["snap","measure"]})]})},l&&o.includes("change_attr_feature")&&{id:"editmultiattributes",type:["change_attr_feature"],name:"editing.tools.update_multi_features",icon:"multiEditAttributes.png",op:new f.Workflow({layer:e,type:"editmultiattributes",helpMessage:"editing.tools.update_multi_features",registerEscKeyEvent:!0,runOnce:!0,steps:[new C.SelectElementsStep({type:"multiple",steps:{select:{description:"editing.workflow.steps."+(O.ismobile?"selectDrawBoxAtLeast2Feature":"selectMultiPointSHIFTAtLeast2Feature"),buttonnext:{disabled:!0,condition:function(e){e=e.features;return(void 0===e?[]:e).length<2},done:function(){f.Workflow.Stack.getCurrent().clearUserMessagesSteps()}},dynamic:0,done:!1}}}),new C.OpenFormStep({multi:!0})]})},l&&o.includes("change_feature")&&{id:"movefeature",type:["change_feature"],name:"editing.tools.move_feature",icon:"move"+r+".png",op:new f.Workflow({layer:e,type:"movefeature",helpMessage:"editing.tools.move_feature",steps:[new C.PickFeatureStep,new g.Step({run:b.chooseFeature}),new C.MoveFeatureStep]})},(p=[],l&&o.includes("add_feature")&&{id:"copyfeaturesfromotherlayer",type:["add_feature"],name:"editing.tools.pastefeaturesfromotherlayers",icon:"pasteFeaturesFromOtherLayers.png",enable:(()=>{function i(){function t(e){return e&&(0,T.isSameBaseGeometryType)(a,e)&&(a===e||j.isMultiGeometry(a)||!j.isMultiGeometry(e))}return p=[].concat(P(A.getLayers({GEOLAYER:!0,BASELAYER:!1}).filter(function(e){return r!==e.getId()&&t(e.getGeometryType())})),P(n.getExternalLayers({type:"vector"}).filter(function(e){return t(e.geometryType)}))).map(function(e,t){return{id:(e.state||{id:e.id}).id,name:(e.state||{name:e.name}).name,external:e.external||!1,selected:0===t}}),o.tool.enabled=0{var t=(0,w.cloneFeature)(u[e],l);r?t.getGeometry().translate(r.x,r.y):(e=t.getGeometry().getCoordinates(),e=(0,F.getDeltaXY)({x:i,y:n,coordinates:e}),t.getGeometry().translate(e.x,e.y)),l.getEditingMediaFields({}).forEach(function(e){return t.set(e,null)}),a.push((0,k.evaluateExpressionFields)({inputs:p,context:y,feature:t}))})(o);Promise.allSettled(a).then(function(e){return e.forEach(function(e){e.status;var e=e.value,t=(0,S.getNotEditableFieldsNoPkValues)({layer:l,feature:e}),i=g.pushAdd(f,e);Object.entries(t).length&&Object.entries(t).forEach(function(e){var e=v(e,2),t=e[0];return i.set(t,e[1])}),c.addFeature(i),p.features.push(i)})}).finally(function(){h.setUserMessageStepDone("to"),s(p)})}}),h.addInteraction(new ol.interaction.Snap({source:c,edge:!1}))});return(0,_.setAndUnsetSelectedFeaturesStyle)({promise:(0,I.$promisify)(L(function*(){try{return yield e}catch(e){return Promise.reject(e)}})),inputs:p,style:h.selectStyle}),e}))}})].filter(Boolean),registerEscKeyEvent:!0})},l&&o.includes("add_feature")&&o.includes("change_feature")&&{id:"addPart",type:["add_feature","change_feature"],name:"editing.tools.addpart",icon:"addPart.png",visible:u,op:new f.Workflow({layer:e,type:"addparttomultigeometries",helpMessage:"editing.tools.addpart",runOnce:!0,steps:[new C.PickFeatureStep({steps:{select:{description:"editing.workflow.steps.select",done:!1}}}),new g.Step({run:b.chooseFeature,help:"editing.steps.help.select_element"}),new C.AddFeatureStep({layer:e,help:"editing.steps.help.select_element",add:!1,steps:{addfeature:{description:"editing.workflow.steps.draw_part",done:!1}},tools:["snap","measure"]}),new g.Step({layer:e,help:"editing.steps.help.select_element",run:q.addPartToMultigeometries})],registerEscKeyEvent:!0})},l&&o.includes("change_feature")&&{id:"deletePart",type:["change_feature"],name:"editing.tools.deletepart",icon:"deletePart.png",visible:u,op:new f.Workflow({layer:e,type:"deletepartfrommultigeometries",steps:[new C.PickFeatureStep,new g.Step({run:b.chooseFeature}),new g.Step({layer:e,run:function(y,h){var v=this;return(0,I.$promisify)(new Promise(function(n,e){var t=y.layer,r=y.layer.getEditingLayer(),a=t.getId(),o=h.session,t=y.features,i=y.coordinate,s=t[0],l=s.clone(),u=s.getGeometry(),d=[];switch(u.getType()){case R.MULTIPOLYGON:d=u.getPolygons();break;case R.MULTILINE:case R.MULTILINESTRING:d=u.getLineStrings();break;case R.MULTIPOINT:d=u.getPoints()}var c=new ol.source.Vector({features:d.map(function(e){return new ol.Feature(e)})}),f=v.getMap(),g=f.getPixelFromCoordinate(i),p=new ol.layer.Vector({source:c,style:r.getStyle()});f.addLayer(p),f.once("postrender",function(){var i=!1;f.forEachFeatureAtPixel(g,function(e){var t;i||(c.removeFeature(e),c.getFeatures().length?(t=(e=c.getFeatures().map(function(e){return e.getGeometry()}))[0]&&e[0].getType(),s.setGeometry(t&&new ol.geom["Multi"+t](e.map(function(e){return e.getCoordinates()}))),(0,k.evaluateExpressionFields)({inputs:y,context:h,feature:s}).finally(function(){o.pushUpdate(a,s,l),n(y)})):(r.getSource().removeFeature(s),o.pushDelete(a,s),n(y)),i=!0)},{layerFilter:function(e){return e===p},hitTolerance:1}),f.removeLayer(p),p=null})}))}})],helpMessage:"editing.tools.deletepart"})},(t||i)&&o.includes("change_feature")&&{id:"splitfeature",type:["change_feature"],name:"editing.tools.split",icon:"splitFeatures.png",op:new f.Workflow({layer:e,type:"splitfeature",runOnce:!0,steps:[new C.SelectElementsStep({layer:e,help:"editing.steps.help.split",type:O.ismobile?"single":"multiple",steps:{select:{description:"editing.workflow.steps."+(O.ismobile?"selectPoint":"selectPointSHIFT"),done:!1}}},!0),new g.Step({layer:e,help:"",steps:{draw_line:{description:"editing.workflow.steps.draw_split_line",done:!1}},run:function(s,l){var i=this;return(0,I.$promisify)(L(function*(){var e=s.layer.getEditingLayer().getSource(),t=new Promise(function(a,o){var t;i.addInteraction(new ol.interaction.Draw({type:"LineString",features:new ol.Collection,freehandCondition:ol.events.condition.never}),{drawend:(t=L(function*(e){for(var i=!1,n=(0,Y.splitFeatures)(s.features,e.feature),t=n.length,r=0;rfunction(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})})(function*(){var e,t=void 0,i=void 0;1function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})})(function*(){try{var e;return 1!==t.features.length&&(e=yield(0,n.chooseFeatureFromFeatures)({features:t.features,inputs:t}),t.features=[e]),t}catch(e){return Promise.reject(e)}}))};var n=e("../utils/chooseFeatureFromFeatures"),r=e("../utils/promisify")},{"../utils/chooseFeatureFromFeatures":34,"../utils/promisify":58}],34:[function(s,e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.chooseFeatureFromFeatures=function(e){var t=e.features,a=void 0===t?[]:t,o=e.inputs;return new Promise(function(e,t){var i=[],n=new(Vue.extend(s("../components/ChooseFeatureToEdit.vue")))({features:Array.isArray(a)?a:[],feature:i,attributes:o.layer.getEditingFields().map(function(e){return{name:e.name,label:e.label}})}),r=g3wsdk.gui.GUI.showModalDialog({title:l("editing.modal.tools.copyfeaturefromprojectlayer.title"),className:"modal-left",closeButton:!1,message:n.$mount().$el,buttons:{cancel:{label:"Cancel",className:"btn-danger",callback:function(){t()}},ok:{label:"Ok",className:"btn-success",callback:function(){e(i[0])}}}});r.find("button.btn-success").prop("disabled",!0),n.$watch("feature",function(e){return r.find("button.btn-success").prop("disabled",null===e)})})};var l=g3wsdk.core.i18n.tPlugin},{"../components/ChooseFeatureToEdit.vue":3}],35:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.cloneFeature=function(e,t){e=e.cloneNew(),t=t&&t.getEditingFields().find(function(e){return e.pk});t&&!1===t.editable&&e.set(t.name,null);return e}},{}],36:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.convertToGeometry=function(){var e=0(t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e))({},r.name,r.value)),relations:[n]}),t.un("featuresLockedByOtherUser",i),void 0===u)?e.getLayerById(o).getEditingSource().readFeatures().find(function(e){return r.value===e.get(s)}):u))try{var d=g.getLayerById(o),c=(yield p.getData("search:features",{inputs:{layer:d,formatter:0,filter:g3wsdk.core.utils.createFilterFormInputs({layer:d,search_endpoint:"api",inputs:[{attribute:s,value:r.value}]}),search_endpoint:"api"},outputs:!1})).data;c&&c[0]&&1===c[0].features.length&&(l=!0,u=c[0].features[0])}catch(e){}return{feature:u,locked:l}},r=function(){var s=n.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})},function(e){return r.apply(this,arguments)});var n,r,f=e("../utils/getLayersDependencyFeatures");var g=g3wsdk.core.catalog.CatalogLayersStoresRegistry,p=g3wsdk.core.data.DataRouterService},{"../utils/getLayersDependencyFeatures":45}],49:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.getRelationFieldsFromRelation=function(){var e=0{e=function*(t){try{t.resolve(yield i instanceof Promise?i:i())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}],59:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.setAndUnsetSelectedFeaturesStyle=function(){function e(){var t=(0,l.setFeaturesSelectedStyle)(a,r);(0,s.promisify)(i).finally(function(){a.flat().forEach(function(e){return e.setStyle(t)})})}var t=0({originalStyle:e.getStyle(),selectedStyle:e.getGeometry()?g3wsdk.core.geoutils.createSelectedStyle({geometryType:e.getGeometry().getType()}):e.getStyle()}))(e[0]),n=i.originalStyle,r=i.selectedStyle,e.forEach(function(e){return e.setStyle(t||r)}),n}}},{}],61:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0});var n,r,a=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var i=t,n=[],r=!0,t=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!i||n.length!==i);r=!0);}catch(e){t=!0,a=e}finally{try{!r&&s.return&&s.return()}finally{if(t)throw a}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")};i.setLayerUniqueFieldValues=(n=function*(n){var r=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing");return yield new Promise(function(t,i){var e=g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").getLayerById(n);e.getWidgetData({type:"unique",fields:Object.values(e.getEditingFields().filter(function(e){return!(e.pk&&!1===e.editable)&&("unique"===e.input.type||e.validate.unique)})).map(function(e){return e.name}).join()}).then(function(e){Object.entries(e.data||{}).forEach(function(e){var e=a(e,2),t=e[0];r.state.uniqueFieldsValues[n][t]=new Set(e[1])}),t(r.state.uniqueFieldsValues[n][name])}).fail(function(e){i(e)})}),r.state.uniqueFieldsValues[n]},r=function(){var s=n.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})},function(e){return r.apply(this,arguments)});g3wsdk.core.catalog.CatalogLayersStoresRegistry},{}],62:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.splitFeatures=function(e,n){return(e||[]).reduce(function(e,t){var i=r({splitfeature:n,feature:t});return 1\n \n \n
\n \n \n ',name:"Saveall",props:{update:{type:Boolean},valid:{type:Boolean}},data:function(){return{enabled:x.Workflow.Stack._workflows.slice(0,x.Workflow.Stack.getLength()-1).every(function(e){e=(e.getContext().service instanceof Y?e.getContext().service.getState():{}).valid;return e||void 0===e})}},computed:{disabled:function(){return!this.enabled||!(this.valid&&this.update)}},methods:{saveAll:(l=I(function*(){P.setLoadingContent(!0),P.disableContent(!0),yield Promise.allSettled([].concat(E(x.Workflow.Stack._workflows)).reverse().filter(function(e){return"function"==typeof e.getLastStep()._saveAll}).map(function(r){return new Promise((t=I(function*(e){var t,i=r.getLastStep(),n=r.getContext().service.state.fields.filter(function(e){return!i._multi||null!==e.value});if(0!==n.length)return yield x.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies(),i._features.forEach(function(e){return i.getInputs().layer.setFieldsWithValues(e,n)}),t=i._features.map(function(e){return e.clone()}),i._isContentChild&&(i.getInputs().relationFeatures={newFeatures:t,originalFeatures:i._originalFeatures}),yield i.fireEvent("saveform",{newFeatures:t,originalFeatures:i._originalFeatures}),t.forEach(function(e,t){return i.getContext().session.pushUpdate(i.layerId,e,i._originalFeatures[t])}),yield(0,w.handleRelation1_1LayerFields)({layerId:i.layerId,features:t,fields:n,task:i}),i.fireEvent("savedfeature",t),i.fireEvent("savedfeature_"+i.layerId,t),i.getContext().session.save(),e()}),function(e){return t.apply(this,arguments)}));var t}));try{yield(0,S.promisify)(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").service.commit({modal:!1})),[].concat(E(x.Workflow.Stack._workflows)).reverse().filter(function(e){return"function"==typeof e.getLastStep()._saveAll}).forEach(function(e){var n=e.getContext().service,t=(n.setUpdate(!1,{force:!1}),n.feature);t.isNew()&&(t.state.new=!1,n.force.update=!1),Object.entries(e.getInputs().layer.getEditingSource().readFeatures().find(function(e){return e.getUid()===t.getUid()}).getProperties()).forEach(function(e){var e=p(e,2),t=e[0],e=e[1],i=n.getFields().find(function(e){return t===e.name});i&&(i.value=i._value=e)})})}catch(e){}P.setLoadingContent(!1),P.disableContent(!1)}),function(){return l.apply(this,arguments)})}},buttons:[{id:"save",title:f._isContentChild?x.Workflow.Stack.getParent().getBackButtonLabel()||"plugins.editing.form.buttons.save_and_back":"plugins.editing.form.buttons.save",type:"save",class:"btn-success",cbk:(s=I(function*(t){var i;0===(t=f._multi?t.filter(function(e){return null!==e.value}):t).length?P.setModal(!1):(i=[],P.setLoadingContent(!0),P.disableContent(!0),yield x.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies(),P.setLoadingContent(!1),P.disableContent(!1),f._features.forEach(function(e){d.layer.setFieldsWithValues(e,t),i.push(e.clone())}),f._isContentChild&&(d.relationFeatures={newFeatures:i,originalFeatures:f._originalFeatures}),yield f.fireEvent("saveform",{newFeatures:i,originalFeatures:f._originalFeatures}),i.forEach(function(e,t){return c.session.pushUpdate(f.layerId,e,f._originalFeatures[t])}),yield(0,w.handleRelation1_1LayerFields)({layerId:f.layerId,features:i,fields:t,task:f}),P.setModal(!1),f.fireEvent("savedfeature",i),f.fireEvent("savedfeature_"+f.layerId,i),f._isContentChild&&x.Workflow.Stack.getParents().forEach(function(e){return e.getContextService().setUpdate(!0,{force:!0})})),e(d)}),function(e){return s.apply(this,arguments)})},{id:"cancel",title:"plugins.editing.form.buttons.cancel",type:"cancel",class:"btn-danger",eventButtons:{update:{false:{id:"close",title:"close",type:"cancel",class:"btn-danger"}}},cbk:function(){f._isContentChild||(P.setModal(!1),f.fireEvent("cancelform",d.features)),t(d)}}]})).handleRelation=(u=I(function*(e){f._multi?P.showUserMessage({type:"info",message:"plugins.editing.errors.editing_multiple_relations",duration:3e3,autoclose:!0}):(P.setLoadingContent(!0),yield(0,V.setLayerUniqueFieldValues)(d.layer.getRelationById(e.relation.name).getChild()),o.setCurrentComponentById(e.relation.name),P.setLoadingContent(!1))}),function(e){return u.apply(this,arguments)}),o.addComponents([].concat(E(g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").state.formComponents[a]||[]),E((0,G.getRelationsInEditingByFeature)({layerId:a,relations:f._multi?[]:d.layer.getRelations().getArray().filter(function(e){return"ONE"!==e.getType()&&e.getFather()===a}),feature:!f._multi&&d.features[d.features.length-1]}).map(function(e){var t=e.relation,i=e.relations;return{title:"plugins.editing.edit_relation",name:t.name,id:t.id,header:!1,component:Vue.extend({mixins:[g("../components/FormRelation.vue")],name:"relation_"+Date.now(),data:function(){return{layerId:a,relation:t,relations:i}}})}})))),f.fireEvent("openform",{layerId:f.layerId,session:c.session,feature:f._originalFeature,formService:o}),x.Workflow.Stack.getCurrent()&&x.Workflow.Stack.getCurrent().setContextService(o),(0,B.listenRelation1_1FieldChange)({layerId:f.layerId,fields:n}).then(function(e){return f._unwatchs=e}),f.disableSidebar(!0))}),function(e,t){return i.apply(this,arguments)}));return(0,S.$promisify)(I(function*(){return(0,m.setAndUnsetSelectedFeaturesStyle)({promise:(0,S.$promisify)(e),inputs:d,style:f.selectStyle}),e}))}},{key:"stop",value:function(){this.disableSidebar(!1);var e=!1===this._isContentChild||2===x.Workflow.Stack.getLength()&&x.Workflow.Stack.getParent().isType("edittable"),e=(e&&P.getService("map").disableClickMapControls(!1),e&&x.Workflow.Stack.getCurrent().getContextService());e&&!1===this._isContentChild&&e.setUpdate(!1,{force:!1}),P.closeForm({pop:this.push||this._isContentChild}),g3wsdk.core.plugin.PluginsRegistry.getPlugin("editing").resetCurrentLayout(),this.fireEvent("closeform"),this.fireEvent("closeform_"+this.layerId),this.layerId=null,this._unwatchs.forEach(function(e){return e()}),this._unwatchs=[]}}]),R);function R(){var e=0{e=function*(t){try{t.resolve(yield i instanceof Promise?i:i())}catch(e){t.reject(e)}};var e,t=function(){var s=e.apply(this,arguments);return new Promise(function(a,o){return function t(e,i){try{var n=s[e](i),r=n.value}catch(e){return void o(e)}if(!n.done)return Promise.resolve(r).then(function(e){t("next",e)},function(e){t("throw",e)});a(r)}("next")})};return function(e){return t.apply(this,arguments)}})()).promise()}},{}]},{},[25]); //# sourceMappingURL=plugin.js.map diff --git a/g3w-admin/editing/static/editing/js/plugin.js.map b/g3w-admin/editing/static/editing/js/plugin.js.map index c660a43d0..5624e6b9b 100644 --- a/g3w-admin/editing/static/editing/js/plugin.js.map +++ b/g3w-admin/editing/static/editing/js/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sources":["plugin.js"],"sourcesContent":["/** START: g3w-client/src/plugins/_version.js */\n(function() {\n const plugins = window && window.initConfig && window.initConfig.group && window.initConfig.group.plugins;\n if (plugins) {\n plugins[\"editing\"] = Object.assign(plugins[\"editing\"] || {},\n {\n version : \"3.9.0-alpha.0\",\n hash : \"0cf762b\",\n branch : \"dev\",\n });\n }\n})();\n/** END: g3w-client/src/plugins/_version.js */\n(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;ili[data-v-90b32778]{margin-bottom:8px}ins[data-v-90b32778]{background-color:lime;text-decoration-line:none}del[data-v-90b32778]{background-color:tomato}dl[data-v-90b32778]{display:grid;grid-template:auto/.5fr 1fr;margin-bottom:0;word-break:break-all}dt[data-v-90b32778]{background:#fee}dd[data-v-90b32778]{background:#f1f2f4}dd[data-v-90b32778],dt[data-v-90b32778]{margin:0;padding:.3em .5em;border-top:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _areCoordinatesEqual = require('../utils/areCoordinatesEqual');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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: \"changes\",\n\n props: {\n commits: {\n type: Object,\n required: true\n },\n layer: {\n type: Object,\n required: true\n },\n relation: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n features: this.layer.readFeatures(),\n efeatures: this.layer.readEditingFeatures() };\n },\n\n\n methods: {\n getFormattedValue: function getFormattedValue(feat, key) {\n if (!feat) {\n return;\n }\n\n if ('geometry' === key && feat.get(key)) {\n return '(' + feat.get(key).getFlatCoordinates().length / 2 + ')';\n }\n return (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: this.layer.getId(),\n feature: feat,\n property: key\n });\n },\n getValue: function getValue(item, key) {\n return this.getFormattedValue(this.getFeature(item), key);\n },\n getEditingValue: function getEditingValue(item, key) {\n return this.getFormattedValue(this.getEditingFeature(item), key);\n },\n hasValue: function hasValue(item, key) {\n var feat = this.getFeature(item);\n var efeat = this.getEditingFeature(item);\n return !(feat && efeat && null === feat.get(key) && null === efeat.get(key) || feat && !efeat && null === feat.get(key));\n },\n getId: function getId(item) {\n return item.id || item;\n },\n getEditingFeature: function getEditingFeature(item) {\n var _this = this;\n\n return this.efeatures.find(function (f) {\n return _this.getId(item) === f.getId();\n });\n },\n getFeature: function getFeature(item) {\n var _this2 = this;\n\n return this.features.find(function (f) {\n return _this2.getId(item) === f.getId();\n });\n },\n getType: function getType(item) {\n var feat = this.getEditingFeature(item) || this.getFeature(item);\n return feat && feat.getGeometry && feat.getGeometry() ? feat.getGeometry().getType() : '';\n },\n isEdited: function isEdited(item, key) {\n var feat = this.getFeature(item);\n var efeat = this.getEditingFeature(item);\n if ([feat, efeat].includes(undefined)) {\n return false;\n }\n if (this.getType(item) && 'geometry' === key) {\n return !(0, _areCoordinatesEqual.areCoordinatesEqual)({ feature: feat, coordinates: efeat.get(key).getCoordinates() });\n }\n return efeat.get(key) !== feat.get(key);\n },\n getAttrs: function getAttrs(item) {\n var feat = this.getEditingFeature(item) || this.getFeature(item);\n return Object.entries(feat ? feat.getProperties() : {}).sort(function (a, b) {\n return a[0] > b[0];\n });\n },\n getLayerById: function getLayerById(id) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').service.getLayerById(id);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n this.$refs.value.filter(function (d) {\n return !d.textContent;\n }).forEach(function (d) {\n return d.innerHTML = '<empty>';\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('div',[(_vm.relation)?_c('h4',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin:pre\",value:('editing.messages.commit.header_relation'),expression:\"'editing.messages.commit.header_relation'\",arg:\"pre\"}],staticClass:\"skin-color g3w-long-text\",staticStyle:{\"font-weight\":\"bold\",\"margin\":\"15px 0\"}},[_vm._v(\": \"+_vm._s(_vm.layer.getName()))]):_vm._e(),_vm._v(\" \"),_vm._l((Object.keys(_vm.commits).filter(function (c) { return _vm.commits[c].length; })),function(c){return [_c('h4',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin:pre\",value:((\"editing.messages.commit.\" + c)),expression:\"`editing.messages.commit.${c}`\",arg:\"pre\"}]},[_vm._v(\" (\"+_vm._s(_vm.commits[c].length)+\") \")]),_vm._v(\" \"),_c('divider'),_vm._v(\" \"),_c('ul',_vm._l((_vm.commits[c]),function(item){return _c('li',[_c('details',[_c('summary',[_vm._v(_vm._s(_vm.getType(item))+\" #\"+_vm._s(_vm.getId(item)))]),_vm._v(\" \"),_vm._l((_vm.getAttrs(item)),function(ref){\nvar key = ref[0];\nvar val = ref[1];\nreturn [(_vm.hasValue(item, key))?_c('dl',[_c('dt',[_vm._v(_vm._s(key)+\":\")]),_vm._v(\" \"),_c('dd',[(_vm.isEdited(item, key))?[_c('del',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getValue(item, key)))]),_vm._v(\" ← \"),_c('ins',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getEditingValue(item, key)))])]:_c('span',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getEditingValue(item, key) || _vm.getValue(item, key)))]),_vm._v(\" \"),('geometry' === key)?_c('i',[_c('code',[_vm._v(\"\")])]):_vm._e()],2)]):_vm._e()]})],2)])}),0)]}),_vm._v(\" \"),_vm._l((Object.entries(_vm.commits.relations)),function(ref){\nvar id = ref[0];\nvar commits = ref[1];\nreturn _c('changes',{attrs:{\"commits\":{\n add: commits.add,\n update: commits.update,\n delete: commits.delete,\n relations: commits.relations\n },\"relation\":true,\"layer\":_vm.getLayerById(id)}})})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-90b32778\"\n\n},{\"../utils/areCoordinatesEqual\":31,\"../utils/getFeatureTableFieldValue\":43,\"vueify/lib/insert-css\":1}],3:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".choose-and-zoom-to-feature[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between}#editing-layers-choose-feature .editing-choose-feature-radio-input[data-v-3c5d6465]{align-items:center;padding:5px;position:relative;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.ztf[data-v-3c5d6465]{padding-left:3px;font-size:1.3em;cursor:pointer;margin-top:10px}.magic-radio+label[data-v-3c5d6465]{color:transparent}.feature-attributes[data-v-3c5d6465]{overflow-x:auto;display:flex}.feature-attributes>div[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between;padding:5px}.f-attr[data-v-3c5d6465]{font-weight:700;margin-bottom:10px}.f-val[data-v-3c5d6465]{align-self:start;white-space:nowrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GUI = g3wsdk.gui.GUI;\nexports.default = {\n\n name: 'choosefeature',\n\n data: function data() {\n return {\n feature: this.$options.feature\n };\n },\n\n\n methods: {\n selectFeature: function selectFeature(feature) {\n this.feature.splice(0);\n this.feature.push(feature);\n },\n getAttributesFeature: function getAttributesFeature(feature) {\n var properties = feature.getProperties();\n return this.$options.attributes.map(function (_ref) {\n var label = _ref.label,\n name = _ref.name;\n return { attribute: label, value: properties[name] };\n });\n },\n zoomToFeature: function zoomToFeature(feature) {\n GUI.getService('map').zoomToFeatures([feature], { highlight: true, duration: 1000 });\n }\n },\n\n mounted: function mounted() {\n GUI.closeContent();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.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\":\"editing-layers-choose-feature\"}},_vm._l((_vm.$options.features),function(feature,index){return _c('div',{staticClass:\"editing-choose-feature-radio-input\"},[_c('section',{staticClass:\"choose-and-zoom-to-feature\"},[_c('div',[_c('input',{staticClass:\"magic-radio\",attrs:{\"id\":(\"choose_feature_\" + index),\"name\":\"radio\",\"type\":\"radio\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectFeature(feature)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"choose_feature_\" + index)}},[_vm._v(\"id\")])]),_vm._v(\" \"),_c('div',{staticClass:\"ztf skin-color\",class:_vm.g3wtemplate.font['marker'],on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToFeature(feature)}}})]),_vm._v(\" \"),_c('section',{staticClass:\"feature-attributes\"},_vm._l((_vm.getAttributesFeature(feature)),function(ref){\nvar attribute = ref.attribute;\nvar value = ref.value;\nreturn _c('div',[_c('span',{staticClass:\"f-attr\"},[_vm._v(_vm._s(attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"f-val\"},[_vm._v(_vm._s(value))])])}),0)])}),0)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3c5d6465\"\n\n},{\"vueify/lib/insert-css\":1}],4:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GUI = g3wsdk.gui.GUI;\nexports.default = {\n\n name: 'Copyfeaturesfromotherlayers',\n\n data: function data() {\n return {\n id: this.$options.layers.find(function (l) {\n return l.selected;\n }).id\n };\n },\n\n\n watch: {\n 'id': function id(_id) {\n this.$options.layers.forEach(function (l) {\n return l.selected = _id === l.id;\n });\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('div',{attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('id'),expression:\"'id'\"}],attrs:{\"id\":\"g3w-select-editable-layers-to-copy\"}},_vm._l((_vm.$options.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_vm._v(_vm._s(layer.name))])}),0)])])}\n__vue__options__.staticRenderFns = []\n\n},{}],5:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-panel .editing-button .editing-icon{background-color:#3a4448;color:#222d32;font-size:1.8em;padding:10px;margin:5px;width:45px;height:45px;border-radius:30%;text-align:center}.g3w-editing-panel .editing-button.enabled .editing-icon{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.7)}.g3w-editing-panel .editing-button{cursor:not-allowed}.g3w-editing-panel .editing-button.enabled{cursor:pointer}.g3w-editing-panel .editbtn{border-radius:30%;padding:10px;display:inline-block;opacity:.4;box-shadow:0 1px 1px 0 rgba(0,0,0,.1),0 1px 4px 0 rgba(0,0,0,.3)}.g3w-editing-panel .editbtn.enabled{opacity:1;cursor:pointer}.g3w-editing-panel .editbtn.enabled.toggled{box-shadow:0 0;background-color:#ddd}\\n.g3w-editing-panel[data-v-cb98e6ce]{margin-bottom:50px}#onlineofflinemessage[data-v-cb98e6ce]{margin-bottom:5px;padding:5px;border-radius:3px;background-color:orange;color:#fff;font-weight:700}.commitbar[data-v-cb98e6ce]{display:flex;justify-content:flex-end;margin-bottom:5px}.commitbar>div[data-v-cb98e6ce]:first-of-type{margin-right:auto}#g3w-select-editable-layers-content[data-v-cb98e6ce]{margin-bottom:10px;font-weight:700}#g3w-select-editable-layers-content label[data-v-cb98e6ce]{color:#fff!important}#g3w-select-editable-layers-to-show[data-v-cb98e6ce]{cursor:pointer}\")\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 _Toolbox = require('./Toolbox.vue');\n\nvar _Toolbox2 = _interopRequireDefault(_Toolbox);\n\nvar _promisify = require('../utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 GUI = g3wsdk.gui.GUI;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n ApplicationService = _g3wsdk$core.ApplicationService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nexports.default = {\n\n name: 'Editing',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n service: this.$options.service,\n resourcesurl: this.$options.resourcesurl,\n showcommitbar: this.$options.showcommitbar,\n saving: false,\n layersInEditing: 0,\n editingButtonsEnabled: true,\n\n selectedlayers: [],\n\n editinglayers: Object.entries(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getEditableLayers()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n l = _ref2[1];\n\n return l.config.editing.visible;\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n id = _ref4[0],\n layer = _ref4[1];\n\n return { id: id, name: layer.getName(), title: layer.getTitle() };\n }),\n\n activetool: null\n };\n },\n\n\n components: {\n toolbox: _Toolbox2.default\n },\n\n transitions: {\n 'addremovetransition': 'showhide'\n },\n\n methods: {\n updateFilterLayers: function updateFilterLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (layers.length > 0) {\n this._selectedlayers = this.selectedlayers;\n this.selectedlayers = layers;\n } else {\n this.selectedlayers = this._selectedlayers;\n this._selectedlayers = layers;\n }\n\n $(this.$refs.selectlayers).val(this.selectedlayers).trigger('change');\n },\n updateLayersInEditing: function updateLayersInEditing(bool) {\n this.layersInEditing += bool ? 1 : -1;\n },\n undo: function undo() {\n if (this.canUndo) {\n this.service.undo();\n }\n },\n redo: function redo() {\n if (this.canRedo) {\n this.service.redo();\n }\n },\n commit: function commit(toolboxId) {\n var _this = this;\n\n if (this.canCommit) {\n this.saving = true;\n this.service.commit({\n toolbox: this.service.getToolBoxById(toolboxId),\n modal: false\n }).always(function () {\n return _this.saving = false;\n });\n }\n },\n startToolBox: function () {\n var _ref5 = _asyncToGenerator(function* (id) {\n var _this2 = this;\n\n var toolbox = this.service.getToolBoxById(id);\n\n var layerId = ApplicationState.online && toolbox.getDependencies().find(function (id) {\n return _this2.service.getToolBoxById(id).isDirty();\n });\n if (layerId) {\n yield this.commit_dirty(layerId);\n }\n toolbox.start();\n });\n\n function startToolBox(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return startToolBox;\n }(),\n stopToolBox: function () {\n var _ref6 = _asyncToGenerator(function* (id) {\n var toolbox = this.service.getToolBoxById(id);\n\n try {\n if (toolbox.state.editing.history.commit) {\n yield (0, _promisify.promisify)(this.service.commit());\n }\n } catch (e) {\n console.warn(e);\n }\n\n yield toolbox.stop();\n\n var control = undefined === this.service.getToolBoxes().find(function (t) {\n return t.state.editing.on;\n }) && GUI.getService('map').getMapControlByType({ type: 'query' });\n if (control && !control.isToggled()) {\n control.toggle();\n }\n });\n\n function stopToolBox(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return stopToolBox;\n }(),\n startTool: function () {\n var _ref7 = _asyncToGenerator(function* (toolId, toolboxId) {\n var _this3 = this;\n\n var toolbox = this.service.getToolBoxById(toolboxId);\n var enabled = this.activetool && toolboxId === this.activetool;\n\n if (!enabled && this.service.getToolBoxById(toolbox.getDependencies().find(function (id) {\n return id === _this3.activetool;\n }))) {\n yield this.commit_dirty(this.activetool);\n }\n\n if (!enabled) {\n this.stopTool(this.activetool);\n }\n\n this.activetool = toolboxId;\n toolbox.setActiveTool(toolbox.getToolById(toolId));\n });\n\n function startTool(_x4, _x5) {\n return _ref7.apply(this, arguments);\n }\n\n return startTool;\n }(),\n stopTool: function stopTool(id) {\n if (id) {\n this.service.getToolBoxById(id).stopActiveTool();\n }\n },\n selectToolBox: function () {\n var _ref8 = _asyncToGenerator(function* (id) {\n var toolbox = this.service.getToolBoxById(id);\n var toolboxes = this.service.getToolBoxes();\n var selected = toolboxes.find(function (t) {\n return t.isSelected();\n });\n if (selected) {\n selected.setSelected(false);\n selected.clearMessage();\n }\n\n toolbox.setSelected(true);\n\n this.state.toolboxselected = toolbox;\n });\n\n function selectToolBox(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return selectToolBox;\n }(),\n commit_dirty: function () {\n var _ref9 = _asyncToGenerator(function* (id) {\n var _this4 = this;\n\n var toolbox = this.service.getToolBoxById(id);\n\n try {\n if (toolbox.isDirty() && toolbox.hasDependencies()) {\n yield (0, _promisify.promisify)(this.service.commit({ toolbox: toolbox }));\n console.info('[EDITING] committed dirty');\n }\n } catch (e) {\n try {\n [layerId].concat(toolbox.getDependencies()).forEach(function (id) {\n var toolbox = _this4.service.getToolBoxById(id);\n var editor = toolbox.getEditor();\n\n editor.getEditingSource().setFeatures((editor.readFeatures() || []).map(function (f) {\n return f.clone();\n }));\n\n toolbox.getSession().getHistory().clear();\n\n toolbox.stopActiveTool();\n });\n console.info('[EDITING] reverted dirty');\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function commit_dirty(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return commit_dirty;\n }(),\n _enableEditingButtons: function _enableEditingButtons(bool) {\n this.editingButtonsEnabled = !bool;\n },\n checkOfflineChanges: function checkOfflineChanges() {\n var _this5 = this;\n\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$modal = _ref10.modal,\n modal = _ref10$modal === undefined ? true : _ref10$modal,\n _ref10$unlock = _ref10.unlock,\n unlock = _ref10$unlock === undefined ? false : _ref10$unlock;\n\n return new Promise(function (resolve, reject) {\n var changes = JSON.parse(window.localStorage.getItem('EDITING_CHANGES') || null);\n\n if (!changes) {\n return;\n }\n\n var promises = [];\n var layerIds = [];\n\n setTimeout(_asyncToGenerator(function* () {\n for (var _layerId in changes) {\n layerIds.push(_layerId);\n var toolbox = _this5.service.getToolBoxById(_layerId);\n var commitItems = changes[_layerId];\n promises.push(_this5.service.commit({ toolbox: toolbox, commitItems: commitItems, modal: modal }));\n }\n\n try {\n yield (0, _promisify.promisify)($.when.apply(_this5.service, promises));\n resolve();\n } catch (e) {\n console.warn(e);\n reject(e);\n } finally {\n if (unlock) {\n layerIds.forEach(function (layerId) {\n return _this5.service.getLayerById(layerId).unlock();\n });\n }\n\n try {\n window.localStorage.setItem('EDITING_CHANGES', \"{}\");\n } catch (e) {\n console.warn(e);\n }\n }\n }), 1000);\n });\n }\n },\n\n computed: {\n canCommit: function canCommit() {\n return 'default' === this.state.saveConfig.mode && this.state.toolboxselected && this.state.toolboxselected.state.editing.history.commit && this.editingButtonsEnabled;\n },\n canUndo: function canUndo() {\n var canUndo = this.state.toolboxselected && this.state.toolboxselected.state.editing.history.undo && this.editingButtonsEnabled;\n\n this.service.fireEvent('canUndo', canUndo);\n\n return canUndo;\n },\n canRedo: function canRedo() {\n var canRedo = this.state.toolboxselected && this.state.toolboxselected.state.editing.history.redo && this.editingButtonsEnabled;\n\n this.service.fireEvent('canRedo', canRedo);\n\n return canRedo;\n },\n django_admin_url: function django_admin_url() {\n return window.initConfig.user.is_superuser ? new URL('/django-admin/editing/g3weditingfeaturelock/', window.initConfig.baseurl) : false;\n },\n filemanager_url: function filemanager_url() {\n return window.initConfig.user.is_superuser ? new URL('/filemanager/', window.initConfig.baseurl) : false;\n }\n },\n\n watch: {\n canCommit: function canCommit(bool) {\n window.onbeforeunload = function () {\n return bool || undefined;\n };\n },\n layersInEditing: function layersInEditing(n) {\n document.getElementsByClassName('close-pane-button')[0].classList[0 === n ? 'remove' : 'add']('g3w-disabled');\n },\n selectedlayers: function selectedlayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var has_layers = layers.length > 0;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n this.editinglayers.forEach(function (_ref12) {\n var id = _ref12.id;\n\n var toolbox = service.getToolBoxById(id);\n var is_commit = has_layers && toolbox.state.editing.history.commit;\n var is_selected = layers.includes(id);\n\n toolbox.setShow(has_layers ? is_selected : true);\n\n if (has_layers && !is_selected && is_commit) {\n service.commit({ toolbox: toolbox }).always(function () {\n return toolbox.stop();\n });\n }\n\n if (has_layers && !is_selected && !is_commit) {\n toolbox.stop();\n }\n });\n }\n },\n\n created: function created() {\n var _this6 = this;\n\n this._selectedlayers = [];\n\n this.appState = ApplicationState;\n\n this.unByKeys = this.unByKeys || [];\n\n if (ApplicationState.online) {\n this.checkOfflineChanges({ unlock: true });\n }\n\n this.unByKeys.push({\n owner: ApplicationService,\n setter: 'online',\n key: ApplicationService.onafter('online', function () {\n return _this6.checkOfflineChanges({ modal: false }).catch(function (e) {\n return GUI.notify.error(e);\n });\n })\n });\n\n GUI.closeContent();\n\n this.state.open = false;\n CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).forEach(function (l) {\n return l.setInEditing(true);\n });\n\n GUI.on('opencontent', this._enableEditingButtons);\n GUI.on('closeform', this._enableEditingButtons);\n GUI.on('closecontent', this._enableEditingButtons);\n },\n beforeDestroy: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n this.service.stop();\n\n this.state.open = false;\n CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).forEach(function (l) {\n return l.setInEditing(false);\n });\n\n GUI.off('opencontent', this._enableEditingButtons);\n GUI.off('closeform', this._enableEditingButtons);\n GUI.off('closecontent', this._enableEditingButtons);\n\n this.unByKeys.forEach(function (_ref14) {\n var owner = _ref14.owner,\n setter = _ref14.setter,\n key = _ref14.key;\n return owner.un(setter, key);\n });\n\n this.service.fireEvent('closeeditingpanel');\n\n var layerIdChanges = Object.keys(this.state.featuresOnClose);\n if (layerIdChanges.length) {\n var inputs = {\n layers: [],\n fids: [],\n formatter: 1\n };\n layerIdChanges.forEach(function (id) {\n var fids = [].concat(_toConsumableArray(_this7.state.featuresOnClose[id]));\n if (fids.length > 0) {\n var layer = CatalogLayersStoresRegistry.getLayerById(id);\n inputs.layers.push(layer);\n inputs.fids.push(fids);\n }\n });\n\n var promise = inputs.layers.length ? DataRouterService.getData('search:layersfids', {\n inputs: inputs,\n outputs: {\n title: 'plugins.editing.editing_changes',\n show: { loading: false }\n }\n }) : Promise.resolve();\n try {\n yield promise;\n } catch (e) {\n console.warn(e);\n }\n }\n\n this.state.featuresOnClose = {};\n\n this.service.getToolBoxes().forEach(function (t) {\n return t.resetDefault();\n });\n\n var control = GUI.getService('map').getMapControlByType({ type: 'query' });\n if (control && !control.isToggled()) {\n control.toggle();\n }\n });\n\n function beforeDestroy() {\n return _ref13.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',{staticClass:\"g3w-editing-panel\"},[_c('bar-loader',{attrs:{\"loading\":_vm.saving}}),_vm._v(\" \"),(_vm.layersInEditing > 0)?_c('helpdiv',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"message\":\"plugins.editing.close_editing_panel.message\"}}):_vm._e(),_vm._v(\" \"),(!_vm.appState.online)?_c('div',{attrs:{\"id\":\"onlineofflinemessage\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.offline'),expression:\"'editing.messages.offline'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.showcommitbar)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.saving),expression:\"saving\"}],staticClass:\"commitbar\"},[_c('div',{class:['editing-button', (_vm.canCommit ? 'enabled' : '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.commit($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['save']]})]),_vm._v(\" \"),_c('div',{class:['editing-button', (_vm.canUndo ? 'enabled': '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.undo($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['arrow-left']]})]),_vm._v(\" \"),_c('div',{class:['editing-button', (_vm.canRedo ? 'enabled' : '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.redo($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['arrow-right']]})])]):_c('div',{staticStyle:{\"height\":\"10px\"}}),_vm._v(\" \"),(_vm.state.showselectlayers && _vm.editinglayers.length > 1)?_c('div',{staticClass:\"skin-color\",attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('Layers'),expression:\"'Layers'\"}],attrs:{\"for\":\"g3w-select-editable-layers-to-show\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('selectedlayers'),expression:\"'selectedlayers'\"}],ref:\"selectlayers\",attrs:{\"id\":\"g3w-select-editable-layers-to-show\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.editinglayers),function(editinglayer){return _c('option',{key:editinglayer.id,domProps:{\"value\":editinglayer.id}},[_vm._v(_vm._s(editinglayer.name))])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"toolboxes\"}},_vm._l((_vm.state.toolboxes),function(toolbox){return _c('toolbox',{key:toolbox.id,attrs:{\"state\":toolbox,\"resourcesurl\":_vm.resourcesurl},on:{\"setselectedtoolbox\":_vm.selectToolBox,\"starttoolbox\":_vm.startToolBox,\"stoptoolbox\":_vm.stopToolBox,\"setactivetool\":_vm.startTool,\"stopactivetool\":_vm.stopTool,\"on-editing\":_vm.updateLayersInEditing,\"update-filter-layers\":_vm.updateFilterLayers}})}),1),_vm._v(\" \"),(_vm.django_admin_url)?_c('p',[_c('a',{attrs:{\"href\":_vm.django_admin_url,\"target\":\"_blank\"}},[_vm._v(\"🔒 Locked features\")])]):_vm._e(),_vm._v(\" \"),(_vm.filemanager_url)?_c('p',[_c('a',{attrs:{\"href\":_vm.filemanager_url,\"target\":\"_blank\"}},[_vm._v(\"📂 File manager\")])]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb98e6ce\"\n\n},{\"../utils/promisify\":58,\"./Toolbox.vue\":8,\"vueify/lib/insert-css\":1}],6:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-new-relation-vector-type[data-v-112912af]{margin-bottom:5px;font-weight:700}.relation_header_title[data-v-112912af]{font-weight:700;font-size:1.3em;align-items:center}.relation_header_title[data-v-112912af],.relation_header_tools[data-v-112912af]{width:100%;display:flex;background-color:#fff}.g3w-editing-relations-add-link-tools[data-v-112912af]{display:flex;justify-content:flex-end}.relation_vector_tools[data-v-112912af]{display:flex;flex-direction:column;border:2px solid #eee;background-color:#fff;padding:10px}#g3w-select-editable-layers-content[data-v-112912af]{flex-grow:1;display:flex;flex-direction:column}#search-box[data-v-112912af]{margin-right:auto}.relation_body[data-v-112912af]{padding:0}.g3wform-relation-table[data-v-112912af]{width:100%}.close_vector_relation_tool[data-v-112912af]{align-self:self-end}.close_vector_relation_tool>.g3w-icon[data-v-112912af]{font-weight:700;cursor:pointer}.divider[data-v-112912af]{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});\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 _workflow2 = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _promisify = require('../utils/promisify');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _convertToGeometry = require('../utils/convertToGeometry');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _updateWorkflows = require('../utils/updateWorkflows');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _eventbus = require('../eventbus');\n\nvar _workflows = require('../workflows');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar ProjectsRegistry = g3wsdk.core.project.ProjectsRegistry;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar t = g3wsdk.core.i18n.tPlugin;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar toRawType = g3wsdk.core.utils.toRawType;\nvar GUI = g3wsdk.gui.GUI;\nvar FormService = g3wsdk.gui.vue.services.FormService;\nvar _g3wsdk$gui$vue$Mixin = g3wsdk.gui.vue.Mixins,\n fieldsMixin = _g3wsdk$gui$vue$Mixin.fieldsMixin,\n resizeMixin = _g3wsdk$gui$vue$Mixin.resizeMixin,\n mediaMixin = _g3wsdk$gui$vue$Mixin.mediaMixin;\nvar _g3wsdk$ol$interactio = g3wsdk.ol.interactions,\n PickFeatureInteraction = _g3wsdk$ol$interactio.PickFeatureInteraction,\n PickCoordinatesInteraction = _g3wsdk$ol$interactio.PickCoordinatesInteraction;\n\n\nObject.entries({\n Workflow: _workflow2.Workflow,\n Step: _step.Step,\n OpenFormStep: _workflows.OpenFormStep,\n OpenTableStep: _workflows.OpenTableStep,\n AddFeatureStep: _workflows.AddFeatureStep,\n ModifyGeometryVertexStep: _workflows.ModifyGeometryVertexStep,\n MoveFeatureStep: _workflows.MoveFeatureStep\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 color = 'rgb(255,89,0)';\n\nvar SELECTED_STYLES = {\n 'Point': new ol.style.Style({ image: new ol.style.Circle({ radius: 8, fill: new ol.style.Fill({ color: color }) }) }),\n 'MultiPoint': new ol.style.Style({ image: new ol.style.Circle({ radius: 8, fill: new ol.style.Fill({ color: color }) }) }),\n 'Linestring': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }) }),\n 'MultiLinestring': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }) }),\n 'Polygon': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }), fill: new ol.style.Fill({ color: color }) }),\n 'MultiPolygon': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }), fill: new ol.style.Fill({ color: color }) })\n};\n\nexports.default = {\n\n mixins: [mediaMixin, fieldsMixin, resizeMixin],\n\n name: 'g3w-relation',\n\n data: function data() {\n return {\n loading: false,\n show_vector_tools: false,\n disabled: false,\n copylayerid: null,\n copyFeatureLayers: [],\n active: false,\n value: null,\n placeholdersearch: t('editing.search') + ' ...',\n resourcesurl: GUI.getResourcesUrl()\n };\n },\n\n\n methods: {\n resize: function resize() {\n if (!(this.active && 'none' !== this.$el.style.display)) {\n return;\n }\n\n var table = this.$refs.relation_body.querySelector('div.dataTables_scrollBody');\n\n if (table) {\n table.style.height = ((document.querySelector('.g3wform_body') || {}).offsetHeight || 0) - ((document.querySelector('.g3wform_footer') || {}).offsetHeight || 0) - ((this.$refs.relation_header_title || {}).offsetHeight || 0) - ((this.$refs.relation_header_tools || {}).offsetHeight || 0) - ((this.$el.querySelector('.dataTables_scrollHead') || {}).offsetHeight || 0) - ((this.$el.querySelector('.dataTables_paginate.paging_simple_numbers') || {}).offsetHeight || 0) - ((document.querySelector('.editing-save-all-form') || {}).offsetHeight || 0) - ((this.isVectorRelation && this.show_vector_tools && this.$refs.relation_vector_tools || {}).offsetHeight || 0) + 'px';\n }\n\n if (this.relationsTable) {\n this.relationsTable.columns.adjust();\n }\n },\n copyFeatureFromOtherLayer: function copyFeatureFromOtherLayer() {\n var _this = this;\n\n var copyLayer = this.copyFeatureLayers.find(function (l) {\n return _this.copylayerid === l.id;\n });\n var external = copyLayer.external;\n var layer = external ? GUI.getService('map').getLayerById(this.copylayerid) : CatalogLayersStoresRegistry.getLayerById(this.copylayerid);\n var is_vector = external || layer.isGeoLayer();\n this.runAddRelationWorkflow({\n workflow: is_vector ? new this._add_link_workflow.selectandcopy({\n copyLayer: layer,\n isVector: true,\n help: 'editing.steps.help.copy',\n external: external\n }) : undefined,\n isVector: is_vector\n });\n },\n closeVectorTools: function () {\n var _ref3 = _asyncToGenerator(function* () {\n this.show_vector_tools = false;\n yield this.$nextTick();\n this.resize();\n });\n\n function closeVectorTools() {\n return _ref3.apply(this, arguments);\n }\n\n return closeVectorTools;\n }(),\n addVectorRelation: function addVectorRelation() {\n this.runAddRelationWorkflow({\n workflow: new this._add_link_workflow.add(),\n isVector: Layer.LayerTypes.VECTOR === this._layerType\n });\n this.show_vector_tools = false;\n },\n updateSelectRelations: function updateSelectRelations() {\n var bool = !this.selectall || !this.relations.some(function (r) {\n return r.select;\n });\n this.relations.forEach(function (r) {\n return r.select = bool;\n });\n },\n editAttributesRelations: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var workflow = new _workflow2.Workflow({\n type: 'editmultiattributes',\n steps: [new _workflows.OpenFormStep({ multi: true })]\n });\n var options = this._createWorkflowOptions({\n features: this.relations.filter(function (r) {\n return r.select;\n }).map(function (_ref5) {\n var id = _ref5.id;\n return _this2.getLayer().getEditingSource().getFeatureById(id);\n })\n });\n try {\n yield (0, _promisify.promisify)(workflow.start(options));\n } catch (e) {\n console.warn(e);\n }\n\n workflow.stop();\n });\n\n function editAttributesRelations() {\n return _ref4.apply(this, arguments);\n }\n\n return editAttributesRelations;\n }(),\n addRelationAndLink: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (this.isVectorRelation) {\n this.show_vector_tools = !this.show_vector_tools;\n yield this.$nextTick();\n this.resize();\n } else {\n this.runAddRelationWorkflow({\n workflow: new this._add_link_workflow.add(),\n isVector: Layer.LayerTypes.VECTOR === this._layerType\n });\n }\n });\n\n function addRelationAndLink() {\n return _ref6.apply(this, arguments);\n }\n\n return addRelationAndLink;\n }(),\n relationAttributesSubset: function relationAttributesSubset(relation) {\n return relation.fields.map(function (_ref7) {\n var label = _ref7.label,\n name = _ref7.name,\n value = _ref7.value;\n return { name: name, label: label, value: value };\n }).flatMap(function (_ref8) {\n var name = _ref8.name,\n label = _ref8.label,\n value = _ref8.value;\n return Array.isArray(value) ? [] : [{ name: name, label: label, value: value }];\n });\n },\n getValue: function getValue(value) {\n if (value && 'Object' === toRawType(value)) {\n value = value.value;\n } else if ('string' == typeof value && 0 === value.indexOf('_new_')) {\n value = null;\n }\n this.value = value;\n return value;\n },\n _createDataTable: function _createDataTable() {\n var _this3 = this;\n\n this.relationsTable = $(this.$refs.relationTable).DataTable({\n autoWidth: false,\n columnDefs: [{ orderable: false, targets: [0, 1] }],\n destroy: true,\n order: [2, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollCollapse: true,\n scrollResize: true,\n scrollX: true\n });\n\n $(\".dataTables_filter, .dataTables_length\").hide();\n\n $('#filterRelation').on('keyup', function (e) {\n return _this3.relationsTable.search(e.target.value).draw();\n });\n },\n destroyTable: function destroyTable() {\n if (this.relationsTable) {\n this.relationsTable = this.relationsTable.destroy();\n this.relationsTable = null;\n $('#filterRelation').off();\n }\n },\n updateTable: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.destroyTable();\n yield this.$nextTick();\n this._createDataTable();\n setTimeout(function () {\n return _this4.resize();\n });\n });\n\n function updateTable() {\n return _ref9.apply(this, arguments);\n }\n\n return updateTable;\n }(),\n updateNewRelationId: function updateNewRelationId() {\n var _this5 = this;\n\n this._new_relations_ids.forEach(function (_ref10) {\n var clientid = _ref10.clientid,\n id = _ref10.id;\n\n var newrelation = _this5.relations.find(function (r) {\n return clientid === r.id;\n });\n if (newrelation) {\n newrelation.id = id;\n\n (_this5.tools.find(function (ts) {\n return ts.find(function (t) {\n return t.state.id.split(clientid + '_').length > 1;\n });\n }) || []).forEach(function (t) {\n return t.state.id = t.state.id.replace(clientid + '_', id + '_');\n });\n }\n });\n },\n onCommit: function onCommit(_ref11) {\n var _ref11$new_relations = _ref11.new_relations,\n new_relations = _ref11$new_relations === undefined ? {} : _ref11$new_relations;\n\n var relationLayer = (0, _getEditingLayerById.getEditingLayerById)(this.relation.child);\n\n if (new_relations[relationLayer.getId()] && Array.isArray(new_relations[relationLayer.getId()].new)) {\n this._new_relations_ids = [].concat(_toConsumableArray(this._new_relations_ids || []), _toConsumableArray(new_relations[relationLayer.getId()].new.map(function (_ref12) {\n var clientid = _ref12.clientid,\n id = _ref12.id;\n return { clientid: clientid, id: id };\n })));\n }\n },\n getRelationFeatureValue: function getRelationFeatureValue(featureId, property) {\n return (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: this._relationLayerId,\n feature: this.getLayer().getEditingSource().getFeatureById(featureId),\n property: property\n });\n },\n enableDOMElements: function enableDOMElements() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n document.querySelectorAll('.editing-save-all-form').forEach(function (c) {\n if (bool && c.classList.contains('g3w-disabled')) {\n c.classList.remove('g3w-disabled');\n }\n if (!bool && !c.querySelector('.save-all-icon').classList.contains('g3w-disabled')) {\n c.classList.add('g3w-disabled');\n }\n });\n document.querySelectorAll('.g3w-editing-relations-add-link-tools, .g3wform_footer').forEach(function (c) {\n return c.classList.toggle('g3w-disabled', !bool);\n });\n },\n addTools: function addTools(id) {\n var _this6 = this;\n\n var tools = [this.capabilities.includes('change_attr_feature') && {\n state: Vue.observable({\n icon: 'editAttributes.png',\n id: id + '_editattributes',\n name: 'editing.tools.update_feature',\n enabled: true,\n active: false\n }),\n type: 'editfeatureattributes'\n }, this.capabilities.includes('delete_feature') && {\n state: Vue.observable({\n icon: 'deleteTableRow.png',\n id: id + '_deletefeature',\n name: 'editing.tools.delete_feature',\n enabled: true,\n active: false\n }),\n type: 'deletefeature'\n }, this.capabilities.includes('change_feature') && Layer.LayerTypes.VECTOR === this._layerType && g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById(this._relationLayerId).getTools().filter(function (t) {\n return Geometry.isPointGeometryType(_this6.getLayer().getGeometryType()) ? 'movefeature' === t.getId() : ['movefeature', 'movevertex'].includes(t.getId());\n }).map(function (tool) {\n return {\n state: Vue.observable(_extends({}, tool, { id: id + '_' + tool.id })),\n type: tool.getOperator().type\n };\n })].flat().filter(Boolean);\n\n this.tools.push(tools);\n return tools;\n },\n startTool: function () {\n var _ref13 = _asyncToGenerator(function* (relationtool, index) {\n var _this7 = this;\n\n try {\n relationtool.state.active = !relationtool.state.active;\n\n if (!relationtool.state.active) {\n return Promise.resolve();\n }\n\n this.tools.forEach(function (tools) {\n tools.forEach(function (t) {\n if (relationtool.state.id !== t.state.id) {\n t.state.active = false;\n }\n });\n });\n\n yield _eventbus.VM.$nextTick();\n\n var d = {};\n var promise = new Promise(function (resolve, reject) {\n Object.assign(d, { resolve: resolve, reject: reject });\n });\n\n var is_vector = Layer.LayerTypes.VECTOR === this._layerType;\n var relation = this.relations[index];\n var toolId = relationtool.state.id.split(relation.id + '_')[1];\n var relationfeature = this.getLayer().getEditingSource().getFeatureById(relation.id);\n var selectStyle = is_vector && SELECTED_STYLES[this.getLayer().getGeometryType()];\n var options = this._createWorkflowOptions({ features: [relationfeature] });\n\n if ('deletefeature' === toolId) {\n\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: promise, inputs: { features: [relationfeature], layer: this.getLayer() }, style: selectStyle });\n\n GUI.dialog.confirm(t(\"editing.messages.delete_feature\"), function (res) {\n if (res) {\n _workflow2.Workflow.Stack.getCurrent().getSession().pushDelete(_this7._relationLayerId, relationfeature);\n\n _this7.relations.splice(index, 1);\n\n _this7.tools.splice(index, 1);\n\n var unique_fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this7._relationLayerId];\n\n if (undefined !== unique_fields) {\n Object.keys(relationfeature.getProperties()).filter(function (p) {\n return undefined !== unique_fields[p];\n }).forEach(function (p) {\n var values = new Set(unique_fields[p]);\n\n values.delete(relationfeature.get(p));\n });\n }\n\n _this7.getLayer().getEditingSource().removeFeature(relationfeature);\n\n if (relationfeature.isNew() && undefined === _workflow2.Workflow.Stack._workflows.find(function (w) {\n return w.getSession().state.changes.filter(function (_ref14) {\n var feature = _ref14.feature;\n return relationfeature.getUid() !== feature.getUid();\n }).length > 0;\n })) {\n _workflow2.Workflow.Stack._workflows.filter(function (w) {\n return w.getContextService() instanceof FormService;\n }).forEach(function (w) {\n return setTimeout(function () {\n return w.getContextService().state.update = false;\n });\n });\n } else {\n (0, _updateWorkflows.updateWorkflows)();\n }\n\n d.resolve(res);\n }\n\n if (!res) {\n d.reject();\n }\n });\n }\n\n if ('editattributes' === toolId) {\n var workflow = new _workflow2.Workflow({ type: 'edittablefeature', steps: [new _workflows.OpenFormStep({ selectStyle: selectStyle })] });\n\n try {\n yield (0, _promisify.promisify)(workflow.start(options));\n\n this.getLayer().getFieldsWithValues(relationfeature, { relation: true }).forEach(function (f) {\n relation.fields.forEach(function (rf) {\n if (rf.name === f.name) {\n rf.value = f.value;\n }\n });\n });\n d.resolve(true);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n\n workflow.stop();\n }\n\n if (['movevertex', 'movefeature'].includes(toolId) && this.currentRelationFeatureId !== relationfeature.getId()) {\n this.currentRelationFeatureId = relationfeature.getId();\n GUI.getService('map').zoomToFeatures([relationfeature]);\n }\n\n if (['movevertex', 'movefeature'].includes(toolId)) {\n GUI.setModal(false);\n this.enableDOMElements(false);\n var _workflow = new _workflow2.Workflow({\n type: relationtool.type,\n steps: [new {\n 'movevertex': _workflows.ModifyGeometryVertexStep,\n 'movefeature': _workflows.MoveFeatureStep\n }[toolId]({ selectStyle: selectStyle })]\n });\n\n var unwatch = _eventbus.VM.$watch(function () {\n return relationtool.state.active;\n }, function (bool) {\n if (!bool) {\n _this7.enableDOMElements(true);\n GUI.setModal(true);\n _workflow.unbindEscKeyUp();\n _workflow.stop();\n unwatch();\n d.reject(false);\n }\n });\n\n _workflow.bindEscKeyUp(function () {\n GUI.setModal(true);\n unwatch();\n d.reject(false);\n });\n\n try {\n yield (0, _promisify.promisify)(_workflow.start(options));\n\n _workflow2.Workflow.Stack.getParents().filter(function (w) {\n return w.getContextService().setUpdate;\n }).forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n d.resolve(true);\n setTimeout(function () {\n return _this7.startTool(relationtool, index);\n });\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n\n _workflow.unbindEscKeyUp();\n _workflow.stop();\n unwatch();\n }\n\n try {\n yield promise;\n } catch (e) {\n console.trace('START TOOL FAILED', e);\n return Promise.reject(e);\n } finally {\n relationtool.state.active = false;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function startTool(_x2, _x3) {\n return _ref13.apply(this, arguments);\n }\n\n return startTool;\n }(),\n getLayer: function getLayer() {\n return (0, _getEditingLayerById.getEditingLayerById)(this._relationLayerId);\n },\n runAddRelationWorkflow: function () {\n var _ref15 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n workflow = _ref16.workflow,\n _ref16$isVector = _ref16.isVector,\n isVector = _ref16$isVector === undefined ? false : _ref16$isVector;\n\n if (isVector) {\n GUI.setModal(false);\n GUI.hideContent(true);\n }\n\n var options = this._createWorkflowOptions();\n\n var _options$context = options.context,\n fatherField = _options$context.fatherField,\n fatherValue = _options$context.fatherValue;\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n }),\n relationField = _getRelationFieldsFro.relationField;\n\n try {\n var _relations;\n\n var outputs = yield (0, _promisify.promisify)(workflow.start(options));\n\n if (isVector) {\n workflow.bindEscKeyUp();\n }\n\n var _outputs$relationFeat = outputs.relationFeatures,\n newFeatures = _outputs$relationFeat.newFeatures,\n originalFeatures = _outputs$relationFeat.originalFeatures;\n\n var setRelationFieldValue = function setRelationFieldValue(_ref17) {\n var field = _ref17.field,\n value = _ref17.value;\n\n newFeatures.forEach(function (newFeature, i) {\n newFeature.set(field, value);\n if (options.parentFeature.isNew()) {\n originalFeatures[i].set(field, value);\n }\n _this8.getLayer().getEditingSource().updateFeature(newFeature);\n options.context.session.pushUpdate(_this8._relationLayerId, newFeature, originalFeatures[i]);\n });\n };\n fatherField.forEach(function (field, i) {\n return setRelationFieldValue({ field: field, value: fatherValue[i] });\n });\n\n if (options.parentFeature.isNew() && this.getParent().editable.length > 0) {\n var keyRelationFeatureChange = options.parentFeature.on('propertychange', function (evt) {\n if (options.parentFeature.isNew()) {\n if (relationField.find(evt.key)) {\n setRelationFieldValue({\n field: evt.key,\n value: evt.target.get(evt.key)\n });\n }\n } else {\n ol.Observable.unByKey(keyRelationFeatureChange);\n }\n });\n }\n\n (_relations = this.relations).push.apply(_relations, _toConsumableArray((newFeatures || []).map(function (f) {\n return { id: f.getId(), fields: _this8.getLayer().getFieldsWithValues(f, { relation: true }) };\n })));\n } catch (inputs) {\n console.warn(inputs);\n\n if (inputs && inputs.relationFeatures) {\n var _relations2;\n\n (_relations2 = this.relations).push.apply(_relations2, _toConsumableArray((inputs.relationFeatures.newFeatures || []).map(function (f) {\n return { id: f.getId(), fields: _this8.getLayer().getFieldsWithValues(f, { relation: true }) };\n })));\n }\n\n options.context.session.rollbackDependecies([this._relationLayerId]);\n }\n\n workflow.stop();\n\n if (isVector) {\n workflow.unbindEscKeyUp();\n GUI.hideContent(false);\n GUI.setModal(true);\n\n setTimeout(function () {\n return _this8.resize();\n });\n }\n });\n\n function runAddRelationWorkflow() {\n return _ref15.apply(this, arguments);\n }\n\n return runAddRelationWorkflow;\n }(),\n linkRelation: function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n this.disabled = true;\n\n var is_vector = Layer.LayerTypes.VECTOR === this._layerType;\n var workflow = new this._add_link_workflow.link(is_vector ? {\n selectStyle: SELECTED_STYLES[this.getLayer().getGeometryType()]\n } : {});\n var options = this._createWorkflowOptions();\n\n var _getRelationFieldsFro2 = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n }),\n ownField = _getRelationFieldsFro2.ownField,\n relationField = _getRelationFieldsFro2.relationField;\n\n options.context.excludeFeatures = relationField.reduce(function (accumulator, rField, index) {\n accumulator[ownField[index]] = _this9.getParent().values[rField];\n return accumulator;\n }, {});\n\n if (is_vector) {\n GUI.setModal(false);\n }\n\n var feature = _workflow2.Workflow.Stack.getCurrent().getCurrentFeature();\n\n var getRelationFeatures = function getRelationFeatures() {\n return (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(_this9.layerId, {\n relations: [_this9.relation],\n feature: feature,\n operator: 'not',\n filterType: is_vector ? 'bbox' : 'fid'\n });\n };\n\n var response = {\n promise: undefined,\n showContent: false\n };\n\n if (is_vector) {\n options.context.beforeRun = _asyncToGenerator(function* () {\n yield new Promise(function (resolve) {\n return setTimeout(resolve);\n });\n yield getRelationFeatures();\n });\n\n workflow.bindEscKeyUp();\n\n response = {\n promise: workflow.start(options),\n showContent: true\n };\n\n this.enableDOMElements(false);\n } else {\n yield getRelationFeatures();\n }\n\n var linked = false;\n\n try {\n var outputs = yield (0, _promisify.promisify)(response.promise || workflow.start(options));\n\n (outputs.features || []).forEach(function (relation) {\n if (undefined === _this9.relations.find(function (rel) {\n return rel.id === relation.getId();\n })) {\n linked = linked || true;\n var originalRelation = relation.clone();\n Object.entries(_this9.getParent().values).forEach(function (_ref20) {\n var _ref21 = _slicedToArray(_ref20, 2),\n field = _ref21[0],\n value = _ref21[1];\n\n relation.set(ownField[relationField.findIndex(function (rF) {\n return field === rF;\n })], value);\n });\n _workflow2.Workflow.Stack.getCurrent().getSession().pushUpdate(_this9._relationLayerId, relation, originalRelation);\n _this9.relations.push({\n fields: _this9.getLayer().getFieldsWithValues(relation, { relation: true }),\n id: relation.getId()\n });\n } else {\n GUI.notify.warning(t(\"editing.relation_already_added\"));\n }\n });\n } catch (e) {\n console.warn(e);\n options.context.session.rollbackDependecies([this._relationLayerId]);\n }\n\n if (is_vector) {\n this.enableDOMElements(true);\n }\n\n if (response.showContent) {\n GUI.closeUserMessage();\n workflow.unbindEscKeyUp();\n }\n\n if (linked) {\n (0, _updateWorkflows.updateWorkflows)();\n }\n\n workflow.stop();\n\n this.disabled = false;\n });\n\n function linkRelation() {\n return _ref18.apply(this, arguments);\n }\n\n return linkRelation;\n }(),\n unlinkRelation: function (_unlinkRelation) {\n function unlinkRelation(_x6) {\n return _unlinkRelation.apply(this, arguments);\n }\n\n unlinkRelation.toString = function () {\n return _unlinkRelation.toString();\n };\n\n return unlinkRelation;\n }(function (index) {\n var dialog = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n return unlinkRelation({\n layerId: this.layerId,\n relation: this.relation,\n relations: this.relations,\n index: index,\n dialog: dialog\n });\n }),\n getParent: function getParent() {\n var _this10 = this;\n\n var parentLayer = this.parentWorkflow.getLayer();\n\n var _getRelationFieldsFro3 = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: this.layerId, relation: this.relation }),\n ownField = _getRelationFieldsFro3.ownField;\n\n var pk = ownField.find(function (f) {\n return parentLayer.isPkField(f);\n });\n\n return {\n editable: ownField.filter(function (f) {\n return parentLayer.isEditingFieldEditable(f);\n }),\n\n pk: pk,\n\n values: ownField.reduce(function (father, field) {\n var feature = _this10.parentWorkflow.getCurrentFeature();\n\n var fields = _this10.parentWorkflow.getInputs().fields;\n return Object.assign(father, _defineProperty({}, field, pk === field && feature.isNew() ? feature.getId() : fields ? fields.find(function (f) {\n return field === f.name;\n }).value : feature.get(field)));\n }, {})\n };\n },\n _createWorkflowOptions: function _createWorkflowOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var fields = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n });\n var parent = Object.entries(this.getParent().values);\n return {\n parentFeature: _workflow2.Workflow.Stack.getCurrent().getCurrentFeature(),\n context: {\n session: _workflow2.Workflow.Stack.getCurrent().getSession(),\n excludeFields: fields.ownField,\n fatherValue: parent.map(function (_ref22) {\n var _ref23 = _slicedToArray(_ref22, 2),\n _ = _ref23[0],\n value = _ref23[1];\n\n return value;\n }),\n fatherField: parent.map(function (_ref24) {\n var _ref25 = _slicedToArray(_ref24, 1),\n field = _ref25[0];\n\n return fields.ownField[fields.relationField.findIndex(function (rField) {\n return field === rField;\n })];\n }) },\n inputs: {\n features: options.features || [],\n layer: this.getLayer()\n }\n };\n }\n },\n\n computed: {\n selectall: function selectall() {\n return this.relations.every(function (r) {\n return r.select;\n });\n },\n relationsLength: function relationsLength() {\n return this.relations.length;\n },\n fieldrequired: function fieldrequired() {\n var _this11 = this;\n\n return (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: this._relationLayerId, relation: this.relation }).ownField.some(function (field) {\n return (0, _getEditingLayerById.getEditingLayerById)(_this11._relationLayerId).isFieldRequired(field);\n });\n },\n show_add_link: function show_add_link() {\n return 0 === this.relations.length || 'ONE' !== this.relation.type;\n }\n },\n\n watch: {\n relations: function relations(_) {\n var updatedrelations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (0 === updatedrelations.length) {\n this.destroyTable();\n } else {\n this.updateNewRelationId();\n this.updateTable();\n }\n },\n show_vector_tools: function show_vector_tools(bool) {\n this.enableDOMElements(!bool);\n this.disabled = bool;\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function created() {\n var _this12 = this,\n _Layer$LayerTypes$TAB;\n\n var relationLayer = (0, _getEditingLayerById.getEditingLayerById)(this.relation.child);\n\n this._new_relations_ids = [];\n\n this.onCommit = this.onCommit.bind(this);\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').on('commit', this.onCommit);\n\n this.isVectorRelation = Layer.LayerTypes.VECTOR === relationLayer.getType();\n\n if (this.isVectorRelation) {\n var geometryType = relationLayer.getGeometryType();\n this.copyFeatureLayers = [].concat(_toConsumableArray(CatalogLayersStoresRegistry.getLayers({\n QUERYABLE: true,\n GEOLAYER: true\n }).filter(function (l) {\n return l.getGeometryType && l.getGeometryType() && ![_this12.relation.child, _this12.relation.father].includes(l.getId()) && (l.getGeometryType() === geometryType || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(l.getGeometryType(), geometryType) && Geometry.isMultiGeometry(geometryType));\n }).map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n external: false\n };\n })), _toConsumableArray(GUI.getService('map').getExternalLayers('vector').filter(function (l) {\n var features = l.getSource().getFeatures() || [];\n\n if (!features[0] || !features[0].getGeometry()) {\n return false;\n }\n var type = features[0].getGeometry().getType();\n return geometryType === type || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, type) && (Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(type));\n }).map(function (l) {\n return {\n id: l.get('id'),\n name: l.get('name'),\n external: true\n };\n }))).sort(function (a, b) {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n this.addExternalLayerKey = GUI.getService('catalog').onafter('addExternalLayer', function (_ref26) {\n var layer = _ref26.layer,\n type = _ref26.type;\n\n if ('vector' === type) {\n var externalLayer = GUI.getService('map').getExternalLayers().find(function (l) {\n return layer.id === l.get('id');\n });\n if (externalLayer) {\n var features = externalLayer.getSource().getFeatures() || [];\n if (!features[0] || !features[0].getGeometry()) {\n return;\n }\n var _type = features[0].getGeometry().getType();\n if (geometryType === _type || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, _type) && (Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(_type))) {\n _this12.copyFeatureLayers.push({\n id: externalLayer.get('id'),\n name: externalLayer.get('name'),\n external: true\n });\n }\n }\n }\n });\n }\n\n this.copylayerid = this.copyFeatureLayers.length ? this.copyFeatureLayers[0].id : null;\n\n this.loadEventuallyRelationValuesForInputs = false;\n\n this.currentRelationFeatureId = null;\n\n this._relationLayerId = this.relation.child === this.layerId ? this.relation.father : this.relation.child;\n\n this._layerType = this.getLayer().getType();\n\n this.parentWorkflow = _workflow2.Workflow.Stack.getCurrent();\n\n this.capabilities = this.parentWorkflow.getLayer().getEditingCapabilities();\n\n this.tools = [];\n\n var self = this;\n\n this._add_link_workflow = (_Layer$LayerTypes$TAB = {}, _defineProperty(_Layer$LayerTypes$TAB, Layer.LayerTypes.TABLE, {\n link: function link() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'edittable',\n backbuttonlabel: 'plugins.editing.form.buttons.save_and_back_table',\n steps: [new _workflows.OpenTableStep()]\n }));\n },\n add: function add() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n }));\n }\n }), _defineProperty(_Layer$LayerTypes$TAB, Layer.LayerTypes.VECTOR, {\n link: function link() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow({\n type: 'linkrelation',\n steps: [new _step.Step(_extends({}, options, {\n help: \"editing.steps.help.select_feature_to_relation\",\n run: function run(inputs, context) {\n var _this13 = this;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref27 = _asyncToGenerator(function* (resolve, reject) {\n var promise = new Promise(function (r) {\n return _this13.resolve = r;\n });\n GUI.setModal(false);\n var editingLayer = inputs.layer.getEditingLayer();\n try {\n if (context.beforeRun && 'function' === typeof context.beforeRun) {\n yield (0, _promisify.promisify)(context.beforeRun());\n }\n var features = editingLayer.getSource().getFeatures().filter(function (f) {\n return Object.entries(context.excludeFeatures || {}).reduce(function (bool, _ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n field = _ref29[0],\n value = _ref29[1];\n\n return bool && value != f.get(field);\n }, true);\n });\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({\n promise: (0, _promisify.$promisify)(promise),\n inputs: { layer: inputs.layer, features: features },\n style: _this13.selectStyle\n });\n\n _this13.addInteraction(new PickFeatureInteraction({ layers: [editingLayer], features: features }), {\n 'picked': function picked(e) {\n inputs.features.push(e.feature);\n GUI.setModal(true);\n resolve(inputs);\n }\n });\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x12, _x13) {\n return _ref27.apply(this, arguments);\n };\n }()));\n },\n stop: function stop() {\n GUI.setModal(true);\n\n this.resolve(true);\n this.resolve = null;\n return true;\n }\n }))]\n });\n },\n\n add: function add() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var addStep = new _workflows.AddFeatureStep(_extends({}, options, {\n steps: {\n draw: {\n description: 'editing.steps.help.draw_new_feature',\n done: false\n }\n },\n tools: ['snap', 'measure']\n }));\n\n addStep.on('stop', function () {\n addStep.setUserMessageStepDone('draw');\n GUI.closeUserMessage();\n });\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'addfeature',\n steps: [addStep, new _workflows.OpenFormStep(options)],\n registerEscKeyEvent: true\n }));\n },\n\n selectandcopy: function selectandcopy() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow({\n type: 'selectandcopyfeaturesfromotherlayer',\n steps: [new _step.Step(_extends({}, options, {\n help: \"editing.steps.help.pick_feature\",\n steps: {\n select: {\n description: 'editing.workflow.steps.selectPoint',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this14 = this;\n\n if (!options.copyLayer) {\n return (0, _promisify.$promisify)(Promise.resolve());\n }\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = [];\n var geometryType = inputs.layer.getGeometryType();\n\n if (options.isVector) {\n yield new Promise(function () {\n var _ref31 = _asyncToGenerator(function* (resolve) {\n _this14.addInteraction(options.external ? new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: options.copyLayer }) : new PickCoordinatesInteraction(), {\n 'picked': function () {\n var _ref32 = _asyncToGenerator(function* (e) {\n try {\n features = (0, _convertToGeometry.convertToGeometry)(options.external ? e.features : ((yield DataRouterService.getData('query:coordinates', {\n inputs: {\n coordinates: e.coordinate,\n query_point_tolerance: ProjectsRegistry.getCurrentProject().getQueryPointTolerance(),\n layerIds: [options.copyLayer.getId()],\n multilayers: false\n },\n outputs: null\n })).data[0] || { features: [] }).features, geometryType);\n } catch (e) {\n console.warn(e);\n } finally {\n resolve();\n }\n });\n\n function picked(_x17) {\n return _ref32.apply(this, arguments);\n }\n\n return picked;\n }()\n });\n });\n\n return function (_x16) {\n return _ref31.apply(this, arguments);\n };\n }());\n }\n\n var _feature = void 0;\n\n try {\n _feature = features.length > 1 ? yield (0, _promisify.promisify)((0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs })) : features[0];\n } catch (e) {\n console.warn(e);\n }\n\n if (_feature) {\n var feature = new Feature({\n feature: _feature,\n properties: inputs.layer.getEditingFields().filter(function (attr) {\n return !attr.pk;\n }).map(function (attr) {\n return attr.name;\n })\n });\n feature.setTemporaryId();\n inputs.features = [feature];\n inputs.layer.getEditingLayer().getSource().addFeature(feature);\n context.session.pushAdd(inputs.layer.getId(), feature, false);\n return inputs;\n }\n\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n closable: false,\n autoclose: true\n });\n\n return Promise.reject();\n }));\n },\n stop: function stop() {\n self.show_vector_tools = false;\n this.setUserMessageStepDone('select');\n GUI.closeUserMessage();\n }\n })), new _workflows.OpenFormStep(options)],\n registerEscKeyEvent: true\n });\n }\n }), _Layer$LayerTypes$TAB)[this._layerType];\n\n this.relations.forEach(function (r) {\n return _this12.addTools(r.id);\n });\n },\n activated: function () {\n var _ref33 = _asyncToGenerator(function* () {\n if (this.isVectorRelation) {\n this.mapExtent = GUI.getService('map').getMapBBOX();\n }\n\n this.show_vector_tools = false;\n\n if (!this.loadEventuallyRelationValuesForInputs) {\n this.loading = true;\n\n try {\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({\n type: 'show-relation-editing',\n id: (0, _getRelationId.getRelationId)({ layerId: this.layerId, relation: this.relation }),\n component: this\n });\n } catch (e) {\n console.warn(e);\n }\n\n this.loading = false;\n\n this.loadEventuallyRelationValuesForInputs = true;\n }\n\n this.active = true;\n\n yield this.$nextTick();\n\n if (!this.relationsTable && this.relations.length > 0) {\n this._createDataTable();\n }\n\n this.resize();\n });\n\n function activated() {\n return _ref33.apply(this, arguments);\n }\n\n return activated;\n }(),\n deactivated: function deactivated() {\n this.destroyTable();\n this.active = false;\n\n this.relations.forEach(function (r) {\n return r.select = false;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.loadEventuallyRelationValuesForInputs = true;\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').off('commit', this.onCommit);\n\n if (this.isVectorRelation && null !== this.currentRelationFeatureId) {\n GUI.getService('map').zoomToExtent(this.mapExtent);\n this.mapExtent = null;\n }\n\n if (this.addExternalLayerKey) {\n GUI.getService('catalog').un('addExternalLayer', this.addExternalLayerKey);\n this.addExternalLayerKey = 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('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"margin-bottom\":\"5px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{ref:\"relation_header_title\",staticClass:\"relation_header_title box-header with-border skin-color\"},[_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.edit_relation'),expression:\"'editing.edit_relation'\"}]}),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-left\":\"2px\"}},[_vm._v(\": \"+_vm._s(_vm.relation.name.toUpperCase()))])]),_vm._v(\" \"),_c('div',{ref:\"relation_header_tools\",staticClass:\"relation_header_tools box-header with-border\"},[_c('div',{attrs:{\"id\":\"search-box\"}},[(_vm.relationsLength)?_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"filterRelation\",\"placeholder\":_vm.placeholdersearch}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-editing-relations-add-link-tools\"},[(_vm.relationsLength > 0 && _vm.capabilities.includes('change_attr_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.tools.update_multi_features_relations'),expression:\"'plugins.editing.tools.update_multi_features_relations'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon\"},[_c('span',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.relations.every(function (r) { return !r.select; })),expression:\"relations.every(r => !r.select)\"}],on:{\"click\":function($event){$event.stopPropagation();return _vm.editAttributesRelations()}}},[_c('img',{attrs:{\"height\":\"25\",\"width\":\"25\",\"src\":(_vm.resourcesurl + \"images/multiEditAttributes.png\")}})])]):_vm._e(),_vm._v(\" \"),(_vm.capabilities.includes('change_attr_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.form.relations.tooltips.link_relation'),expression:\"'plugins.editing.form.relations.tooltips.link_relation'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon add-link\",class:[{ 'disabled': !_vm.show_add_link }, _vm.g3wtemplate.font['link']],attrs:{\"align\":\"center\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_add_link ? _vm.linkRelation() : null}}}):_vm._e(),_vm._v(\" \"),(_vm.capabilities.includes('add_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.form.relations.tooltips.add_relation'),expression:\"'plugins.editing.form.relations.tooltips.add_relation'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon add-link pull-right\",class:[{ 'disabled' : !_vm.show_add_link }, _vm.g3wtemplate.font['plus']],on:{\"click\":function($event){$event.stopPropagation();_vm.show_add_link ? _vm.addRelationAndLink() : null}}}):_vm._e()])]),_vm._v(\" \"),(_vm.show_vector_tools)?_c('section',{ref:\"relation_vector_tools\",staticClass:\"relation_vector_tools\"},[_c('span',{staticClass:\"close_vector_relation_tool\",on:{\"click\":function($event){$event.stopPropagation();return _vm.closeVectorTools($event)}}},[_c('i',{staticClass:\"g3w-icon skin-color\",class:_vm.g3wtemplate.font['close']})]),_vm._v(\" \"),_c('div',[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.draw_new_feature'),expression:\"'editing.relation.draw_new_feature'\"}],staticClass:\"g3w-editing-new-relation-vector-type\"}),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addVectorRelation($event)}}},[_c('i',{class:_vm.g3wtemplate.font['pencil']})])]),_vm._v(\" \"),_c('section',[_c('span',{staticClass:\"divider\"}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.draw_or_copy'),expression:\"'editing.relation.draw_or_copy'\"}],staticStyle:{\"align-self\":\"center\"}}),_vm._v(\" \"),_c('span',{staticClass:\"divider\"}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.copy_feature_from_other_layer'),expression:\"'editing.relation.copy_feature_from_other_layer'\"}],staticClass:\"g3w-editing-new-relation-vector-type\"}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('copylayerid'),expression:\"'copylayerid'\"}],attrs:{\"id\":\"g3w-select-editable-layers-to-copy\"}},_vm._l((_vm.copyFeatureLayers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_vm._v(_vm._s(layer.name))])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.copyFeatureLayers.length),expression:\"0 === copyFeatureLayers.length\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.copyFeatureFromOtherLayer($event)}}},[_c('i',{class:_vm.g3wtemplate.font['clipboard']})])])])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],ref:\"relation_body\",staticClass:\"relation_body box-body\"},[(_vm.relationsLength > 0 && !_vm.update)?_c('table',{ref:\"relationTable\",staticClass:\"table g3wform-relation-table table-striped\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"padding\":\"10px\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"id\":\"select_all_relations\",\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectall},on:{\"change\":function($event){return _vm.updateSelectRelations()}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"margin\":\"0\"},attrs:{\"for\":\"select_all_relations\"}},[_vm._v(\" \")])]),_vm._v(\" \"),_c('th',{directives:[{name:\"t\",rawName:\"v-t\",value:('tools'),expression:\"'tools'\"}]}),_vm._v(\" \"),_c('th'),_vm._v(\" \"),_vm._l((_vm.relationAttributesSubset(_vm.relations[0])),function(attribute){return _c('th',[_vm._v(_vm._s(attribute.label))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.relations),function(relation,index){return _c('tr',{key:relation.id,staticClass:\"featurebox-header\"},[_c('td',{staticStyle:{\"padding-top\":\"0\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(relation.select),expression:\"relation.select\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":(\"select_relation__\" + index),\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(relation.select)?_vm._i(relation.select,null)>-1:(relation.select)},on:{\"change\":function($event){var $$a=relation.select,$$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.$set(relation, \"select\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(relation, \"select\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(relation, \"select\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"select_relation__\" + index)}})]),_vm._v(\" \"),_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},_vm._l(((_vm.tools[index] || _vm.addTools(_vm.relations[index].id))),function(tool){\nvar _obj;\nreturn _c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:((\"plugins.\" + (tool.state.name))),expression:\"`plugins.${tool.state.name}`\",arg:\"top\",modifiers:{\"create\":true}}],key:tool.state.id,class:( _obj = { enabled: true, 'toggled': tool.state.active }, _obj[(\"editbtn \" + (tool.state.id))] = true, _obj ),on:{\"click\":function($event){$event.stopPropagation();return _vm.startTool(tool, index)}}},[_c('img',{attrs:{\"height\":\"20px\",\"width\":\"20px\",\"src\":(_vm.resourcesurl + \"images/\" + (tool.state.icon))}})])}),0)]),_vm._v(\" \"),_c('td',{staticClass:\"action-cell\"},[(!_vm.fieldrequired && _vm.capabilities.includes('change_attr_feature'))?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.form.relations.tooltips.unlink_relation'),expression:\"'plugins.editing.form.relations.tooltips.unlink_relation'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"g3w-mini-relation-icon g3w-icon\",class:_vm.g3wtemplate.font['unlink'],attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.unlinkRelation(index)}}}):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.relationAttributesSubset(relation)),function(attribute){return _c('td',[(_vm.isMedia(attribute.value) && _vm.getValue(attribute.value))?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.getValue(attribute.value),\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.getMediaType(attribute.value.mime_type).type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.getMediaType(attribute.value.mime_type).type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.getValue(attribute.value).split('/').pop()))])]):(['photo', 'link'].includes(_vm.getFieldType(attribute)))?_c('a',{attrs:{\"href\":_vm.getValue(attribute.value),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.getValue(attribute.value))+\"\\n \")]):_c('span',[_vm._v(_vm._s(_vm.getValue(_vm.getRelationFeatureValue(relation.id, attribute.name))))])])})],2)}),0)]):_vm._e()])],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-112912af\"\n\n},{\"../eventbus\":11,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addTableFeature\":30,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/convertToGeometry\":36,\"../utils/getEditingLayerById\":42,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/isSameBaseGeometryType\":56,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/updateWorkflows\":64,\"../workflows\":65,\"vueify/lib/insert-css\":1}],7:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-table table.dataTable tbody td{padding:3px 5px}\\n.editing_table_title[data-v-13f4ce0f]{margin-top:0;margin-bottom:2px;font-size:1.5em;font-weight:700;color:var(--skin-color)}#table-editing-tools[data-v-13f4ce0f]{display:flex;justify-content:space-between}#table-editing-tools i[data-v-13f4ce0f]{margin:5px}#buttons button.btn[data-v-13f4ce0f]{font-weight:700!important;min-width:80px}.table_editing_footer_buttons[data-v-13f4ce0f]{position:absolute;bottom:10px;width:100%;display:flex;justify-content:center}.editing_table_header_content[data-v-13f4ce0f]{display:flex;justify-content:space-between;align-items:baseline}.editing_table_relation_messagge[data-v-13f4ce0f]{margin-bottom:10px;font-size:1.3em;background-color:#f5f5f5;padding:3px;border-radius:3px;font-weight:700}\")\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 _step = require('../g3wsdk/workflow/step');\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _workflows = require('../workflows');\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _promisify = require('../utils/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\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\nvar GUI = g3wsdk.gui.GUI;\nvar resizeMixin = g3wsdk.gui.vue.Mixins.resizeMixin;\n\nvar Media_Field = g3wsdk.gui.vue.Fields.media_field;\n\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep\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\nexports.default = {\n\n name: 'Table',\n\n mixins: [resizeMixin],\n\n components: {\n 'g3w-media': Media_Field\n },\n\n data: function data() {\n return {\n dataTable: null,\n show: true,\n state: this.$options.service.state\n };\n },\n\n\n methods: {\n showTool: function showTool(type) {\n return undefined !== this.state.capabilities.find(function (cap) {\n return cap === type;\n });\n },\n resize: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if ('none' === this.$el.style.display) {\n return;\n }\n\n yield this.$nextTick();\n\n $('#editing_table div.dataTables_scrollBody').height($(\".content\").height() - $('.close-panel-block').outerHeight() - $('#editing_table div.dataTables_scrollHeadInner').outerHeight() - $('.editing_table_title').outerHeight() - $('.editing_table_header').outerHeight() - $('.editing_table_relation_messagge').outerHeight() - $('.dataTables_length').outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_info').outerHeight() - $('.dataTables_filter').outerHeight() - $('.table_editing_footer_buttons').outerHeight() - $('#editing_table .dataTables_paginate.paging_simple_numbers').outerHeight());\n\n if (this.dataTable) {\n this.dataTable.columns.adjust();\n }\n });\n\n function resize() {\n return _ref3.apply(this, arguments);\n }\n\n return resize;\n }(),\n showValue: function showValue(key) {\n return !!this.state.headers.find(function (h) {\n return key === h.name;\n });\n },\n isMediaField: function isMediaField(name) {\n var isMedia = false;\n for (var i = 0; i < this.state.headers.length; i++) {\n var header = this.state.headers[i];\n if (name === header.name && 'media' === header.input.type) {\n isMedia = true;\n break;\n }\n }\n return isMedia;\n },\n stop: function stop() {\n this.state.promise.reject();\n },\n save: function save() {\n var _this = this;\n\n this.state.isrelation ? this.state.promise.resolve({ features: (this._linkFeatures || []).map(function (i) {\n return _this.state.features[i];\n }) }) : this.state.promise.resolve();\n },\n cancel: function cancel() {\n this.state.promise.reject();\n },\n deleteFeature: function () {\n var _ref4 = _asyncToGenerator(function* (uid) {\n var _this2 = this;\n\n var element = $('#editing_table table tr#' + uid);\n var layer = this.state.inputs.layer;\n var layerId = layer.getId();\n var childRelations = layer.getChildren();\n var relationinediting = childRelations.length && (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: layer.getRelations().getArray()\n }).length > 0;\n\n try {\n yield new Promise(function (resolve, reject) {\n GUI.dialog.confirm('

' + tPlugin('editing.messages.delete_feature') + '

\\n
' + (relationinediting ? tPlugin('editing.messages.delete_feature_relations') : '') + '
', function (result) {\n if (result) {\n var index = _this2.state.features.findIndex(function (f) {\n return f.getUid() === uid;\n });\n var feature = _this2.state.features[index];\n var session = _this2.state.context.session;\n var _layerId = _this2.state.inputs.layer.getId();\n _this2.state.inputs.layer.getEditingSource().removeFeature(feature);\n session.pushDelete(_layerId, feature);\n _this2.state.rows.splice(index, 1);\n resolve();\n } else {\n reject();\n }\n });\n });\n\n this.dataTable.row(element).remove().draw();\n\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFeature(_x) {\n return _ref4.apply(this, arguments);\n }\n\n return deleteFeature;\n }(),\n copyFeature: function () {\n var _ref5 = _asyncToGenerator(function* (uid) {\n var _this3 = this;\n\n yield new Promise(function () {\n var _ref6 = _asyncToGenerator(function* (resolve, reject) {\n var feature = (0, _cloneFeature.cloneFeature)(_this3.state.features.find(function (f) {\n return uid === f.getUid();\n }), _this3.state.inputs.layer.getEditingLayer());\n\n _this3.state.workflow = new _workflow.Workflow({\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n });\n _this3.state.inputs.features.push(feature);\n try {\n var outputs = yield (0, _promisify.promisify)(_this3.state.workflow.start({\n context: _this3.state.context,\n inputs: _this3.state.inputs\n }));\n var _feature = outputs.features[outputs.features.length - 1];\n var newFeature = {};\n Object.entries(_this3.state.rows[0]).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n key = _ref8[0],\n _ = _ref8[1];\n\n newFeature[key] = (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: _this3.state.layerId,\n feature: _feature,\n property: key\n });\n });\n newFeature.__gis3w_feature_uid = _feature.getUid();\n _this3.state.rows.push(newFeature);\n resolve(newFeature);\n } catch (e) {\n console.warn(e);reject(e);\n } finally {\n _this3.state.workflow.stop();\n\n console.log('here we are');\n }\n });\n\n return function (_x3, _x4) {\n return _ref6.apply(this, arguments);\n };\n }());\n\n this.show = false;\n this.dataTable.destroy();\n\n yield this.$nextTick();\n\n this.show = true;\n\n yield this.$nextTick();\n\n this.setDataTable();\n });\n\n function copyFeature(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return copyFeature;\n }(),\n editFeature: function () {\n var _ref9 = _asyncToGenerator(function* (uid) {\n var _this4 = this;\n\n var index = this.state.features.findIndex(function (f) {\n return uid === f.getUid();\n });\n var feature = this.state.features[index];\n\n this.state.workflow = new _workflow.Workflow({ type: 'edittablefeature', steps: [new _workflows.OpenFormStep()] });\n\n var inputs = this.state.inputs;\n\n inputs.features.push(feature);\n\n try {\n var outputs = yield (0, _promisify.promisify)(this.state.workflow.start({\n context: this.state.context,\n inputs: inputs\n }));\n var _feature2 = outputs.features[outputs.features.length - 1];\n Object.entries(this.state.rows[index]).forEach(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n key = _ref11[0],\n _ = _ref11[1];\n\n _this4.state.rows[index][key] = (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: _this4.state.layerId,\n feature: _feature2,\n property: key\n });\n });\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.workflow.stop();\n }\n });\n\n function editFeature(_x5) {\n return _ref9.apply(this, arguments);\n }\n\n return editFeature;\n }(),\n linkFeature: function linkFeature(index, evt) {\n if (evt.target.checked) {\n this._linkFeatures.push(index);\n } else {\n this._linkFeatures = this._linkFeatures.filter(function (addindex) {\n return addindex !== index;\n });\n }\n },\n getValue: function getValue(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n value = value.value;\n } else if ('string' == typeof value && 0 === value.indexOf('_new_')) {\n value = null;\n }\n return value;\n },\n setDataTable: function setDataTable() {\n this.dataTable = $('#editing_table table').DataTable({\n columnDefs: [{ orderable: false, targets: 0 }],\n order: [1, 'asc'],\n pageLength: 10,\n scrollCollapse: true,\n scrollResize: true,\n scrollX: true\n });\n this.resize();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n\n GUI.disableSideBar(true);\n\n GUI.showUserMessage({\n type: 'loading',\n message: 'plugins.editing.messages.loading_table_data',\n autoclose: false,\n closable: false\n });\n },\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n\n yield this.$nextTick();\n\n if (this.state.isrelation) {\n this._linkFeatures = [];\n }\n\n this.setDataTable();\n\n this.resize();\n\n setTimeout(function () {\n return GUI.closeUserMessage();\n }, 300);\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.cancel();\n this._linkFeatures = null;\n this.dataTable.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('div',{staticClass:\"g3w-editing-table\",attrs:{\"id\":\"editing_table\"}},[_c('div',{ref:\"editing_table_header\",staticClass:\"editing_table_header\"},[_c('div',{staticClass:\"editing_table_header_content\"},[_c('h3',{staticClass:\"editing_table_title\"},[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.state.isrelation)?_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.table.info'),expression:\"'editing.relation.table.info'\"}],staticClass:\"editing_table_relation_messagge\"}):_vm._e()]),_vm._v(\" \"),(_vm.show)?_c('table',{staticClass:\"display\",staticStyle:{\"width\":\"100%\"}},[_c('thead',[_c('tr',[(!_vm.state.isrelation)?_c('th',{staticStyle:{\"max-width\":\"60px\"}}):_vm._e(),_vm._v(\" \"),(_vm.state.isrelation)?_c('th'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header){return _c('th',[_vm._v(_vm._s(header.label))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.state.rows),function(feature,index){return _c('tr',{key:feature.__gis3w_feature_uid,attrs:{\"id\":feature.__gis3w_feature_uid}},[(!_vm.state.isrelation)?_c('td',[_c('div',{attrs:{\"id\":\"table-editing-tools\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.edit'),expression:\"'plugins.editing.table.edit'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('change_attr_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['pencil'],staticStyle:{\"color\":\"#30cce7\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature.__gis3w_feature_uid)}}}):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.copy'),expression:\"'plugins.editing.table.copy'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('add_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['copy-paste'],staticStyle:{\"color\":\"#d98b14\",\"padding\":\"5px 7px 5px 7px\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.copyFeature(feature.__gis3w_feature_uid)}}}):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.delete'),expression:\"'plugins.editing.table.delete'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('delete_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o'],staticStyle:{\"color\":\"red\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFeature(feature.__gis3w_feature_uid)}}}):_vm._e()])])]):_vm._e(),_vm._v(\" \"),(_vm.state.isrelation)?_c('td',[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"id\":(\"relation__\" + index),\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.linkFeature(index, $event)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"relation__\" + index)}})]):_vm._e(),_vm._v(\" \"),_vm._l((feature),function(value,key){return (_vm.showValue(key))?_c('td',{key:key},[(_vm.getValue(value) && _vm.isMediaField(key))?_c('g3w-media',{attrs:{\"state\":value}}):_c('p',[_vm._v(_vm._s(_vm.getValue(value)))])],1):_vm._e()})],2)}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"table_editing_footer_buttons\",staticClass:\"table_editing_footer_buttons\",attrs:{\"id\":\"buttons\"}},[_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'),expression:\"state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'\"}],staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"10px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.save($event)}}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.form.buttons.cancel'),expression:\"'editing.form.buttons.cancel'\"}],staticClass:\"btn btn-danger\",on:{\"click\":function($event){$event.stopPropagation();return _vm.cancel($event)}}})])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-13f4ce0f\"\n\n},{\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../utils/addTableFeature\":30,\"../utils/cloneFeature\":35,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getRelationsInEditing\":51,\"../utils/promisify\":58,\"../workflows\":65,\"vueify/lib/insert-css\":1}],8:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".panel.mobile[data-v-c4a84298]{margin-bottom:5px}.panel.mobile .panel-heading[data-v-c4a84298]{display:flex;justify-content:space-between}.panel.mobile .panel-heading .panel-title[data-v-c4a84298]{margin-top:auto;margin-bottom:auto}.panel.mobile .panel-heading .start-editing[data-v-c4a84298]{margin:auto;margin-right:0;padding:6px}.panel.mobile .tools-content .editbtn[data-v-c4a84298]{padding:9px}.panel.mobile .toolbox .panel-body[data-v-c4a84298]{padding:5px!important}.toolbox_help_message[data-v-c4a84298]{font-weight:lighter}.toolbox[data-v-c4a84298]{padding-bottom:5px}.panel[data-v-c4a84298]{border:0!important;margin-bottom:8px}.panel-heading[data-v-c4a84298]{padding:5px 10px;width:100%}.toolboxselected[data-v-c4a84298]{box-shadow:0 0 0 3px var(--skin-color)}.panel:not(.toolboxselected) .info[data-v-c4a84298]{opacity:.4}.panel:not(.toolboxactive) .panel-heading[data-v-c4a84298]{border-radius:3px;filter:grayscale(.8)}.panel:not(.geolayer) .panel-body[data-v-c4a84298]{padding-top:0}.panel.toolboxactive:not(.geolayer) .editbtn.start-editing[data-v-c4a84298]{color:#fff!important}.panel:not(.geolayer) .panel-heading[data-v-c4a84298]{color:#3a4448}.editbtn.start-editing[data-v-c4a84298]{padding:13px;color:currentColor!important;font-size:1.1em;margin:0}.panel-title[data-v-c4a84298]{font-weight:700;word-break:break-word;padding:8px 0;display:inline-block}#toolsoftoolcontainer[data-v-c4a84298]{display:flex;flex-direction:column;margin:5px;padding:5px;border-radius:5px}.info[data-v-c4a84298]{color:#000}.info>i[data-v-c4a84298]{color:#007bff;padding-right:2px}.info+.tools-content[data-v-c4a84298]{margin-top:1em}.filter-by-relation[data-v-c4a84298]{margin-right:5px;cursor:pointer;color:currentColor!important}.tools-content[data-v-c4a84298]{display:flex;flex-wrap:wrap;gap:10px}.message[data-v-c4a84298]{margin-bottom:5px;font-size:1.1em;color:#000;margin-top:5px}.snap-tool[data-v-c4a84298]{display:flex}.snap-tool label>b[data-v-c4a84298]{color:#222d32!important}.tools-of-tool-snap[data-v-c4a84298]{display:flex;width:100%;justify-content:space-between}.tools-of-tool-snap label span[data-v-c4a84298]{color:#222d32!important}.panel-body.disabled[data-v-c4a84298]{opacity:.7}.panel-body.disabled>[data-v-c4a84298]{pointer-events:none}\")\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\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 GUI = g3wsdk.gui.GUI;\nvar Layer = g3wsdk.core.layer.Layer;\nvar getResolutionFromScale = g3wsdk.ol.utils.getResolutionFromScale;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n\nvar snapInteraction = void 0;\n\nexports.default = {\n\n name: 'Toolbox',\n\n props: ['state', 'resourcesurl'],\n\n data: function data() {\n return {\n active: false,\n helpmessage: null,\n\n toggled: {\n relation: false,\n layer: false },\n snapAll: false\n };\n },\n\n\n computed: {\n editDisabled: function editDisabled() {\n return this.state.loading && !this.state.startstopediting;\n },\n hasRelations: function hasRelations() {\n return this.state.editing.dependencies.length > 0;\n },\n loading: function loading() {\n return this.state.loading || this.state.changingtools;\n },\n canEdit: function canEdit() {\n return this.state.editing.canEdit;\n },\n father: function father() {\n return this.state.editing.father && this.hasRelations;\n },\n showtoolsoftool: function showtoolsoftool() {\n return this.state.toolsoftool.length > 0;\n },\n isLayerReady: function isLayerReady() {\n return this.state.layer.state.editing.ready;\n },\n toolboxCursor: function toolboxCursor() {\n return !this.isLayerReady || !this.canEdit ? 'url(' + this.resourcesurl + 'cursors/mZoomIn.svg), zoom-in' : undefined;\n },\n get_tool_title: function get_tool_title() {\n return function (title) {\n return g3wsdk.core.ApplicationState.language && tPlugin(title);\n };\n }\n },\n\n methods: {\n select: function select() {\n if (this.isLayerReady && !this.state.selected) {\n this.$emit('setselectedtoolbox', this.state.id);\n }\n },\n fitZoomToScale: function fitZoomToScale(e) {\n if (this.state.selected && !this.canEdit) {\n var map = GUI.getService('map');\n map.goToRes(map.getCenter(), getResolutionFromScale(this.state._constraints.scale, map.getMapUnits()));\n }\n },\n toggleEditing: function toggleEditing() {\n this.select();\n this.toggled.layer = !(this.state.editing.on || this.toggled.layer);\n if (this.toggled.layer && this.state.layer.state.editing.ready && !this.state.loading) {\n this.$emit(this.state.editing.on ? 'stoptoolbox' : 'starttoolbox', this.state.id);\n }\n if (!this.toggled.layer) {\n this.$emit('stoptoolbox', this.state.id);\n }\n },\n toggleTool: function toggleTool(toolId) {\n if (undefined === toolId) {\n this.$emit('stopactivetool', this.state.id);\n } else {\n this.$emit('setactivetool', toolId, this.state.id);\n }\n this.select();\n },\n toggleFilterByRelation: function toggleFilterByRelation() {\n this.toggled.relation = !this.toggled.relation;\n this.$emit('update-filter-layers', this.toggled.relation ? [this.state.id].concat(_toConsumableArray(this.state.editing.dependencies)) : []);\n },\n _initSnap: function _initSnap() {\n var _this = this;\n\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n\n if (!tool) {\n return;\n }\n\n this.snapFeatures = new ol.Collection();\n\n this.snapEvents = [];\n\n this.snapToolboxes = [];\n\n this.snapUnwatches = [];\n\n this.$watch(function () {\n return tool.options.checked;\n }, function () {\n return _this.activeSnapInteraction();\n });\n this.$watch(function () {\n return tool.options.checkedAll;\n }, function () {\n return _this.activeSnapInteraction();\n });\n\n this.$watch(function () {\n return tool.options.active;\n }, function () {\n if (tool.options.active) {\n _this.activeSnapInteraction();\n } else if (snapInteraction) {\n GUI.getService('map').removeInteraction(snapInteraction);\n }\n });\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayers().filter(function (l) {\n return Layer.LayerTypes.VECTOR === l.getType();\n }).forEach(function (l) {\n var toolbox = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById(l.getId());\n var source = toolbox.getLayer().getEditingSource();\n\n _this.snapFeatures.extend(source.readFeatures());\n\n _this.snapEvents.push({\n source: source,\n olKey: source.getFeaturesCollection().on('add', function (evt) {\n return _this.addSnapFeatures([evt.element]);\n }),\n settersAndKeys: {\n 'addFeatures': source.onbefore('addFeatures', _this.addSnapFeatures),\n 'addFeature': source.onbefore('addFeature', _this.addSnapFeatures),\n 'clear': source.onbefore('clear', function () {\n source.readFeatures().forEach(function (f) {\n return _this.snapFeatures.remove(f);\n });\n })\n }\n });\n\n if (tool.options.layerId !== l.getId()) {\n var editing = toolbox.getState().editing;\n _this.snapUnwatches.push(_this.$watch(function () {\n return editing.on;\n }, _this.setShowSnapAll));\n _this.snapToolboxes.push(editing);\n }\n });\n\n this.setShowSnapAll();\n },\n _unloadSnap: function _unloadSnap() {\n if (!snapInteraction) {\n return;\n }\n\n try {\n this.snapEvents.forEach(function (d) {\n Object.keys(d.settersAndKeys).forEach(function (event) {\n d.source.un(event, d.settersAndKeys[event]);\n });\n ol.Observable.unByKey(d.olKey);\n });\n this.snapUnwatches.forEach(function (unwatch) {\n return unwatch();\n });\n\n snapInteraction = null;\n\n this.snapUnwatches = null;\n this.snapToolboxes = null;\n this.snapEvents = null;\n } catch (e) {\n console.warn(e);\n }\n },\n addSnapFeatures: function addSnapFeatures(features) {\n this.snapFeatures.extend(features);\n },\n setShowSnapAll: function setShowSnapAll() {\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n if (tool) {\n this.snapAll = !!this.snapToolboxes.find(function (editing) {\n return editing.on;\n });\n tool.options.checkedAll = tool.options.showSnapAll ? tool.options.checkedAll : false;\n }\n },\n activeSnapInteraction: function activeSnapInteraction() {\n var map = GUI.getService('map');\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n\n if (snapInteraction) {\n map.removeInteraction(snapInteraction);\n }\n\n snapInteraction = null;\n\n if ((tool.options.checked || tool.options.checkedAll) && tool.options.active) {\n snapInteraction = new ol.interaction.Snap({\n source: !tool.options.checkedAll && tool.options.checked && tool.options.source,\n features: tool.options.checkedAll && this.snapFeatures });\n map.addInteraction(snapInteraction);\n }\n }\n },\n\n watch: {\n 'state.activetool': function () {\n var _ref = _asyncToGenerator(function* (tool) {\n yield this.$nextTick();\n this.helpmessage = tool && (tool.messages.help || tool.name);\n });\n\n function stateActivetool(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateActivetool;\n }(),\n 'state.editing.on': function stateEditingOn(bool) {\n this.$emit('on-editing', bool);\n },\n 'state.toolsoftool': function stateToolsoftool(newTools, oldTools) {\n if (!newTools.length) {\n oldTools.filter(function (t) {\n return 'measure' === t.type;\n }).forEach(function (t) {\n return t.options.onChange(false);\n });\n this._unloadSnap();\n } else {\n this._initSnap();\n }\n }\n },\n\n created: function created() {\n this.$emit('canEdit', { id: this.state.id });\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this._unloadSnap();\n }\n};\n})()\nif (module.exports.__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',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show),expression:\"state.show\"}],staticClass:\"toolbox\",attrs:{\"id\":'id_toolbox_' + _vm.state.id}},[_c('div',{staticClass:\"panel\",class:{\n 'mobile': _vm.isMobile(),\n 'toolboxselected': _vm.state.selected,\n 'toolboxactive': _vm.state.editing.on && _vm.canEdit,\n 'geolayer': _vm.state.layer.isGeoLayer(),\n },on:{\"click\":function($event){$event.stopPropagation();return _vm.select($event)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLayerReady),expression:\"!isLayerReady\"}],staticClass:\"bar-loader\"}),_vm._v(\" \"),(_vm.state.toolboxheader)?_c('div',{staticClass:\"panel-heading container\",style:({ background: _vm.state.color})},[(_vm.father)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.tooltip.filter_by_relation'),expression:\"'plugins.editing.tooltip.filter_by_relation'\",arg:\"right\",modifiers:{\"create\":true}}],class:'filter-by-relation ' + _vm.g3wtemplate.font['relation'],on:{\"click\":_vm.toggleFilterByRelation}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"panel-title\"},[_vm._v(_vm._s(_vm.state.title))]),_vm._v(\" \"),_c('i',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.editDisabled),expression:\"editDisabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('plugins.editing.tooltip.edit_layer'),expression:\"'plugins.editing.tooltip.edit_layer'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"start-editing editbtn skin-tooltip-left\",class:( _obj = {\n 'pull-right': !_vm.isMobile(),\n 'enabled': _vm.isLayerReady,\n 'g3w-icon-toggled': _vm.state.editing.on\n }, _obj[_vm.g3wtemplate.font[(_vm.state.editing.on || _vm.toggled.layer) ? 'checkmark' : 'pencil']] = true, _obj ),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleEditing($event)}}})]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),(!_vm.state.changingtools && (_vm.state.editing.on || _vm.toggled.layer))?_c('div',{class:{ 'panel-body':true, disabled: (!_vm.isLayerReady || !_vm.canEdit) },style:({ cursor: _vm.toolboxCursor }),on:{\"click\":_vm.fitZoomToScale}},[(!_vm.state.layer.isGeoLayer())?_c('div',{staticClass:\"info\"},[_c('i',{class:_vm.g3wtemplate.font['info']}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.toolbox_has_no_geometry'),expression:\"'editing.messages.toolbox_has_no_geometry'\"}]}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),(_vm.hasRelations)?_c('div',{staticClass:\"info\"},[_c('i',{class:_vm.g3wtemplate.font['info']}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.toolbox_has_relation'),expression:\"'editing.messages.toolbox_has_relation'\"}]}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),(_vm.state.message)?_c('div',{staticStyle:{\"color\":\"#000\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.state.message),expression:\"state.message\"}],staticClass:\"text-justify\"}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tools-content\"},_vm._l((_vm.state.tools),function(tool){\n var _obj;\nreturn (tool.visible)?_c('div',{key:tool.id,class:( _obj = { 'enabled' : tool.enabled, 'toggled' : tool.active }, _obj[(\"editbtn \" + (tool.id))] = true, _obj ),on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();tool.enabled && _vm.toggleTool(tool.active ? undefined : tool.id)}}},[_c('img',{attrs:{\"height\":\"25\",\"width\":\"25\",\"src\":_vm.resourcesurl + 'images/' + tool.icon,\"title\":_vm.get_tool_title((\"\" + (tool.name)))}})]):_vm._e()}),0),_vm._v(\" \"),_c('div',{staticClass:\"message\",attrs:{\"id\":(\"id_toolbox_messages_\" + (_vm.state.id))}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showtoolsoftool)?_c('div',{attrs:{\"id\":\"toolsoftoolcontainer\"}},[_vm._l((_vm.state.toolsoftool),function(tool){return [('measure' === tool.type)?_c('div',{staticClass:\"snap-tool\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checked),expression:\"tool.options.checked\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"id\":\"g3w_editing_show_measure_tool\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(tool.options.checked)?_vm._i(tool.options.checked,null)>-1:(tool.options.checked)},on:{\"change\":[function($event){var $$a=tool.options.checked,$$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.$set(tool.options, \"checked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checked\", $$c)}},function () { return tool.options.onChange(tool.options.checked); }]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.toolsoftool.measure'),expression:\"'plugins.editing.toolsoftool.measure'\",arg:\"right\",modifiers:{\"create\":true}}],attrs:{\"for\":\"g3w_editing_show_measure_tool\"}},[_c('b',{class:_vm.g3wtemplate.font['measure']})])]):('snap' === tool.type)?_c('div',{staticClass:\"tools-of-tool-snap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checked),expression:\"tool.options.checked\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"type\":\"checkbox\",\"id\":(\"snap_\" + (_vm.state.id))},domProps:{\"checked\":Array.isArray(tool.options.checked)?_vm._i(tool.options.checked,null)>-1:(tool.options.checked)},on:{\"change\":[function($event){var $$a=tool.options.checked,$$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.$set(tool.options, \"checked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checked\", $$c)}},function($event){_vm.snapAll && tool.options.checked ? tool.options.checkedAll = false : null}]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:( 'plugins.editing.toolsoftool.snap'),expression:\" 'plugins.editing.toolsoftool.snap'\",arg:\"right\",modifiers:{\"create\":true}}],attrs:{\"for\":(\"snap_\" + (_vm.state.id))}},[_c('span',{class:_vm.g3wtemplate.font['magnete']})]),_vm._v(\" \"),(_vm.snapAll)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checkedAll),expression:\"tool.options.checkedAll\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"type\":\"checkbox\",\"id\":(\"snap_all_\" + (_vm.state.id))},domProps:{\"checked\":Array.isArray(tool.options.checkedAll)?_vm._i(tool.options.checkedAll,null)>-1:(tool.options.checkedAll)},on:{\"change\":[function($event){var $$a=tool.options.checkedAll,$$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.$set(tool.options, \"checkedAll\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checkedAll\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checkedAll\", $$c)}},function($event){tool.options.checkedAll ? tool.options.checked = false : null}]}}):_vm._e(),_vm._v(\" \"),(_vm.snapAll)?_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('plugins.editing.toolsoftool.snapall'),expression:\"'plugins.editing.toolsoftool.snapall'\",arg:\"left\",modifiers:{\"create\":true}}],attrs:{\"for\":(\"snap_all_\" + (_vm.state.id))}},[_c('span',{class:_vm.g3wtemplate.font['magnete']}),_vm._v(\" \"),_c('b',{class:_vm.g3wtemplate.font['layers']})]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('divider')]})],2):_vm._e()]),_vm._v(\" \"),(_vm.helpmessage)?_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.helpmessage),expression:\"helpmessage\"}],staticClass:\"toolbox_help_message\"}):_vm._e()],1)]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-c4a84298\"\n\n},{\"vueify/lib/insert-css\":1}],9:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".steps-list[data-v-8a452b86]{align-self:flex-start;list-style:none;padding:10px;margin-bottom:0}li[data-v-8a452b86]{margin-bottom:5px}li.done[data-v-8a452b86]{font-weight:700;color:green}li.done>.description[data-v-8a452b86]{font-weight:700}.dynamic-step[data-v-8a452b86]{padding:10px;font-size:1.2em}.button-step[data-v-8a452b86]{display:inline-flex;align-items:center}.button-step[data-v-8a452b86],button.btn-success[data-v-8a452b86]{font-weight:700;align-self:normal}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n\n data: function data() {\n return { steps: {} };\n },\n\n methods: {\n completeStep: function completeStep(step) {\n step.done = true;\n step.buttonnext.done();\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('ul',{staticClass:\"steps-list\"},_vm._l((_vm.steps),function(step,id){return _c('li',{key:id,class:{ 'done': step.done },style:({ display: step.buttonnext && 'inline-flex' })},[(step.buttonnext)?_c('span',{staticClass:\"button-step\"},[_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(step.description),expression:\"step.description\"}],staticClass:\"description\"}),_vm._v(\" \"),(step.dynamic)?_c('span',{staticClass:\"dynamic-step\"},[_vm._v(_vm._s(step.dynamic))]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.workflow.next'),expression:\"'editing.workflow.next'\"}],class:'btn btn-success' + (step.buttonnext.disabled ? ' g3w-disabled' : '' ),on:{\"click\":function($event){return _vm.completeStep(step)}}})]):[_c('i',{class:_vm.g3wtemplate.getFontClass(step.done ? 'success' : 'empty-circle')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(step.description),expression:\"step.description\"}]})]],2)}),0)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-8a452b86\"\n\n},{\"vueify/lib/insert-css\":1}],10:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Session = exports.ChangesManager = 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 _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\nexports.Flow = Flow;\n\nvar _promisify = require('../../utils/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\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class Flow of workflow step by step\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/flow.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/queque.js@v3.9.1\n */\nfunction Flow() {\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.Flow is deprecated');\n\n var Queque = function () {\n function Queque() {\n _classCallCheck(this, Queque);\n\n this.tasks = [];\n }\n\n _createClass(Queque, [{\n key: 'addTask',\n value: function addTask(task) {\n this.tasks.push(task);\n }\n }, {\n key: 'run',\n value: function run() {\n var reverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n while (this.tasks.length) {\n var task = reverse ? this.tasks.pop() : this.tasks.shift();task();\n }\n }\n }, {\n key: 'flush',\n value: function flush() {\n return this.tasks.splice(0);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.tasks.length;\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.run();this.tasks = [];\n }\n }]);\n\n return Queque;\n }();\n\n var steps = [];\n var inputs = void 0;\n var counter = 0;\n var context = null;\n var d = void 0;\n var _workflow = void 0;\n this.queques = {\n end: new Queque(),\n micro: new Queque()\n };\n //start workflow\n this.start = function (workflow) {\n d = $.Deferred();\n if (counter > 0) {\n console.log(\"reset workflow before restarting\");\n }\n _workflow = workflow;\n inputs = workflow.getInputs();\n context = workflow.getContext();\n steps = workflow.getSteps();\n // check if there are steps\n if (steps && steps.length) {\n //run step (first)\n this.runStep(steps[0], inputs, context);\n }\n // return a promise that will be reolved if all step go right\n return d.promise();\n };\n\n //run step\n this.runStep = function (step, inputs) {\n var _this = this;\n\n //run step that run task\n _workflow.setMessages({\n help: step.state.help\n });\n var runMicroTasks = this.queques.micro.getLength();\n step.run(inputs, context, this.queques).then(function (outputs) {\n runMicroTasks && _this.queques.micro.run();\n _this.onDone(outputs);\n }).fail(function (error) {\n return _this.onError(error);\n });\n };\n\n //check if all step are resolved\n this.onDone = function (outputs) {\n counter++;\n if (counter === steps.length) {\n counter = 0;\n d.resolve(outputs);\n return;\n }\n this.runStep(steps[counter], outputs);\n };\n\n // in case of error\n this.onError = function (err) {\n counter = 0;\n this.clearQueques();\n d.reject(err);\n };\n\n // stop flow\n this.stop = function () {\n var d = $.Deferred();\n steps[counter].isRunning() ? steps[counter].stop() : null;\n this.clearQueques();\n if (counter > 0) {\n // set counter to 0\n counter = 0;\n // reject flow\n d.reject();\n } else {\n //reject to force rollback session\n d.resolve();\n }\n return d.promise();\n };\n\n this.clearQueques = function () {\n this.queques.micro.clear();\n this.queques.end.clear();\n };\n\n g3wsdk.core.utils.base(this);\n}\n\ng3wsdk.core.utils.inherit(Flow, g3wsdk.core.G3WObject);\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/services/editing.js@v3.9.1\n */\nvar ChangesManager = exports.ChangesManager = {\n /** known actions */\n Actions: {\n 'add': {\n fnc: 'addFeature',\n opposite: 'delete'\n },\n 'delete': {\n fnc: 'removeFeature',\n opposite: 'add'\n },\n 'update': {\n fnc: 'updateFeature',\n opposite: 'update'\n }\n },\n /* apply changes to features (undo/redo) */\n execute: function execute(object, items, reverse) {\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.ChangesManager is deprecated');\n var fnc = void 0;\n var feature = void 0;\n items.forEach(function (item) {\n feature = item.feature;\n if (reverse) {\n // change to opposite\n feature[ChangesManager.Actions[feature.getState()].opposite]();\n }\n // get method from object\n fnc = ChangesManager.Actions[feature.getState()].fnc;\n object[fnc](feature);\n });\n }\n};\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n */\n\nvar Session = exports.Session = function (_g3wsdk$core$G3WObjec) {\n _inherits(Session, _g3wsdk$core$G3WObjec);\n\n function Session() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Session);\n\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.Session is deprecated');\n\n var _this2 = _possibleConstructorReturn(this, (Session.__proto__ || Object.getPrototypeOf(Session)).call(this, options));\n\n _this2.setters = {\n\n /**\n * Start session\n */\n start: function start() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n var features = yield (0, _promisify.promisify)(_this3._editor.start(options));\n _this3.state.started = true;\n d.resolve(features);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * stop session\n */\n stop: function stop() {\n var _this4 = this;\n\n return $.Deferred(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n var canStop = _this4.state.started || _this4.state.getfeatures;\n if (!canStop) {\n return d.resolve();\n }\n try {\n yield (0, _promisify.promisify)(_this4._editor.stop());\n _this4.clear();\n d.resolve();\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x5) {\n return _ref2.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * Get features from server (by editor)\n */\n getFeatures: function getFeatures() {\n var _this5 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return $.Deferred(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n if (_this5._allfeatures) {\n return d.resolve([]);\n }\n _this5._allfeatures = !options.filter;\n try {\n var features = yield (0, _promisify.promisify)(_this5._editor.getFeatures(options));\n _this5.state.getfeatures = true;\n d.resolve(features);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x7) {\n return _ref3.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * Hook to get informed that are saved on server\n * \n * @param commitItems\n */\n saveChangesOnServer: function saveChangesOnServer(commitItems) {}\n };\n\n _this2.state = {\n id: options.id,\n started: false,\n getfeatures: false,\n /** maximum \"buffer history\" lenght for undo/redo */\n maxSteps: 10,\n /** current state of history (useful for undo /redo) */\n current: null,\n /** temporary change not save on history */\n changes: []\n };\n\n /**\n * Array of states of a layer in editing\n * {\n * _states: [\n * {\n * id: unique key\n * state: [state] // example: history contsins features state\n * // array because a tool can apply changes to more than one features at time (split di una feature)\n * },\n * {\n * id: unique key\n * state: [state]\n * },\n * ]\n * ....\n *\n * _current: unique key // usefult to undo redo\n *\n *\n */\n _this2._states = [];\n\n /** reactive state of history */\n _this2._constrains = {\n commit: false,\n undo: false,\n redo: false\n },\n\n // editor\n _this2._editor = options.editor;\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this2._history = {\n id: _this2.state.id,\n state: new Proxy({}, { get: function get(_, prop) {\n return _this2._constrains[prop];\n } }),\n add: _this2.__add.bind(_this2),\n getRelationStates: _this2.__getRelationStates.bind(_this2),\n insertState: _this2.__insertState.bind(_this2),\n removeState: _this2.deleteState.bind(_this2),\n removeStates: _this2.removeChangesFromHistory.bind(_this2),\n insertStates: _this2.__insertStates.bind(_this2),\n undo: _this2.__undo.bind(_this2),\n clear: _this2.clearHistory.bind(_this2),\n redo: _this2.__redo.bind(_this2),\n setItemsFeatureIds: _this2.__setItemsFeatureIds.bind(_this2),\n getState: _this2.__getState.bind(_this2),\n getFirstState: _this2.__getFirstState.bind(_this2),\n getLastState: _this2.getLastHistoryState.bind(_this2),\n getCurrentState: _this2.__getCurrentState.bind(_this2),\n getCurrentStateIndex: _this2.__getCurrentStateIndex.bind(_this2),\n canCommit: _this2.__canCommit.bind(_this2),\n canUndo: _this2.__canUndo.bind(_this2),\n canRedo: _this2.__canRedo.bind(_this2),\n commit: _this2.__commit.bind(_this2)\n };\n\n // register this session on session registry\n _this2.register();\n return _this2;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * check if was done an update (update are array contains two items, old and new value)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(Session, [{\n key: '_checkSessionItems',\n value: function _checkSessionItems(historyId, items, action) {\n /**\n * action: \n * 0: undo;\n * 1: redo;\n **/\n var newItems = {\n own: [], //array of changes of layer of the current session\n dependencies: {} // dependencies\n };\n\n items.forEach(function (item) {\n if (Array.isArray(item)) {\n item = item[action];\n }\n // check if belong to session\n if (historyId === item.layerId) {\n newItems.own.push(item);\n } else {\n newItems.dependencies[item.layerId] = newItems.dependencies[item.layerId] || {\n own: [],\n dependencies: {}\n };\n newItems.dependencies[item.layerId].own.push(item);\n }\n });\n\n return newItems;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n */\n\n }, {\n key: 'getLastHistoryState',\n value: function getLastHistoryState() {\n return this._states.length ? this._states[this._states.length - 1] : null;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getLastStateId',\n value: function getLastStateId() {\n return this.getLastHistoryState().id;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param stateId\n */\n\n }, {\n key: 'deleteState',\n value: function deleteState(stateId) {\n var i = this._states.findIndex(function (s) {\n return s.id === stateId;\n });\n console.assert(i >= 0, 'invalid stateId ' + stateId);\n if (this.state.current === stateId) {\n this.state.current = this._states.length > 1 ? this._states[i - 1].id : null;\n }\n this._states.splice(i, 1);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'register',\n value: function register() {\n Session.Registry.register(this);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'unregister',\n value: function unregister() {\n Session.Registry.unregister(this.getId());\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this.state.started;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @param editor\n */\n\n }, {\n key: 'setEditor',\n value: function setEditor(editor) {\n this._editor = editor;\n }\n\n /**\n * Save temporary changes to the layer in history instance and feature store\n * \n * @param options\n */\n\n }, {\n key: 'save',\n value: function save() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n //fill history\n var d = $.Deferred();\n // add temporary modify to history\n if (this.state.changes.length) {\n var uniqueId = options.id || Date.now();\n this._history.add(uniqueId, this.state.changes).then(function () {\n // clear to temporary changes\n _this6.state.changes = [];\n // resolve if unique id\n d.resolve(uniqueId);\n });\n } else {\n d.resolve(null);\n }\n return d.promise();\n }\n\n /**\n * @param feature\n */\n\n }, {\n key: 'updateTemporaryChanges',\n value: function updateTemporaryChanges(feature) {\n this.state.changes.forEach(function (c) {\n return c.feature.setProperties(feature.getProperties());\n });\n }\n\n /**\n * Add temporary feature\n * \n * @param layerId \n * @param feature \n * @param removeNotEditableProperties \n */\n\n }, {\n key: 'pushAdd',\n value: function pushAdd(layerId, feature) {\n var removeNotEditableProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n /**\n * @TODO check if it need to deprecate it. All properties are need\n * Please take care of this to understand\n * In case of removeNotEditableProperties true, remove not editable field\n * from feature properties\n */\n var editor = layerId === this.getId() ? this._editor : Session.Registry.getSession(layerId).getEditor();\n\n // remove not editable proprierties from feature\n if (removeNotEditableProperties) {\n (editor.getLayer().getEditingNotEditableFields() || []).forEach(function (f) {\n return feature.unset([f]);\n });\n }\n\n var newFeature = feature.clone();\n\n this.push({ layerId: layerId, feature: newFeature.add() });\n\n return newFeature;\n }\n\n /**\n * Delete temporary feature\n * \n * @param layerId \n * @param feature \n */\n\n }, {\n key: 'pushDelete',\n value: function pushDelete(layerId, feature) {\n this.push({ layerId: layerId, feature: feature.delete() });\n return feature;\n }\n\n /**\n * Add temporary feature changes\n * \n * @param layerId\n * @param newFeature\n * @param oldFeature\n */\n\n }, {\n key: 'pushUpdate',\n value: function pushUpdate(layerId, newFeature, oldFeature) {\n // get index of temporary changes\n var is_new = newFeature.isNew();\n var i = is_new && this.state.changes.findIndex(function (c) {\n return layerId === c.layerId && c.feature.getId() === newFeature.getId();\n });\n\n // in case of new feature\n if (is_new && i >= 0) {\n var feature = newFeature.clone();\n feature.add();\n this.state.changes[i].feature = feature;\n return;\n }\n\n this.push({ layerId: layerId, feature: newFeature.update() }, { layerId: layerId, feature: oldFeature.update() });\n }\n\n /**\n * @param stateIds\n */\n\n }, {\n key: 'removeChangesFromHistory',\n value: function removeChangesFromHistory() {\n var _this7 = this;\n\n var stateIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n (stateIds || []).forEach(function (s) {\n return _this7.deleteState(s);\n });\n }\n\n /**\n * @returns { Object } state ids\n */\n\n }, {\n key: 'moveRelationStatesOwnSession',\n value: function moveRelationStatesOwnSession() {\n var ids = {};\n\n var _getCommitItems = this.getCommitItems(),\n relations = _getCommitItems.relations;\n\n for (var id in relations) {\n var states = this._history.getRelationStates(id);\n Session.Registry.getSession(id)._history.insertStates(states);\n ids[id] = states.map(function (s) {\n return s.id;\n });\n }\n return ids;\n }\n\n /**\n * Add temporary features that will be added with save method\n * \n * @param { { layerId: string, feature: * } } NewFeat \n * @param { { layerId: string, feature: * } } OldFeat\n */\n\n }, {\n key: 'push',\n value: function push(newFeat, oldFeat) {\n this.state.changes.push(oldFeat ? [oldFeat, newFeat] : newFeat); // check is set old (edit)\n }\n\n /**\n * Revert (cancel) all changes in history and clean session\n */\n\n }, {\n key: 'revert',\n value: function revert() {\n var _this8 = this;\n\n var d = $.Deferred();\n this._editor.revert().then(function () {\n _this8.clearHistory();\n d.resolve();\n });\n return d.promise();\n }\n\n /**\n * @param changes\n */\n\n }, {\n key: 'rollback',\n value: function rollback(changes) {\n // skip when..\n if (changes) {\n return this._editor.rollback(changes);\n }\n\n // Handle temporary changes of layer\n var d = $.Deferred();\n var id = this.getId();\n changes = {\n own: [],\n dependencies: {}\n };\n this.state.changes.forEach(function (c) {\n var change = Array.isArray(c) ? c[0] : c;\n if (change.layerId === id) {\n changes.own.push(change);\n } else {\n if (!changes.dependencies[change.layerId]) {\n changes.dependencies[change.layerId] = [];\n }\n // FILO\n changes.dependencies[change.layerId].unshift(change);\n }\n });\n\n this._editor.rollback(changes.own).then(function () {\n for (var _id in changes.dependencies) {\n Session.Registry.getSession(_id).rollback(changes.dependencies[_id]);\n }\n d.resolve(changes.dependencies);\n });\n\n this.state.changes = [];\n\n return d.promise();\n }\n\n /**\n * Rollback child changes of current session\n * \n * @param ids [array of child layer id]\n */\n\n }, {\n key: 'rollbackDependecies',\n value: function rollbackDependecies() {\n var _this9 = this;\n\n var ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n ids.forEach(function (id) {\n var changes = [];\n _this9.state.changes = _this9.state.changes.filter(function (temporarychange) {\n if (temporarychange.layerId === id) {\n changes.push(temporarychange);\n return false;\n }\n });\n changes.length && Session.Registry.getSession(id).rollback(changes);\n });\n }\n\n /**\n * undo method\n * \n * @param items \n */\n\n }, {\n key: 'undo',\n value: function undo(items) {\n items = items || this._history.undo();\n this._editor.setChanges(items.own, true);\n this._history.canCommit();\n return items.dependencies;\n }\n\n /**\n * redo method\n * \n * @param items \n */\n\n }, {\n key: 'redo',\n value: function redo(items) {\n items = items || this._history.redo();\n this._editor.setChanges(items.own, true);\n this._history.canCommit();\n return items.dependencies;\n }\n\n /**\n * Serialize commit\n * \n * @returns {{ add: *[], update: *[], relations: {}, delete: *[] }} JSON Object for a commit body send to server\n */\n\n }, {\n key: 'getCommitItems',\n value: function getCommitItems() {\n var _this10 = this;\n\n var itemsToCommit = this._history.commit();\n var id = this.getId();\n var state = void 0;\n var layer = void 0;\n var commitObj = {\n add: [], // features to add\n update: [], // features to update\n delete: [], // features to delete\n relations: {} // relation features\n };\n // key is a layer id that has changes to apply\n for (var key in itemsToCommit) {\n var isRelation = false; //set relation to false\n var items = itemsToCommit[key];\n // case key (layer id) is not equal to id (current layer id on editing)\n if (key !== id) {\n isRelation = true; //set true because these changes belong to features relation items\n var sessionRelation = Session.Registry.getSession(key);\n //check lock ids of relation layer\n var lockids = sessionRelation ? sessionRelation.getEditor().getLockIds() : [];\n //create a relations object\n commitObj.relations[key] = {\n lockids: lockids,\n add: [],\n update: [],\n delete: [],\n relations: {} //@since v3.7.1\n };\n layer = commitObj.relations[key];\n } else {\n layer = commitObj;\n }\n\n items.forEach(function (item) {\n //check state of feature item\n state = item.getState();\n var GeoJSONFormat = new ol.format.GeoJSON();\n switch (state) {\n //item needs to be deleted\n case 'delete':\n //check if is new. If is new mean is not present on server\n //so no need to say to server to delete it\n if (!item.isNew()) {\n layer.delete.push(item.getId());\n }\n break;\n default:\n //convert feature to json ex. {geometry:{tye: 'Point'}, properties:{}.....}\n var itemObj = GeoJSONFormat.writeFeatureObject(item);\n //get properties\n var childs_properties = item.getProperties();\n for (var p in itemObj.properties) {\n // in case the value of property is an object\n if (itemObj.properties[p] && _typeof(itemObj.properties[p]) === 'object' && itemObj.properties[p].constructor === Object) {\n //need to get value from value attribute object\n itemObj.properties[p] = itemObj.properties[p].value;\n }\n // @TODO explain when this condition happen\n if (undefined === itemObj.properties[p] && childs_properties[p]) {\n itemObj.properties[p] = childs_properties[p];\n }\n }\n // in case of add it have to remove not editable properties\n layer[item.isNew() ? 'add' : item.getState()].push(itemObj);\n break;\n }\n });\n // check in case of no edit remove relation key\n if (isRelation && layer.add.length === 0 //no relation features to add\n && layer.update.length === 0 //no relation features to update\n && layer.delete.length === 0 //no relation features to delete\n ) {\n delete commitObj.relations[key];\n }\n }\n\n // Remove deep relations from current layer (commitObj) that are not relative to that layer\n var relations = Object.keys(commitObj.relations || {});\n relations.filter(function (id) {\n return undefined === _this10._editor.getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild();\n });\n }) // child relations\n .map(function (id) {\n commitObj.relations[Session.Registry.getSession(id).getEditor().getLayer().getRelations().getArray().find(function (r) {\n return -1 !== relations.indexOf(r.getFather());\n }) // parent relation layer\n .getFather()].relations[id] = commitObj.relations[id];\n return id;\n }).forEach(function (id) {\n return delete commitObj.relations[id];\n });\n\n return commitObj;\n }\n\n /**\n * Set geometry: {type} of geojson to a 3D type if needed\n * \n * @param layerId\n * @param commitItems\n */\n\n }, {\n key: 'set3DGeometryType',\n value: function set3DGeometryType() {\n var _this11 = this;\n\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$layerId = _ref4.layerId,\n layerId = _ref4$layerId === undefined ? this.getId() : _ref4$layerId,\n commitItems = _ref4.commitItems;\n\n var relations = commitItems.relations;\n\n var editingLayer = MapLayersStoresRegistry.getLayerById(layerId).getEditingLayer();\n // check id there is editing layer and if is a vector layer\n if (editingLayer && g3wsdk.core.layer.Layer.LayerTypes.VECTOR === editingLayer.getType()) {\n // get Geometry type layer\n var geometryType = editingLayer.getGeometryType();\n // if is a 3D layer i set on geoJON before send it to server\n if (g3wsdk.core.geoutils.Geometry.is3DGeometry(geometryType)) {\n ['add', 'update'].forEach(function (action) {\n return commitItems[action].forEach(function (feature) {\n return feature.geometry.type = geometryType;\n });\n });\n }\n }\n // the same control of relations layers\n Object.keys(relations).forEach(function (layerId) {\n return _this11.set3DGeometryType({\n layerId: layerId,\n commitItems: relations[layerId]\n });\n });\n }\n\n /**\n * Commit changes on server (save)\n * \n * @param opts.ids\n * @param opts.items\n * @param opts.relations\n */\n\n }, {\n key: 'commit',\n value: function commit() {\n var _this12 = this;\n\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$ids = _ref5.ids,\n ids = _ref5$ids === undefined ? null : _ref5$ids,\n items = _ref5.items,\n _ref5$relations = _ref5.relations,\n relations = _ref5$relations === undefined ? true : _ref5$relations,\n _ref5$__esPromise = _ref5.__esPromise,\n __esPromise = _ref5$__esPromise === undefined ? false : _ref5$__esPromise;\n\n var d = $.Deferred();\n\n var commit = void 0; // committed items\n\n // skip when ..\n if (ids) {\n commit = this._history.commit(ids);\n this.clearHistory(ids);\n return d.promise();\n }\n\n commit = items || this.getCommitItems(this._history.commit());\n\n if (!relations) {\n commit.relations = {};\n }\n\n this._editor.commit(commit).then(function (response) {\n\n // skip when response is null or undefined and response.result is false\n if (!(response && response.result)) {\n d.reject(response);\n return;\n }\n\n var _response$response$ne = response.response.new_relations,\n new_relations = _response$response$ne === undefined ? {} : _response$response$ne; // check if new relations are saved on server\n\n // sync server data with local data\n\n for (var id in new_relations) {\n Session.Registry.getSession(id) // get session of relation by id\n .getEditor().applyCommitResponse({ // apply commit response to current editing relation layer\n response: new_relations[id],\n result: true\n });\n }\n\n _this12.clearHistory();\n\n _this12.saveChangesOnServer(commit); // dispatch setter event.\n\n // ES6 promises only accept a single response\n if (__esPromise) {\n d.resolve({ commit: commit, response: response });\n } else {\n d.resolve(commit, response);\n }\n }).fail(function (err) {\n return d.reject(err);\n });\n\n return d.promise();\n }\n\n /**\n * Clear all things bind to session\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this._allfeatures = false;\n this.state.started = false;\n this.state.getfeatures = false;\n this.clearHistory();\n }\n\n /**\n * @returns history\n */\n\n }, {\n key: 'getHistory',\n value: function getHistory() {\n return this._history;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param ids since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'clearHistory',\n value: function clearHistory(ids) {\n var _this13 = this;\n\n if (ids) {\n this._states.forEach(function (state, idx) {\n if (ids.indexOf(state.id) !== -1) {\n if (_this13.state.current && _this13.state.current === state.id()) {\n _this13._history.undo();\n }\n _this13._states.splice(idx, 1);\n }\n });\n } else {\n // clear all\n this._states = [];\n this.state.current = null;\n this._constrains.commit = false;\n this._constrains.redo = false;\n this._constrains.undo = false;\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param uniqueId\n * @param items\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__add',\n value: function __add(uniqueId, items) {\n var _this14 = this;\n\n //state object is an array of feature/features changed in a transaction\n var d = $.Deferred();\n // before insert an item into the history\n // check if are at last state step (no redo was done)\n // If we are in the middle of undo, delete all changes\n // in the history from the current \"state\" so if it\n // can create a new history\n if (null === this.state.current) {\n this._states = [{ id: uniqueId, items: items }];\n } else {\n if (this._states.length > 0 && this.state.current < this.getLastStateId()) {\n this._states = this._states.filter(function (s) {\n return s.id <= _this14.state.current;\n });\n }\n this._states.push({ id: uniqueId, items: items });\n }\n\n this.state.current = uniqueId;\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n // return unique id key\n // it can be used in save relation\n d.resolve(uniqueId);\n return d.promise();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param layerId\n * @param clear\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getRelationStates',\n value: function __getRelationStates(layerId) {\n var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref6$clear = _ref6.clear,\n clear = _ref6$clear === undefined ? false : _ref6$clear;\n\n var relationStates = [];\n for (var i = 0; i < this._states.length; i++) {\n var state = this._states[i];\n var items = state.items.filter(function (item) {\n return (Array.isArray(item) ? item[0].layerId : item.layerId) === layerId;\n });\n if (items.length > 0) {\n relationStates.push({ id: state.id, items: items });\n }\n }\n return relationStates;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param state\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__insertState',\n value: function __insertState(state) {\n var stateId = state.id;\n var index = this._states.length;\n for (var i = 0; i < this._states.length; i++) {\n var _state = this._states[i];\n if (_state.id > stateId) {\n index = i;\n break;\n } else if (_state.id === stateId) {\n index = -1;\n break;\n }\n }\n if (index > -1) {\n if (this.state.current < stateId) {\n this.state.current = stateId;\n }\n this._states.splice(index, 0, state);\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param states\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__insertStates',\n value: function __insertStates() {\n var states = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n for (var i = 0; i < states.length; i++) {\n this._history.insertState(states[i]);\n }\n this._history.canCommit();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * undo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undo',\n value: function __undo() {\n var _this15 = this;\n\n var items = void 0;\n if (this.state.current === this._history.getFirstState().id) {\n this.state.current = null;\n items = this._states[0].items;\n } else {\n this._states.find(function (state, idx) {\n if (state.id === _this15.state.current) {\n items = _this15._states[idx].items;\n _this15.state.current = _this15._states[idx - 1].id;\n return true;\n }\n });\n }\n items = this._checkSessionItems(this._history.id, items, 0);\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * redo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redo',\n value: function __redo() {\n var _this16 = this;\n\n var items = void 0;\n // if not set get first state\n if (!this.state.current) {\n items = this._states[0].items;\n // set current to first\n this.state.current = this._states[0].id;\n } else {\n this._states.find(function (state, idx) {\n if (_this16.state.current === state.id) {\n _this16.state.current = _this16._states[idx + 1].id;\n items = _this16._states[idx + 1].items;\n return true;\n }\n });\n }\n items = this._checkSessionItems(this._history.id, items, 1);\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param { Array } unsetnewids\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__setItemsFeatureIds',\n value: function __setItemsFeatureIds() {\n var _this17 = this;\n\n var unsetnewids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n unsetnewids.forEach(function (unsetnewid) {\n _this17._states.forEach(function (state) {\n state.items.forEach(function (item) {\n var feature = item.feature.getId() === unsetnewid.clientid && item.feature;\n if (feature) {\n feature.setId(unsetnewid.id);\n }\n });\n });\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param id\n * \n * @returns {T}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getState',\n value: function __getState(id) {\n return this._states.find(function (s) {\n return s.id === id;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getFirstState',\n value: function __getFirstState() {\n return this._states.length ? this._states[0] : null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {null}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCurrentState',\n value: function __getCurrentState() {\n var _this18 = this;\n\n var currentState = null;\n if (this.state.current && this._states.length) {\n currentState = this._states.find(function (state) {\n return _this18.state.current === state.id;\n });\n }\n return currentState;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { number | null } index of current state\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCurrentStateIndex',\n value: function __getCurrentStateIndex() {\n var _this19 = this;\n\n var currentStateIndex = null;\n if (this.state.current && this._states.length) {\n this._states.forEach(function (state, idx) {\n if (_this19.state.current === state.id) {\n currentStateIndex = idx;\n return false;\n }\n });\n }\n return currentStateIndex;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { boolean } true if we can commit\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canCommit',\n value: function __canCommit() {\n var checkCommitItems = this._history.commit();\n var canCommit = false;\n for (var layerId in checkCommitItems) {\n var commitItem = checkCommitItems[layerId];\n canCommit = canCommit || commitItem.length > 0;\n }\n this._constrains.commit = canCommit;\n return this._constrains.commit;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canUdo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canUndo',\n value: function __canUndo() {\n var steps = this._states.length - 1 - this._history.getCurrentStateIndex();\n this._constrains.undo = null !== this.state.current && this.state.maxSteps > steps;\n return this._constrains.undo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canRedo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canRedo',\n value: function __canRedo() {\n this._constrains.redo = this.getLastHistoryState() && this.getLastStateId() != this.state.current || null === this.state.current && this._states.length > 0;\n return this._constrains.redo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * get all changes to send to server (mandare al server)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__commit',\n value: function __commit() {\n var _this20 = this;\n\n var commitItems = {};\n var statesToCommit = this._states.filter(function (s) {\n return s.id <= _this20.state.current;\n });\n statesToCommit.forEach(function (state) {\n state.items.forEach(function (item) {\n var add = true;\n if (Array.isArray(item)) {\n item = item[1];\n }\n if (commitItems[item.layerId]) {\n commitItems[item.layerId].forEach(function (commitItem, index) {\n // check if already inserted feature\n if (commitItem.getUid() === item.feature.getUid()) {\n if (item.feature.isNew() && !commitItem.isDeleted() && item.feature.isUpdated()) {\n var _item = item.feature.clone();\n _item.add();\n commitItems[item.layerId][index] = _item;\n } else if (item.feature.isNew() && item.feature.isDeleted()) {\n commitItems[item.layerId].splice(index, 1);\n } else if (item.feature.isUpdated() || item.feature.isDeleted()) {\n commitItems[item.layerId][index] = item.feature;\n }\n add = false;\n return false;\n }\n });\n }\n if (add) {\n var feature = item.feature;\n var layerId = item.layerId;\n if (!(!feature.isNew() && feature.isAdded())) {\n if (!commitItems[layerId]) {\n commitItems[layerId] = [];\n }\n commitItems[layerId].push(feature);\n }\n }\n });\n });\n return commitItems;\n }\n }]);\n\n return Session;\n}(g3wsdk.core.G3WObject);\n\n/** @type { Object } */\n\n\nvar sessions = {};\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/store/sessions.js@v3.9.1\n *\n * Store user session (login / logout)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nSession.Registry = {\n _sessions: sessions,\n register: function register(session) {\n sessions[session.getId()] = session;\n },\n unregister: function unregister(id) {\n delete sessions[id];\n },\n getSession: function getSession(id) {\n return sessions[id];\n },\n setSession: function setSession(id, session) {\n sessions[id] = session;\n },\n getSessions: function getSessions() {\n return sessions;\n },\n clear: function clear() {\n Object.keys(sessions).forEach(Session.Registry.unregister);\n }\n};\n\n},{\"../../utils/promisify\":66}],11:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file shared vue instance used to watch object changes or to emit events\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar VM = exports.VM = new Vue();\n\nexports.default = { VM: VM };\n\n},{}],12:[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 _toolbox = require('../../toolboxes/toolbox');\n\nvar _promisify = require('../../utils/promisify');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * \n * ORIGINAL SOURCE: g3w-client/src/core/editing/editor.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n G3WObject = _g3wsdk$core.G3WObject;\nvar FeaturesStore = g3wsdk.core.layer.features.FeaturesStore;\nvar Layer = g3wsdk.core.layer.Layer;\n\n/**\n * ORIGINAL SOURE: g3w-client/src/app/core/layers/features/olfeaturesstore.js@v3.10.2\n */\n\nvar OlFeaturesStore = function (_FeaturesStore) {\n _inherits(OlFeaturesStore, _FeaturesStore);\n\n function OlFeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OlFeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (OlFeaturesStore.__proto__ || Object.getPrototypeOf(OlFeaturesStore)).call(this, opts));\n\n _this._features = opts.features || new ol.Collection([]);\n return _this;\n }\n\n /**\n * Get number of features stored\n * @return { Number }\n */\n\n\n _createClass(OlFeaturesStore, [{\n key: 'getLength',\n value: function getLength() {\n return this._features.getLength();\n }\n\n /**\n * Store features\n * @param { Array } features\n */\n\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n //remove features\n this._features.clear();\n //add new features\n this.addFeatures(features);\n this._features.dispatchEvent('change');\n }\n }, {\n key: 'readFeatures',\n\n\n /**\n * @returns {*[]}\n */\n value: function readFeatures() {\n return this._features.getArray();\n }\n }, {\n key: 'getFeaturesCollection',\n\n\n /**\n * @return {*|ol.Collection}\n */\n value: function getFeaturesCollection() {\n return this._features;\n }\n\n /**\n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.getArray().find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.getArray().find(function (f) {\n return uid === f.getUid();\n });\n }\n\n /**\n *\n * @param feature\n * @private\n */\n\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n // useful for ol.source.Vector\n this._features.dispatchEvent('change');\n }\n\n /**\n * Substitute the feature after modifying\n * @param feature\n * @private\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var index = this._features.getArray().findIndex(function (f) {\n return feature.getUid() === f.getUid();\n });\n if (index >= 0) {\n this._features.removeAt(index);\n this._features.insertAt(index, feature);\n this._features.dispatchEvent('change');\n }\n }\n\n /**\n * Remove feature from store\n * @param feature\n * @private\n */\n\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n var index = this._features.getArray().findIndex(function (f) {\n return feature.getUid() === f.getUid();\n });\n if (index >= 0) {\n this._features.removeAt(index);\n this._features.dispatchEvent('change');\n }\n }\n\n /**\n * @private\n */\n\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n try {\n // Used remove single features instead use clear method\n // because some time trows an error\n for (var i = 0; i < this._features.getArray().length; i++) {\n this._features.removeAt(i);\n }\n } catch (e) {\n console.warn(e);\n }\n //Need to set a new Collection to avoid duplicate\n this._features = null; //@TODO is still usefully ????\n this._features = new ol.Collection([]);\n }\n }]);\n\n return OlFeaturesStore;\n}(FeaturesStore);\n\n/**\n * Editor Class: bind editor to layer to do main actions\n *\n * @param config\n *\n * @constructor\n */\n\n\nvar Editor = function (_G3WObject) {\n _inherits(Editor, _G3WObject);\n\n function Editor() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Editor);\n\n /**\n * Setter hooks.\n */\n var _this2 = _possibleConstructorReturn(this, (Editor.__proto__ || Object.getPrototypeOf(Editor)).call(this));\n\n _this2.setters = {\n save: function save() {\n this._layer.save();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n deleteFeature: function deleteFeature(feature) {\n this._featuresstore.deleteFeature(feature);\n },\n setFeatures: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._featuresstore.setFeatures(features);\n },\n\n /**\n * Get features from server method.\n * Used when vector Layer's bbox is contained into an already requested bbox (so no a new request is done).\n *\n * @param { number[] } options.filter.bbox bounding box Array [xmin, ymin, xmax, ymax]\n *\n * @returns { boolean } whether can perform a server request\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // skip is not onlien or all features of layers are already got\n if (!ApplicationState.online || this._allfeatures) {\n return (0, _promisify.$promisify)(Promise.resolve());\n }\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n var doRequest = true; // default --> perform request\n\n var _ref2 = options.filter || {},\n bbox = _ref2.bbox;\n //check if bbox options filter (bbox of a current map) is passed and is a vector layer\n\n\n var is_vector = bbox && Layer.LayerTypes.VECTOR === _this3._layer.getType();\n\n // first request --> need to perform request\n if (is_vector && null === _this3._filter.bbox) {\n _this3._filter.bbox = bbox; // store bbox\n doRequest = true;\n }\n\n // subsequent requests --> check if bbox is contained into an already requested bbox\n else if (is_vector) {\n //Boolean - Check if features are already got inside bbox\n var is_cached = ol.extent.containsExtent(_this3._filter.bbox, bbox);\n if (!is_cached) {\n _this3._filter.bbox = ol.extent.extend(_this3._filter.bbox, bbox);\n }\n doRequest = !is_cached;\n }\n\n /** @TODO simplfy nested promises */\n if (doRequest) {\n var features = yield (0, _promisify.promisify)(_this3._layer.getFeatures(options));\n // add features from server to editing features store (cloned from original)\n _this3._featuresstore.addFeatures((features || []).map(function (f) {\n return f.clone();\n }));\n //set all features to true if no filter is set (e.g., Table layer)\n _this3._allfeatures = !options.filter;\n return features;\n }\n }));\n }\n };\n\n /**\n * Filter to getFeaturerequest\n */\n _this2._filter = {\n bbox: null\n };\n\n /**\n * { Boolean } true, mean all features of layer are get (e.g. Table layer)\n */\n _this2._allfeatures = false;\n\n /**\n * Referred layer\n */\n _this2._layer = options.layer;\n\n /**\n * Store editing features\n * \n * @type { FeaturesStore | OlFeaturesStore }\n */\n _this2._featuresstore = Layer.LayerTypes.TABLE === _this2._layer.getType() ? new FeaturesStore() : new OlFeaturesStore();\n\n /**\n * Whether editor is active or not\n *\n * @type { boolean }\n */\n _this2._started = false;\n\n return _this2;\n }\n\n /**\n * Get editing source layer feature\n * \n * @returns { FeaturesStore | OlFeaturesStore }\n */\n\n\n _createClass(Editor, [{\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._featuresstore;\n }\n\n /**\n * get Source\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n this._layer.getSource();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/services/editing.js@v3.9.1\n * \n * Apply changes to source features (undo/redo)\n * \n * @param items\n * @param { boolean } reverse whether change to opposite\n */\n\n }, {\n key: 'setChanges',\n value: function setChanges() {\n var _this4 = this;\n\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n /** known actions */\n var Actions = {\n 'add': { fnc: 'addFeature', opposite: 'delete' },\n 'delete': { fnc: 'removeFeature', opposite: 'add' },\n 'update': { fnc: 'updateFeature', opposite: 'update' }\n };\n items.forEach(function (item) {\n if (reverse) {\n item.feature[Actions[item.feature.getState()].opposite]();\n }\n // get method from object\n _this4._featuresstore[Actions[item.feature.getState()].fnc](item.feature);\n });\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this._layer;\n }\n\n /**\n * @param layer\n */\n\n }, {\n key: 'setLayer',\n value: function setLayer(layer) {\n return this._layer = layer;\n }\n\n /**\n * Rollback changes\n * \n * @param changes\n * \n * @returns {*}\n */\n\n }, {\n key: 'rollback',\n value: function rollback() {\n var _this5 = this;\n\n var changes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (0, _promisify.$promisify)(function () {\n return _this5.setChanges(changes, true);\n });\n }\n\n /**\n * Apply response data from server in case of new inserted feature\n * @param { Object } response\n * @param response.response.new array of new ids\n * @param response.response.new.clientid temporary id created by client __new__\n * @param response.response.new.id the new id created and stored on server\n * @param response.response.new.properties properties of the feature saved on server\n * @param response.response.new_lockids array of new lockIds\n * \n * @param relations\n */\n\n }, {\n key: 'applyCommitResponse',\n value: function applyCommitResponse() {\n var _this6 = this;\n\n var response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var relations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n\n // skip when no response and response.result is false\n if (!(response && response.result)) {\n return;\n }\n\n //Loop on new features saved on server\n // clientid - temporary id of new feature\n // id - id saved on server (autogenerate, next value) to subtituite to clientid feature id\n // properties - properties of feature returned by server\n response.response.new.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n clientid = _ref3.clientid,\n id = _ref3.id,\n properties = _ref3.properties;\n\n //get feature from current layer in editing\n var feature = _this6._featuresstore.getFeatureById(clientid);\n // set new id\n feature.setId(id);\n //set properties\n feature.setProperties(properties);\n //Loop on eventual relation updated or created\n relations.forEach(function (r) {\n // handle relations (if provided)\n Object.entries(r).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n id = _ref5[0],\n _ref5$ = _ref5[1],\n opts = _ref5$ === undefined ? {} : _ref5$;\n\n // id - relation layer id, opts - Object contain relation properties\n //get the editing source of relation layer\n var source = _toolbox.ToolBox.get(id).getSession().getEditor().getEditingSource();\n // handle value to relation field saved on server\n (opts.ids || []).forEach(function (id) {\n var rFeature = source.getFeatureById(id);\n if (rFeature) {\n opts.fatherField.forEach(function (ff, i) {\n // loop relation ids\n rFeature.set(opts.childField[i], feature.get(ff)); // set father feature `value` and `name`\n });\n }\n });\n });\n });\n });\n\n var features = this.readEditingFeatures();\n\n features.forEach(function (f) {\n return f.clearState();\n }); // reset state of the editing features (update, new etc..)\n\n this._layer.setFeatures([].concat(_toConsumableArray(features))); // substitute layer features with actual editing features (\"cloned\" to prevent layer actions duplicates, eg. addFeatures)\n\n this.addLockIds(response.response.new_lockids); // add lock ids\n }\n\n /**\n * @param lockids locks be added to current layer\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockids) {\n this._layer.getSource().addLockIds(lockids);\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._layer.getSource().getLockIds();\n }\n\n /**\n * Run after server has applied changes to origin resource\n *\n * @param commit commit items\n *\n * @returns jQuery promise\n */\n\n }, {\n key: 'commit',\n value: function commit(_commit) {\n var _this7 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var relations = [];\n\n // check if there are commit relations binded to new feature\n if (_commit.add.length) {\n relations = Object.keys(_commit.relations).map(function (relationId) {\n var relation = _this7._layer.getRelations().getRelationByFatherChildren(_this7._layer.getId(), relationId);\n return _defineProperty({}, relationId, {\n ids: [].concat(_toConsumableArray(_commit.relations[relationId].add.map(function (r) {\n return r.id;\n })), _toConsumableArray(_commit.relations[relationId].update.map(function (r) {\n return r.id;\n }))),\n fatherField: relation.getFatherField(), // father Fields \n childField: relation.getChildField() // child Fields \n });\n });\n }\n\n /** @TODO simplfy nested promises */\n var r = yield (0, _promisify.promisify)(_this7._layer.commit(_commit));\n _this7.applyCommitResponse(r, relations);\n return r;\n }));\n }\n\n /**\n * start editing\n */\n\n }, {\n key: 'start',\n value: function start() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /** @TODO simplfy nested promises */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this8.getFeatures(options)); // load layer features based on filter type\n _this8._started = true; // if all ok set to started\n return features; // features are already inside featuresstore\n }));\n }\n\n /**\n * Read features (action to layer)\n */\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._layer.readFeatures();\n }\n\n /**\n * @returns features stored in editor featurestore\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * stop editor\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this9 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this9._layer.unlock());\n _this9.clear();\n return response;\n }));\n }\n\n /**\n * @returns { boolean } whether has started editor \n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._started;\n }\n\n /**\n * Method to clear all filled variables\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this._started = false;\n this._filter.bbox = null;\n this._allfeatures = false;\n\n this._featuresstore.clear();\n this._layer.getFeaturesStore().clear();\n\n // vector layer\n if (Layer.LayerTypes.VECTOR === this._layer.getType()) {\n this._layer.resetEditingSource(this._featuresstore.getFeaturesCollection());\n }\n }\n }]);\n\n return Editor;\n}(G3WObject);\n\nexports.default = Editor;\n\n},{\"../../toolboxes/toolbox\":27,\"../../utils/promisify\":58}],13:[function(require,module,exports){\nvar _editor = require('./editing/editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _step = require('./workflow/step');\n\nvar _deprecated = require('../deprecated');\n\nvar _workflow = require('./workflow/workflow');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Editing APIs will be removed from core after g3w-client@v.4.x\n */\nif (window.g3wsdk.core.editing || window.g3wsdk.core.workflow || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES || g3wsdk.version < '4') {\n console.warn('Editing APIs will be removed from g3wsdk after v4.x');\n}\n\n/**\n * Object to provide external plugin to use editing objects\n */\nwindow.g3wsdk.core.editing = {\n Session: _deprecated.Session,\n SessionsRegistry: _deprecated.Session.Registry,\n Editor: _editor2.default,\n ChangesManager: _deprecated.ChangesManager\n};\n\n/**\n * Default editing capabilities\n *\n * @type {string[]}\n */\nwindow.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES = ['add_feature', 'change_feature', 'change_attr_feature', 'delete_feature'];\n\n/**\n * Object to provide to external plugins to use workflow objects\n */\nwindow.g3wsdk.core.workflow = {\n Task: _step.Step,\n Step: _step.Step,\n Flow: _deprecated.Flow,\n Workflow: _workflow.Workflow,\n WorkflowsStack: _workflow.Workflow.Stack\n};\n\n},{\"../deprecated\":10,\"./editing/editor\":12,\"./workflow/step\":14,\"./workflow/workflow\":15}],14:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Step = 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 _promisify = require('../../utils/promisify');\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 * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/step.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\n\nvar G3WObject = g3wsdk.core.G3WObject;\nvar isPointGeometryType = g3wsdk.core.geoutils.Geometry.isPointGeometryType;\nvar Layer = g3wsdk.core.layer.Layer;\nvar GUI = g3wsdk.gui.GUI;\n\n/**\n * @param options.input\n * @param options.context\n * @param options.task\n * @param options.outputs\n * @param options.escKeyPressEventHandler\n * @param options.id\n * @param options.name\n * @param options.help\n * @param options.message\n */\n\nvar Step = exports.Step = function (_G3WObject) {\n _inherits(Step, _G3WObject);\n\n function Step() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Step);\n\n var _this = _possibleConstructorReturn(this, (Step.__proto__ || Object.getPrototypeOf(Step)).call(this));\n\n _this._options = options;\n\n _this._run = (options.run || _this.run || _asyncToGenerator(function* () {\n return true;\n })).bind(_this);\n _this._stop = (options.stop || _this.stop || _asyncToGenerator(function* () {\n return true;\n })).bind(_this);\n\n /**\n * @FIXME add description\n */\n _this._inputs = options.inputs || null;\n\n /**\n * @FIXME add description\n */\n _this._context = options.context || null;\n\n /**\n * @FIXME add description\n */\n _this._outputs = options.outputs || null;\n\n /**\n * Dynamic state of a step\n */\n _this.state = {\n id: options.id || null,\n name: options.name || null,\n help: options.help || null, // help to show what the user has to do\n running: false, // running\n error: null, // error\n message: options.message || null, // message\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n usermessagesteps: {}\n };\n\n _this.registerEscKeyEvent(options.escKeyPressEventHandler);\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this.selectStyle = options.selectStyle;\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.steps) {\n _this.setSteps(options.steps);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.onRun) {\n _this.on('run', options.onRun);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.onStop) {\n _this.on('run', options.onStop);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.tools) {\n _this._tools = options.tools;\n }\n\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * Set and get task usefult properties used to run\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(Step, [{\n key: 'setInputs',\n value: function setInputs(inputs) {\n this._inputs = this.inputs = inputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this._inputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param context\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setContext',\n value: function setContext(context) {\n return this._context = this.context = context;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'panic',\n value: function panic() {\n console.log('Panic to implement ..');\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param task\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setRoot',\n value: function setRoot(task) {\n this.state.root = task;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @returns { Object }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getUserMessageSteps',\n value: function getUserMessageSteps() {\n return this.state.usermessagesteps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param steps\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setUserMessageSteps',\n value: function setUserMessageSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state.usermessagesteps = steps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param type\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setUserMessageStepDone',\n value: function setUserMessageStepDone(type) {\n if (type) {\n this.state.usermessagesteps[type].done = true;\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var _this2 = this;\n\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n GUI.getService('map').addInteraction(interaction);\n Object.entries(events).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n type = _ref4[0],\n handler = _ref4[1];\n\n return interaction.on(type, handler);\n });\n this.on('stop', function () {\n return _this2.removeInteraction(interaction);\n });\n return interaction;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n setTimeout(function () {\n return GUI.getService('map').removeInteraction(interaction);\n }); // timeout needed to work around an Openlayers issue\n }\n\n /**\n * @TODO code implementation\n *\n * Get editing type from editing config\n *\n * @returns { null }\n */\n\n }, {\n key: 'getEditingType',\n value: function getEditingType() {\n return null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'registerPointerMoveCursor',\n value: function registerPointerMoveCursor() {\n GUI.getService('map').getMap().on(\"pointermove\", this._pointerMoveCursor);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'unregisterPointerMoveCursor',\n value: function unregisterPointerMoveCursor() {\n GUI.getService('map').getMap().un(\"pointermove\", this._pointerMoveCursor);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param evt\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_pointerMoveCursor',\n value: function _pointerMoveCursor(evt) {\n this.getTargetElement().style.cursor = this.forEachFeatureAtPixel(evt.pixel, function () {\n return true;\n }) ? 'pointer' : '';\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param steps\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setSteps',\n value: function setSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._steps = steps;\n this.setUserMessageSteps(steps);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @returns { Object }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getSteps',\n value: function getSteps() {\n return this._steps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getMap',\n value: function getMap() {\n return GUI.getService('map').getMap();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * Disable sidebar\n *\n * @param {Boolean} bool\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'disableSidebar',\n value: function disableSidebar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!this._isContentChild) {\n GUI.disableSideBar(bool);\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * @param event\n * @param options\n *\n * @returns {*}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'fireEvent',\n value: function fireEvent(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').fireEvent(event, options);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Handle single task\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'saveSingle',\n value: function saveSingle(input, context) {\n context.session.save().then(function () {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').saveChange();\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Cancel single task\n *\n * @param input\n * @param context\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'cancelSingle',\n value: function cancelSingle(input, context) {\n context.session.rollback();\n }\n\n /**\n * Bind interrupt event on keys escape pressed\n * \n * @param evt.key\n * @param evt.data.callback\n * @param evt.data.task\n */\n\n }, {\n key: 'escKeyUpHandler',\n value: function escKeyUpHandler(evt) {\n if ('Escape' === evt.key) {\n evt.data.callback({ task: evt.data.task });\n }\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n $(document).on('keyup', { callback: callback, task: this }, this.escKeyUpHandler);\n }\n\n /**\n * @listens run\n * @listens stop\n */\n\n }, {\n key: 'registerEscKeyEvent',\n value: function registerEscKeyEvent(callback) {\n var _this3 = this;\n\n if (callback) {\n this.on('run', function () {\n return _this3.bindEscKeyUp(callback);\n });\n this.on('stop', function () {\n return _this3.unbindEscKeyUp();\n });\n }\n }\n\n /**\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Start task\n * \n * @param inputs\n * @param context\n * \n * @returns jQuery promise\n * \n * @fires run\n */\n\n }, {\n key: '__run',\n value: function __run(inputs, context) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n _this4.setInputs(inputs);\n _this4.setContext(context);\n\n var step = _this4;\n var toolsOfTools = {\n\n snap: {\n type: 'snap',\n options: {\n checkedAll: false,\n checked: false,\n active: true,\n run: function run(_ref6) {\n var layer = _ref6.layer;\n\n this.active = true;\n this.layerId = layer.getId();\n this.source = layer.getEditingLayer().getSource();\n },\n stop: function stop() {\n this.active = false;\n }\n }\n },\n\n measure: {\n type: 'measure',\n options: {\n checked: false,\n run: function run() {\n var _this5 = this;\n\n setTimeout(function () {\n _this5.onChange(_this5.checked);\n });\n },\n stop: function stop() {\n step.removeMeasureInteraction();\n this.onChange(false);\n },\n onChange: function onChange(bool) {\n this.checked = bool;\n step[bool ? 'addMeasureInteraction' : 'removeMeasureInteraction']();\n }\n }\n }\n\n };\n\n if (_this4._tools && 0 === _this4._workflow._toolsoftool.length) {\n var _workflow$_toolsoftoo;\n\n (_workflow$_toolsoftoo = _this4._workflow._toolsoftool).push.apply(_workflow$_toolsoftoo, _toConsumableArray(_this4._tools.filter(function (tool) {\n return 'measure' !== tool || Layer.LayerTypes.VECTOR === inputs.layer.getType() && !isPointGeometryType(inputs.layer.getGeometryType());\n }).map(function (tool) {\n return toolsOfTools[tool];\n })));\n }\n\n if (_this4._tools) {\n _this4._workflow._toolsoftool.forEach(function (t) {\n return t.options.run({ layer: inputs.layer });\n });\n _this4._workflow.emit('settoolsoftool', _this4._workflow._toolsoftool);\n }\n\n _this4.emit('run', { inputs: inputs, context: context });\n\n try {\n _this4.state.running = true; // change state to running\n return yield (0, _promisify.promisify)(_this4._run(inputs, context));\n } catch (e) {\n console.warn(e);\n _this4.state.error = e;\n return Promise.reject(e);\n } finally {\n _this4.__stop();\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * Stop step\n *\n * @fires stop\n */\n\n }, {\n key: '__stop',\n value: function __stop() {\n this._stop(this._inputs, this._context); // stop task\n this.state.running = false; // remove running state\n if (this._workflow) {\n this._workflow._toolsoftool.forEach(function (t) {\n return t.options.stop();\n });\n }\n this.emit('stop');\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.state.name;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getHelp',\n value: function getHelp() {\n return this.state.help;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getError',\n value: function getError() {\n return this.state.error;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getMessage',\n value: function getMessage() {\n return this.state.message;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'isRunning',\n value: function isRunning() {\n return this.state.running;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getTask',\n value: function getTask() {\n return this;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'setOutputs',\n value: function setOutputs(outputs) {\n this._outputs = outputs;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getOutputs',\n value: function getOutputs() {\n return this._outputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @param workflow\n * @param tools\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'setToolsOfTools',\n value: function setToolsOfTools(workflow) {\n var tools = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n this._workflow = workflow;\n this._tools = tools;\n }\n }]);\n\n return Step;\n}(G3WObject);\n\n/**\n * @FIXME add description\n */\n\n\nStep.MESSAGES = {\n help: null\n};\n\n},{\"../../utils/promisify\":58}],15:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Workflow = 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 _step = require('./step');\n\nvar _promisify = require('../../utils/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\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 * @file\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/workflow.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\nvar GUI = g3wsdk.gui.GUI;\nvar G3WObject = g3wsdk.core.G3WObject;\n\n/**\n * Workflow Class (manage flow of steps)\n *\n * @param options.inputs\n * @param options.context\n * @param options.flow\n * @param options.steps\n * @param options.runOnce\n * @param options.backbuttonlabel\n */\n\nvar Workflow = exports.Workflow = function (_G3WObject) {\n _inherits(Workflow, _G3WObject);\n\n function Workflow() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Workflow);\n\n /** @since g3w-client-plugin-editing@v3.8.0*/\n var _this = _possibleConstructorReturn(this, (Workflow.__proto__ || Object.getPrototypeOf(Workflow)).call(this));\n\n _this._type = undefined !== options.type ? options.type : null;\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._options = options;\n\n /**\n * @FIXME add description\n */\n _this._promise = null;\n\n /**\n * Mandatory inputs to work with editing\n */\n _this._inputs = undefined !== options.inputs ? options.inputs : null;\n\n /**\n * @FIXME add description\n */\n _this._context = undefined !== options.context ? options.context : null;\n\n /**\n * All steps of flow\n */\n _this._steps = options.steps || [];\n\n /**\n * Whether is child of another workflow\n */\n _this._child = null;\n\n /**\n * stack workflowindex\n */\n _this._stackIndex = null;\n\n /**\n * Stop when flow stop\n */\n _this.runOnce = options.runOnce || false;\n\n /**\n * @FIXME add description\n */\n _this._messages = _step.Step.MESSAGES;\n\n /**\n * Store user messages steps to show when workflow\n * use a mandatory steps (ex. select: {description}, merge: {description}}\n */\n _this._userMessageSteps = {};\n\n if (_this._steps.length > 0) {\n _this.setUserMessagesSteps(_this._steps);\n }\n\n /**\n * Holds back button label (in case of child workflow)\n * \n * @since 3.9.0\n */\n _this.backbuttonlabel = undefined !== options.backbuttonlabel ? options.backbuttonlabel : null;\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this.helpMessage = options.helpMessage ? { help: options.helpMessage } : null;\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this._toolsoftool = [];\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n if (true === options.registerEscKeyEvent) {\n _this.registerEscKeyEvent();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/flow.js@v3.9.1\n * \n * Current flow step\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this._stepIndex = 0;\n\n return _this;\n }\n\n /**\n *\n * @param steps\n */\n\n\n _createClass(Workflow, [{\n key: 'setUserMessagesSteps',\n value: function setUserMessagesSteps(steps) {\n this._userMessageSteps = steps.reduce(function (messagesSteps, step) {\n return _extends({}, messagesSteps, step.getUserMessageSteps() || {});\n }, {});\n }\n\n /**\n * Check if it is in same type\n *\n * @param {String | Array.} type\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n var _this2 = this;\n\n if (Array.isArray(type)) {\n return Boolean(type.find(function (t) {\n return t === _this2._type;\n }));\n }\n return type === this._type;\n }\n\n /**\n * @returns { * }\n */\n\n }, {\n key: 'getContextService',\n value: function getContextService() {\n return this.getContext().service;\n }\n\n /**\n * @param service\n */\n\n }, {\n key: 'setContextService',\n value: function setContextService(service) {\n this.getContext().service = service;\n }\n\n /**\n * @returns { null | * }\n */\n\n }, {\n key: 'getStackIndex',\n value: function getStackIndex() {\n return this._stackIndex;\n }\n\n /**\n * @param workflow\n */\n\n }, {\n key: 'addChild',\n value: function addChild(workflow) {\n if (this._child) {\n this._child.addChild(workflow);\n } else {\n this._child = workflow;\n }\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'removeChild',\n value: function removeChild() {\n if (this._child) {\n Workflow.Stack.removeAt(this._child.getStackIndex());\n }\n this._child = null;\n }\n\n /**\n * @param input.key\n * @param input.value\n */\n\n }, {\n key: 'setInput',\n value: function setInput(_ref) {\n var key = _ref.key,\n value = _ref.value;\n\n this._inputs[key] = value;\n }\n\n /**\n * @returns { null | * }\n */\n\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this._inputs;\n }\n\n /**\n * @param context\n */\n\n }, {\n key: 'setContext',\n value: function setContext(context) {\n this._context = context;\n }\n\n /**\n * @returns { * | {} | null }\n */\n\n }, {\n key: 'getContext',\n value: function getContext() {\n return this._context;\n }\n\n /**\n * @param step\n */\n\n }, {\n key: 'addStep',\n value: function addStep(step) {\n this._steps.push(step);\n }\n\n /**\n * @param steps\n */\n\n }, {\n key: 'setSteps',\n value: function setSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._steps = steps;\n this.setUserMessagesSteps(steps);\n }\n\n /**\n * @returns { * | Array }\n */\n\n }, {\n key: 'getSteps',\n value: function getSteps() {\n return this._steps;\n }\n\n /**\n * @param index\n * \n * @returns { * }\n */\n\n }, {\n key: 'getStep',\n value: function getStep(index) {\n return this._steps[index];\n }\n\n /**\n * @param messages\n */\n\n }, {\n key: 'setMessages',\n value: function setMessages(messages) {\n Object.assign(this._messages, messages);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getMessages',\n value: function getMessages() {\n return this._messages;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'clearMessages',\n value: function clearMessages() {\n this._messages.help = null;\n if (Object.keys(this._userMessageSteps).length) {\n this.clearUserMessagesSteps();\n }\n }\n\n /**\n * @returns { * | null }\n */\n\n }, {\n key: 'getLastStep',\n value: function getLastStep() {\n return this._steps.length ? this._steps[this._steps.length - 1] : null;\n }\n\n /**\n * @returns { Step }\n */\n\n }, {\n key: 'getRunningStep',\n value: function getRunningStep() {\n return this._steps.find(function (step) {\n return step.isRunning();\n });\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'reject',\n value: function reject() {\n if (this._promise) {\n this._promise.reject();\n }\n this.emit('reject');\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'resolve',\n value: function resolve() {\n if (this._promise) {\n this._promise.resolve();\n }\n }\n }, {\n key: 'runStep',\n value: function () {\n var _ref2 = _asyncToGenerator(function* (step, inputs) {\n try {\n this.setMessages({ help: step.state.help });\n var outputs = yield (0, _promisify.promisify)(step.__run(inputs, this.getContext()));\n // onDone → check if all step is resolved\n this._stepIndex++;\n if (this._stepIndex === this.getSteps().length) {\n this._stepIndex = 0;\n return outputs;\n } else {\n return this.runStep(this.getSteps()[this._stepIndex], outputs);\n }\n } catch (e) {\n this._stepIndex = 0;\n return Promise.reject(e);\n }\n });\n\n function runStep(_x3, _x4) {\n return _ref2.apply(this, arguments);\n }\n\n return runStep;\n }()\n\n /**\n * Start workflow\n * \n * @param options.inputs\n * @param options.context\n * @param options.flow\n * @param options.steps\n * \n * @fires start\n */\n\n }, {\n key: 'start',\n value: function start() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n _this3._promise = { resolve: resolve, reject: reject };\n _this3._inputs = options.inputs;\n _this3._context = options.context || {};\n\n var isChild = _this3._context.isChild || false;\n\n // stop child when a workflow is running \n if (!isChild && Workflow.Stack.getLength() && Workflow.Stack.getCurrent() !== _this3) {\n Workflow.Stack.getCurrent().addChild(_this3);\n }\n\n _this3._stackIndex = Workflow.Stack.push(_this3);\n _this3._steps = options.steps || _this3._steps;\n\n (_this3._steps || []).forEach(function (s) {\n return s._workflow = _this3;\n });\n\n var showUserMessage = Object.keys(_this3._userMessageSteps).length;\n\n if (showUserMessage) {\n GUI.showUserMessage({\n title: 'plugins.editing.workflow.title.steps',\n type: 'tool',\n position: 'left',\n size: 'small',\n closable: false,\n hooks: {\n body: _extends({}, require('../../components/UserMessage.vue'), {\n data: function data() {\n return {\n steps: _this3._userMessageSteps\n };\n }\n })\n }\n });\n }\n //emit start\n _this3.emit('start');\n\n try {\n console.assert(0 === _this3._stepIndex, 'reset workflow before restarting: ' + _this3._stepIndex);\n //start flow of workflow\n var outputs = yield _this3.runStep(_this3.getSteps()[_this3._stepIndex], _this3.getInputs());\n if (showUserMessage) {\n setTimeout(function () {\n _this3.clearUserMessagesSteps();resolve(outputs);\n }, 500);\n } else {\n resolve(outputs);\n }\n } catch (e) {\n console.warn(e);\n if (showUserMessage) {\n _this3.clearUserMessagesSteps();\n }\n reject(e);\n }\n\n if (_this3.runOnce) {\n _this3.stop();\n }\n });\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * Stop workflow during flow\n * \n * @fires stop\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n _this4._promise = null;\n\n try {\n // stop child workflow\n if (_this4._child) {\n yield (0, _promisify.promisify)(_this4._child.stop());\n }\n } catch (e) {\n console.warn(e);\n }\n\n // ensure that child is always removed\n _this4.removeChild();\n\n Workflow.Stack.removeAt(_this4.getStackIndex());\n\n // stop flow\n try {\n if (_this4.getSteps()[_this4._stepIndex].isRunning()) {\n //clear messages steps\n _this4.clearMessages();\n //stop a current step\n _this4.getSteps()[_this4._stepIndex].__stop();\n }\n // reset counter and reject flow\n if (_this4._stepIndex > 0) {\n _this4._stepIndex = 0;\n reject();\n return Promise.reject();\n } else {\n resolve();\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n\n _this4.emit('stop');\n });\n\n return function (_x8, _x9) {\n return _ref4.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * Reset user message steps\n */\n\n }, {\n key: 'clearUserMessagesSteps',\n value: function clearUserMessagesSteps() {\n var _this5 = this;\n\n Object.keys(this._userMessageSteps).forEach(function (type) {\n var step = _this5._userMessageSteps[type];\n step.done = false;\n if (step.buttonnext) {\n step.buttonnext.disabled = true;\n }\n });\n GUI.closeUserMessage();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'setBackButtonLabel',\n value: function setBackButtonLabel() {\n var label = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this.backbuttonlabel = label;\n }\n\n /**\n * @returns { null }\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'getBackButtonLabel',\n value: function getBackButtonLabel() {\n return this.backbuttonlabel;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @param step\n * @param tools\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'addToolsOfTools',\n value: function addToolsOfTools(_ref5) {\n var step = _ref5.step,\n _ref5$tools = _ref5.tools,\n tools = _ref5$tools === undefined ? [] : _ref5$tools;\n\n step.setToolsOfTools(this, tools);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'setHelpMessage',\n value: function setHelpMessage(message) {\n this.helpMessage = { help: message };\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getHelpMessage',\n value: function getHelpMessage() {\n return this.helpMessage;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n return this.getInputs().features;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'startFromLastStep',\n value: function startFromLastStep(options) {\n this.setSteps([this.getSteps().pop()]);\n return this.start(options);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getCurrentFeature',\n value: function getCurrentFeature() {\n var feats = this.getFeatures();\n return feats[feats.length - 1];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this.getInputs().layer;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * bind interupt event\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'escKeyUpHandler',\n value: function escKeyUpHandler(evt) {\n if (evt.keyCode === 27) {\n evt.data.workflow.reject();\n evt.data.callback();\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n $(document).on('keyup', { workflow: this, callback: callback }, this.escKeyUpHandler);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'registerEscKeyEvent',\n value: function registerEscKeyEvent(callback) {\n var _this6 = this;\n\n this.on('start', function () {\n return _this6.bindEscKeyUp(callback);\n });\n this.on('stop', function () {\n return _this6.unbindEscKeyUp();\n });\n }\n }]);\n\n return Workflow;\n}(G3WObject);\n\n/** @type { Workflow[] } */\n\n\nvar workflows = [];\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/services/workflow.js@v3.9.1\n * \n * Store all activated workflows\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nWorkflow.Stack = {\n _workflows: workflows,\n push: function push(workflow) {\n return workflows.includes(workflow) ? workflows.indexOf(workflow) : workflows.push(workflow) - 1;\n },\n getParent: function getParent() {\n return workflows.slice(-2)[0];\n },\n getParents: function getParents() {\n return workflows.slice(0, -1);\n },\n pop: function pop() {\n return workflows.pop();\n },\n getLength: function getLength() {\n return workflows.length;\n },\n getFirst: function getFirst() {\n return workflows[0];\n },\n getCurrent: function getCurrent() {\n return Workflow.Stack.getLast();\n },\n getLast: function getLast() {\n return workflows.slice(-1)[0];\n },\n removeAt: function removeAt(i) {\n workflows.splice(i, 1);\n },\n insertAt: function insertAt(i, w) {\n workflows[i] = w;\n },\n getAt: function getAt(i) {\n return workflows[i];\n },\n clear: function clear() {\n while (workflows.length) {\n workflows.pop().stop();\n }\n }\n};\n\n},{\"../../components/UserMessage.vue\":9,\"../../utils/promisify\":58,\"./step\":14}],16:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Es tritt ein Fehler auf. Es ist nicht möglich, Layer zu bearbeiten\",\n some_layers: \"Es tritt ein Fehler auf: Es ist nicht möglich, einige Layer zu bearbeiten\"\n },\n search: \"Suche\",\n editing_changes: \"Änderungen bearbeiten\",\n editing_data: \"Layer bearbeiten\",\n editing_attributes: \"Attribute bearbeiten\",\n relations: \"Relationen\",\n edit_relation: \"Relation bearbeiten\",\n back_to_relations: \"Zurück zu Relationen\",\n no_relations_found: \"Keine Relationen gefunden\",\n relation_data: \"Relationsdaten\",\n relation_already_added: \"Relation bereits hinzugefügt\",\n list_of_relations_feature: \"Liste der Relations-Features \",\n tooltip: {\n edit_layer: \"Layer bearbeiten\"\n },\n toolbox: {\n title: 'bearbeiten'\n },\n table: {\n edit: \"Feature bearbeiten\",\n copy: \"Kopie erstellen\",\n delete: \"Feature löschen\"\n },\n tools: {\n copy: \"Features kopieren\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Teil zu Multipart hinzufügen\",\n deletepart: \"Teil aus Multipart löschen\",\n merge: \"Feature auflösen\",\n split: \"Feature trennen\",\n add_feature: \"Feature hinzufügen\",\n delete_feature: \"Feature löschen\",\n move_feature: \"Feature verschieben\",\n update_vertex: \"Feature vertex aktualisieren\",\n update_feature: \"Feature-Attribut aktualisieren\",\n update_multi_features: \"Attribute ausgewählter Features aktualisieren\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Messung anzeigen\",\n snap: \"Snap Layer\",\n snapall: \"Snap auf alle Layer\"\n },\n steps: {\n help: {\n select_elements: \"Features auswählen\",\n select_element: \"Feature auswählen\",\n copy: \"Neue Kopie der ausgewählten Features erstellen\",\n merge: \"Features auflösen\",\n split: \"Feature trennen\",\n new: \"Neues Feature erstellen\",\n edit_table: \"Features der Tabelle bearbeiten\",\n draw_new_feature: \"Feature auf Karte zeichnen\",\n action_confirm: \"Aktion bestätigen\",\n double_click_delete: \"Zu löschendes Feature auf der Karte auswählen\",\n edit_feature_vertex: \"Ändern oder Hinzufügen eines Eckpunktes auf dem ausgewählten Feature\",\n move: \"Ausgewähltes Feature verschieben\",\n select_feature_to_relation: \"Feature auswählen, welches die Relation verknüpft\",\n show_edit_feature_form: \"Feature-Formular zum Bearbeiten von Attributen anzeigen\",\n pick_feature: \"Zu änderndes Feature auf der Karte auswählen\",\n insert_attributes_feature: \"Attribute des Features einfügen\"\n }\n },\n workflow: {\n steps: {\n select: 'Zum Auswählen auf ein Feature klicken',\n draw_part: \"Neues Teil zeichnen\",\n draw_geometry: \"Geometrie zeichnen\",\n merge: 'Feature zum Auflösen auswählen',\n selectSHIFT: 'Features auswählen indem ein Rechteck mit SHIFT gezeichnet wird',\n selectDrawBox: \"Features auswählen, indem man ein Rechteck mit zwei gegenüberliegenden Eckpunkten zeichnet\",\n selectDrawBoxAtLeast2Feature: \"Mindestens Features auswählen, indem man ein Rechteck mit zwei gegenüberliegenden Eckpunkten zeichnet\",\n selectPoint: \"Zum Auswählen auf ein Feature klicken\",\n selectPointSHIFT: 'Features auswählen, indem ein Rechteck mit SHIFT gezeichnet wird (Multifeatures) oder auf ein Feature klicken',\n selectMultiPointSHIFT: 'Features auswählen, indem man ein Rechteck zeichnet und SHIFT drückt oder auf ein Feature klickt',\n selectMultiPointSHIFTAtLeast2Feature: 'Mindestens 2 Features auswählen und mit SHIFT ein Rechteck zeichnen oder auf ein Feature klicken',\n copyCTRL: 'Kopieren ausgewählter Features mit CTRL+C',\n selectStartVertex: 'Start-Eckpunkt der ausgewählten Features auswählen',\n selectToPaste: 'Den Punkt auswählen, an dem die ausgewählten Features eingefügt werden sollen',\n draw_split_line: \"Eine Linie zeichnen, um das ausgewählte Feature zu teilen\"\n },\n title: {\n steps: 'Schritte'\n },\n next: 'Weiter'\n },\n messages: {\n featureslockbyotheruser: \"Einige Geometrien/Datensätze können nicht bearbeitet werden, da sie von anderen Benutzern bearbeitet werden\",\n splitted: \"Getrennt\",\n nosplittedfeature: \"Feature nicht getrennt\",\n press_esc: \"Mit ESC zurück\",\n online: \"Wieder ONLINE. Jetzt kann man die Änderungen in der Datenbank speichern\",\n offline: \"OFFLINE. Alle Änderungen werden lokal gespeichert\",\n delete_feature: \"Soll das ausgewählte Feature gelöscht werden?\",\n delete_feature_relations: \"Wenn ein Feature Verknüpfungen beinhaltet, werden diese Relationen verwaist. Wir schlagen vor, diese Relationen zu behandeln, bevor das Feature gelöscht wird\",\n unlink_relation: \"Soll die Verknüpfung aufgehoben werden?\",\n commit_feature: \"Zusammenfassung der Änderungen\",\n toolbox_has_relation: \"Diese Ebene ist Teil einer Beziehung\",\n saved: \"Daten erfolgreich gespeichert\",\n saved_local: \"Daten erfolgreich lokal gespeichert\",\n loading_data: \"Daten laden\",\n saving: \"Daten werden gespeichert. Bitte warten ...\",\n constraints: {\n enable_editing: \"Bitte zoomen Sie hinein, um die Editier-Tools zu aktivieren \\nAktivierungsskala bei 1:\"\n },\n pdf: \"Dokumentenvorschau nicht verfügbar. Bitte hier klicken \",\n commit: {\n header: \"Die folgende Liste zeigt alle zu übernehmenden Änderungen.\",\n header_relation: \"Relation\",\n header_add: \"Hinzufgefügt Die Anzahl der hinzugefügten Features anzeigen\",\n header_update_delete: \"Bearbeitet und Gelöscht Die Liste der Feature-ID anzeigen\",\n add: \"Hinzugefügt\",\n delete: \"Gelöscht\",\n update: \"Bearbeitet\"\n },\n loading_table_data: \"Datentabelle wird erstellt. Bitte warten ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Vor dem Speichern müssen alle Pflichtfelder des eingegebenen features ausgefüllt werden\",\n no_feature_selected: \"Keine feature ausgewählt\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
W\\xE4hlen Sie Relationen aus, um sie mit dem aktuellen Feature zu verkn\\xFCpfen.
\"\n },\n draw_new_feature: \"Zeichnen Sie eine neue feature\",\n draw_or_copy: \"oder\",\n copy_feature_from_other_layer: \"Kopieren Sie feature aus einer anderen layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Zurück zur Bearbeitung des Vaters\",\n add_relation: \"Neue Relation erstellen und verknüpfen\",\n link_relation: \"Eine Relation zu diesem Feature herstellen\",\n open_relation_tools: \"Relationstools anzeigen\",\n unlink_relation: \"Relation trennen\"\n }\n },\n buttons: {\n save: \"Einfügung/Bearbeiten\",\n save_and_back: \"Speichern und zurück\",\n save_and_back_table: \"Speichern und zurück\",\n cancel: \"Änderungen ignorieren\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select one feature\"\n }\n }\n }\n};\n\n},{}],17:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"An error occurs. It's no possible to edit layers\",\n some_layers: \"An error occurs: It's no possible to edit some layers\",\n editing_multiple_relations: 'Editing multiple relationships is not currently supported'\n },\n search: \"Search\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Editing Layers\",\n editing_attributes: \"Editing attributes\",\n relations: \"Relations\",\n edit_relation: \"Edit relation\",\n back_to_relations: \"Back to Relations\",\n no_relations_found: \"No relations found\",\n relation_data: \"Relation data\",\n relation_already_added: \"Relation already added\",\n list_of_relations_feature: \"List of relations feature \",\n tooltip: {\n edit_layer: \"Edit Layer\",\n filter_by_relation: \"Filter layers by relation\"\n },\n toolbox: {\n title: 'Edit'\n },\n table: {\n edit: \"Edit feature\",\n copy: \"Create a copy\",\n delete: \"Delete feature\"\n },\n tools: {\n copy: \"Copy features\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Add part to multipart\",\n deletepart: \"Delete part from multipart\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n add_feature: \"Add feature\",\n delete_feature: \"Delete feature\",\n move_feature: \"Move feature\",\n update_vertex: \"Update feature vertex\",\n update_feature: \"Update feature attribute\",\n update_multi_features: \"Update attributes of selected features\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Select features\",\n select_element: \"Select feature\",\n copy: \"Create new copy of selected features\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n new: \"Create new feature\",\n edit_table: \"Edit table features\",\n draw_new_feature: \"Draw feature on map\",\n action_confirm: \"Confirm action\",\n double_click_delete: \"Select feature on map to delete\",\n edit_feature_vertex: \"Modify or add a vertex on selected feature\",\n move: \"Move selected feature\",\n select_feature_to_relation: \"Select feature that you bind relation\",\n show_edit_feature_form: \"Show feature form to edit attributes\",\n pick_feature: \"Select feature on map to modify\",\n insert_attributes_feature: \"Insert attributes of the feature\"\n }\n },\n workflow: {\n steps: {\n select: 'Click on feature to select',\n draw_part: \"Draw new part\",\n draw_geometry: \"Draw geometry\",\n merge: 'Select featurewhere dissolve',\n selectSHIFT: 'Select features drawing a rectangle pressing SHIFT',\n selectDrawBox: \"Select features drawing a rectangle by two point of opposite corners\",\n selectDrawBoxAtLeast2Feature: \"Select at least features drawing a rectangle by two point of opposite corners\",\n selectPoint: \"Click on feature to select\",\n selectPointSHIFT: 'Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature',\n selectMultiPointSHIFT: 'Select features drawing a rectangle pressing SHIFT or click on feature',\n selectMultiPointSHIFTAtLeast2Feature: 'Select at least 2 features drawing a rectangle pressing SHIFT or click on feature',\n copyCTRL: 'Copy selected features using CTRL+C',\n selectStartVertex: 'Select starting vertex of selected features',\n selectToPaste: 'Select the point where paste the features selected',\n draw_split_line: \"Draw a line to split selected feature\"\n },\n title: {\n steps: 'Steps'\n },\n next: 'Next'\n },\n messages: {\n featureslockbyotheruser: \"Some geometries/records are not editable because in editing by other user\",\n splitted: \"Splitted\",\n nosplittedfeature: \"Feature not spitted\",\n press_esc: \"Press ESC to back\",\n online: \"Back ONLINE. Now you can save your changes on database\",\n offline: \"You are OFFLINE. All changes are saved locally\",\n delete_feature: \"Do you want delete selected feature ?\",\n delete_feature_relations: \"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature\",\n unlink_relation: \"Do you want unlink relation?\",\n commit_feature: \"Summary of changes\",\n toolbox_has_no_geometry: \"this layer has no geometry\",\n toolbox_has_relation: \"this layer is part of a relation\",\n saved: \"Data saved successfully\",\n saved_local: \"Data saved locally successfully\",\n loading_data: \"Loading data\",\n saving: \"Saving data. Please wait ...\",\n constraints: {\n enable_editing: \"Please Zoom In to enable editing tools \\nActivation scale at 1:\"\n },\n pdf: \"Document preview not available. Please click here \",\n commit: {\n header: \"The following list show all changes to commit.\",\n header_relation: \"Relation\",\n header_add: \"Added show the number of features added\",\n header_update_delete: \"Modified and Deleted show the list of features id\",\n add: \"Added\",\n delete: \"Deleted\",\n update: \"Updated\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Select relations to link it to current editing feature.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Create and link new relation\",\n link_relation: \"Join a relation to this feature\",\n open_relation_tools: \"Show relation tools\",\n unlink_relation: \"Unlink relation\"\n }\n },\n buttons: {\n save: \"Insert/Edit\",\n save_and_back: \"Save and Back\",\n save_and_back_table: \"Save and Back\",\n cancel: \"Ignore Changes\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],18:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Tapahtui virhe. Tasoja ei ole mahdollista muokata.\",\n some_layers: \"Tapahtui virhe. Jotkin tasot eivät ole muokattavissa.\"\n },\n search: \"Haku\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Muokataan tasoja\",\n editing_attributes: \"Muokataan attribuutteja\",\n relations: \"Relaatiot\",\n edit_relation: \"Muokkaa relaatiota\",\n back_to_relations: \"Takaisin relaatioihin\",\n no_relations_found: \"Relaatioita ei löytynyt\",\n relation_data: \"Relaation tiedot\",\n relation_already_added: \"Relaatio on jo lisätty\",\n list_of_relations_feature: \"Lista relaation ominaisuuksista\",\n tooltip: {\n edit_layer: \"Muokkaa tasoa\"\n },\n toolbox: {\n title: 'Muokkaa'\n },\n table: {\n edit: \"Muokkaa ominaisuutta\",\n copy: \"Luo kopio\",\n delete: \"Poista ominaisuus\"\n },\n tools: {\n copy: \"Kopio ominaisuuksia\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Lisää osa\",\n deletepart: \"Poista osa\",\n merge: \"Yhdistä ominaisuudet\",\n split: \"Leikkaa ominaisuus\",\n add_feature: \"Lisää ominaisuus\",\n delete_feature: \"Poista ominaisuus\",\n move_feature: \"Siirrä ominaisuutta\",\n update_vertex: \"Päivitä pisteen ominaisuutta\",\n update_feature: \"Päivitä ominaisuus\",\n update_multi_features: \"Muokkaa valittujen ominaisuuksien attribuutteja\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Valitse ominaisuudet\",\n select_element: \"Valitse ominaisuus\",\n copy: \"Luo kopio valituista ominaisuuksista\",\n merge: \"Yhdistä ominaisuudet\",\n split: \"Leikkaa ominaisuus\",\n new: \"Luo uusi ominaisuus\",\n edit_table: \"Muuta taulun ominaisuuksia\",\n draw_new_feature: \"Piirrä ominaisuus kartalle\",\n action_confirm: \"Hyväksy toiminto\",\n double_click_delete: \"Valitse poistettava ominaisuus kartalta\",\n edit_feature_vertex: \"Muuta pistettä tai lisää piste valittuun ominaisuuteen\",\n move: \"Siirrä valittu ominaisuus\",\n select_feature_to_relation: \"Valitse relaatio\",\n show_edit_feature_form: \"Näytä ominaisuuslomake muokataksesi attribuutteja\",\n pick_feature: \"Valitse muokattava ominaisuus kartalta\",\n insert_attributes_feature: \"Lisää ominaisuuden attribuutit\"\n }\n },\n workflow: {\n steps: {\n select: 'Valitse ominaisuus',\n draw_part: \"Piirrä uusi osa\",\n merge: 'Valitse ominaisuus yhdistääksesi',\n draw_geometry: \"Piirrä geometria\",\n selectSHIFT: 'Paina SHIFT, jos haluat valita kohteita suorakulmiovalinnalla.', //Tero 10.12.2020\n selectDrawBox: \"Piirrä suorakulmio, jonka siältä kohteet valitaan \", //Tero 10.12.2020\n selectDrawBoxAtLeast2Feature: \"Piirrä suorakulmio, jonka siältä kohteet vähintään 2 valitaan \",\n selectPoint: \"Valitse ominaisuus\",\n selectPointSHIFT: 'Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n selectMultiPointSHIFT: 'Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n selectMultiPointSHIFTAtLeast2Feature: 'Paina SHIFT, jos haluat valita vähintään 2 ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n copyCTRL: 'CTRL+C, voit kopioida valitut ominaisuudet.', //Tero 10.12.2020\n selectStartVertex: 'Osoita valittujen ominaisuuksien alkupiste.',\n selectToPaste: 'Valitse kohta, johon liität valitut ominaisuudet.',\n draw_split_line: \"Piirrä viiva, jonka mukaan valittu ominaisuus jaetaan.\"\n },\n title: {\n steps: 'Vaiheet'\n },\n next: \"Seuraava\"\n },\n messages: {\n featureslockbyotheruser: \"Some features are locked by another user\",\n splitted: \"Jaettu\",\n nosplittedfeature: \"Ominaisuutta ei jaettu\",\n press_esc: \"Paina ESC palataksesi\",\n online: \"Yhteys muodostettu. Muutokset voidaan tallentaa tietokantaan.\",\n offline: \"Olet offline-tilassa. Muutokset tallennetaan paikallisesti\",\n delete_feature: \"Haluatko poistaa valitun ominaisuuden?\",\n delete_feature_relations: \"Mikäli ominaisuudella on sitovia relaatioita, näistä relaatiosta tulee orpoja. Suosittelemme käsittelemään nämä relaatiot ennen poistamista\",\n unlink_relation: \"Haluatko poistaa relaation?\",\n commit_feature: \"Yhteenveto muutoksista\",\n toolbox_has_relation: \"tämä kerros on osa relaatiota\",\n saved: \"Tiedot tallennettu onnistuneesti\",\n saved_local: \"Tiedot on tallennettu onnistuneesti paikallisesti.\",\n loading_data: \"Ladataan tietoja\",\n saving: \"Tallentaan tietoja. Odota...\",\n constraints: {\n enable_editing: \"Lähennä ottaaksesi muokkaustyökalut käyttöön \\nAktivointi mittakaava 1:\"\n },\n pdf: \"Dokumentin esikatselu ei ole saatavilla. Paina tästä \",\n commit: {\n header: \"Seuraava luettelo näyttää kaikki muutokset.\",\n header_relation: \"Relation\",\n header_add: \"Lisätty näytä lisättyjen ominaisuuksien lukumäärä\",\n header_update_delete: \"Muokattu ja Poistettu Näytä listä ominaisuuksien id:stä\",\n add: \"Lisätty\",\n delete: \"Poistettu\",\n update: \"Muokattu\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Valitse relaatiota linkitt\\xE4\\xE4ksesi ne muokattavaan ominaisuuteen.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Luo ja linkitä uusi relaatio\",\n link_relation: \"Liitä relaatio tähän ominaisuuteen\",\n open_relation_tools: \"Näytä relaatiotyökalut\",\n unlink_relation: \"Poista relaatio\"\n }\n },\n buttons: {\n save: \"Lisää/muokkaa\",\n save_and_back: \"Tallenna ja palaa\",\n save_and_back_table: \"Tallenna ja palaa\",\n cancel: \"Peruuta\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],19:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Une erreur s'est produite lors du chargement des layers dans l'édition.\",\n some_layers: \"Une erreur s'est produite lors du chargement de certaines layers dans l'édition.\"\n },\n search: \"Recherche\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Modifier les donnes\",\n editing_attributes: \"Modifier les attributs\",\n relations: \"Relations\",\n edit_relation: \"Modifier la relation\",\n back_to_relations: \"Retour aux relations\",\n no_relations_found: \"Il n'y a pas de relations\",\n relation_data: \"Données sur les relations\",\n relation_already_added: \"Relation déjà présente\",\n list_of_relations_feature: \"Lister les relations de la fonctionnalité\",\n tooltip: {\n edit_layer: \"Modifier le layer\"\n },\n toolbox: {\n title: 'Modifier'\n },\n table: {\n edit: \"Modifier fonctionnalités\",\n copy: \"Créer une copie\",\n delete: \"Supprimer la fonctionnalité\"\n },\n tools: {\n copy: \"Copier les fonctionnalités\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Ajouter une pièce à la géométrie\",\n deletepart: \"Supprimer la partie de la géométrie\",\n merge: \"Dissoudre les fonctionnalités\",\n split: \"Couper la fonctionnalité\",\n add_feature: \"Ajouter une fonctionnalité\",\n delete_feature: \"Supprimer la fonctionnalité\",\n move_feature: \"Déplacez la fonctionnalité\",\n update_vertex: \"Mettre à jour les sommets des fonctionnalités\",\n update_feature: \"Modifier les attributs des fonctionnalités\",\n update_multi_features: \"Modifier les attributs des fonctionnalités sélectionnées\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Sélectionner les fonctionnalités\",\n select_element: \"Sélectionner une fonctionnalité\",\n copy: \"Créer une copie des fonctionnalités sélectionnées\",\n merge: \"Dissoudre les fonctionnalités\",\n split: \"Couper la fonctionnalité\",\n new: \"Créer une nouvelle fonctionnalité\",\n edit_table: \"Modifier les fonctionnalités de la table\",\n draw_new_feature: \"Dessiner une fonctionnalité sur la carte\",\n action_confirm: \"Confirmer l'action\",\n double_click_delete: \"Sélectionner la fonctionnalité sur la carte à supprimer\",\n edit_feature_vertex: \"Modifier ou ajouter un sommet à la fonctionnalité sélectionnée\",\n move: \"Déplacer la fonctionnalité sélectionnée\",\n select_feature_to_relation: \"Sélectionner la fonctionnalité que vous souhaitez mettre en relation\",\n show_edit_feature_form: \"Afficher le formulaire de la fonctionnalité permettant de modifier les attributs\",\n pick_feature: \"Sélectionner l'élément de la carte à modifier\",\n insert_attributes_feature: \"Insérer les attributs de la fonctionnalité\"\n }\n },\n workflow: {\n steps: {\n select: 'Cliquer sur la fonctionnalité à sélectionner',\n draw_part: \"Dessiner la nouvelle partie\",\n draw_geometry: \"Dessiner la géométrie\",\n merge: 'Sélectionner la fonction à introduire en fondu',\n selectPoint: \"Cliquer sur la fonctionnalité pour la sélectionner\",\n selectSHIFT: 'Sélectionner des fonctionnalités en maintenant la touche SHIFT enfoncée',\n selectDrawBox: \"Sélectionner les fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale\",\n selectDrawBoxAtLeast2Feature: \"Sélectionner au moins 2 fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale\",\n selectPointSHIFT: 'Sélectionner des caractéristiques en maintenant la touche SHIFT enfoncée (multi-sélection) ou en cliquant sur une seule caractéristique',\n selectMultiPointSHIFT: 'Sélectionner des fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle',\n selectMultiPointSHIFTAtLeast2Feature: 'Sélectionner au moins 2 fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle',\n copyCTRL: 'Copier les fonctionnalités sélectionnées avec CTRL+C',\n selectStartVertex: 'Sélectionner le sommet de départ des fonctionnalités choisies',\n selectToPaste: 'Sélectionner le point où les fonctionnalités sélectionnées seront collées',\n draw_split_line: \"Tracez une ligne pour couper la fonctionnalité sélectionnée\"\n },\n title: {\n steps: 'Étapes'\n },\n next: 'Suivant'\n },\n messages: {\n featureslockbyotheruser: \"Certaines géométries/enregistrements ne sont pas modifiables car ils ont été modifiés par un autre utilisateur\",\n splitted: \"Fonctionnalité(s) divisé(es)\",\n nosplittedfeature: \"La (les) fonctionnalité(s) n’a (n'ont) pas été divisé(es)\",\n press_esc: \"Appuyez sur ESC pour revenir\",\n online: \"Vous êtes à nouveau EN LIGNE. Vous pouvez enregistrer les modifications de façon permanente\",\n offline: \"Vous êtes HORS LIGNE. Toutes les modifications seront enregistrées temporairement en local\",\n delete_feature: \"Voulez-vous supprimer la fonctionnalité sélectionnée ?\",\n delete_feature_relations: \"La suppression d'une fonctionnalité avec des relations associées laissera ces relations orphelines. Il est recommandé de gérer ces relations avant de supprimer la fonctionnalité\",\n unlink_relation: \"Voulez-vous détacher la relation ?\",\n commit_feature: \"Sommaire des changements\",\n toolbox_has_relation: \"cette couche fait partie d'une relation\",\n saved: \"Les données ont été enregistrées correctement\",\n saved_local: \"Les données ont été correctement sauvegardées localement\",\n loading_data: \"Chargement des données\",\n saving: \"Sauvegarde des données. Veuillez patienter ...\",\n constraints: {\n enable_editing: \"Augmenter le niveau de zoom pour permettre l'édition \\nEchelle de déclenchement 1 :\"\n },\n pdf: \"Aperçu du document non disponible. Cliquez ici \",\n commit: {\n header: \"La liste ci-dessous montre toutes les modifications qui seront enregistrées.\",\n header_relation: \"Relation\",\n header_add: \"Ajouts indique le nombre de fonctionnalités ajoutées\",\n header_update_delete: \"Modifié e Supprimé liste les ids\",\n add: \"Ajouté\",\n delete: \"Supprimé\",\n update: \"Modifié\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Avant d'enregistrer, il est nécessaire de remplir tous les champs obligatoires du features saisi\",\n no_feature_selected: \"Aucune feature sélectionnée\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
S\\xE9lectionner les relations pour les associer \\xE0 l'\\xE9l\\xE9ment en cours d'\\xE9dition.
\"\n },\n draw_new_feature: \"Dessiner une nouvelle feature\",\n draw_or_copy: \"ou\",\n copy_feature_from_other_layer: \"Copier feature d'une autre layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Créer et ajouter une nouvelle relation\",\n link_relation: \"Associer une relation existante à cette fonctionnalité\",\n open_relation_tools: \"Outils de relation ouverte\",\n unlink_relation: \"Annuler la relation\"\n }\n },\n buttons: {\n save: \"Insérer/Modifier\",\n save_and_back: \"Sauvegarder et retourner au parent\",\n save_and_back_table: \"Sauvegarder et et revenir en arrière\",\n cancel: \"Ignorer modifications\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],20:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _it = require('./it');\n\nvar _it2 = _interopRequireDefault(_it);\n\nvar _en = require('./en');\n\nvar _en2 = _interopRequireDefault(_en);\n\nvar _fi = require('./fi');\n\nvar _fi2 = _interopRequireDefault(_fi);\n\nvar _se = require('./se');\n\nvar _se2 = _interopRequireDefault(_se);\n\nvar _fr = require('./fr');\n\nvar _fr2 = _interopRequireDefault(_fr);\n\nvar _de = require('./de');\n\nvar _de2 = _interopRequireDefault(_de);\n\nvar _ro = require('./ro');\n\nvar _ro2 = _interopRequireDefault(_ro);\n\nvar _pl = require('./pl');\n\nvar _pl2 = _interopRequireDefault(_pl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n it: _it2.default,\n en: _en2.default,\n fi: _fi2.default,\n se: _se2.default,\n fr: _fr2.default,\n de: _de2.default,\n ro: _ro2.default,\n pl: _pl2.default\n};\n\n},{\"./de\":16,\"./en\":17,\"./fi\":18,\"./fr\":19,\"./it\":21,\"./pl\":22,\"./ro\":23,\"./se\":24}],21:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"Terminare l'editing dei singoli layer per chiudere la sessione\"\n },\n errors: {\n no_layers: \"Si è verificato un errore nel caricamento dei layers in editing.\",\n some_layers: \"Si è verificato un errore nel caricamento di alcuni layers in editing\",\n editing_multiple_relations: 'Le modifica di relazioni multiple non è attualmente supportata'\n },\n search: \"Cerca\",\n editing_changes: \"Modifiche Editing\",\n editing_data: \"Modifica dati\",\n editing_attributes: \"Edita attributi\",\n relations: \"Relazioni\",\n edit_relation: \"Edita relazione\",\n back_to_relations: \"Ritorna alle Relazioni\",\n no_relations_found: \"Non ci sono relazioni\",\n relation_data: \"Dati relativi alla relazione\",\n relation_already_added: \"Relazione già presente\",\n list_of_relations_feature: \"Elenco Relazioni della feature \",\n tooltip: {\n edit_layer: \"Modifica livello\",\n filter_by_relation: \"Filtra i livelli per relazione\"\n },\n toolbox: {\n title: 'Edita'\n },\n table: {\n edit: \"Edita feature\",\n copy: \"Crea una copia\",\n delete: \"Cancella feature\"\n },\n tools: {\n copy: \"Copia elementi\",\n pastefeaturesfromotherlayers: \"Incolla elemento da altro livello\",\n addpart: \"Aggiungi parte alla geometria\",\n deletepart: \"Cancella parte dalla geometria\",\n merge: \"Dissolvi elementi\",\n split: \"Dividi elementi\",\n add_feature: \"Aggiungi elemento\",\n delete_feature: \"Elimina elemento\",\n move_feature: \"Muovi elemento\",\n update_vertex: \"Aggiorna vertici elemento\",\n update_feature: \"Modifica attributi elemento\",\n update_multi_features: \"Modifica gli attributi degli elementi selezionati\",\n update_multi_features_relations: \"Modifica gli attributi di tutte le relazioni selezionate\",\n copyfeaturefromexternallayer: \"Crea elemento da un livello esterno\"\n },\n toolsoftool: {\n measure: \"Visualizza misura\",\n snap: \"Snap sul layer\",\n snapall: \"Snap su tutti i layer\"\n },\n steps: {\n help: {\n select_elements: \"Seleziona le geometrie\",\n select_element: \"Seleziona l'elemento\",\n copy: \"Crea una copia degli elementi selezionati\",\n merge: \"Dissolvi elementi\",\n split: \"Dvidi elemento\",\n new: \"Crea un nuovo elemento\",\n edit_table: \"Modifica gli elementi della tabella\",\n draw_new_feature: \"Disegna la nuova geometria\",\n action_confirm: \"Conferma azione\",\n double_click_delete: \"Seleziona la geometria sulla mappa da cancellare\",\n edit_feature_vertex: \"Modifica o aggiungi un vertice alla geometria selezionata\",\n move: \"Muovi la geometria selezionata\",\n select_feature_to_relation: \"Seleziona la geometria che vuoi mettere in relazione\",\n show_edit_feature_form: \"Mostra il modulo per modificare gli attributi del'elemento\",\n pick_feature: \"Seleziona la geometria da modificare dalla mappa\",\n insert_attributes_feature: \"Inserisci gli attributi dell'elemento\"\n }\n },\n\n workflow: {\n steps: {\n select: 'Seleziona una geometria',\n draw_part: \"Disegna il nuovo elemento da aggiungere alla geometria\",\n draw_geometry: \"Disegna la geometria\",\n merge: 'Seleziona la geometria su cui dissolvere',\n selectPoint: \"Clicca sulla geometria per selezionarla\",\n selectSHIFT: 'Seleziona le geometrie tenedo premuto il tasto SHIFT',\n selectDrawBox: \"Seleziona le geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale\",\n selectDrawBoxAtLeast2Feature: \"Seleziona almeno 2 geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale\",\n selectPointSHIFT: 'Seleziona le geometrie
MAIUSC+DRAG seleziona più elementi in un area',\n selectMultiPointSHIFT: 'Seleziona le geometrie
SHIFT+DRAG seleziona più elementi in un area',\n selectMultiPointSHIFTAtLeast2Feature: 'Seleziona almeno 2 geometrie
SHIFT+DRAG seleziona più elementi in un area',\n copyCTRL: 'Copia le geometrie selezionate con CTRL+C',\n selectStartVertex: 'Seleziona il vertice di partenza',\n selectToPaste: 'Seleziona il punto dove verranno incollate le geometrie',\n draw_split_line: \"Disegna una linea per dividere la geometria selezionata\"\n },\n title: {\n steps: 'Passi'\n },\n next: 'Avanti'\n },\n messages: {\n featureslockbyotheruser: \"Ci sono alcune geometrie/records non editabili perchè in modifica da altri utenti\",\n splitted: \"Feature(s) splittata(e)\",\n nosplittedfeature: \"La(e) feature(s) non è stata splittata\",\n press_esc: \"Premi ESC per tornare indietro\",\n online: \"Ora sei di nuovo ONLINE. Puoi slavare le modifiche in modo permanente\",\n offline: \"Sei OFFLINE. Tutte le modifiche saranno salvate temporaneamente in locale\",\n delete_feature: \"Vuoi eliminare l'elemento selezionato?\",\n delete_feature_relations: \"Cancellando una feature con relazioni associate, tale relazioni rimarranno orfane. Si consiglia di gestire tali relazioni prima di cancellare la feature\",\n unlink_relation: \"Vuoi staccare la relazione?\",\n commit_feature: \"Riepilogo modifiche\",\n toolbox_has_no_geometry: \"questo livello non ha geometria\",\n toolbox_has_relation: \"questo livello fa parte di una relazione\",\n saved: \"I dati sono stati salvati correttamente\",\n saved_local: \"I dati sono stati salvati correttamente in locale\",\n loading_data: \"Caricamento dati\",\n saving: \"Salvataggio dati in corso. Attendere ...\",\n constraints: {\n enable_editing: \"Ingrandisci per modificare \\nScala di attivazione 1:\"\n },\n pdf: \"Anteprima del documento non disponibile. Clicca qui \",\n commit: {\n header: \"La lista sotto riporta tutte le modifiche che verranno salvate.\",\n header_relation: \"Relazione\",\n header_add: \"Aggiunte riporta il numero delle features aggiunte\",\n header_update_delete: \"Modificate e Cancellate riporta la lista degli id\",\n add: \"Aggiunte\",\n delete: \"Cancellate\",\n update: \"Aggiornate\"\n },\n loading_table_data: \"Costruzione tabella dati in corso. Attendere ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Necessario compilare eventuali campi obbligatori sulle features incollate prima del salvataggio\",\n no_feature_selected: \"Nessuna feature selezionata\",\n select_min_2_features: 'Seleziona come minimo due features'\n },\n relation: {\n table: {\n info: \"
Seleziona le relazioni per associarle alla feature in editing.
\"\n },\n draw_new_feature: \"Disegna nuova geometria\",\n draw_or_copy: \"oppure\",\n copy_feature_from_other_layer: \"Copia geometria da altro layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Torna ad editare il padre\",\n add_relation: \"Crea ed aggiungi nuova relazione\",\n link_relation: \"Associa una relazione esistente a questa feature\",\n open_relation_tools: \"Apri strumenti relatione\",\n unlink_relation: \"Annulla relazione\"\n }\n },\n buttons: {\n save: \"Inserisci/Modifica\",\n save_table: 'Modifica',\n save_and_back: \"Salva e torna al padre\",\n save_and_back_table: \"Salva e torna indietro\",\n cancel: \"Ignora Modifiche\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Seleziona layer\",\n edit_attributes: \"Edita attributi delle features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Seleziona una feature\"\n }\n }\n }\n};\n\n},{}],22:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n errors: {\n no_layers: \"An error occurs. It's no possible to edit layers\",\n some_layers: \"An error occurs: It's no possible to edit some layers\"\n },\n search: \"Search\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Editing Layers\",\n editing_attributes: \"Editing attributes\",\n relations: \"Relations\",\n edit_relation: \"Edit relation\",\n back_to_relations: \"Back to Relations\",\n no_relations_found: \"No relations found\",\n relation_data: \"Relation data\",\n relation_already_added: \"Relation already added\",\n list_of_relations_feature: \"List of relations feature \",\n tooltip: {\n edit_layer: \"Edit Layer\"\n },\n toolbox: {\n title: 'Edit'\n },\n table: {\n edit: \"Edit feature\",\n copy: \"Create a copy\",\n delete: \"Delete feature\"\n },\n tools: {\n copy: \"Copy features\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Add part to multipart\",\n deletepart: \"Delete part from multipart\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n add_feature: \"Add feature\",\n delete_feature: \"Delete feature\",\n move_feature: \"Move feature\",\n update_vertex: \"Update feature vertex\",\n update_feature: \"Update feature attribute\",\n update_multi_features: \"Update attributes of selected features\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Select features\",\n select_element: \"Select feature\",\n copy: \"Create new copy of selected features\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n new: \"Create new feature\",\n edit_table: \"Edit table features\",\n draw_new_feature: \"Draw feature on map\",\n action_confirm: \"Confirm action\",\n double_click_delete: \"Select feature on map to delete\",\n edit_feature_vertex: \"Modify or add a vertex on selected feature\",\n move: \"Move selected feature\",\n select_feature_to_relation: \"Select feature that you bind relation\",\n show_edit_feature_form: \"Show feature form to edit attributes\",\n pick_feature: \"Select feature on map to modify\",\n insert_attributes_feature: \"Insert attributes of the feature\"\n }\n },\n workflow: {\n steps: {\n select: 'Click on feature to select',\n draw_part: \"Draw new part\",\n merge: 'Select featurewhere dissolve',\n selectSHIFT: 'Select features drawing a rectangle pressing SHIFT',\n selectDrawBox: \"Select features drawing a rectangle by two point of opposite corners\",\n selectDrawBoxAtLeast2Feature: \"Select at least features drawing a rectangle by two point of opposite corners\",\n selectPoint: \"Click on feature to select\",\n selectPointSHIFT: 'Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature',\n selectMultiPointSHIFT: 'Select features drawing a rectangle pressing SHIFT or click on feature',\n selectMultiPointSHIFTAtLeast2Feature: 'Select at least 2 features drawing a rectangle pressing SHIFT or click on feature',\n copyCTRL: 'Copy selected features using CTRL+C',\n selectStartVertex: 'Select starting vertex of selected features',\n selectToPaste: 'Select the point where paste the features selected',\n draw_split_line: \"Draw a line to split selected feature\"\n },\n title: {\n steps: 'Steps'\n },\n next: 'Next'\n },\n messages: {\n featureslockbyotheruser: \"Some geometries/records are not editable because in editing by other user\",\n splitted: \"Splitted\",\n nosplittedfeature: \"Feature not spitted\",\n press_esc: \"Press ESC to back\",\n online: \"Back ONLINE. Now you can save your changes on database\",\n offline: \"You are OFFLINE. All changes are saved locally\",\n delete_feature: \"Do you want delete selected feature ?\",\n delete_feature_relations: \"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature\",\n unlink_relation: \"Do you want unlink relation?\",\n commit_feature: \"Do you want to save the changes\",\n toolbox_has_relation: \"this layer is part of a relation\",\n saved: \"Data saved successfully\",\n saved_local: \"Data saved locally successfully\",\n loading_data: \"Loading data\",\n saving: \"Saving data. Please wait ...\",\n constraints: {\n enable_editing: \"Please Zoom In to enable editing tools \\nActivation scale at 1:\"\n },\n pdf: \"Document preview not available. Please click here \",\n commit: {\n header: \"The following list show all changes to commit.\",\n header_add: \"Added show the number of features added\",\n header_update_delete: \"Modified and Deleted show the list of features id\",\n add: \"Added(n. features)\",\n delete: \"Deleted(id)\",\n update: \"Modified(id)\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Select relations to link it to current editing feature.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Create and link new relation\",\n link_relation: \"Join a relation to this feature\",\n open_relation_tools: \"Show relation tools\",\n unlink_relation: \"Unlink relation\"\n }\n },\n buttons: {\n save: \"Insert/Edit\",\n save_and_back: \"Save and Back\",\n save_and_back_table: \"Save and Back\",\n cancel: \"Ignore Changes\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],23:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Avem o eroare. Straturile nu sunt editabile\",\n some_layers: \"Avem o eroare: Anumite straturi nu se pot edita\"\n },\n search: \"Caută\",\n editing_changes: \"Modificare schimbări\",\n editing_data: \"Modificare straturi\",\n editing_attributes: \"Modificare atribute\",\n relations: \"Relații\",\n edit_relation: \"Modifică relația\",\n back_to_relations: \"Înapoi la Relații\",\n no_relations_found: \"Nu am găsit relații\",\n relation_data: \"Date relații\",\n relation_already_added: \"Relație adăugată deja\",\n list_of_relations_feature: \"Lista relații entitatea \",\n tooltip: {\n edit_layer: \"Modifică strat\"\n },\n toolbox: {\n title: 'Modifică'\n },\n table: {\n edit: \"Modifică entitate\",\n copy: \"Creează o copie\",\n delete: \"Elimină entitatea\"\n },\n tools: {\n copy: \"Copiază entitățile\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Adaugă o parte la multiparte\",\n deletepart: \"Elimină partea din multiparte\",\n merge: \"Dizolvare entități\",\n split: \"Divizare Entitate\",\n add_feature: \"Adaugă entitate\",\n delete_feature: \"Eliminare entitate\",\n move_feature: \"Mută entitate\",\n update_vertex: \"Actualizează vertecșii entității\",\n update_feature: \"Actualizează atributul entității\",\n update_multi_features: \"Actualizează atributele entităților selectate\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Arată măsurătorile\",\n snap: \"Acroșare strat\",\n snapall: \"Acroșare pe toate straturile\"\n },\n steps: {\n help: {\n select_elements: \"Selectează entități\",\n select_element: \"Selectează entitate\",\n copy: \"Creează o nouă copie a entităților selectate\",\n merge: \"Dizolvă entitățile\",\n split: \"Divizare Entitate\",\n new: \"Creează o entitate\",\n edit_table: \"Modifică entitățile tabelare\",\n draw_new_feature: \"Desenează entitate pe hartă\",\n action_confirm: \"Confirmă acțiunea\",\n double_click_delete: \"Selectează entitatea de eliminat din hartă\",\n edit_feature_vertex: \"Modifică sau adaugă un vertex la entitatea selectată\",\n move: \"Mută entitatea selectată\",\n select_feature_to_relation: \"Selectează entitate pentru relaționare\",\n show_edit_feature_form: \"Arată formularul entității pentru modificări\",\n pick_feature: \"Selectează entitățile de modificat din hartă\",\n insert_attributes_feature: \"Inserează atributele entității\"\n }\n },\n workflow: {\n steps: {\n select: 'Click pe entitate pentru a o selecta',\n draw_part: \"Desenează o parte nouă\",\n draw_geometry: \"Desenați geometria\",\n merge: 'Selectează partea de dizolvat',\n selectSHIFT: 'Selectează entități prin desen triunghi apăsând SHIFT',\n selectDrawBox: \"Selectează entități desenând un dreptunghi prin două puncte opuse\",\n selectDrawBoxAtLeast2Feature: \"Selectează cel puțin 2 entități prin desenul unui dreptunghi\",\n selectPoint: \"Click pe entitate pentru selectare\",\n selectPointSHIFT: 'Selectează entități prin desen dreptunghi apăsând SHIFT (multientități) sau prin click pe entitate',\n selectMultiPointSHIFT: 'Selectează entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate',\n selectMultiPointSHIFTAtLeast2Feature: 'Selectează cel puțin 2 entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate',\n copyCTRL: 'Copiază entitățile selectate folosint CTRL+C',\n selectStartVertex: 'Selectează vertexul de start a entităților selectate',\n selectToPaste: 'Selectează punctul unde să lipim entitățile selectate',\n draw_split_line: \"Desenează o linie pentru a diviza entitatea selectată\"\n },\n title: {\n steps: 'Pași'\n },\n next: 'Următorul'\n },\n messages: {\n featureslockbyotheruser: \"Unele geometrii/înregistrări nu sunt editabile deoarece sunt editate de către alt utilizator\",\n splitted: \"Divizat\",\n nosplittedfeature: \"Entitate nedivizată\",\n press_esc: \"ESC pentru înapoi\",\n online: \"Înapoi ONLINE. Acum se pot salva schimbările\",\n offline: \"OFFLINE. Schimbările sunt salvate local\",\n delete_feature: \"Șterg entitatea selectată?\",\n delete_feature_relations: \"Dacă entitatea are relații care trimit la ea, acele relații devin orfane. Sugerăm să vă ocupați de acele elemente înainte să eliminați această entitate.\",\n unlink_relation: \"Dorești să eliminați legătura cu relația?\",\n commit_feature: \"Rezumatul modificărilor\",\n toolbox_has_relation: \"acest strat face parte dintr-o relație\",\n saved: \"Datele sunt salvate\",\n saved_local: \"Datele s-au salvat local\",\n loading_data: \"Datele se încarcă.\",\n saving: \"Salvăm datele. Așteptați ...\",\n constraints: {\n enable_editing: \"Pentru a activa Modificare faceți zoom la \\nScara de activare 1:\"\n },\n pdf: \"Previzualizarea documentului nu este disponibilă. Click aici \",\n commit: {\n header: \"Lista cu toate modificările.\",\n header_relation: \"Relation\",\n header_add: \"Adăugate arată nr. de entități adăugate\",\n header_update_delete: \"Modificate și Șterse arată lista de id-uri de entități\",\n add: \"Adăugate\",\n delete: \"Eliminate\",\n update: \"Modificate\"\n },\n loading_table_data: \"Încărcăm tabelul de date ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Înainte de a salva, este necesar să completați toate câmpurile obligatorii ale entități introduse\",\n no_feature_selected: \"Nicio feature selectată\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Selecteaz\\u0103 rela\\u021Biile pentru a face leg\\u0103tura cu entitatea curent\\u0103.
\"\n },\n draw_new_feature: \"Desenați o nouă feature\",\n draw_or_copy: \"sau\",\n copy_feature_from_other_layer: \"Copiați feature dintr-un alt layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Înapoi la modificările entității părinte\",\n add_relation: \"Creează și fă legătura unei relații noi\",\n link_relation: \"Leagă o relație de entitate\",\n open_relation_tools: \"Arată instrumentele pentru relații\",\n unlink_relation: \"Elimină legătura la relație\"\n }\n },\n buttons: {\n save: \"Inserați/Editați\",\n save_and_back: \"Salvează și dă înapoi\",\n save_and_back_table: \"Salvează și dă înapoi\",\n cancel: \"Ignorați modificările\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],24:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Ett fel uppstod. Nivåerna kan inte redigeras.\",\n some_layers: \"Ett fel uppstod. Vissa nivåer kan inte redigeras.\"\n },\n search: \"Sökning\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Nivåerna redigeras\",\n editing_attributes: \"Attributen redigeras\",\n relations: \"Relationer\",\n edit_relation: \"Redigera relationen\",\n back_to_relations: \"Tillbaka till relationerna\",\n no_relations_found: \"Inga relationer hittades\",\n relation_data: \"Relationsuppgifter\",\n relation_already_added: \"Relationen har redan lagts till\",\n list_of_relations_feature: \"Lista på relationens egenskaper\",\n tooltip: {\n edit_layer: \"Redigera nivån\"\n },\n toolbox: {\n title: 'Redigera'\n },\n table: {\n edit: \"Redigera egenskap\",\n copy: \"Skapa en kopia\",\n delete: \"Ta bort egenskap\"\n },\n tools: {\n copy: \"Kopiera egenskaper\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Lägg till del\",\n deletepart: \"Ta bort del\",\n merge: \"Slå samman egenskaper\",\n split: \"Dela upp egenskap\",\n add_feature: \"Lägg till egenskap\",\n delete_feature: \"Ta bort egenskap\",\n move_feature: \"Flytta egenskap\",\n update_vertex: \"Uppdatera punktens egenskap\",\n update_feature: \"Uppdatera egenskap\",\n update_multi_features: \"Ändra attributen för de valda funktionerna\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Välj egenskaper\",\n select_element: \"Välj egenskapalitse ominaisuus\",\n copy: \"Skapa kopia av valda egenskaper\",\n merge: \"Slå samman egenskaper\",\n split: \"Dela upp egenskap\",\n new: \"Skapa ny egenskap\",\n edit_table: \"Ändra egenskaper i tabellen\",\n draw_new_feature: \"Piirrä ominaisuus kartalle\",\n action_confirm: \"Godkänn funktionen\",\n double_click_delete: \"Välj funktionen som du vill ta bort på kartan\",\n edit_feature_vertex: \"Ändra punkten eller lägg till punkten till den valda egenskapen\",\n move: \"Flytta den valda egenskapen\",\n select_feature_to_relation: \"Välj relation\",\n show_edit_feature_form: \"Visa egenskapsformuläret för redigering av attribut\",\n pick_feature: \"Välj funktion på kartan för att ändras\",\n insert_attributes_feature: \"Lägg till egenskapens attribut\"\n }\n },\n workflow: {\n steps: {\n select: 'Välj egenskap',\n draw_part: \"Rita ny del\",\n draw_geometry: \"Rita geometri\",\n merge: 'Välj egenskap att slå samman',\n selectSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel.', //Tero 10.12.2020\n selectDrawBox: \"Rita upp den rektangel inom vilken objekten väljs \", //Tero 10.12.2020\n selectDrawBoxAtLeast2Feature: \"Rita rektangeln inom vilken minst två objekt är markerade \",\n selectPoint: \"Välj egenskap\",\n selectPointSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.',\n selectMultiPointSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.',\n selectMultiPointSHIFTAtLeast2Feature: 'Tryck på SKIFT för att välja minst två objekt med en rektangel eller välj en enda egenskap. ',\n copyCTRL: 'CTRL+C, du kan kopiera valda egenskaper.', //Tero 10.12.2020\n selectStartVertex: 'Visa startpunkten för valda egenskaper.',\n selectToPaste: 'Välj punkt till vilken de valda egenskaperna ska fogas.',\n draw_split_line: \"Rita en linje enligt vilken den valda egenskapen ska uppdelas.\"\n },\n title: {\n steps: 'Skeden'\n },\n next: \"Nästa\"\n },\n messages: {\n featureslockbyotheruser: \"Jotkut geometriat/tietueet eivät ole muokattavissa, koska muut käyttäjät muokkaavat niitä\",\n splitted: \"Uppdelad\",\n nosplittedfeature: \"Egenskapen har inte delats upp\",\n press_esc: \"Tryck ESC för att gå tillbaka\",\n online: \"Förbindelsen har upprättats. Ändringar kan sparas i databasen.\",\n offline: \"Du är i offline-läge. Ändringarna sparas lokalt\",\n delete_feature: \"Vill du ta bort den valda egenskapen?\",\n delete_feature_relations: \"Om egenskapen saknar bindande relationer blir dessa relationer föräldralösa. Vi rekommenderar att du behandlar dessa relationer innan du lämnar programmet\",\n unlink_relation: \"Vill du ta bort relationen?\",\n commit_feature: \"Sammanfattning av ändringar\",\n toolbox_has_relation: \"detta lager är en del av en relation\",\n saved: \"Uppgifterna sparades\",\n saved_local: \"Uppgifterna sparades lokalt.\",\n loading_data: \"Uppgifterna laddas\",\n saving: \"Uppgifterna sparas. Vänta...\",\n constraints: {\n enable_editing: \"Zooma in för att börja använda redigeringsverktyg \\nAktivering skala 1:\"\n },\n pdf: \"Förhandsgranskning av dokument är inte tillgänglig. Tryck här\",\n commit: {\n header: \"Följande lista visar alla ändringar.\",\n header_relation: \"Relation\",\n header_add: \"Tillagda visar antalet egenskaper som lagts till\",\n header_update_delete: \"Redigerad och Borttagen Visa en lista på egenskapernas id\",\n add: \"har lagts till\",\n delete: \"Borttagen\",\n update: \"Redigerad\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
V\\xE4lj relation f\\xF6r l\\xE4nkning till egenskap som ska redigeras.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Skapa och länka ny relation\",\n link_relation: \"Foga relationen till denna egenskap\",\n open_relation_tools: \"Visa relationsverktyg\",\n unlink_relation: \"Ta bort relation\"\n }\n },\n buttons: {\n save: \"Infoga/Redigera\",\n save_and_back: \"Spara och gå tillbaka\",\n save_and_back_table: \"Spara och gå tillbaka\",\n cancel: \"Ignorera ändringar\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],25:[function(require,module,exports){\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 _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 _rollback = function () {\n var _ref39 = _asyncToGenerator(function* () {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Promise.allSettled(Object.entries(relations).flatMap(function (_ref40) {\n var _ref41 = _slicedToArray(_ref40, 2),\n layerId = _ref41[0],\n _ref41$ = _ref41[1],\n add = _ref41$.add,\n del = _ref41$.delete,\n update = _ref41$.update,\n _ref41$$relations = _ref41$.relations,\n relations = _ref41$$relations === undefined ? {} : _ref41$$relations;\n\n var source = (0, _getEditingLayerById.getEditingLayerById)(layerId).getEditingSource();\n var has_features = source.readFeatures().length > 0; // check if the relation layer has some features\n // get original values\n return [].concat(_toConsumableArray((has_features && add || []).map(function () {\n var _ref43 = _asyncToGenerator(function* (_ref42) {\n var id = _ref42.id;\n\n source.removeFeature(source.getFeatureById(id));\n });\n\n return function (_x23) {\n return _ref43.apply(this, arguments);\n };\n }())), _toConsumableArray((has_features && update || []).map(function () {\n var _ref45 = _asyncToGenerator(function* (_ref44) {\n var id = _ref44.id;\n\n try {\n var response = yield XHR.get({\n url: CatalogLayersStoresRegistry.getLayerById(layerId).getUrl('data'),\n params: { fids: id }\n });\n var f = (response.result && response.vector.data.features || []).at(0);\n var feature = source.getFeatureById(id);\n feature.setProperties(f.properties);\n feature.setGeometry(f.geometry);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x24) {\n return _ref45.apply(this, arguments);\n };\n }())), _toConsumableArray(del.map(function () {\n var _ref46 = _asyncToGenerator(function* (id) {\n try {\n var response = yield XHR.get({\n url: CatalogLayersStoresRegistry.getLayerById(layerId).getUrl('data'),\n params: { fids: id }\n });\n var f = (response.result && response.vector.data.features || []).at(0);\n var feature = new ol.Feature({ geometry: f.geometry });\n feature.setProperties(f.properties);\n feature.setId(id);\n source.addFeature(new Feature({ feature: feature })); // add it again to source because relation layer is locked\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x25) {\n return _ref46.apply(this, arguments);\n };\n }())), [_rollback(relations)]);\n }));\n });\n\n return function _rollback() {\n return _ref39.apply(this, arguments);\n };\n}();\n\nrequire('./g3wsdk');\n\nvar _i18n = require('./i18n');\n\nvar _i18n2 = _interopRequireDefault(_i18n);\n\nvar _workflow = require('./g3wsdk/workflow/workflow');\n\nvar _step = require('./g3wsdk/workflow/step');\n\nvar _promisify = require('./utils/promisify');\n\nvar _createFeature = require('./utils/createFeature');\n\nvar _getEditingLayerById = require('./utils/getEditingLayerById');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('./utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _addPartToMultigeometries = require('./utils/addPartToMultigeometries');\n\nvar _workflows = require('./workflows');\n\nvar _toolbox = require('./toolboxes/toolbox');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar G3W_FID = g3wsdk.constant.G3W_FID;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n ApplicationService = _g3wsdk$core.ApplicationService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar _g3wsdk$core$i18n = g3wsdk.core.i18n,\n t = _g3wsdk$core$i18n.t,\n tPlugin = _g3wsdk$core$i18n.tPlugin;\nvar _g3wsdk$core$layer = g3wsdk.core.layer,\n Layer = _g3wsdk$core$layer.Layer,\n LayersStore = _g3wsdk$core$layer.LayersStore;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar MapLayersStoreRegistry = g3wsdk.core.map.MapLayersStoreRegistry;\nvar _g3wsdk$core$plugin = g3wsdk.core.plugin,\n Plugin = _g3wsdk$core$plugin.Plugin,\n PluginService = _g3wsdk$core$plugin.PluginService;\nvar _g3wsdk$core$utils = g3wsdk.core.utils,\n XHR = _g3wsdk$core$utils.XHR,\n noop = _g3wsdk$core$utils.noop;\nvar GUI = g3wsdk.gui.GUI;\nvar Panel = g3wsdk.gui.vue.Panel;\nvar serverErrorParser = g3wsdk.core.errors.parsers.Server;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n getScaleFromResolution = _g3wsdk$ol$utils.getScaleFromResolution,\n getResolutionFromScale = _g3wsdk$ol$utils.getResolutionFromScale;\n\n\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep,\n AddFeatureStep: _workflows.AddFeatureStep,\n ToolBox: _toolbox.ToolBox\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\nnew (function (_Plugin) {\n _inherits(_class, _Plugin);\n\n function _class() {\n _classCallCheck(this, _class);\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Global plugin state\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, {\n name: 'editing',\n i18n: _i18n2.default,\n fontClasses: [{ name: 'measure', className: \"fas fa-ruler-combined\" }, { name: 'magnete', className: \"fas fa-magnet\" }, { name: 'clipboard', className: \"fas fa-clipboard\" }]\n }));\n\n _this.state = {\n open: false, // check if panel is open or not\n toolboxes: [],\n _toolboxes: [], // TODO: `state._toolboxes` vs `state.toolboxes` ?\n toolboxselected: null,\n /** @since g3w-client-plugin-editing@v3.6.2 */\n showselectlayers: true, // whether to show selected layers on editing panel\n message: null,\n relations: [],\n sessions: {}, // store all sessions\n layers_in_error: false,\n formComponents: {}, // plugin components\n subscribers: {},\n constraints: { // editing contraints (layer, filter, ..) to get features\n toolboxes: {},\n showToolboxesExcluded: true\n },\n featuresOnClose: {}, // layers fatures to result when close editing (KEY LAYERID, VALUES ARRAY OF FEATURE FID CHANGES OR ADDED)\n uniqueFieldsValues: {}, // store unique fields values for each layer\n saveConfig: { // store configuration of how save/commit changes to server\n mode: \"default\", // default, autosave\n modal: false,\n messages: undefined, // object to set custom message\n cb: {\n done: function done() {}, // function executed after commit change done\n error: function error() {} // function executed after commit changes error\n }\n },\n editableLayers: {},\n events: {\n 'start-editing': {},\n 'show-relation-editing': {},\n layer: {\n start_editing: {\n before: {},\n after: {}\n }\n }\n },\n show_errors: false,\n editFeatureKey: undefined,\n panel: null, // editing panel\n currentLayout: ApplicationService.getCurrentLayoutName(),\n unwatchLayout: new Vue().$watch(function () {\n return ApplicationState.gui.layout.__current;\n }, function (layoutName) {\n return _this.state.currentLayout = layoutName !== _this.getName() ? layoutName : _this.state.currentLayout;\n }),\n onMapControlToggled: function onMapControlToggled(_ref3) {\n var target = _ref3.target;\n\n target.isToggled() && target.isClickMap() && _this.state.toolboxselected && _this.state.toolboxselected.getActiveTool() && _this.state.toolboxselected.stopActiveTool();\n }\n };\n\n // BACKOMP v3.x\n _this.setService(Object.assign(new PluginService(), {\n state: _this.state,\n config: _this.config,\n getSession: _this.getSession.bind(_this),\n getFeature: _this.getFeature.bind(_this),\n subscribe: _this.subscribe.bind(_this),\n unsubscribe: _this.unsubscribe.bind(_this),\n fireEvent: _this.fireEvent.bind(_this),\n undo: _this.undo.bind(_this),\n redo: _this.redo.bind(_this),\n getEditingLayer: _this.getEditingLayer.bind(_this),\n addToolBox: _this.addToolBox.bind(_this),\n runEventHandler: _this.runEventHandler.bind(_this),\n resetDefault: _this.resetDefault.bind(_this),\n resetAPIDefault: _this.resetAPIDefault.bind(_this),\n getLayers: _this.getLayers.bind(_this),\n getLayerById: _this.getLayerById.bind(_this),\n getToolBoxById: _this.getToolBoxById.bind(_this),\n getSessionById: _this.getSessionById.bind(_this),\n setApplicationEditingConstraints: _this.setApplicationEditingConstraints.bind(_this),\n getToolBoxes: _this.getToolBoxes.bind(_this),\n getEditableLayers: _this.getEditableLayers.bind(_this),\n stop: _this.stop.bind(_this),\n saveChange: _this.saveChange.bind(_this),\n commit: _this.commit.bind(_this),\n undoRedoLayerUniqueFieldValues: _this.undoRedoLayerUniqueFieldValues.bind(_this),\n undoRedoRelationUniqueFieldValues: _this.undoRedoRelationUniqueFieldValues.bind(_this),\n stopEditing: _this.stopEditing.bind(_this),\n startEditing: _this.startEditing.bind(_this),\n addLayerFeature: _this.addLayerFeature.bind(_this)\n }));\n\n // set map control toggle event\n GUI.getService('map').on('mapcontrol:toggled', _this.state.onMapControlToggled);\n\n _this._init();\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(_class, [{\n key: '_init',\n value: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n // skip when no editable layer\n if (!CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).length) {\n return;\n }\n\n this.setHookLoading({ loading: true });\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1 */\n this.service.setApi({\n api: {\n getSession: this.getSession.bind(this),\n getFeature: this.getFeature.bind(this),\n subscribe: this.subscribe.bind(this),\n unsubscribe: this.unsubscribe.bind(this),\n getToolBoxById: this.getToolBoxById.bind(this),\n addNewFeature: _createFeature.createFeature,\n commitChanges: this.commit.bind(this),\n setApplicationEditingConstraints: this.setApplicationEditingConstraints.bind(this),\n getMapService: function getMapService() {\n return GUI.getService('map');\n },\n updateLayerFeature: noop,\n deleteLayerFeature: noop,\n addLayerFeature: this.addLayerFeature.bind(this),\n hidePanel: this.hideEditingPanel.bind(this),\n resetDefault: this.resetAPIDefault.bind(this),\n startEditing: this.startEditing.bind(this),\n stopEditing: this.stopEditing.bind(this),\n showPanel: this.showPanel.bind(this),\n setSaveConfig: this.setSaveConfig.bind(this),\n addFormComponents: this.addFormComponents.bind(this)\n }\n });\n\n // add editing layer store to mapstoreregistry\n MapLayersStoreRegistry.addLayersStore(new LayersStore({ id: 'editing', queryable: false }));\n\n this.state.editableLayers = {};\n this.state._toolboxes = [];\n this.state.toolboxes = [];\n\n // loop over editable layers\n (yield Promise.allSettled(CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }, { TOC_ORDER: true }).map(function (l) {\n return l.getLayerForEditing({\n vectorurl: _this2.config.vectorurl,\n project_type: _this2.config.project_type\n });\n }))).forEach(function (_ref5) {\n var status = _ref5.status,\n layer = _ref5.value;\n\n\n // skip on http error\n if ('fulfilled' !== status) {\n _this2.state.layers_in_error = true;\n return;\n }\n\n _this2.state.editableLayers[layer.getId()] = layer;\n\n //set default empty object\n _this2.state.uniqueFieldsValues[layer.getId()] = {};\n\n /**\n * attach layer widgets event: get data from api when a field of a layer\n * is related to a wgis form widget (ex. relation reference, value map, etc..)\n */\n layer.getEditingFields().filter(function (field) {\n return field.input && 'select_autocomplete' === field.input.type && !field.input.options.filter_expression && !field.input.options.usecompleter;\n })\n /** @TODO need to avoid to call the same fnc to same event many times to avoid waste server request time */\n .forEach(function (field) {\n return ['start-editing', 'show-relation-editing'].forEach(function (type) {\n var id = layer.getId();\n _this2.state.events[type][id] = _this2.state.events[type][id] || [];\n\n _this2.state.events[type][id].push(_asyncToGenerator(function* () {\n var options = field.input.options;\n\n // remove all values\n options.loading.state = 'loading';\n options.values = [];\n\n var relationLayer = options.layer_id && CatalogLayersStoresRegistry.getLayerById(options.layer_id);\n var has_filter = [undefined, null].includes(options.filter_fields || []) || 0 === (options.filter_fields || []).length;\n\n try {\n\n // relation reference widget + no filter set\n if (options.relation_reference && has_filter) {\n var response = yield layer.getFilterData({ fformatter: field.name }); // get data with fformatter\n if (response && response.data) {\n var _options$values;\n\n // response data is an array ok key value objects\n (_options$values = options.values).push.apply(_options$values, _toConsumableArray(response.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 options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, data: [response.data] });\n return options.values;\n }\n }\n\n // value map widget\n if (relationLayer) {\n //ordering by value or key depend on orderbyvalue Boolean value\n var _response = yield (0, _promisify.promisify)(relationLayer.getDataTable({ ordering: options.orderbyvalue ? options.value : options.key }));\n if (_response && _response.features) {\n var _options$values2;\n\n (_options$values2 = options.values).push.apply(_options$values2, _toConsumableArray((_response.features || []).map(function (feature) {\n return {\n key: feature.properties[options.value],\n value: feature.properties[options.key]\n };\n })));\n options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, features: _response.features });\n return options.values;\n }\n }\n\n /** @TODO check if deprecated */\n var features = [];\n options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, features: features });\n return features;\n } catch (e) {\n console.warn(e);\n options.loading.state = 'error';\n return Promise.reject(e);\n }\n }));\n });\n });\n\n _this2.state.sessions[layer.getId()] = null;\n });\n\n var i = 0;\n this.getLayers().forEach(function (editingLayer) {\n /**\n * set 1:1 relation fields editable\n * \n * Check if layer has relation 1:1 (type ONE) and if fields\n *\n * belongs to relation where child layer is editable\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\n var fatherId = editingLayer.getId(); // father layer\n CatalogLayersStoresRegistry.getLayerById(fatherId).getRelations().getArray().filter(function (relation) {\n return 'ONE' === relation.getType() && fatherId === relation.getFather();\n }) // 'ONE' == join 1:1 + father layerId is a father of relation\n .forEach(function (relation) {\n var isChildEditable = undefined !== _this2.getLayerById(relation.getChild()); // check if child layerId is editable (in editing)\n _this2.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }) // father layer fields (in editing)\n .forEach(function (f) {\n f.editable = f.editable && isChildEditable;\n }); // current editable boolean value + child editable layer\n });\n // Set editing layer color and toolbox style\n if (!editingLayer.getColor()) {\n editingLayer.setColor(editingLayer.isGeoLayer() ? [\"#C43C39\", \"#d95f02\", \"#91522D\", \"#7F9801\", \"#0B2637\", \"#8D5A99\", \"#85B66F\", \"#8D2307\", \"#2B83BA\", \"#7D8B8F\", \"#E8718D\", \"#1E434C\", \"#9B4F07\", '#1b9e77', \"#FF9E17\", \"#7570b3\", \"#204B24\", \"#9795A3\", \"#C94F44\", \"#7B9F35\", \"#373276\", \"#882D61\", \"#AA9039\", \"#F38F3A\", \"#712333\", \"#3B3A73\", \"#9E5165\", \"#A51E22\", \"#261326\", \"#e4572e\", \"#29335c\", \"#f3a712\", \"#669bbc\", \"#eb6841\", \"#4f372d\", \"#cc2a36\", \"#00a0b0\", \"#00b159\", \"#f37735\", \"#ffc425\"][i++ % 40] : '#fff');\n }\n });\n\n // after add layers to layerstore\n MapLayersStoreRegistry.getLayersStore('editing').addLayers(this.getLayers());\n\n // create toolboxes\n this.getLayers().forEach(function (l) {\n return _this2.addToolBox(new _toolbox.ToolBox(l, [].concat(_toConsumableArray(l.getChildren()), _toConsumableArray(l.getFathers())).filter(function (id) {\n return _this2.getLayerById(id);\n })));\n });\n\n yield GUI.isReady();\n\n this._setupGUI();\n\n this.setHookLoading({ loading: false });\n this.setReady(true);\n });\n\n function _init() {\n return _ref4.apply(this, arguments);\n }\n\n return _init;\n }()\n\n // setup plugin interface\n\n }, {\n key: '_setupGUI',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n //@since 3.9.0\n // skip when:\n // 1 - plugin is not referred to the current project id\n // 2 - configuration of plugin, visible is set to false\n // 3 - There aren't editable layers or all are not visible\n if (!this.registerPlugin(this.config.gid) || false === this.config.visible || 0 === this.getLayers().filter(function (l) {\n return l.config.editing.visible;\n }).length) {\n return;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin/toolboxes/toolboxesfactory.js@v3.7.1\n *\n * Register query result action: edit selected feature from query results\n */\n this.state.editFeatureKey = GUI.getService('queryresults').onafter('editFeature', _asyncToGenerator(function* () {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n feature = _ref11.feature;\n\n var fid = feature.attributes[G3W_FID] || feature.id;\n\n //In case of not unique id, skip\n if (undefined === fid) {\n return;\n }\n\n _this3.getToolBoxes().forEach(function (tb) {\n return tb.setShow(layer.id === tb.getId());\n });\n _this3.showEditingPanel();\n\n _this3.state.showselectlayers = false;\n\n _this3.subscribe('closeeditingpanel', function () {\n _this3.state.showselectlayers = true;return { once: true };\n });\n\n var toolBox = _this3.getToolBoxById(layer.id);\n //set selected\n toolBox.setSelected(true);\n\n var session = toolBox.getSession();\n\n var _toolBox$getEditingCo = toolBox.getEditingConstraints(),\n scale = _toolBox$getEditingCo.scale; // get scale constraint from setting layer\n\n var w = void 0;\n\n // start toolbox (filtered by feature id)\n try {\n // check map scale after zoom to feature\n // if currentScale is more that scale constraint set by layer editing\n // needs to go to scale setting by layer editing constraint\n if (scale) {\n var units = GUI.getService('map').getMapUnits();\n var map = GUI.getService('map').getMap();\n var currentScale = parseInt(getScaleFromResolution(map.getView().getResolution(), GUI.getService('map').getMapUnits()));\n if (currentScale > scale) {\n map.getView().setResolution(getResolutionFromScale(scale, units));\n }\n }\n\n yield (0, _promisify.promisify)(toolBox.start({ filter: { fids: fid } }));\n\n var _layer = toolBox.getLayer();\n var source = _layer.getEditingLayer().getSource();\n var is_vector = Layer.LayerTypes.VECTOR === _layer.getType();\n\n // get feature from an Editing layer source (with styles)\n var features = is_vector ? source.getFeatures() : source.readFeatures();\n var _feature = features.find(function (f) {\n return fid == f.getId();\n });\n\n // skip when not feature is get from server\n if (!_feature) {\n return;\n }\n\n var geom = _feature.getGeometry();\n\n // feature has geometry → zoom to geometry\n if (geom) {\n GUI.getService('map').zoomToGeometry(geom);\n }\n\n toolBox.setSelected(true);\n\n _this3.state.toolboxselected = toolBox;\n\n var addPartTool = is_vector && !geom && toolBox.getTools().find(function (t) {\n return 'addPart' === t.getId();\n });\n\n // check if layer is single geometry. Need to show and change behaviour\n if (addPartTool && !Geometry.isMultiGeometry(_layer.getGeometryType())) {\n addPartTool.visible = true;\n }\n\n // add geometry when vector layer feature has no geometry\n if (addPartTool) {\n //get workflow\n var op = addPartTool.getOperator();\n var _w = new _workflow.Workflow({\n type: 'drawgeometry',\n helpMessage: 'editing.workflow.steps.draw_geometry',\n runOnce: true, // need to run once time\n steps: [new _workflows.AddFeatureStep({\n add: false,\n steps: {\n addfeature: {\n description: 'editing.workflow.steps.draw_geometry'\n }\n },\n onRun: function onRun(_ref12) {\n var inputs = _ref12.inputs,\n context = _ref12.context;\n\n _w.emit('settoolsoftool', [{\n type: 'snap',\n options: {\n layerId: inputs.layer.getId(),\n source: inputs.layer.getEditingLayer().getSource(),\n active: true\n }\n }, {\n type: 'measure',\n options: {\n active: false\n }\n }]);\n _w.emit('active', ['snap']);\n },\n onStop: function onStop() {\n return _w.emit('deactive', ['snap', 'measure']);\n }\n }),\n // add part to multi geometries\n new _step.Step({ run: _addPartToMultigeometries.addPartToMultigeometries })],\n registerEscKeyEvent: true\n });\n\n addPartTool.setOperator(_w);\n\n _this3.subscribe('closeeditingpanel', function () {\n addPartTool.setOperator(op);\n addPartTool.visible = Geometry.isMultiGeometry(_layer.getGeometryType());\n });\n }\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editnopickmapfeatureattributesworkflow.js@v3.7.1 */\n w = new _workflow.Workflow({\n type: 'editnopickmapfeatureattributes',\n runOnce: true,\n helpMessage: 'editing.tools.update_feature',\n steps: [new _workflows.OpenFormStep()]\n });\n\n yield (0, _promisify.promisify)(w.start({\n inputs: { layer: _layer, features: [_feature] },\n context: { session: session }\n }));\n\n yield (0, _promisify.promisify)(session.save());\n\n _this3.saveChange();\n } catch (e) {\n console.warn(e);\n session.rollback();\n } finally {\n w.stop();\n }\n }));\n\n this.config.name = this.config.name || \"plugins.editing.editing_data\";\n\n this.addToolGroup({ position: 0, title: 'EDITING' });\n this.addTools({\n action: this.showEditingPanel,\n offline: false,\n icon: 'pencil'\n }, { position: 0, title: 'EDITING' });\n });\n\n function _setupGUI() {\n return _ref9.apply(this, arguments);\n }\n\n return _setupGUI;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Get session\n *\n * @param layerId\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref13.layerId;\n\n return this.getToolBoxById(layerId).getSession();\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n *\n * @param layerId\n *\n * @returns Feature in editing\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getFeature',\n value: function getFeature() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref14.layerId;\n\n return this.getToolBoxById(layerId).getActiveTool().getLayer().features[0];\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Subscribe handler function on event\n *\n * @param event\n * @param { Function } fnc\n *\n * @returns { Function } function\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'subscribe',\n value: function subscribe(event, fnc) {\n if (!this.state.subscribers[event]) {\n this.state.subscribers[event] = [];\n }\n if (!this.state.subscribers[event].find(function (subscribe) {\n return fnc === subscribe;\n })) {\n this.state.subscribers[event].push(fnc);\n }\n return fnc;\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Unsubscribe handler function on event\n *\n * @param event\n * @param fnc\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'unsubscribe',\n value: function unsubscribe(event, fnc) {\n this.state.subscribers[event] = this.state.subscribers[event].filter(function (sub) {\n return fnc !== sub;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param event\n * @param options\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'fireEvent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* (event) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.state.subscribers[event]) {\n this.state.subscribers[event].forEach(function (fnc) {\n var response = fnc(options);\n if (response && response.once) {\n _this4.unsubscribe(event, fnc);\n }\n });\n }\n });\n\n function fireEvent(_x5) {\n return _ref15.apply(this, arguments);\n }\n\n return fireEvent;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Undo method\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undo',\n value: function undo() {\n var _this5 = this;\n\n var session = this.state.toolboxselected.getSession();\n var layerId = session.getId();\n var sessionItems = session.getLastHistoryState().items;\n\n //update unique values fields after undo\n this.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: 'undo'\n });\n\n var undoItems = session.undo();\n //update unique values of relations after undo\n this.undoRedoRelationUniqueFieldValues({\n relationSessionItems: undoItems,\n action: 'undo'\n });\n\n // undo relations\n Object.entries(undoItems).forEach(function (_ref16) {\n var _ref17 = _slicedToArray(_ref16, 2),\n toolboxId = _ref17[0],\n items = _ref17[1];\n\n _this5.getToolBoxById(toolboxId).getSession().undo(items);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'redo',\n value: function redo() {\n var _this6 = this;\n\n var session = this.state.toolboxselected.getSession();\n var layerId = session.getId();\n var sessionItems = session.getLastHistoryState().items;\n //update unique values fields after redo\n this.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: 'redo'\n });\n var redoItems = session.redo();\n //update unique values of relations after redo\n this.undoRedoRelationUniqueFieldValues({\n relationSessionItems: redoItems,\n action: 'redo'\n });\n\n // redo relations\n Object.entries(redoItems).forEach(function (_ref18) {\n var _ref19 = _slicedToArray(_ref18, 2),\n toolboxId = _ref19[0],\n items = _ref19[1];\n\n _this6.getToolBoxById(toolboxId).getSession().redo(items);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer(id) {\n return this.state.editableLayers[id].getEditingLayer();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param toolbox\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addToolBox',\n value: function addToolBox(toolbox) {\n this.state._toolboxes.push(toolbox);\n this.state.sessions[toolbox.getId()] = toolbox.getSession(); // add session\n this.state.toolboxes.push(toolbox.state);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } handler\n * @param handler.type\n * @param handler.id\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'runEventHandler',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref21.type,\n id = _ref21.id;\n\n if (this.state.events[type] && this.state.events[type][id]) {\n yield Promise.allSettled(this.state.events[type][id].map(function (fnc) {\n return fnc();\n }));\n }\n });\n\n function runEventHandler() {\n return _ref20.apply(this, arguments);\n }\n\n return runEventHandler;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Reset default values\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'resetDefault',\n value: function resetDefault() {\n this.state.saveConfig = {\n mode: \"default\", // default, autosave\n modal: false,\n messages: undefined, // object to set a custom message\n cb: {\n done: function done() {}, // function Called after save\n error: function error() {} // function called affect commit error\n }\n };\n GUI.getService('map').disableClickMapControls(false);\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Reset default toolbox state modified by other plugin\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'resetAPIDefault',\n value: function resetAPIDefault() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$plugin = _ref22.plugin,\n plugin = _ref22$plugin === undefined ? true : _ref22$plugin,\n _ref22$toolboxes = _ref22.toolboxes,\n toolboxes = _ref22$toolboxes === undefined ? true : _ref22$toolboxes;\n\n if (toolboxes) {\n this.getToolBoxes().forEach(function (tb) {\n return tb.resetDefault();\n });\n }\n if (plugin) {\n this.resetDefault();\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return Object.values(this.state.editableLayers);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.state.editableLayers[id];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getToolBoxById',\n value: function getToolBoxById(id) {\n return this.state._toolboxes.find(function (tb) {\n return id === tb.getId();\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Get layer session by id (layer id is the same of session)\n *\n * @param id\n *\n * @returns {*}\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\n\n }, {\n key: 'getSessionById',\n value: function getSessionById(id) {\n return this.state.sessions[id];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Method to apply filter editing contsraint to toolbox editing\n * Apply filter editing contsraint to toolbox editing\n *\n * @param constraints\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setApplicationEditingConstraints',\n value: function setApplicationEditingConstraints() {\n var _this7 = this;\n\n var constraints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { showToolboxesExcluded: true, toolboxes: {} };\n\n this.state.constraints = _extends({}, this.state.constraints, constraints);\n\n var toolboxes = constraints.toolboxes,\n showToolboxesExcluded = constraints.showToolboxesExcluded;\n\n var toolboxIds = Object.keys(toolboxes);\n if (false === showToolboxesExcluded) {\n this.state.toolboxes.forEach(function (t) {\n return t.show = toolboxIds.includes(t.id);\n });\n }\n toolboxIds.forEach(function (id) {\n return _this7.getToolBoxById(id).setEditingConstraints(toolboxes[id]);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getToolBoxes',\n value: function getToolBoxes() {\n return this.state._toolboxes;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns {*|{}}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getEditableLayers',\n value: function getEditableLayers() {\n return this.state.editableLayers;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Stop editing\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var commitpromises = this.state._toolboxes.filter(function (t) {\n return t.getSession().getHistory().state.commit;\n }) // check if temp changes are waiting to save on server\n .map(function (toolbox) {\n return _this8.commit({ toolbox: toolbox, modal: true });\n });\n try {\n yield (0, _promisify.promisify)($.when.apply(this, commitpromises));\n } catch (e) {\n console.warn(e);\n }\n\n this.state._toolboxes.forEach(function (t) {\n return t.stop();\n });\n\n this.state.toolboxselected = null;\n this.state.message = null;\n\n //reset unique values\n Object.keys(this.state.uniqueFieldsValues).forEach(function (id) {\n return _this8.state.uniqueFieldsValues[id] = {};\n });\n\n GUI.getService('map').refreshMap();\n });\n\n function stop() {\n return _ref23.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Function called very single change saved temporary\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'saveChange',\n value: function () {\n var _ref24 = _asyncToGenerator(function* () {\n if ('autosave' === this.state.saveConfig.mode) {\n return this.commit({ modal: false }); // set to not show a modal ask window\n }\n });\n\n function saveChange() {\n return _ref24.apply(this, arguments);\n }\n\n return saveChange;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Commit and save changes on server persistently\n *\n * @param { Object } commit\n * @param commit.toolbox\n * @param commit.commitItems\n * @param commit.messages\n * @param commit.done\n * @param { boolean } commit.modal\n * @param { boolean } commit.close\n *\n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'commit',\n value: function commit() {\n var _this10 = this;\n\n var _ref25 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n toolbox = _ref25.toolbox,\n commitItems = _ref25.commitItems,\n _ref25$modal = _ref25.modal,\n modal = _ref25$modal === undefined ? true : _ref25$modal,\n _ref25$close = _ref25.close,\n close = _ref25$close === undefined ? false : _ref25$close;\n\n var messages = Object.assign({ success: { message: \"plugins.editing.messages.saved\", autoclose: true }, error: {} }, this.state.saveConfig.messages || {});\n toolbox = toolbox || this.state.toolboxselected;\n var layer = toolbox.getLayer();\n var items = commitItems;\n commitItems = commitItems || toolbox.getSession().getCommitItems();\n var online = ApplicationState.online;\n var has_changes = [].concat(_toConsumableArray(commitItems.add || []), _toConsumableArray(commitItems.delete || []), _toConsumableArray(commitItems.update || []), _toConsumableArray(Object.keys(commitItems.relations || {}))).length;\n var workflow = void 0,\n dialog = void 0,\n serverError = void 0;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when there is nothing to save\n if (!has_changes) {\n GUI.showUserMessage({ type: 'info', message: 'Nothing to save', autoclose: true, closable: false });\n return toolbox;\n }\n\n try {\n\n // show commit modal window\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 */\n if (modal) {\n workflow = new _workflow.Workflow({\n type: 'commitfeatures',\n steps: [\n // confirm step\n new _step.Step({\n run: function run(inputs) {\n var _this9 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var dialog = GUI.dialog.dialog({\n message: inputs.message,\n title: tPlugin(\"editing.messages.commit_feature\") + ': \"' + inputs.layer.getName() + '\"',\n buttons: _extends({\n SAVE: { className: \"btn-success\", callback: function callback() {\n resolve(inputs);\n },\n label: t(\"save\") },\n CANCEL: { className: \"btn-danger\", callback: function callback() {\n reject({ cancel: true });\n },\n label: t(inputs.close ? \"exitnosave\" : \"annul\") }\n }, inputs.close ? { CLOSEMODAL: { className: \"btn-primary\", callback: function callback() {\n dialog.modal('hide');\n },\n label: t(\"annul\") } } : {})\n });\n if (inputs.features) {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: promise(), inputs: inputs, style: _this9.selectStyle });\n }\n }));\n }\n })]\n });\n //need to get to confirm or cancel choose from modal\n try {\n yield (0, _promisify.promisify)(workflow.start({\n inputs: {\n close: close,\n layer: layer,\n message: new (Vue.extend(require('./components/Changes.vue')))({\n propsData: {\n commits: commitItems,\n layer: layer\n } }).$mount().$el\n }\n }));\n yield (0, _promisify.promisify)(workflow.stop());\n } catch (e) {\n console.warn(e);\n // In the case of pressed cancel button to commit features modal\n if (e && e.cancel) {\n return Promise.reject(e);\n }\n //need to be set server Error\n serverError = true;\n }\n\n //in case of online application\n if (online) {\n dialog = GUI.dialog.dialog({\n message: '

\\n ' + tPlugin('editing.messages.saving') + '\\n

',\n closeButton: false\n });\n }\n }\n\n var data = !online && _defineProperty({}, toolbox.getSession().getId(), commitItems);\n //get current offline editing changes\n var changes = !online && JSON.parse(window.localStorage.getItem('EDITING_CHANGES') || null);\n\n // handle offline changes\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 */\n Object.keys(changes || {}).forEach(function (layerId) {\n var currLayerId = Object.keys(data)[0];\n\n // check if previous changes are made in the same layer or in relationlayer of current\n var current = null;\n\n if (data[layerId]) {\n current = data;\n } else if (data[currLayerId].relations[layerId]) {\n current = data[currLayerId].relations;\n }\n\n // check if in the last changes\n var relationsIds = !current && Object.keys(changes[layerId].relations || {});\n var has_relations = !current && relationsIds.length > 0;\n var GIVE_ME_A_NAME = !current && has_relations && relationsIds.includes(currLayerId);\n\n // apply changes\n if (current || GIVE_ME_A_NAME) {\n var id = current ? layerId : currLayerId;\n var curr = current ? current : data;\n var prev = current ? changes : changes[layerId].relations;\n curr[id].add = [].concat(_toConsumableArray(curr[id].add), _toConsumableArray(curr[id].add));\n curr[id].delete = [].concat(_toConsumableArray(curr[id].delete), _toConsumableArray(curr[id].delete));\n\n (prev[id].update || []).filter(function (update) {\n return !curr[id].update.find(function (u) {\n return u.id === update.id;\n });\n }).forEach(function (update) {\n return curr[id].update.unshift(update);\n });\n\n (prev[id].lockids || []).filter(function (lock) {\n return !curr[id].lockids.find(function (l) {\n return l.featureid === lock.featureid;\n });\n }).forEach(function (lock) {\n return curr[id].update.unshift(lock);\n });\n }\n\n if (GIVE_ME_A_NAME) {\n changes[layerId].relations[currLayerId] = data[currLayerId];\n data = changes;\n }\n if (!current && !has_relations) {\n data[layerId] = changes[layerId];\n }\n });\n\n if (!online) {\n\n GUI.showUserMessage({\n type: 'success',\n message: \"plugins.editing.messages.saved_local\",\n autoclose: true\n });\n //clear history because it saved on browser\n toolbox.getSession().clearHistory();\n }\n\n try {\n // check if the application is online\n var _ref28 = online ? yield (0, _promisify.promisify)(toolbox.getSession().commit({ items: items || commitItems, __esPromise: true })) : {},\n commit = _ref28.commit,\n response = _ref28.response;\n\n //check if is online and there are some commit items\n\n\n var online2 = online && commit;\n\n var result = online2 && response.result;\n\n if (result && messages && messages.success) {\n // hide saving dialog\n if (dialog) {\n dialog.modal('hide');\n }\n\n //Show save user message\n GUI.showUserMessage({\n type: 'success',\n message: messages.success.message || \"plugins.editing.messages.saved\",\n duration: 2000,\n autoclose: undefined === messages.success.autoclose ? true : messages.success.autoclose\n });\n }\n\n // In the case of vector layer need to refresh map commit changes\n if (result && Layer.LayerTypes.VECTOR === layer.getType()) {\n GUI.getService('map').refreshMap({ force: true });\n }\n\n if (online) {\n _this10.state.saveConfig.cb.done(toolbox);\n }\n\n // add items when close editing to result to show changes\n var layerId = result && toolbox.getId();\n\n if (layerId) {\n _this10.state.featuresOnClose[layerId] = _this10.state.featuresOnClose[layerId] || new Set();\n [].concat(_toConsumableArray(response.response.new.map(function (n) {\n return n.id;\n })), _toConsumableArray(commit.update.map(function (u) {\n return u.id;\n }))).forEach(function (fid) {\n return _this10.state.featuresOnClose[layerId].add(fid);\n });\n }\n\n // @since 3.7.2 - click on save all disk icon (editing form relation)\n if (result) {\n _this10.emit('commit', response.response);\n }\n\n // the result is false. It was done a commit, but an error occurs\n if (online2 && !result) {\n serverError = true;\n throw response;\n }\n } catch (e) {\n console.warn(e);\n if (online) {\n serverError = true;\n throw e;\n }\n }\n } catch (e) {\n console.warn(e);\n\n // hide saving dialog\n if (dialog) {\n dialog.modal('hide');\n }\n\n // rollback\n //@TODO check if it is usefull\n if (modal) {\n try {\n yield _rollback(commitItems.relations);\n } catch (e) {\n console.warn(e);\n }\n }\n\n // parse server error\n if (serverError || modal) {\n var message = online ? messages.error.message || new serverErrorParser({ error: e.errors || e || {} }).parse({ type: 'String' }) : e;\n\n GUI.showUserMessage({\n type: 'alert',\n message: message,\n textMessage: online ? !messages.error.message : true,\n autoclose: online ? undefined !== messages.error.autoclose ? messages.error.autoclose : false : false\n });\n\n _this10.state.saveConfig.cb.error(toolbox, message);\n }\n\n return Promise.reject(toolbox);\n }\n return toolbox;\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param { string } opts.layerId\n * @param { Array } opts.sessionItems\n * @param opts.action\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undoRedoLayerUniqueFieldValues',\n value: function undoRedoLayerUniqueFieldValues(_ref29) {\n var _this11 = this;\n\n var layerId = _ref29.layerId,\n _ref29$sessionItems = _ref29.sessionItems,\n sessionItems = _ref29$sessionItems === undefined ? [] : _ref29$sessionItems,\n action = _ref29.action;\n\n\n // if not set\n if (undefined === this.state.uniqueFieldsValues[layerId]) {\n return;\n }\n\n sessionItems.forEach(function (item) {\n\n Object.keys(_this11.state.uniqueFieldsValues[layerId]).forEach(function (name) {\n //name is the name of field\n //check if change is an update [oldVal, newValue]\n var is_array = Array.isArray(item);\n var oldVal = void 0,\n newVal = void 0;\n if (is_array) {\n // 0 = old value feature, 1 = new value feature\n var has_change = item[1].feature.get(name) != item[0].feature.get(name);\n // update feature that contains \"new\" and \"old\" values of feature\n oldVal = has_change ? action === 'undo' ? item[1].feature.get(name) : item[0].feature.get(name) : undefined;\n newVal = has_change ? action === 'undo' ? item[0].feature.get(name) : item[1].feature.get(name) : undefined;\n } else {\n oldVal = 'add' === item.feature.getState() ? item.feature.get(name) : undefined;\n newVal = 'delete' === item.feature.getState() ? item.feature.get(name) : undefined;\n }\n // delete layer unique field value\n if (undefined !== oldVal) {\n _this11.state.uniqueFieldsValues[layerId][name].delete(oldVal);\n }\n // add layer unique field value\n if (undefined !== newVal) {\n _this11.state.uniqueFieldsValues[layerId][name].add(newVal);\n }\n });\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.relationSessionItems\n * @param opts.action\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undoRedoRelationUniqueFieldValues',\n value: function undoRedoRelationUniqueFieldValues(_ref30) {\n var _this12 = this;\n\n var relationSessionItems = _ref30.relationSessionItems,\n action = _ref30.action;\n\n Object.entries(relationSessionItems).forEach(function (_ref31) {\n var _ref32 = _slicedToArray(_ref31, 2),\n layerId = _ref32[0],\n _ref32$ = _ref32[1],\n sessionItems = _ref32$.own,\n relationSessionItems = _ref32$.dependencies;\n\n //undo/redo unique field of layer\n _this12.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: action\n });\n //undo/redo unique field of relations\n _this12.undoRedoRelationUniqueFieldValues({\n relationSessionItems: relationSessionItems,\n action: action\n });\n });\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Stop editing on layerId\n *\n * @param layerId\n * @param options\n *\n * @returns { Promise }\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref33 = _asyncToGenerator(function* (layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _promisify.promisify)(this.getToolBoxById(layerId).stop(options));\n });\n\n function stopEditing(_x11) {\n return _ref33.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Start editing API\n *\n * @param layerId\n * @param { Object } options\n * @param { boolean } [options.selected=true]\n * @param { boolean } [options.disablemapcontrols=false]\n * @param { boolean } [options.showselectlayers=true]\n * @param { string } [options.title]\n * @param data\n *\n *\n * @returns { Promise }\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref34 = _asyncToGenerator(function* (layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n options.selected = undefined === options.selected ? true : options.selected;\n options.showselectlayers = undefined === options.showselectlayers ? true : options.showselectlayers;\n options.disablemapcontrols = undefined === options.disablemapcontrols ? false : options.showselectlayers;\n // get toolbox related to layer id\n var toolbox = this.getToolBoxById(layerId);\n // set show select layers input visibility\n this.state.showselectlayers = options.showselectlayers;\n // skip if toolbox doesn't exist\n if (!toolbox) {\n return Promise.reject();\n }\n // set selected\n toolbox.setSelected(options.selected);\n // set seletcted toolbox\n if (options.selected) {\n this.state.toolboxselected = toolbox;\n }\n\n //set toolbox title if provide\n if (options.title) {\n toolbox.setTitle(options.title);\n }\n\n // start editing toolbox (options contain also a filter type)\n data = yield (0, _promisify.promisify)(toolbox.start(options));\n // disablemapcontrols in conflict\n if (options.disablemapcontrols) {\n GUI.getService('map').disableClickMapControls(true);\n }\n // opts contain information about start editing has features loaded\n return data ? { toolbox: toolbox, data: data } : toolbox;\n });\n\n function startEditing(_x14) {\n return _ref34.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Add Feature\n *\n * @param { Object } opts\n * @param opts.layerId\n * @param opts.feature\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'addLayerFeature',\n value: function addLayerFeature() {\n var _this13 = this;\n\n var _ref35 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref35.layerId,\n feature = _ref35.feature;\n\n // skip when mandatory params are missing\n if ([feature, layerId].includes(undefined)) {\n return Promise.reject();\n }\n return new Promise(function () {\n var _ref36 = _asyncToGenerator(function* (resolve, reject) {\n var layer = _this13.getLayerById(layerId);\n // get session\n var session = _this13.getSessionById(layerId);\n // exclude an eventual attribute pk (primary key) not editable (mean autoincrement)\n var attributes = layer.getEditingFields().filter(function (attr) {\n return !(attr.pk && !attr.editable);\n });\n // start session (get no features but set layer in editing)\n session.start({\n filter: {\n nofeatures: true, // no feature\n nofeatures_field: attributes[0].name // get the first field in editing form\n },\n editing: true\n });\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/easyaddfeatureworkflow.js@v3.7.1 */\n // create workflow\n var workflow = new _workflow.Workflow({\n type: 'addfeature',\n steps: [new _workflows.OpenFormStep({\n push: true,\n showgoback: false,\n saveAll: false\n })]\n });\n\n var stop = function stop(cb) {\n workflow.stop();\n session.stop();\n return cb();\n };\n\n try {\n //check if feature has property of layer\n attributes.forEach(function (a) {\n if (undefined === feature.get(a.name)) {\n feature.set(a.name, null);\n }\n });\n\n try {\n //set feature as g3w feature\n feature = new Feature({ feature: feature, properties: attributes.map(function (a) {\n return a.name;\n }) });\n //set new\n feature.setTemporaryId();\n\n // add to session and source as new feature\n session.pushAdd(layerId, feature, false);\n layer.getEditingLayer().getSource().addFeature(feature);\n //start workflow\n yield (0, _promisify.promisify)(workflow.start({\n inputs: { layer: layer, features: [feature] },\n context: { session: session }\n }));\n\n session.save();\n\n try {\n yield (0, _promisify.promisify)(_this13.commit({ modal: false, toolbox: _this13.getToolBoxById(layerId) }));\n stop(resolve);\n } catch (e) {\n console.warn(e);\n stop(reject);\n }\n } catch (e) {\n console.warn(e);\n stop(reject);\n }\n } catch (e) {\n console.warn(e);\n reject();\n }\n });\n\n return function (_x16, _x17) {\n return _ref36.apply(this, arguments);\n };\n }());\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } save\n * @param save.mode - default or autosave\n * @param save.cb - object contain done/error two functions\n * @param save.modal - Boolean true or false to show to ask\n * @param save.messages - object success or error\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setSaveConfig',\n value: function setSaveConfig() {\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$mode = _ref37.mode,\n mode = _ref37$mode === undefined ? 'default' : _ref37$mode,\n _ref37$cb = _ref37.cb,\n cb = _ref37$cb === undefined ? {} : _ref37$cb,\n _ref37$modal = _ref37.modal,\n modal = _ref37$modal === undefined ? false : _ref37$modal,\n messages = _ref37.messages;\n\n Object.assign(this.state.saveConfig, { mode: mode, modal: modal, messages: messages, cb: _extends({}, this.state.saveConfig.cb, cb) });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 \n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addFormComponents',\n value: function addFormComponents() {\n var _ref38 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref38.layerId,\n _ref38$components = _ref38.components,\n components = _ref38$components === undefined ? [] : _ref38$components;\n\n this.state.formComponents[layerId] = (this.state.formComponents[layerId] || []).concat(components);\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Show editing panel\n *\n * @param options\n * @param options.toolboxes\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'showPanel',\n value: function showPanel() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.toolboxes && Array.isArray(options.toolboxes)) {\n this.getToolBoxes().forEach(function (tb) {\n return tb.setShow(options.toolboxes.includes(tb.getId()));\n });\n }\n this.showEditingPanel(options);\n }\n\n /**\n * Show editing panel toolbars\n * \n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/editing.js.js@v3.6\n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/panel.js.js@v3.6\n */\n\n }, {\n key: 'showEditingPanel',\n value: function showEditingPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n //need to filter visible\n if (this.getLayers().filter(function (l) {\n return l.config.editing.visible;\n }).length > 0) {\n this.state.panel = new Panel(_extends({}, opts, {\n id: \"editing-panel\",\n title: opts.title || \"plugins.editing.editing_data\",\n internalPanel: new (Vue.extend(require('./components/Editing.vue')))({\n service: this,\n resourcesurl: opts.resourcesUrl || GUI.getResourcesUrl(),\n showcommitbar: undefined !== opts.showcommitbar ? opts.showcommitbar : true\n })\n }));\n GUI.showPanel(this.state.panel);\n\n if (!this.state.show_errors && this.state.layers_in_error) {\n GUI.showUserMessage({ type: 'warning', message: 'plugins.editing.errors.some_layers', closable: true });\n this.state.show_errors = true;\n }\n } else {\n GUI.showUserMessage({ type: 'alert', message: 'plugins.editing.errors.no_layers' });\n }\n return this.state.panel;\n }\n }, {\n key: 'hideEditingPanel',\n value: function hideEditingPanel() {\n if (null !== this.state.panel) {\n GUI.closePanel();\n this.state.panel = null;\n }\n }\n }, {\n key: 'unload',\n value: function unload() {\n this.hideEditingPanel();\n\n if (this.config.visible) {\n this.removeTools();\n }\n\n this.state.unwatchLayout();\n MapLayersStoreRegistry.removeLayersStore(MapLayersStoreRegistry.getLayersStore('editing'));\n _toolbox.ToolBox.clear();\n // turn off events\n GUI.getService('map').off('mapcontrol:toggled', this.state.onMapControlToggled);\n // unregister query result action\n GUI.getService('queryresults').un('editFeature', this.state.editFeatureKey);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setCurrentLayout',\n value: function setCurrentLayout() {\n ApplicationService.setCurrentLayout(this.getName());\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'resetCurrentLayout',\n value: function resetCurrentLayout() {\n ApplicationService.setCurrentLayout(this.state.currentLayout);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.1\n */\n\n }, {\n key: 'getActiveTool',\n value: function getActiveTool() {\n return this.getToolBoxes().filter(function (t) {\n return t.getActiveTool();\n })[0];\n }\n }]);\n\n return _class;\n}(Plugin))();\n\n},{\"./components/Changes.vue\":2,\"./components/Editing.vue\":5,\"./g3wsdk\":13,\"./g3wsdk/workflow/step\":14,\"./g3wsdk/workflow/workflow\":15,\"./i18n\":20,\"./toolboxes/toolbox\":27,\"./utils/addPartToMultigeometries\":28,\"./utils/createFeature\":38,\"./utils/getEditingLayerById\":42,\"./utils/promisify\":58,\"./utils/setAndUnsetSelectedFeaturesStyle\":59,\"./workflows\":65}],26:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 * @see https://openlayers.org/en/v5.3.0/apidoc/module-ol_interaction_Pointer.html\n */\nvar PickFeaturesInteraction = exports.PickFeaturesInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeaturesInteraction, _ol$interaction$Point);\n\n function PickFeaturesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeaturesInteraction);\n\n var features = []; // picked features\n\n var featuresAtPixel = function featuresAtPixel() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n pixel = _ref.pixel,\n map = _ref.map;\n\n return map.getFeaturesAtPixel(pixel, {\n layerFilter: function layerFilter(l) {\n return opts.layer === l;\n },\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n };\n\n return _possibleConstructorReturn(this, (PickFeaturesInteraction.__proto__ || Object.getPrototypeOf(PickFeaturesInteraction)).call(this, {\n handleDownEvent: function handleDownEvent(e) {\n features = featuresAtPixel(e);\n return features;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (features && features.length > 0) {\n this.dispatchEvent({ type: 'picked', features: features, coordinate: e.coordinate, layer: opts.layer });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = featuresAtPixel(e) ? 'pointer' : '';\n }\n }));\n }\n\n return PickFeaturesInteraction;\n}(ol.interaction.Pointer);\n\n},{}],27:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ToolBox = 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 _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 _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 _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nvar _createEditingDataOptions = require('../utils/createEditingDataOptions');\n\nvar _setLayerUniqueFieldValues = require('../utils/setLayerUniqueFieldValues');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _chooseFeature = require('../utils/chooseFeature');\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getNotEditableFieldsNoPkValues = require('../utils/getNotEditableFieldsNoPkValues');\n\nvar _getDeltaXY = require('../utils/getDeltaXY');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _convertToGeometry = require('../utils/convertToGeometry');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _getRelationsInEditingByFeature = require('../utils/getRelationsInEditingByFeature');\n\nvar _isPointOnVertex = require('../utils/isPointOnVertex');\n\nvar _handleSplitFeature = require('../utils/handleSplitFeature');\n\nvar _addPartToMultigeometries = require('../utils/addPartToMultigeometries');\n\nvar _checkSessionItems = require('../utils/checkSessionItems');\n\nvar _promisify = require('../utils/promisify');\n\nvar _unlinkRelation = require('../utils/unlinkRelation');\n\nvar _splitFeatures = require('../utils/splitFeatures');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _dissolve = require('../utils/dissolve');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _workflows = require('../workflows');\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\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep,\n SelectElementsStep: _workflows.SelectElementsStep,\n PickFeatureStep: _workflows.PickFeatureStep,\n MoveFeatureStep: _workflows.MoveFeatureStep,\n ModifyGeometryVertexStep: _workflows.ModifyGeometryVertexStep,\n OpenTableStep: _workflows.OpenTableStep,\n AddFeatureStep: _workflows.AddFeatureStep\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 GEOMETRY_TYPES = g3wsdk.constant.GEOMETRY_TYPES;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n G3WObject = _g3wsdk$core.G3WObject;\nvar ProjectsRegistry = g3wsdk.core.project.ProjectsRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar removeZValueToOLFeatureGeometry = g3wsdk.core.geoutils.Geometry.removeZValueToOLFeatureGeometry;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar _g3wsdk$core$utils = g3wsdk.core.utils,\n debounce = _g3wsdk$core$utils.debounce,\n toRawType = _g3wsdk$core$utils.toRawType;\nvar GUI = g3wsdk.gui.GUI;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n getScaleFromResolution = _g3wsdk$ol$utils.getScaleFromResolution,\n getResolutionFromScale = _g3wsdk$ol$utils.getResolutionFromScale;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin/toolboxes/toolsfactory.js@v3.7.1\n */\n\nvar ToolBox = exports.ToolBox = function (_G3WObject) {\n _inherits(ToolBox, _G3WObject);\n\n function ToolBox(layer) {\n var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n _classCallCheck(this, ToolBox);\n\n var _this = _possibleConstructorReturn(this, (ToolBox.__proto__ || Object.getPrototypeOf(ToolBox)).call(this));\n\n var is_vector = [undefined, Layer.LayerTypes.VECTOR].includes(layer.getType());\n var geometryType = is_vector && layer.getGeometryType();\n var is_point = is_vector && Geometry.isPointGeometryType(geometryType);\n var is_line = is_vector && Geometry.isLineGeometryType(geometryType);\n var is_poly = is_vector && Geometry.isPolygonGeometryType(geometryType);\n var is_table = Layer.LayerTypes.TABLE === layer.getType();\n var isMultiGeometry = geometryType && Geometry.isMultiGeometry(geometryType);\n var iconGeometry = is_vector && (is_point ? 'Point' : is_line ? 'Line' : 'Polygon');\n\n _this._start = false;\n\n /** constraint loading features to a filter set */\n _this.constraints = { filter: null, show: null, tools: [] };\n\n /** reactive state of history */\n _this._constrains = { commit: false, undo: false, redo: false };\n\n /**\n * Array of states of a layer in editing\n * {\n * _states: [\n * {\n * id: unique key\n * state: [state] // example: history contsins features state\n * // array because a tool can apply changes to more than one features at time (split di una feature)\n * },\n * {\n * id: unique key\n * state: [state]\n * },\n * ]\n * ....\n *\n * _current: unique key // usefult to undo redo\n *\n *\n */\n _this._states = [];\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._history = {\n id: layer.getId(),\n state: new Proxy({}, { get: function get(_, prop) {\n return _this._constrains[prop];\n } }),\n add: _this.__add.bind(_this),\n undo: _this.__undo.bind(_this),\n clear: _this.__clearHistory.bind(_this),\n redo: _this.__redo.bind(_this),\n getState: _this.__getState.bind(_this),\n getLastState: _this.__getLastHistoryState.bind(_this),\n commit: _this.__commit.bind(_this)\n };\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n */\n _this._session = Object.assign(new G3WObject({ setters: {\n start: function start() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_this.__startSession(options));\n },\n stop: function stop() {\n return (0, _promisify.$promisify)(_this.__stopSession());\n },\n getFeatures: function getFeatures() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_this.__getFeatures(options));\n },\n saveChangesOnServer: function saveChangesOnServer(commitItems) {\n return _this.__saveChangesOnServer(commitItems);\n }\n } }), {\n _history: _this._history,\n state: new Proxy({}, { get: function get(_, prop) {\n return _this.state.editing.session[prop];\n } }),\n getId: function getId() {\n return layer.getId();\n },\n getLastHistoryState: _this.__getLastHistoryState.bind(_this),\n isStarted: _this.__isStarted.bind(_this),\n getHistory: _this.__getHistory.bind(_this),\n getEditor: _this.__getEditor.bind(_this),\n push: _this.__push.bind(_this),\n pushDelete: _this.__pushDelete.bind(_this),\n save: _this.__save.bind(_this),\n pushAdd: _this.__pushAdd.bind(_this),\n pushUpdate: _this.__pushUpdate.bind(_this),\n rollback: _this.__rollback.bind(_this),\n rollbackDependecies: _this.__rollbackDependecies.bind(_this),\n undo: _this.__undoSession.bind(_this),\n redo: _this.__redoSession.bind(_this),\n getCommitItems: _this.__getCommitItems.bind(_this),\n commit: _this.save.bind(_this),\n clear: _this.__clearSession.bind(_this),\n clearHistory: _this.__clearHistory.bind(_this)\n });\n\n // register this session on session registry\n ToolBox._sessions[layer.getId()] = _this;\n\n /** @type { 'create' | 'update_attributes' | 'update_geometry' | delete' | undefined } undefined means all possible tools base on type */\n var capabilities = layer.getEditingCapabilities() || [];\n\n _this.state = {\n layer: layer,\n id: layer.getId(),\n changingtools: false, // whether to show tools during change phase\n show: layer.config.editing.visible, // whether to show the toolbox if we need to filtered\n color: layer.getColor() || 'blue',\n title: ' ' + layer.getTitle() || \"Edit Layer\",\n customTitle: false,\n loading: false,\n enabled: false,\n toolboxheader: true,\n startstopediting: true,\n message: null,\n toolmessages: { help: null },\n toolsoftool: [],\n selected: false,\n activetool: null,\n editing: {\n session: {\n id: new Proxy({}, { get: function get() {\n return _this.state.id;\n } }),\n started: false,\n getfeatures: false,\n /** current state of history (useful for undo /redo) */\n current: null,\n /** temporary change not save on history */\n changes: []\n },\n history: _this._history.state,\n on: false,\n dependencies: dependencies,\n relations: Object.values(layer.isFather() && dependencies.length ? layer.getRelations().getRelations() : {}),\n father: layer.isFather(),\n canEdit: true\n },\n /** @since g3w-client-plugin-editing@v3.7.0 store key events setters */\n _unregisterStartSettersEventsKey: [],\n _getFeaturesOption: {},\n _layerType: layer.getType() || Layer.LayerTypes.VECTOR,\n _enabledtools: undefined,\n _disabledtools: undefined,\n _constraints: layer.getEditingConstrains() || {},\n _tools: [\n // Add Feature\n is_vector && capabilities.includes('add_feature') && {\n id: 'addfeature',\n type: ['add_feature'],\n name: 'editing.tools.add_feature',\n icon: 'add' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addfeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addfeature',\n steps: [new _workflows.AddFeatureStep({ layer: layer, tools: ['snap', 'measure'] }), new _workflows.OpenFormStep({ layer: layer })]\n })\n },\n // Edit Attributes Feature\n is_vector && capabilities.includes('change_attr_feature') && {\n id: 'editattributes',\n type: ['change_attr_feature'],\n name: 'editing.tools.update_feature',\n icon: 'editAttributes.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editfeatureattributesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n helpMessage: 'editing.tools.update_feature',\n type: 'editfeatureattributes',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.OpenFormStep()]\n })\n },\n // Delete Feature\n is_vector && capabilities.includes('delete_feature') && {\n id: 'deletefeature',\n type: ['delete_feature'],\n name: 'editing.tools.delete_feature',\n icon: 'delete' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/deletefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'deletefeature',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }),\n // delete feature\n new _step.Step({\n help: \"editing.steps.help.double_click_delete\",\n run: function run(inputs, context) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var layerId = inputs.layer.getId();\n var feature = inputs.features[0];\n\n // get all relations of the current editing layer that are in editing\n // and filter relations\n // get relation layer id that are in relation with layerId (current layer in editing)\n // get fields of relation layer that are in relation with layerId\n // Exclude relation child layer that has at least one\n // editing field required because when unlink relation feature from\n // delete father, when try to commit update relation, we receive an error\n // due missing value /null to required field.\n var relations = (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: inputs.layer.getRelations() ? inputs.layer.getRelations().getArray() : []\n }).filter(function (relation) {\n return (0, _getEditingLayerById.getEditingLayerById)((0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation })).getEditingFields() //get editing field of relation layer\n .filter(function (f) {\n return (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ relation: relation, layerId: (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation }) }).ownField.includes(f.name);\n }) //filter only relation fields\n .every(function (f) {\n return !f.validate.required;\n });\n } // check required\n );\n\n // promise return features relations and add to relation layer child\n if (relations.length > 0) {\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(layerId, { feature: feature, relations: relations });\n }\n\n inputs.features = [feature];\n\n // Unlink relation features related to layer id\n (0, _getRelationsInEditingByFeature.getRelationsInEditingByFeature)({ layerId: layerId, relations: relations, feature: feature }).forEach(function (_ref4) {\n var relation = _ref4.relation,\n relations = _ref4.relations;\n\n relations.forEach(function (r) {\n return (0, _unlinkRelation.unlinkRelation)({ layerId: layerId, relation: relation, relations: relations, index: 0, dialog: false });\n });\n });\n\n context.session.pushDelete(layerId, feature);\n\n return inputs;\n }));\n }\n }),\n // confirm step\n new _step.Step({\n run: function run(inputs) {\n var _this2 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var editingLayer = inputs.layer.getEditingLayer();\n var feature = inputs.features[0];\n var layerId = inputs.layer.getId();\n var promise = new Promise(function (resolve, reject) {\n GUI.dialog.confirm('

' + tPlugin('editing.messages.delete_feature') + '

' + '
' + (inputs.layer.getChildren().length && (0, _getRelationsInEditing.getRelationsInEditing)({ layerId: layerId, relations: inputs.layer.getRelations().getArray() }).length ? tPlugin('editing.messages.delete_feature_relations') : '') + '
', function (result) {\n if (!result) {\n reject(inputs);\n return;\n }\n editingLayer.getSource().removeFeature(feature);\n // Remove unique values from unique fields of a layer (when deleting a feature)\n var fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[layerId];\n if (fields) {\n Object.keys(feature.getProperties()).filter(function (f) {\n return undefined !== fields[f];\n }).forEach(function (f) {\n return fields[f].delete(feature.get(f));\n });\n }\n resolve(inputs);\n });\n });\n\n if (inputs.features) {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({\n promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })),\n inputs: inputs,\n style: _this2.selectStyle\n });\n }\n return promise;\n }));\n }\n })]\n })\n },\n // Edit vertex Feature\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'movevertex',\n type: ['change_feature'],\n name: \"editing.tools.update_vertex\",\n icon: \"moveVertex.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/modifygeometryvertexworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'modifygeometryvertex',\n helpMessage: 'editing.tools.update_vertex',\n steps: [new _workflows.PickFeatureStep({ layer: layer }), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.ModifyGeometryVertexStep({ tools: ['snap', 'measure'] })]\n })\n },\n // Edit Attributes to Multi features\n is_vector && capabilities.includes('change_attr_feature') && {\n id: 'editmultiattributes',\n type: ['change_attr_feature'],\n name: \"editing.tools.update_multi_features\",\n icon: \"multiEditAttributes.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editmultifeatureattributesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'editmultiattributes',\n helpMessage: 'editing.tools.update_multi_features',\n registerEscKeyEvent: true,\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n type: 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectDrawBoxAtLeast2Feature' : 'selectMultiPointSHIFTAtLeast2Feature'),\n buttonnext: {\n disabled: true,\n condition: function condition(_ref7) {\n var _ref7$features = _ref7.features,\n features = _ref7$features === undefined ? [] : _ref7$features;\n return features.length < 2;\n },\n done: function done() {\n _workflow.Workflow.Stack.getCurrent().clearUserMessagesSteps();\n }\n },\n dynamic: 0,\n done: false\n }\n }\n }), new _workflows.OpenFormStep({ multi: true })]\n })\n },\n // Move Feature\n is_vector && capabilities.includes('change_feature') && {\n id: 'movefeature',\n type: ['change_feature'],\n name: 'editing.tools.move_feature',\n icon: 'move' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/movefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'movefeature',\n helpMessage: 'editing.tools.move_feature',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.MoveFeatureStep()]\n })\n },\n // Copy Feature from another layer\n function () {\n var layers = [];\n return is_vector && capabilities.includes('add_feature') && {\n id: 'copyfeaturesfromotherlayer',\n type: ['add_feature'],\n name: \"editing.tools.pastefeaturesfromotherlayers\",\n icon: \"pasteFeaturesFromOtherLayers.png\",\n enable: function () {\n var catalogService = GUI.getService('catalog');\n var layerId = layer.getId();\n var geometryType = layer.getGeometryType();\n var data = {\n bool: true,\n tool: undefined\n };\n CatalogLayersStoresRegistry.getLayers({\n GEOLAYER: true,\n BASELAYER: false\n });\n // check selected feature layers\n var updatelayers = function updatelayers() {\n var checkGeometry = function checkGeometry(type) {\n return type && (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, type) && (geometryType === type || Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(type));\n };\n layers = [].concat(_toConsumableArray(CatalogLayersStoresRegistry.getLayers({ GEOLAYER: true, BASELAYER: false }).filter(function (l) {\n return layerId !== l.getId() && checkGeometry(l.getGeometryType());\n })), _toConsumableArray(catalogService.getExternalLayers({ type: 'vector' }).filter(function (l) {\n return checkGeometry(l.geometryType);\n }))).map(function (l, i) {\n return {\n id: (l.state || { id: l.id }).id,\n name: (l.state || { name: l.name }).name,\n external: l.external || false,\n selected: 0 === i\n };\n });\n return data.tool.enabled = layers.length > 0;\n };\n return function (_ref8) {\n var bool = _ref8.bool,\n _ref8$tool = _ref8.tool,\n tool = _ref8$tool === undefined ? {} : _ref8$tool;\n\n data.tool = tool;\n data.bool = bool;\n catalogService.onafter('addExternalLayer', updatelayers);\n catalogService.onafter('removeExternalLayer', updatelayers);\n return updatelayers();\n };\n }(),\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/copyfeaturesfromotherlayerworkflow.js@v3.7.1 */\n op: function () {\n var openFormStep = new _workflows.OpenFormStep({ layer: layer, help: 'editing.steps.help.copy' });\n return new _workflow.Workflow({\n layer: layer,\n type: 'copyfeaturesfromotherlayer',\n runOnce: true,\n steps: [new _step.Step({\n layer: layer,\n help: 'editing.steps.help.draw_new_feature',\n run: function run(inputs, context) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var originalLayer = inputs.layer;\n var geometryType = originalLayer.getGeometryType();\n var layerId = originalLayer.getId();\n //get attributes/properties from current layer in editing\n var attributes = originalLayer.getEditingFields().filter(function (a) {\n return !a.pk;\n });\n var session = context.session;\n var editingLayer = originalLayer.getEditingLayer();\n var source = editingLayer.getSource();\n //set reactive\n var vueInstance = new (Vue.extend(require('../components/CopyFeaturesFromOtherLayers.vue')))({ layers: layers });\n var message = vueInstance.$mount().$el;\n GUI.showModalDialog({\n title: tPlugin('editing.relation.copy_feature_from_other_layer'),\n className: 'modal-left',\n closeButton: false,\n message: message,\n buttons: {\n cancel: {\n label: 'Cancel',\n className: 'btn-danger',\n callback: function callback() {\n reject();\n }\n },\n ok: {\n label: 'Ok',\n className: 'btn-success',\n callback: function () {\n var _ref9 = _asyncToGenerator(function* () {\n try {\n //get selected layer\n var _layer = layers.find(function (l) {\n return l.selected;\n });\n var feature = yield (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield new Promise(function () {\n var _ref11 = _asyncToGenerator(function* (resolve) {\n _this3.addInteraction(_layer.external ? new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: GUI.getService('map').getLayerById(_layer.id) }) : new g3wsdk.ol.interactions.PickCoordinatesInteraction(), {\n 'picked': function () {\n var _ref12 = _asyncToGenerator(function* (e) {\n try {\n resolve((0, _convertToGeometry.convertToGeometry)(_layer.external ? e.features // external layer\n : ((yield DataRouterService.getData('query:coordinates', { // TOC/PROJECT layer\n inputs: {\n coordinates: e.coordinate,\n query_point_tolerance: ProjectsRegistry.getCurrentProject().getQueryPointTolerance(),\n layerIds: [_layer.id],\n multilayers: false\n },\n outputs: null\n })).data[0] || { features: [] }).features, geometryType));\n } catch (e) {\n console.warn(e);\n }\n });\n\n function picked(_x5) {\n return _ref12.apply(this, arguments);\n }\n\n return picked;\n }()\n });\n });\n\n return function (_x4) {\n return _ref11.apply(this, arguments);\n };\n }());\n\n var _feature = void 0;\n\n try {\n _feature = features.length > 1 ? yield (0, _promisify.promisify)((0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs })) : features[0];\n } catch (e) {\n console.warn(e);\n }\n\n if (_feature) {\n var _feature2 = new Feature({\n feature: _feature,\n properties: attributes.map(function (a) {\n return a.name;\n })\n });\n\n _feature2.setTemporaryId();\n return _feature2;\n }\n\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n closable: false,\n autoclose: true\n });\n\n return Promise.reject();\n }));\n\n //@TODO check better way\n //Set undefined property to null otherwise on commit\n // property are lost\n attributes.forEach(function (_ref13) {\n var name = _ref13.name;\n\n if (undefined === feature.get(name)) {\n feature.set(name, null);\n }\n });\n\n originalLayer.getEditingNotEditableFields().find(function (field) {\n if (originalLayer.isPkField(field)) {\n feature.set(field, null);\n }\n });\n //remove eventually Z Values\n removeZValueToOLFeatureGeometry({ feature: feature });\n feature.setTemporaryId();\n source.addFeature(feature);\n session.pushAdd(layerId, feature, false);\n inputs.features.push(feature);\n _this3.fireEvent('addfeature', feature);\n resolve(inputs);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n function callback() {\n return _ref9.apply(this, arguments);\n }\n\n return callback;\n }()\n }\n }\n }).on('hide.bs.modal', function () {\n return vueInstance.$destroy();\n }); //destroy vue instance after dialog is a closed\n //hide user message step\n }));\n }\n }), openFormStep],\n registerEscKeyEvent: true\n });\n }()\n };\n }(),\n // Copy Feature from layer\n is_vector && capabilities.includes('add_feature') && {\n id: 'copyfeatures',\n type: ['add_feature'],\n name: \"editing.tools.copy\",\n icon: 'copy' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/copyfeaturesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'copyfeatures',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n help: 'editing.steps.help.copy',\n type: ApplicationState.ismobile ? 'single' : 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectPoint' : 'selectPointSHIFT'),\n done: false\n }\n }\n }, true),\n // get vertex\n layer.getGeometryType().includes('Point') ? undefined : new _step.Step({\n layer: layer,\n help: 'editing.steps.help.select',\n steps: {\n from: {\n description: 'editing.workflow.steps.selectStartVertex',\n done: false\n }\n },\n run: function run(inputs) {\n var _this4 = this;\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var promise = new Promise(function (resolve, reject) {\n _this4.resolve = resolve;\n if (0 === inputs.features.length) {\n return reject('no feature');\n }\n _this4.addInteraction(new ol.interaction.Draw({ type: 'Point', condition: function condition(e) {\n return inputs.features.some(function (f) {\n return (0, _isPointOnVertex.isPointOnVertex)({ feature: f, coordinates: e.coordinate });\n });\n } }), {\n 'drawend': function drawend(e) {\n inputs.coordinates = e.feature.getGeometry().getCoordinates();\n _this4.setUserMessageStepDone('from');\n resolve(inputs);\n }\n });\n _this4.addInteraction(new ol.interaction.Snap({ edge: false, features: new ol.Collection(inputs.features) }));\n });\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this4.selectStyle });\n return promise;\n }));\n },\n stop: function stop() {\n /** @since g3w-client-plugin-editing@v3.8.0 */\n //Always resolve promise (in case of a press esc key)\n this.resolve(true);\n this.resolve = null;\n }\n }),\n // move elements\n new _step.Step({\n layer: layer,\n help: \"editing.steps.help.select_vertex_to_paste\",\n steps: {\n to: {\n description: 'editing.workflow.steps.selectToPaste',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var layer = inputs.layer,\n features = inputs.features,\n coordinates = inputs.coordinates;\n\n var source = layer.getEditingLayer().getSource();\n var layerId = layer.getId();\n var session = context.session;\n var promise = new Promise(function (resolve, reject) {\n _this5.addInteraction(new ol.interaction.Draw({ type: 'Point', features: new ol.Collection() }), {\n 'drawend': function drawend(evt) {\n var _evt$feature$getGeome = evt.feature.getGeometry().getCoordinates(),\n _evt$feature$getGeome2 = _slicedToArray(_evt$feature$getGeome, 2),\n x = _evt$feature$getGeome2[0],\n y = _evt$feature$getGeome2[1];\n\n var deltaXY = coordinates ? (0, _getDeltaXY.getDeltaXY)({ x: x, y: y, coordinates: coordinates }) : null;\n var featuresLength = features.length;\n var promisesDefaultEvaluation = [];\n\n var _loop = function _loop(i) {\n var feature = (0, _cloneFeature.cloneFeature)(features[i], layer);\n if (deltaXY) {\n feature.getGeometry().translate(deltaXY.x, deltaXY.y);\n } else {\n var _coordinates = feature.getGeometry().getCoordinates();\n var _deltaXY = (0, _getDeltaXY.getDeltaXY)({ x: x, y: y, coordinates: _coordinates });\n feature.getGeometry().translate(_deltaXY.x, _deltaXY.y);\n }\n // set media fields to null\n layer.getEditingMediaFields({}).forEach(function (f) {\n return feature.set(f, null);\n });\n /**\n * evaluated geometry expression\n */\n promisesDefaultEvaluation.push((0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }));\n };\n\n for (var i = 0; i < featuresLength; i++) {\n _loop(i);\n }\n Promise.allSettled(promisesDefaultEvaluation).then(function (promises) {\n return promises.forEach(function (_ref17) {\n var status = _ref17.status,\n feature = _ref17.value;\n\n\n /**\n * @todo improve client core to handle this situation on session.pushAdd not copy pk field not editable only\n */\n var noteditablefieldsvalues = (0, _getNotEditableFieldsNoPkValues.getNotEditableFieldsNoPkValues)({ layer: layer, feature: feature });\n var newFeature = session.pushAdd(layerId, feature);\n // after pushAdd need to set not edit\n if (Object.entries(noteditablefieldsvalues).length) {\n Object.entries(noteditablefieldsvalues).forEach(function (_ref18) {\n var _ref19 = _slicedToArray(_ref18, 2),\n field = _ref19[0],\n value = _ref19[1];\n\n return newFeature.set(field, value);\n });\n }\n\n //need to add to editing layer source newFeature\n source.addFeature(newFeature);\n\n inputs.features.push(newFeature);\n });\n }).finally(function () {\n _this5.setUserMessageStepDone('to');\n resolve(inputs);\n });\n }\n });\n\n _this5.addInteraction(new ol.interaction.Snap({ source: source, edge: false }));\n });\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this5.selectStyle });\n return promise;\n }));\n }\n })].filter(Boolean),\n registerEscKeyEvent: true\n })\n },\n // Add part to MultiGeometry Feature\n is_vector && capabilities.includes('add_feature') && capabilities.includes('change_feature') && {\n id: 'addPart',\n type: ['add_feature', 'change_feature'],\n name: \"editing.tools.addpart\",\n icon: \"addPart.png\",\n visible: isMultiGeometry,\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addparttomultigeometriesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addparttomultigeometries',\n helpMessage: 'editing.tools.addpart',\n runOnce: true,\n steps: [new _workflows.PickFeatureStep({\n steps: {\n select: {\n description: 'editing.workflow.steps.select',\n done: false\n }\n }\n }), new _step.Step({\n run: _chooseFeature.chooseFeature,\n help: 'editing.steps.help.select_element'\n }), new _workflows.AddFeatureStep({\n layer: layer,\n help: 'editing.steps.help.select_element',\n add: false,\n steps: {\n addfeature: {\n description: 'editing.workflow.steps.draw_part',\n done: false\n }\n },\n tools: ['snap', 'measure']\n }),\n // add part to multi geometries\n new _step.Step({\n layer: layer,\n help: 'editing.steps.help.select_element',\n run: _addPartToMultigeometries.addPartToMultigeometries\n })],\n registerEscKeyEvent: true\n })\n },\n // Remove part from MultiGeometry Feature\n is_vector && capabilities.includes('change_feature') && {\n id: 'deletePart',\n type: ['change_feature'],\n name: \"editing.tools.deletepart\",\n icon: \"deletePart.png\",\n visible: isMultiGeometry,\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/deletepartfrommultigeometriesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'deletepartfrommultigeometries',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }),\n // delete part from multi geometries\n new _step.Step({\n layer: layer,\n run: function run(inputs, context) {\n var _this6 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var originaLayer = inputs.layer;\n var editingLayer = inputs.layer.getEditingLayer();\n var layerId = originaLayer.getId();\n var session = context.session;\n var features = inputs.features,\n coordinate = inputs.coordinate;\n\n var feature = features[0];\n var originalFeature = feature.clone();\n var geometry = feature.getGeometry();\n var geometries = [];\n\n // ensure single geometry\n switch (geometry.getType()) {\n case GEOMETRY_TYPES.MULTIPOLYGON:\n geometries = geometry.getPolygons();break;\n case GEOMETRY_TYPES.MULTILINE:\n geometries = geometry.getLineStrings();break;\n case GEOMETRY_TYPES.MULTILINESTRING:\n geometries = geometry.getLineStrings();break;\n case GEOMETRY_TYPES.MULTIPOINT:\n geometries = geometry.getPoints();break;\n default:\n console.warn('invalid geometry type', geometry.getType());break;\n }\n\n var source = new ol.source.Vector({ features: geometries.map(function (geometry) {\n return new ol.Feature(geometry);\n }) });\n var map = _this6.getMap();\n var pixel = map.getPixelFromCoordinate(coordinate);\n var tempLayer = new ol.layer.Vector({\n source: source,\n style: editingLayer.getStyle()\n });\n\n map.addLayer(tempLayer);\n\n map.once('postrender', function () {\n var found = false;\n //need to call map.forEachFeatureAtPixel and not this.forEachFeatureAtPixel\n //because we use arrow function, and it referred this to outside context\n map.forEachFeatureAtPixel(pixel, function (_feature) {\n if (!found) {\n source.removeFeature(_feature);\n if (source.getFeatures().length) {\n var _geometries = source.getFeatures().map(function (f) {\n return f.getGeometry();\n });\n var type = _geometries[0] && _geometries[0].getType();\n feature.setGeometry(type && new ol.geom['Multi' + type](_geometries.map(function (g) {\n return g.getCoordinates();\n })) // ensures multi geometry\n );\n /**\n * evaluated geometry expression\n */\n (0, _evaluateExpressionFields.evaluateExpressionFields)({\n inputs: inputs,\n context: context,\n feature: feature\n }).finally(function () {\n session.pushUpdate(layerId, feature, originalFeature);\n resolve(inputs);\n });\n /**\n * end of evaluated\n */\n } else {\n editingLayer.getSource().removeFeature(feature);\n session.pushDelete(layerId, feature);\n resolve(inputs);\n }\n found = true;\n }\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === tempLayer;\n },\n\n hitTolerance: 1\n });\n //need to call map.forEachFeatureAtPixel and not this.forEachFeatureAtPixel\n //because we use arrow function, and it referred this to outside context\n map.removeLayer(tempLayer);\n tempLayer = null;\n });\n }));\n }\n })],\n helpMessage: 'editing.tools.deletepart'\n })\n },\n // Split Feature\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'splitfeature',\n type: ['change_feature'],\n name: \"editing.tools.split\",\n icon: \"splitFeatures.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/splitfeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'splitfeature',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n help: 'editing.steps.help.split',\n type: ApplicationState.ismobile ? 'single' : 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectPoint' : 'selectPointSHIFT'),\n done: false\n }\n }\n }, true),\n // split feature\n new _step.Step({\n layer: layer,\n help: '',\n steps: {\n draw_line: {\n description: 'editing.workflow.steps.draw_split_line',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this7 = this;\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var source = inputs.layer.getEditingLayer().getSource();\n var promise = new Promise(function (resolve, reject) {\n _this7.addInteraction(new ol.interaction.Draw({\n type: 'LineString',\n features: new ol.Collection(),\n freehandCondition: ol.events.condition.never\n }), {\n 'drawend': function () {\n var _ref22 = _asyncToGenerator(function* (e) {\n var isSplitted = false;\n var splittedGeometries = (0, _splitFeatures.splitFeatures)(inputs.features, e.feature);\n var splittedGeometriesLength = splittedGeometries.length;\n\n var _loop2 = function* _loop2(i) {\n if (splittedGeometries[i].geometries.length > 1) {\n isSplitted = true;\n yield (0, _handleSplitFeature.handleSplitFeature)({\n context: context,\n inputs: inputs,\n feature: inputs.features.find(function (f) {\n return f.getUid() === splittedGeometries[i].uid;\n }),\n splittedGeometries: splittedGeometries[i].geometries,\n session: context.session\n });\n }\n };\n\n for (var i = 0; i < splittedGeometriesLength; i++) {\n yield* _loop2(i);\n }\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (isSplitted ? resolve : reject)(inputs);\n //need to set timeout promise, because at the end of the workflow all user messages are cleared\n yield new Promise(function (r) {\n return setTimeout(r, 600);\n });\n GUI.showUserMessage({\n type: isSplitted ? 'success' : 'warning',\n message: isSplitted ? 'plugins.editing.messages.splitted' : 'plugins.editing.messages.nosplittedfeature',\n autoclose: true\n });\n });\n\n function drawend(_x6) {\n return _ref22.apply(this, arguments);\n }\n\n return drawend;\n }()\n });\n\n _this7.addInteraction(new ol.interaction.Snap({ source: source, edge: true }));\n });\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this7.selectStyle });\n\n return promise;\n }));\n }\n })],\n registerEscKeyEvent: true\n })\n },\n // Merge features in one\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'mergefeatures',\n type: ['change_feature'],\n name: \"editing.tools.merge\",\n icon: \"mergeFeatures.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/mergefeaturesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'mergefeatures',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n type: 'bbox',\n help: 'editing.steps.help.merge',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectDrawBox' : 'selectSHIFT'),\n done: false\n }\n }\n }, true),\n // merge features\n new _step.Step({\n layer: layer,\n help: 'editing.steps.help.merge',\n steps: {\n choose: {\n description: 'editing.workflow.steps.merge',\n done: false\n }\n },\n run: function run(inputs, context) {\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var layer = inputs.layer,\n features = inputs.features;\n\n var editingLayer = layer.getEditingLayer();\n var source = editingLayer.getSource();\n var layerId = layer.getId();\n var session = context.session;\n\n if (features.length < 2) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.select_min_2_features',\n autoclose: true\n });\n reject();\n } else {\n (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs }).then(function () {\n var _ref24 = _asyncToGenerator(function* (feature) {\n var index = features.findIndex(function (_feature) {\n return feature === _feature;\n });\n var originalFeature = feature.clone();\n var newFeature = (0, _dissolve.dissolve)({ features: features, index: index });\n\n if (newFeature) {\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: newFeature });\n } catch (e) {\n console.warn(e);\n }\n session.pushUpdate(layerId, newFeature, originalFeature);\n features.filter(function (_feature) {\n return _feature !== feature;\n }).forEach(function (deleteFeature) {\n session.pushDelete(layerId, deleteFeature);\n source.removeFeature(deleteFeature);\n });\n inputs.features = [feature];\n resolve(inputs);\n } else {\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n autoclose: true\n });\n reject();\n }\n });\n\n return function (_x7) {\n return _ref24.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.warn(e);\n reject();\n });\n }\n }));\n }\n })],\n registerEscKeyEvent: true\n })\n },\n // Copy Features from external layer\n (is_line || is_poly) && capabilities.includes('add_feature') && {\n id: 'copyfeaturefromexternallayer',\n type: ['add_feature'],\n name: \"editing.tools.copyfeaturefromexternallayer\",\n icon: \"copyPolygonFromFeature.png\",\n visible: function visible(tool) {\n var map = GUI.getService('map');\n var type = _this.getLayer().getGeometryType();\n var has_same_geom = function has_same_geom(layer) {\n // check if tool is visible and the layer is a Vector\n var features = 'VECTOR' === layer.getType() && layer.getSource().getFeatures();\n return features && features.length ? (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), type) : true;\n };\n map.onbefore('loadExternalLayer', function (layer) {\n return !tool.visible && (tool.visible = has_same_geom(layer));\n });\n map.onafter('unloadExternalLayer', function (layer) {\n var features = tool.visible && 'VECTOR' === layer.getType() && layer.getSource().getFeatures();\n if (features && features.length && (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), type)) {\n tool.visible = map.getExternalLayers().find(function (l) {\n return undefined !== has_same_geom(l);\n });\n }\n });\n return false;\n },\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addfeaturefrommapvectorlayersworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addfeaturefrommapvectorlayers',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n type: 'external',\n help: 'editing.steps.help.copy'\n }, false), new _workflows.OpenFormStep({\n layer: layer,\n help: 'editing.steps.help.copy'\n })],\n registerEscKeyEvent: true\n })\n },\n // Add Table feature (alphanumerical layer - No geometry)\n is_table && capabilities.includes('add_feature') && {\n id: 'addfeature',\n type: ['add_feature'],\n name: \"editing.tools.add_feature\",\n icon: \"addTableRow.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addtablefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n })\n },\n // Edit Table feature (alphanumerical layer - No geometry)\n is_table && capabilities.includes('delete_feature') && capabilities.includes('change_attr_feature') && {\n id: 'edittable',\n type: ['delete_feature', 'change_attr_feature'],\n name: \"editing.tools.update_feature\",\n icon: \"editAttributes.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/edittableworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'edittable',\n backbuttonlabel: 'plugins.editing.form.buttons.save_and_back_table',\n runOnce: true,\n steps: [new _workflows.OpenTableStep()]\n })\n }].filter(Boolean).map(function (tool) {\n return Object.assign(new G3WObject(), tool);\n })\n };\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n */\n _this.state._tools.forEach(function (tool) {\n Object.assign(tool, {\n disabledtoolsoftools: [],\n enabled: false,\n active: false,\n message: null,\n messages: tool.op.getMessages(),\n visible: tool.visible instanceof Function ? tool.visible(tool) : undefined !== tool.visible ? tool.visible : true,\n state: new Proxy({}, { get: function get(_, prop) {\n return tool[prop];\n }, set: function set(_, prop, value) {\n tool[prop] = value;return true;\n } }),\n start: _this._startTool.bind(_this, tool),\n stop: _this._stopTool.bind(_this, tool),\n getId: function getId() {\n return tool.id;\n },\n getOperator: function getOperator() {\n return tool.op;\n },\n setOperator: function setOperator(op) {\n return tool.op = op;\n }\n });\n });\n\n Object.assign(_this.state, {\n tools: _this.state._tools,\n /** original value of state in case of custom changes */\n originalState: {\n title: _this.state.title,\n toolsoftool: [].concat(_toConsumableArray(_this.state.toolsoftool))\n }\n });\n\n // BACKOMP v3.x\n _this.originalState = _this.state.originalState;\n\n //event features\n _this._getFeaturesEvent = { event: null, fnc: null };\n\n // @since v3.8.0 constraint messages to show\n _this.messages = {\n //set message of scale constraint\n constraint: {\n scale: ('' + tPlugin('editing.messages.constraints.enable_editing') + _this.state._constraints.scale).toUpperCase()\n }\n\n //@since 3.8.0 Need to store Promise resolve when start toolbox but non editing is enabled (scale constraint, etc..)\n };_this.startResolve = null;\n\n //@since 3.8.0 Store ol keys event start when we are in editing\n _this._olStartKeysEvent = [];\n\n //@since 3.8.1 store all unwatches\n _this.unwatches = [];\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } layerId\n *\n */\n\n\n _createClass(ToolBox, [{\n key: '_stopSessionChildren',\n value: function _stopSessionChildren(layerId) {\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n var layer = service.getLayerById(layerId);\n (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: layer.getRelations() ? layer.getRelations().getArray() : []\n }).filter(function (relation) {\n return relation.getFather() === layerId;\n }).forEach(function (relation) {\n var relationId = (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation });\n // In case of no editing is started (click on pencil of relation layer) need to stop (unlock) features\n if (!service.getToolBoxById(relationId).inEditing()) {\n service.state.sessions[relationId].stop();\n }\n });\n }\n\n /**\n * @returns toolbox state\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @param bool\n */\n\n }, {\n key: 'setShow',\n value: function setShow() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.show = bool;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this.state.layer;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.state.editing.father;\n }\n\n /**\n * @returns { Array } parent and child layers\n */\n\n }, {\n key: 'getDependencies',\n value: function getDependencies() {\n return this.state.editing.dependencies;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'hasDependencies',\n value: function hasDependencies() {\n return this.state.editing.dependencies.length > 0;\n }\n\n /**\n * Create getFeatures options\n * \n * @param filter\n */\n\n }, {\n key: 'setFeaturesOptions',\n value: function setFeaturesOptions() {\n var _ref25 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref25.filter;\n\n if (filter) {\n // in case of no features filter request check if no features_filed is present otherwise it get first field\n if (filter.nofeatures) {\n filter.nofeatures_field = filter.nofeatures_field || this.state.layer.getEditingFields()[0].name;\n }\n this.state._getFeaturesOption = {\n filter: filter,\n editing: true,\n registerEvents: false\n };\n // in case of constraint attribute set the filter as constraint\n if (filter.constraint) {\n this.constraintFeatureFilter = filter;\n }\n } else {\n this.state._getFeaturesOption = (0, _createEditingDataOptions.createEditingDataOptions)(Layer.LayerTypes.TABLE === this.state._layerType ? 'all' : 'bbox', { layerId: this.getId() });\n }\n }\n\n /**\n * @param constraints\n */\n\n }, {\n key: 'setEditingConstraints',\n value: function setEditingConstraints() {\n var _this8 = this;\n\n var constraints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n Object.keys(constraints).forEach(function (c) {\n return _this8.constraints[c] = constraints[c];\n });\n }\n\n /**\n * @since 3.8.0 Handle scale constraint\n * @sto stop true when called from stop method\n * @private\n */\n\n }, {\n key: '_handleScaleConstraint',\n value: function _handleScaleConstraint() {\n var _this9 = this;\n\n var stop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // get features from server or wait to start\n var map = GUI.getService('map').getMap();\n\n this.state.editing.canEdit = getScaleFromResolution(map.getView().getResolution()) <= this.state._constraints.scale;\n\n //check if start method is called\n var in_editing = this._start || this.startResolve;\n\n var showZoomCursor = !stop && this.state.selected && !this.state.editing.canEdit;\n\n var control = GUI.getService('map').getCurrentToggledMapControl();\n\n if (control && control.cursorClass && (stop || in_editing)) {\n control.setMouseCursor(!showZoomCursor);\n }\n\n map.getViewport().classList.toggle('ol-zoom-in', showZoomCursor);\n\n // check if selected → hide modal\n if (stop || !this.state.selected || !in_editing) {\n GUI.setModal(false);\n return;\n }\n\n if (this.state.editing.canEdit && this.startResolve) {\n this.startResolve();\n }\n\n // async show message because another toolbox can be unselected before\n setTimeout(function () {\n return GUI.setModal(!_this9.state.editing.canEdit, _this9.messages.constraint.scale);\n });\n }\n\n /**\n *\n * Start editing\n * @param options\n * @return {*}\n */\n //added option object to start method to have a control by other plugin how\n\n }, {\n key: 'start',\n value: function start() {\n var _this10 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref26 = _asyncToGenerator(function* (resolve, reject) {\n var id = _this10.getId();\n var applicationConstraint = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.constraints.toolboxes[id];\n var _options$toolboxheade = options.toolboxheader,\n toolboxheader = _options$toolboxheade === undefined ? true : _options$toolboxheade,\n _options$startstopedi = options.startstopediting,\n startstopediting = _options$startstopedi === undefined ? true : _options$startstopedi,\n _options$changingtool = options.changingtools,\n changingtools = _options$changingtool === undefined ? false : _options$changingtool,\n tools = options.tools,\n filter = options.filter;\n\n\n _this10.state.changingtools = changingtools;\n\n if (tools) {\n _this10.setEnablesDisablesTools(tools);\n }\n\n _this10.state.toolboxheader = toolboxheader;\n _this10.state.startstopediting = startstopediting;\n\n filter = applicationConstraint && applicationConstraint.filter || _this10.constraints.filter || filter;\n\n //register lock features to show a message\n var unKeyLock = _this10.state.layer.getFeaturesStore().onceafter('featuresLockedByOtherUser', function () {\n GUI.showUserMessage({\n type: 'warning',\n subtitle: _this10.state.layer.getName().toUpperCase(),\n message: 'plugins.editing.messages.featureslockbyotheruser'\n });\n });\n\n //add featuresLockedByOtherUser setter\n _this10.state._unregisterStartSettersEventsKey.push(function () {\n return _this10.state.layer.getFeaturesStore().un('featuresLockedByOtherUser', unKeyLock);\n });\n\n // check if can we edit based on scale contraint (vector layer)\n if (_this10.state._constraints.scale) {\n\n yield new Promise(function (resolve) {\n //set as resolve handler to resolve waiting get features from server\n _this10.startResolve = resolve;\n //call scale constraint handler\n _this10._handleScaleConstraint();\n\n var map = GUI.getService('map');\n\n // click to fit zoom scale constraint\n _this10._olStartKeysEvent.push(map.getMap().on('click', function (e) {\n if (_this10.state.selected && !_this10.state.editing.canEdit) {\n map.goToRes(e.coordinate, getResolutionFromScale(_this10.state._constraints.scale, GUI.getService('map').getMapUnits()));\n }\n }));\n\n // if click on start toolbox can edit\n if (_this10.state.editing.canEdit) {\n resolve();\n }\n });\n }\n\n //reset start startResolve promise reolve function\n _this10.startResolve = null;\n // set filterOptions\n _this10.setFeaturesOptions({ filter: filter });\n\n var handlerAfterSessionGetFeatures = function () {\n var _ref27 = _asyncToGenerator(function* (promise) {\n _this10.emit('start-editing');\n //set unique fields values\n yield (0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(_this10.getId());\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'start-editing', id: id });\n try {\n var features = yield (0, _promisify.promisify)(promise);\n _this10.stopLoading();\n _this10.setEditing(true);\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'get-features-editing', id: id, options: { features: features } });\n resolve({ features: features });\n } catch (e) {\n console.warn(e);\n GUI.notify.error(e.message);\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'error-editing', id: id, error: e });\n _this10.stop();\n _this10.stopLoading();\n reject(e);\n }\n });\n\n return function handlerAfterSessionGetFeatures(_x15) {\n return _ref27.apply(this, arguments);\n };\n }();\n\n var is_started = !!_this10.__isStarted();\n\n //@TODO need to explain better\n var GIVE_ME_A_NAME = ApplicationState.ismobile // is mobile\n && GUI.getService('map').isMapHidden() // map is not visible (content 100%)\n && Layer.LayerTypes.VECTOR === _this10.state._layerType // is vector\n ;\n\n if (!is_started && GIVE_ME_A_NAME) {\n _this10.setEditing(true);\n GUI.getService('map').onceafter('setHidden', function () {\n setTimeout(_asyncToGenerator(function* () {\n _this10._start = true;\n _this10.startLoading();\n _this10.setFeaturesOptions({ filter: filter });\n try {\n handlerAfterSessionGetFeatures((yield (0, _promisify.promisify)(_this10._session.start(_this10.state._getFeaturesOption))));\n } catch (e) {\n console.warn(e);\n _this10.setEditing(false);\n }\n }), 300);\n });\n }\n\n /** @TODO merge the following condtions? */\n if (!is_started && !GIVE_ME_A_NAME) {\n _this10._start = true;\n _this10.startLoading();\n _this10._session.start(_this10.state._getFeaturesOption).then(handlerAfterSessionGetFeatures);\n }\n\n if (is_started && !_this10._start) {\n _this10.startLoading();\n _this10._session.getFeatures(_this10.state._getFeaturesOption).then(handlerAfterSessionGetFeatures);\n _this10._start = true;\n }\n\n if (is_started) {\n _this10.setEditing(true);\n }\n });\n\n return function (_x13, _x14) {\n return _ref26.apply(this, arguments);\n };\n }()));\n }\n }, {\n key: 'startLoading',\n\n\n /**\n *\n */\n value: function startLoading() {\n this.state.loading = true;\n }\n\n /**\n *\n */\n\n }, {\n key: 'stopLoading',\n value: function stopLoading() {\n this.state.loading = false;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this11 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this11.disableCanEditEvent) {\n _this11.disableCanEditEvent();\n }\n\n _this11.state._unregisterStartSettersEventsKey.forEach(function (fnc) {\n return fnc();\n });\n _this11.state._unregisterStartSettersEventsKey = [];\n\n _this11._olStartKeysEvent.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n _this11._olStartKeysEvent.splice(0);\n\n _this11.unwatches.forEach(function (uw) {\n return uw();\n });\n _this11.unwatches.splice(0);\n\n //eventually reset start resolve feature waiting promise\n _this11.startResolve = null;\n //set start to false\n _this11._start = false;\n _this11.state.editing.on = false;\n\n if (_this11.state._constraints.scale) {\n _this11._handleScaleConstraint(true);\n }\n\n var is_started = !!_this11.__isStarted();\n\n if (!is_started) {\n return true;\n }\n\n if (!ApplicationState.online) {\n return;\n }\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n var layerId = _this11.state.id;\n\n // Check if father relation is editing and has commit feature\n var fathersInEditing = service.getLayerById(layerId).getFathers().filter(function (id) {\n var toolbox = service.getToolBoxById(id);\n if (toolbox && toolbox.inEditing() && toolbox.isDirty()) {\n //get a temporary relations object and check if layerId has some changes\n return Object.keys(toolbox.getSession().getCommitItems() || {}).find(function (id) {\n return layerId === id;\n });\n }\n });\n\n if (fathersInEditing.length > 0) {\n _this11.stopActiveTool();\n _this11.enableTools(false);\n _this11.clearToolboxMessages();\n // unregister get features event\n if (Layer.LayerTypes.VECTOR === _this11.state._layerType) {\n GUI.getService('map').getMap().un(_this11._getFeaturesEvent.event, _this11._getFeaturesEvent.fnc);\n }\n _this11._stopSessionChildren(_this11.state.id);\n // clear layer unique field values\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this11.getId()] = {};\n return;\n }\n\n try {\n yield (0, _promisify.promisify)(_this11._session.stop());\n _this11.state.enabled = false;\n _this11.stopLoading();\n _this11.state._getFeaturesOption = {};\n _this11.stopActiveTool();\n _this11.enableTools(false);\n _this11.clearToolboxMessages();\n _this11.emit('stop-editing');\n // clear layer unique field values\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this11.getId()] = {};\n return true;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Commit changes on server (save)\n * \n * @param opts.ids\n * @param opts.items\n * @param opts.relations\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'save',\n value: function save() {\n var _this12 = this;\n\n var _ref30 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref30$ids = _ref30.ids,\n ids = _ref30$ids === undefined ? null : _ref30$ids,\n items = _ref30.items,\n _ref30$relations = _ref30.relations,\n relations = _ref30$relations === undefined ? true : _ref30$relations,\n _ref30$__esPromise = _ref30.__esPromise,\n __esPromise = _ref30$__esPromise === undefined ? false : _ref30$__esPromise;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref31 = _asyncToGenerator(function* (resolve, reject) {\n var commit = void 0; // committed items\n\n // skip when ..\n //@TODO Check if deprecated\n if (ids) {\n commit = _this12.__commit(ids);\n _this12.__clearHistory(ids);\n return resolve(commit);\n }\n\n commit = items || _this12.__getCommitItems(_this12.__commit());\n\n if (!relations) {\n commit.relations = {};\n }\n\n _this12.state.layer.getEditor().commit(commit).then(function (response) {\n\n // skip when response is null or undefined and response.result is false\n if (!(response && response.result)) {\n reject(response);\n return;\n }\n\n var _response$response$ne = response.response.new_relations,\n new_relations = _response$response$ne === undefined ? {} : _response$response$ne; // check if new relations are saved on server\n\n // sync server data with local data\n\n for (var id in new_relations) {\n var toolbox = ToolBox.get(id);\n toolbox.getSession().getEditor().applyCommitResponse({ // apply commit response to current editing relation layer\n response: new_relations[id],\n result: true\n });\n }\n\n _this12.__clearHistory();\n\n /**\n * @since v3.9.0\n * After commit get new unique values\n */\n _this12._session.saveChangesOnServer(commit);\n\n // ES6 promises only accept a single response\n if (__esPromise) {\n resolve({ commit: commit, response: response });\n } else {\n resolve(commit, response);\n }\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x17, _x18) {\n return _ref31.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * @returns {*|{}}\n */\n\n }, {\n key: 'getEditingConstraints',\n value: function getEditingConstraints() {\n return this.state._constraints;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'canEdit',\n value: function canEdit() {\n return this.state.editing.canEdit;\n }\n\n /**\n * @param message\n */\n\n }, {\n key: 'setMessage',\n value: function setMessage(message) {\n this.state.message = message;\n }\n\n /**\n * @returns {null}\n */\n\n }, {\n key: 'getMessage',\n value: function getMessage() {\n return this.state.message;\n }\n\n /**\n *\n */\n\n }, {\n key: 'clearMessage',\n value: function clearMessage() {\n this.setMessage(null);\n }\n\n /**\n *\n */\n\n }, {\n key: 'clearToolboxMessages',\n value: function clearToolboxMessages() {\n this.state.toolmessages.help = null;\n this.clearMessage();\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * @returns {string}\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.state.title;\n }\n\n /**\n * @param title\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(title) {\n this.state.customTitle = true;\n this.state.title = title;\n }\n\n /**\n * @returns {string}\n */\n\n }, {\n key: 'getColor',\n value: function getColor() {\n return this.state.color;\n }\n\n /**\n * Enable toolbox\n * \n * @param bool\n */\n\n }, {\n key: 'setEditing',\n value: function setEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.setEnable(bool);\n this.state.editing.on = bool;\n this.enableTools(bool);\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'inEditing',\n value: function inEditing() {\n return this.state.editing.on;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return this.state.enabled;\n }\n\n /**\n * @param bool\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'setEnable',\n value: function setEnable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.enabled = bool;\n return this.state.enabled;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isLoading',\n value: function isLoading() {\n return this.state.loading;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'isDirty',\n value: function isDirty() {\n return this.state.editing.history.commit;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param bool\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected() {\n var _this13 = this;\n\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selected = bool;\n //Check if layer has a scale constraint\n if (this.state._constraints.scale) {\n var map = GUI.getService('map').getMap();\n //run handle scale contraint handler function\n this._handleScaleConstraint();\n\n //IN CASE START EDITING AND CAN EDIT NEED TO DISPATCH EVENT MOVE END MAP\n if (this._start && this.state.canEdit) {\n map.dispatchEvent({ type: this._getFeaturesEvent.event, target: map });\n }\n //SELECTED AND NOT REGISTER MAP CHANGE RESOLUTION\n if (this.state.selected && !this.keyChangeResolution) {\n this.keyChangeResolution = map.getView().on('change:resolution', function () {\n return _this13._handleScaleConstraint();\n });\n }\n\n //NOT SELECTED AND REGISTER MAP CHANGE RESOLUTION, NEED TO REMOVE CHANGE RESOLUTION CHECK\n if (!this.state.selected && this.keyChangeResolution) {\n ol.Observable.unByKey(this.keyChangeResolution);\n this.keyChangeResolution = null;\n }\n }\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getTools',\n value: function getTools() {\n return this.state._tools;\n }\n\n /**\n * @param toolId\n * \n * @returns {*|number|bigint|T|T} tool by id\n */\n\n }, {\n key: 'getToolById',\n value: function getToolById(toolId) {\n return this.state._tools.find(function (tool) {\n return toolId === tool.getId();\n });\n }\n\n /**\n * @param toolId\n */\n\n }, {\n key: 'setEnableTool',\n value: function setEnableTool(toolId) {\n this.state._tools.find(function (tool) {\n return tool.getId() === toolId;\n }).state.enabled = true;\n }\n\n /**\n * Set tools bases on add\n * editing_constraints : true // follow the tools related toi editing conttraints configuration\n * \n * @see g3w-client-plugin-sispi-worksite\n */\n\n }, {\n key: 'setAddEnableTools',\n value: function setAddEnableTools() {\n var _ref32 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref32$tools = _ref32.tools,\n tools = _ref32$tools === undefined ? {} : _ref32$tools,\n _ref32$options = _ref32.options,\n options = _ref32$options === undefined ? { editing_constraints: true } : _ref32$options;\n\n var _options$editing_cons = options.editing_constraints,\n editing_constraints = _options$editing_cons === undefined ? false : _options$editing_cons;\n\n\n this.setEnablesDisablesTools({\n enabled: this.state._tools.filter(function (tool) {\n return editing_constraints ? tool.type.includes('add_feature') : ['addfeature', 'editattributes', 'movefeature', 'movevertex'].includes(tool.getId());\n }).map(function (tool) {\n return { id: tool.getId(), options: tools[tool.getId()] };\n })\n });\n\n this.enableTools(true);\n }\n\n /**\n * Set tools bases on update\n * \n * @see g3w-client-plugin-sispi-worksite\n */\n\n }, {\n key: 'setUpdateEnableTools',\n value: function setUpdateEnableTools(_ref33) {\n var _ref33$tools = _ref33.tools,\n tools = _ref33$tools === undefined ? {} : _ref33$tools,\n _ref33$excludetools = _ref33.excludetools,\n excludetools = _ref33$excludetools === undefined ? [] : _ref33$excludetools,\n _ref33$options = _ref33.options,\n options = _ref33$options === undefined ? { editing_constraints: true } : _ref33$options;\n var _options$editing_cons2 = options.editing_constraints,\n editing_constraints = _options$editing_cons2 === undefined ? false : _options$editing_cons2;\n\n var UPDATEONEFEATUREONLYTOOLSID = ['editattributes', 'movefeature', 'movevertex'];\n var update_tools = this.state._tools.filter(function (tool) {\n // exclude\n if (excludetools.includes(tool.getId())) {\n return false;\n }\n return editing_constraints ? tool.type.find(function (type) {\n return type === 'change_feature' || type === 'change_attr_feature';\n }) : UPDATEONEFEATUREONLYTOOLSID.includes(tool.getId());\n }).map(function (tool) {\n var id = tool.getId();\n return { id: id, options: tools[id] };\n });\n\n this.setEnablesDisablesTools({ enabled: update_tools });\n this.enableTools(true);\n }\n\n /**\n * Set enable tools\n *\n * @param tools\n */\n\n }, {\n key: 'setEnablesDisablesTools',\n value: function setEnablesDisablesTools(tools) {\n var _this14 = this;\n\n if (tools) {\n this.state.changingtools = true;\n // Check if tools is an array\n var _tools$enabled = tools.enabled,\n enableTools = _tools$enabled === undefined ? [] : _tools$enabled,\n _tools$disabled = tools.disabled,\n disableTools = _tools$disabled === undefined ? [] : _tools$disabled;\n\n\n var toolsId = enableTools.length ? [] : this.state._tools.map(function (tool) {\n return tool.getId();\n });\n\n enableTools.forEach(function (_ref34) {\n var id = _ref34.id,\n _ref34$options = _ref34.options,\n options = _ref34$options === undefined ? {} : _ref34$options;\n\n //check if id of tool passed as argument is right\n var tool = _this14.getToolById(id);\n if (tool) {\n var _options$active = options.active,\n active = _options$active === undefined ? false : _options$active;\n // set tool options\n\n tool.messages = options.messages || tool.messages;\n tool.visible = undefined !== options.visible ? options.visible : true;\n tool.enabled = undefined !== options.enabled ? options.enabled : false;\n tool.disabledtoolsoftools = undefined !== options.disabledtoolsoftools ? options.disabledtoolsoftools : [];\n if (tool.visible) {\n toolsId.push(id);\n }\n if (active) {\n _this14.setActiveTool(tool);\n }\n if (_this14.state._enabledtools === undefined) {\n _this14.state._enabledtools = [];\n }\n _this14.state._enabledtools.push(tool);\n }\n });\n //disabled and visible\n disableTools.forEach(function (_ref35) {\n var id = _ref35.id,\n options = _ref35.options;\n\n var tool = _this14.getToolById(id);\n if (tool) {\n if (_this14.state._disabledtools === undefined) {\n _this14.state._disabledtools = [];\n }\n _this14.state._disabledtools.push(id);\n //add it toi visible tools\n toolsId.push(id);\n }\n });\n //set not visible all remain\n this.state._tools.forEach(function (tool) {\n return !toolsId.includes(tool.getId()) && (tool.visible = false);\n });\n this.state.changingtools = false;\n }\n }\n }, {\n key: 'enableTools',\n\n\n /**\n * @param {*} bool whehter enable all tools\n */\n value: function enableTools() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var tools = this.state._enabledtools || this.state._tools;\n var disabledtools = this.state._disabledtools || [];\n tools.forEach(function (tool) {\n var enabled = undefined !== tool.enable ? tool.enable : bool;\n tool.enabled = bool && disabledtools.length ? disabledtools.indexOf(tool.getId()) === -1 : toRawType(enabled) === 'Boolean' ? enabled : enabled({ bool: bool, tool: tool });\n if (!bool) {\n tool.active = bool;\n }\n });\n }\n\n /**\n * @param tool\n */\n\n }, {\n key: 'setActiveTool',\n value: function setActiveTool(tool) {\n var _this15 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n yield (0, _promisify.promisify)(_this15.stopActiveTool(tool));\n\n _this15.state.toolsoftool.splice(0);\n _this15.state.activetool = tool;\n\n var workflow = tool.getOperator();\n\n if (workflow) {\n // filter eventually disable tools of tools\n workflow.once('settoolsoftool', function (ts) {\n var _state$toolsoftool;\n\n return (_state$toolsoftool = _this15.state.toolsoftool).push.apply(_state$toolsoftool, _toConsumableArray((ts || []).filter(function (t) {\n return !tool.disabledtoolsoftools.includes(t.type);\n })));\n });\n workflow.once('start', function (ts) {\n return _this15.state.toolsoftool.forEach(function (t) {\n return (ts || []).includes(t.type) && (t.options.active = true);\n });\n });\n workflow.once('stop', function (ts) {\n return _this15._deactivetools(tool, ts);\n });\n workflow.once('reject', function (ts) {\n return _this15._deactivetools(tool, ts);\n });\n }\n\n tool.start();\n\n // set tool messages\n var messages = _this15.state.activetool.getOperator().getHelpMessage() || _this15.state.activetool.getOperator().getRunningStep() ? _this15.state.activetool.messages : null;\n _this15.state.toolmessages.help = messages && messages.help || null;\n } catch (e) {\n console.warn(e);\n }\n }));\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0 \n */\n\n }, {\n key: '_deactivetools',\n value: function _deactivetools(tool) {\n var tools = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n // in case of deactivate tool and current active tool, it was clicked\n if (tool === this.state.activetool) {\n this.state.activetool = null;\n this.state.toolsoftool.splice(0);\n }\n this.state.toolsoftool.forEach(function (t) {\n return tools.includes(t.type) && (t.options.active = false);\n });\n }\n\n /**\n * @returns {null}\n */\n\n }, {\n key: 'getActiveTool',\n value: function getActiveTool() {\n return this.state.activetool;\n }\n\n /**\n * @param tool\n * \n * @returns {*}\n */\n\n }, {\n key: 'stopActiveTool',\n value: function stopActiveTool(tool) {\n var _this16 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var activeTool = _this16.getActiveTool();\n if (tool && (!activeTool || tool === activeTool)) {\n tool.removeAllListeners();\n return;\n }\n\n try {\n //Need to check if is there active tool\n if (activeTool) {\n activeTool.removeAllListeners();\n yield (0, _promisify.promisify)(activeTool.stop(true));\n }\n _this16.state.toolsoftool.splice(0);\n _this16.state.toolmessages.help = null;\n _this16.state.activetool = null;\n } catch (e) {\n console.warn(e);\n }\n }));\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n return this._session;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this.state.layer.getEditor();\n }\n\n /**\n * Reset default values\n */\n\n }, {\n key: 'resetDefault',\n value: function resetDefault() {\n this.state.title = this.state.originalState.title;\n this.state.toolboxheader = true;\n this.state.startstopediting = true;\n this.constraints = {\n filter: null,\n show: null,\n tools: []\n };\n\n if (this.state._enabledtools) {\n this.state._enabledtools = undefined;\n this.enableTools();\n this.state._tools.forEach(function (tool) {\n tool.visible = true;\n tool.enabled = false;\n tool.messages = tool.op.getMessages();\n tool.disabledtoolsoftools = []; //reset disabled tools eventually set by other\n });\n }\n this.state._disabledtools = null;\n /** since 3.9.0 set show based on visibile porpety of config editing object setting*/\n this.state.show = this.state.layer.config.editing.visible;\n //need to set selected false\n this.state.selected = false;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param uniqueId\n * @param items\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__add',\n value: function __add(uniqueId, items) {\n var _this17 = this;\n\n //state object is an array of feature/features changed in a transaction\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n // before insert an item into the history\n // check if are at last state step (no redo was done)\n // If we are in the middle of undo, delete all changes\n // in the history from the current \"state\" so if it\n // can create a new history\n if (null === _this17.state.editing.session.current) {\n _this17._states = [{ id: uniqueId, items: items }];\n } else {\n if (_this17._states.length > 0 && _this17.state.editing.session.current < _this17._states.at(-1).id) {\n _this17._states = _this17._states.filter(function (s) {\n return s.id <= _this17.state.editing.session.current;\n });\n }\n _this17._states.push({ id: uniqueId, items: items });\n }\n\n _this17.state.editing.session.current = uniqueId;\n // set internal state\n _this17.__canUndo();\n _this17.__canCommit();\n _this17.__canRedo();\n // return unique id key\n // it can be used in save relation\n resolve(uniqueId);\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * undo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undo',\n value: function __undo() {\n var _this18 = this;\n\n var items = void 0;\n if (this.state.editing.session.current === this._states[0].id) {\n this.state.editing.session.current = null;\n items = this._states[0].items;\n } else {\n this._states.find(function (state, idx) {\n if (state.id === _this18.state.editing.session.current) {\n items = _this18._states[idx].items;\n _this18.state.editing.session.current = _this18._states[idx - 1].id;\n return true;\n }\n });\n }\n items = (0, _checkSessionItems.checkSessionItems)(this._history.id, items, 0);\n // set internal state\n this.__canUndo();\n this.__canCommit();\n this.__canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * redo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redo',\n value: function __redo() {\n var _this19 = this;\n\n var items = void 0;\n // if not set get first state\n if (!this.state.editing.session.current) {\n items = this._states[0].items;\n // set current to first\n this.state.editing.session.current = this._states[0].id;\n } else {\n this._states.find(function (state, idx) {\n if (_this19.state.editing.session.current === state.id) {\n _this19.state.editing.session.current = _this19._states[idx + 1].id;\n items = _this19._states[idx + 1].items;\n return true;\n }\n });\n }\n items = (0, _checkSessionItems.checkSessionItems)(this._history.id, items, 1);\n // set internal state\n this.__canUndo();\n this.__canCommit();\n this.__canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param id\n * \n * @returns {T}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getState',\n value: function __getState(id) {\n return this._states.find(function (s) {\n return s.id === id;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { boolean } true if we can commit\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canCommit',\n value: function __canCommit() {\n var checkCommitItems = this.__commit();\n var canCommit = false;\n for (var layerId in checkCommitItems) {\n var commitItem = checkCommitItems[layerId];\n canCommit = canCommit || commitItem.length > 0;\n }\n this._constrains.commit = canCommit;\n return this._constrains.commit;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canUdo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canUndo',\n value: function __canUndo() {\n var _this20 = this;\n\n var currentStateIndex = null;\n if (this.state.editing.session.current && this._states.length) {\n this._states.forEach(function (state, idx) {\n if (_this20.state.editing.session.current === state.id) {\n currentStateIndex = idx;\n return false;\n }\n });\n };\n var steps = this._states.length - 1 - currentStateIndex;\n this._constrains.undo = null !== this.state.editing.session.current && steps < 10; // 10 = maximum \"buffer history\" lenght for undo/redo\n return this._constrains.undo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canRedo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canRedo',\n value: function __canRedo() {\n this._constrains.redo = this._states.at(-1) && this._states.at(-1).id != this.state.editing.session.current || null === this.state.editing.session.current && this._states.length > 0;\n return this._constrains.redo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * get all changes to send to server (mandare al server)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__commit',\n value: function __commit() {\n var _this21 = this;\n\n var commitItems = {};\n var statesToCommit = this._states.filter(function (s) {\n return s.id <= _this21.state.editing.session.current;\n });\n statesToCommit.forEach(function (state) {\n state.items.forEach(function (item) {\n var add = true;\n if (Array.isArray(item)) {\n item = item[1];\n }\n if (commitItems[item.layerId]) {\n commitItems[item.layerId].forEach(function (commitItem, index) {\n // check if already inserted feature\n if (commitItem.getUid() === item.feature.getUid()) {\n if (item.feature.isNew() && !commitItem.isDeleted() && item.feature.isUpdated()) {\n var _item = item.feature.clone();\n _item.add();\n commitItems[item.layerId][index] = _item;\n } else if (item.feature.isNew() && item.feature.isDeleted()) {\n commitItems[item.layerId].splice(index, 1);\n } else if (item.feature.isUpdated() || item.feature.isDeleted()) {\n commitItems[item.layerId][index] = item.feature;\n }\n add = false;\n return false;\n }\n });\n }\n if (add) {\n var _feature3 = item.feature;\n var layerId = item.layerId;\n if (!(!_feature3.isNew() && _feature3.isAdded())) {\n if (!commitItems[layerId]) {\n commitItems[layerId] = [];\n }\n commitItems[layerId].push(_feature3);\n }\n }\n });\n });\n return commitItems;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getLastHistoryState',\n value: function __getLastHistoryState() {\n return this._states.at(-1) || null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__isStarted',\n value: function __isStarted() {\n return this.state.editing.session.started;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getHistory',\n value: function __getHistory() {\n return this._history;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getEditor',\n value: function __getEditor() {\n return this.state.layer.getEditor();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary features that will be added with save method\n * \n * @param { { layerId: string, feature: * } } NewFeat \n * @param { { layerId: string, feature: * } } OldFeat\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__push',\n value: function __push(newFeat, oldFeat) {\n this.state.editing.session.changes.push(oldFeat ? [oldFeat, newFeat] : newFeat); // check is set old (edit)\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Delete temporary feature\n * \n * @param layerId\n * @param feature\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushDelete',\n value: function __pushDelete(layerId, feature) {\n this.__push({ layerId: layerId, feature: feature.delete() });\n return feature;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Save temporary changes to the layer in history instance and feature store\n * \n * @param options\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__save',\n value: function __save() {\n var _this22 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // fill history\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n // add temporary modify to history\n if (_this22.state.editing.session.changes.length) {\n var uniqueId = options.id || Date.now();\n yield (0, _promisify.promisify)(_this22.__add(uniqueId, _this22.state.editing.session.changes));\n // clear to temporary changes\n _this22.state.editing.session.changes = [];\n // resolve if unique id\n return uniqueId;\n }\n return null;\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary feature\n * \n * @param layerId \n * @param feature \n * @param removeNotEditableProperties\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushAdd',\n value: function __pushAdd(layerId, feature) {\n var removeNotEditableProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n /**\n * @TODO check if it need to deprecate it. All properties are need\n * Please take care of this to understand\n * In case of removeNotEditableProperties true, remove not editable field\n * from feature properties\n */\n var editor = layerId === this.state.layer.getId() ? this.state.layer.getEditor() : ToolBox.get(layerId).getSession().getEditor();\n\n // remove not editable proprierties from feature\n if (removeNotEditableProperties) {\n (editor.getLayer().getEditingNotEditableFields() || []).forEach(function (f) {\n return feature.unset([f]);\n });\n }\n\n var newFeature = feature.clone();\n\n this.__push({ layerId: layerId, feature: newFeature.add() });\n\n return newFeature;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary feature changes\n * \n * @param layerId\n * @param newFeature\n * @param oldFeature\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushUpdate',\n value: function __pushUpdate(layerId, newFeature, oldFeature) {\n // get index of temporary changes\n var is_new = newFeature.isNew();\n var i = is_new && this.state.editing.session.changes.findIndex(function (c) {\n return layerId === c.layerId && c.feature.getId() === newFeature.getId();\n });\n\n // in case of new feature\n if (is_new && i >= 0) {\n var _feature4 = newFeature.clone();\n _feature4.add();\n this.state.editing.session.changes[i].feature = _feature4;\n return;\n }\n\n this.__push({ layerId: layerId, feature: newFeature.update() }, { layerId: layerId, feature: oldFeature.update() });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n *\n * @param changes\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__rollback',\n value: function __rollback(changes) {\n var _this23 = this;\n\n // skip when..\n if (changes) {\n return this.state.layer.getEditor().rollback(changes);\n }\n\n // Handle temporary changes of layer\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var id = _this23.state.layer.getId();\n changes = { own: [], dependencies: {} };\n\n _this23.state.editing.session.changes.forEach(function (c) {\n var change = Array.isArray(c) ? c[0] : c;\n if (change.layerId === id) {\n changes.own.push(change);\n } else {\n changes.dependencies[change.layerId] = changes.dependencies[change.layerId] || [];\n // FILO\n changes.dependencies[change.layerId].unshift(change);\n }\n });\n\n try {\n yield (0, _promisify.promisify)(_this23.state.layer.getEditor().rollback(changes.own));\n for (var _id in changes.dependencies) {\n ToolBox.get(_id).getSession().rollback(changes.dependencies[_id]);\n }\n return changes.dependencies;\n } catch (e) {\n console.warn(e);\n } finally {\n _this23.state.editing.session.changes = [];\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Rollback child changes of current session\n * \n * @param ids [array of child layer id]\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__rollbackDependecies',\n value: function __rollbackDependecies() {\n var _this24 = this;\n\n var ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n ids.forEach(function (id) {\n var changes = [];\n _this24.state.editing.session.changes = _this24.state.editing.session.changes.filter(function (temporarychange) {\n if (temporarychange.layerId === id) {\n changes.push(temporarychange);\n return false;\n }\n });\n if (changes.length) {\n ToolBox.get(id).getSession().rollback(changes);\n }\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n *\n * undo method\n * \n * @param items\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undoSession',\n value: function __undoSession(items) {\n items = items || this.__undo();\n this.state.layer.getEditor().setChanges(items.own, true);\n this.__canCommit();\n return items.dependencies;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * redo method\n * \n * @param items\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redoSession',\n value: function __redoSession(items) {\n items = items || this.__redo();\n this.state.layer.getEditor().setChanges(items.own, true);\n this.__canCommit();\n return items.dependencies;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Serialize commit\n * \n * @returns {{ add: *[], update: *[], relations: {}, delete: *[] }} JSON Object for a commit body send to server\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCommitItems',\n value: function __getCommitItems() {\n var _this25 = this;\n\n var itemsToCommit = this.__commit();\n var id = this.state.layer.getId();\n var state = void 0;\n var layer = void 0;\n var commitObj = {\n add: [], // features to add\n update: [], // features to update\n delete: [], // features to delete\n relations: {} // relation features\n };\n // key is a layer id that has changes to apply\n for (var key in itemsToCommit) {\n var isRelation = false; //set relation to false\n var items = itemsToCommit[key];\n // case key (layer id) is not equal to id (current layer id on editing)\n if (key !== id) {\n isRelation = true; //set true because these changes belong to features relation items\n var sessionRelation = ToolBox.get(key).getSession();\n //check lock ids of relation layer\n var lockids = sessionRelation ? sessionRelation.getEditor().getLockIds() : [];\n //create a relations object\n commitObj.relations[key] = {\n lockids: lockids,\n add: [],\n update: [],\n delete: [],\n relations: {} //@since v3.7.1\n };\n layer = commitObj.relations[key];\n } else {\n layer = commitObj;\n }\n\n items.forEach(function (item) {\n //check state of feature item\n state = item.getState();\n var GeoJSONFormat = new ol.format.GeoJSON();\n // item needs to be deleted\n if ('delete' === state) {\n //check if is new. If is new mean is not present on server\n //so no need to say to server to delete it\n if (!item.isNew()) {\n layer.delete.push(item.getId());\n }\n return;\n }\n //convert feature to json ex. {geometry:{tye: 'Point'}, properties:{}.....}\n var itemObj = GeoJSONFormat.writeFeatureObject(item);\n //get properties\n var childs_properties = item.getProperties();\n for (var p in itemObj.properties) {\n // in case the value of property is an object\n if (itemObj.properties[p] && _typeof(itemObj.properties[p]) === 'object' && itemObj.properties[p].constructor === Object) {\n //need to get value from value attribute object\n itemObj.properties[p] = itemObj.properties[p].value;\n }\n // @TODO explain when this condition happen\n if (undefined === itemObj.properties[p] && childs_properties[p]) {\n itemObj.properties[p] = childs_properties[p];\n }\n }\n // in case of add it have to remove not editable properties\n layer[item.isNew() ? 'add' : item.getState()].push(itemObj);\n });\n // check in case of no edit remove relation key\n if (isRelation && layer.add.length === 0 //no relation features to add\n && layer.update.length === 0 //no relation features to update\n && layer.delete.length === 0 //no relation features to delete\n ) {\n delete commitObj.relations[key];\n }\n }\n\n // Remove deep relations from current layer (commitObj) that are not relative to that layer\n var relations = Object.keys(commitObj.relations || {});\n relations.filter(function (id) {\n return undefined === _this25.state.layer.getEditor().getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild();\n });\n }) // child relations\n .map(function (id) {\n commitObj.relations[ToolBox.get(id).getSession().getEditor().getLayer().getRelations().getArray().find(function (r) {\n return relations.includes(r.getFather());\n }) // parent relation layer\n .getFather()].relations[id] = commitObj.relations[id];\n return id;\n }).forEach(function (id) {\n return delete commitObj.relations[id];\n });\n\n return commitObj;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Clear all things bind to session\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__clearSession',\n value: function __clearSession() {\n this._allfeatures = false;\n this.state.editing.session.started = false;\n this.state.editing.session.getfeatures = false;\n this.__clearHistory();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param ids since g3w-client-plugin-editing@v3.8.0\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__clearHistory',\n value: function __clearHistory(ids) {\n var _this26 = this;\n\n if (ids) {\n this._states.forEach(function (state, idx) {\n if (ids.indexOf(state.id) !== -1) {\n if (_this26.state.editing.session.current && _this26.state.editing.session.current === state.id()) {\n _this26.__undo();\n }\n _this26._states.splice(idx, 1);\n }\n });\n } else {\n // clear all\n this._states = [];\n this.state.editing.session.current = null;\n this._constrains.commit = false;\n this._constrains.redo = false;\n this._constrains.undo = false;\n }\n }\n\n /**\n * Start session\n */\n\n }, {\n key: '__startSession',\n value: function () {\n var _ref40 = _asyncToGenerator(function* () {\n var _this27 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var features = yield (0, _promisify.promisify)(this.state.layer.getEditor().start(options));\n this.state.editing.session.started = true;\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n if (!options.registerEvents) {\n return;\n }\n this.state._getFeaturesOption = options;\n // register get features event (only in case filter bbox)\n if (Layer.LayerTypes.VECTOR === this.state._layerType && this.state._getFeaturesOption.filter.bbox) {\n var fnc = function fnc() {\n if (\n //added ApplicationState.online\n ApplicationState.online && _this27.state.editing.canEdit && _this27.state.selected //need to be selected\n && 0 === GUI.getContentLength()) {\n _this27.state._getFeaturesOption.filter.bbox = GUI.getService('map').getMapBBOX();\n _this27.state.loading = true;\n _this27._session.getFeatures(_this27.state._getFeaturesOption).then(function (promise) {\n return promise.then(function () {\n return _this27.state.loading = false;\n });\n });\n }\n };\n this._getFeaturesEvent.event = 'moveend';\n this._getFeaturesEvent.fnc = debounce(fnc, 300);\n this._olStartKeysEvent.push(GUI.getService('map').getMap().on('moveend', this._getFeaturesEvent.fnc));\n if (GUI.getContentLength()) {\n GUI.once('closecontent', function () {\n var map = GUI.getService('map').getMap();\n setTimeout(function () {\n map.dispatchEvent({ type: _this27._getFeaturesEvent.event, target: map });\n });\n });\n }\n }\n }\n });\n\n function __startSession() {\n return _ref40.apply(this, arguments);\n }\n\n return __startSession;\n }()\n\n /**\n * Stop session\n */\n\n }, {\n key: '__stopSession',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n try {\n if (this.state.editing.session.started || this.state.editing.session.getfeatures) {\n yield (0, _promisify.promisify)(this.state.layer.getEditor().stop());\n this.__clearSession();\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n if (!this.inEditing()) {\n return;\n }\n if (ApplicationState.online) {\n this._stopSessionChildren(this.state.id);\n }\n // unregister get features event\n if (this.state._getFeaturesOption.registerEvents && Layer.LayerTypes.VECTOR === this.state._layerType) {\n GUI.getService('map').getMap().un(this._getFeaturesEvent.event, this._getFeaturesEvent.fnc);\n }\n }\n });\n\n function __stopSession() {\n return _ref41.apply(this, arguments);\n }\n\n return __stopSession;\n }()\n\n /**\n * Get features from server (by editor)\n */\n\n }, {\n key: '__getFeatures',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this._allfeatures) {\n this._allfeatures = !options.filter;\n var features = yield (0, _promisify.promisify)(this.state.layer.getEditor().getFeatures(options));\n this.state.editing.session.getfeatures = true;\n return features;\n }\n return [];\n });\n\n function __getFeatures() {\n return _ref42.apply(this, arguments);\n }\n\n return __getFeatures;\n }()\n\n /**\n * Hook to get informed that are saved on server\n * Get unique id for each commited layer/relation\n */\n\n }, {\n key: '__saveChangesOnServer',\n value: function () {\n var _ref43 = _asyncToGenerator(function* (commit) {\n var promises = [(0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(this.getId())];\n var relationsId = [];\n var addRelationId = function addRelationId() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n Object.entries(relations).forEach(function (_ref44) {\n var _ref45 = _slicedToArray(_ref44, 2),\n id = _ref45[0],\n commit = _ref45[1];\n\n relationsId.push(id);\n addRelationId(commit.relations);\n });\n };\n addRelationId(commit.relations);\n relationsId.forEach(function (id) {\n return promises.push((0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(id));\n });\n\n yield Promise.allSettled(promises);\n });\n\n function __saveChangesOnServer(_x30) {\n return _ref43.apply(this, arguments);\n }\n\n return __saveChangesOnServer;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_startTool',\n value: function _startTool(tool) {\n var _this28 = this;\n\n if (tool.getOperator()) {\n tool.active = true;\n setTimeout(_asyncToGenerator(function* () {\n return yield _this28._startOp(tool, {\n inputs: { layer: _this28.getLayer(), features: [] },\n context: { session: _this28._session }\n }, !!GUI.getService('map').isMapHidden());\n })); // prevent rendering change state\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_startOp',\n value: function () {\n var _ref47 = _asyncToGenerator(function* (tool, options, hideSidebar) {\n // reset features\n options.inputs.features = [];\n\n if (hideSidebar) {\n GUI.hideSidebar();\n }\n\n try {\n yield (0, _promisify.promisify)(tool.op.start(options));\n yield (0, _promisify.promisify)(this._session.save());\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').saveChange(); // after save temp change check if editing service has a autosave\n } catch (e) {\n console.warn(e);\n if (hideSidebar) {\n GUI.showSidebar();\n }\n this._session.rollback();\n } finally {\n if (!tool.getOperator().runOnce && Layer.LayerTypes.TABLE !== this.getLayer().getType()) {\n yield this._startOp(tool, options, hideSidebar);\n } else {\n tool.stop();\n }\n }\n });\n\n function _startOp(_x32, _x33, _x34) {\n return _ref47.apply(this, arguments);\n }\n\n return _startOp;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_stopTool',\n value: function _stopTool(tool) {\n var _this29 = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (!tool.getOperator()) {\n tool.emit('stop', { session: _this29._session });\n return;\n }\n try {\n yield (0, _promisify.promisify)(tool.getOperator().stop(force));\n } catch (e) {\n console.warn(e);\n _this29._session.rollback();\n } finally {\n tool.active = false;\n tool.emit('stop', { session: _this29._session });\n }\n }));\n }\n }]);\n\n return ToolBox;\n}(G3WObject);\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/store/sessions.js@v3.9.1\n *\n * Store editing sessions\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\nToolBox._sessions = {};\nToolBox.get = function (id) {\n return ToolBox._sessions[id];\n};\nToolBox.clear = function () {\n return Object.keys(sessions).forEach(function (id) {\n return delete ToolBox._sessions[id];\n });\n};\n\n},{\"../components/CopyFeaturesFromOtherLayers.vue\":4,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addPartToMultigeometries\":28,\"../utils/addTableFeature\":30,\"../utils/checkSessionItems\":32,\"../utils/chooseFeature\":33,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/cloneFeature\":35,\"../utils/convertToGeometry\":36,\"../utils/createEditingDataOptions\":37,\"../utils/dissolve\":39,\"../utils/evaluateExpressionFields\":40,\"../utils/getDeltaXY\":41,\"../utils/getEditingLayerById\":42,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getNotEditableFieldsNoPkValues\":46,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/getRelationsInEditing\":51,\"../utils/getRelationsInEditingByFeature\":52,\"../utils/handleSplitFeature\":54,\"../utils/isPointOnVertex\":55,\"../utils/isSameBaseGeometryType\":56,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/setLayerUniqueFieldValues\":61,\"../utils/splitFeatures\":62,\"../utils/unlinkRelation\":63,\"../workflows\":65}],28:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addPartToMultigeometries = addPartToMultigeometries;\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _promisify = require('./promisify');\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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addparttomultigeometriestask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addparttomultigeometriesstep.js@v3.7.1\n * \n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addPartToMultigeometries(inputs, context) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var feature = void 0;\n var originalFeature = void 0;\n\n // add part\n if (inputs.features.length > 1) {\n feature = inputs.features[0];\n var geometry = feature.getGeometry();\n originalFeature = feature.clone();\n geometry.setCoordinates([].concat(_toConsumableArray(geometry.getCoordinates()), _toConsumableArray(inputs.features[1].getGeometry().getCoordinates())));\n } else {\n feature = inputs.layer.getEditingLayer().getSource().getFeatures()[0];\n originalFeature = feature.clone();\n feature.setGeometry(inputs.features[0].getGeometry());\n }\n\n // evaluated geometry expression\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n context.session.pushUpdate(inputs.layer.getId(), feature, originalFeature);\n\n inputs.features = [feature];\n return inputs;\n }));\n}\n\n},{\"../utils/evaluateExpressionFields\":40,\"./promisify\":58}],29:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addRemoveToMultipleSelectFeatures = addRemoveToMultipleSelectFeatures;\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/selectelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/selectelementsstep.js@v3.7.1\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addRemoveToMultipleSelectFeatures(features, inputs, selected, task) {\n (features || []).forEach(function (f) {\n var selIndex = selected.indexOf(f);\n if (selIndex < 0) {\n task._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)([f]);\n selected.push(f);\n } else {\n selected.splice(selIndex, 1);\n f.setStyle(task._originalStyle);\n }\n inputs.features = selected;\n });\n\n var steps = task.getSteps();\n var buttonnext = steps.select.buttonnext;\n\n buttonnext.disabled = buttonnext.condition ? buttonnext.condition({ features: selected }) : 0 === selected.length;\n\n if (undefined !== steps.select.dynamic) {\n steps.select.dynamic = selected.length;\n }\n}\n\n},{\"../utils/setFeaturesSelectedStyle\":60}],30:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addTableFeature = addTableFeature;\n\nvar _promisify = require('./promisify');\n\n/**\n * \n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addtablefeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addTableFeature(inputs, context) {\n var feature = inputs.features.length > 0 ? inputs.features[inputs.features.length - 1] : inputs.layer.createNewFeature();\n\n feature.setTemporaryId();\n\n inputs.layer.getEditingLayer().getEditingSource().addFeature(feature);\n\n context.session.pushAdd(inputs.layer.getId(), feature, false);\n\n inputs.features.push(feature);\n\n context.get_default_value = true;\n\n return (0, _promisify.$promisify)(Promise.resolve(inputs, context));\n}\n\n},{\"./promisify\":58}],31:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param feature\n * @param coordinates\n *\n * @returns { boolean }\n */\nfunction areCoordinatesEqual(_ref) {\n var feature = _ref.feature,\n coordinates = _ref.coordinates;\n\n //get geometry from feature\n var geometry = feature.getGeometry();\n var type = geometry.getType();\n var coords = function coords(c1, c2) {\n return g3wsdk.core.geoutils.areCoordinatesEqual(c1, c2);\n }; // whether element have same coordinates\n\n switch (type) {\n case 'Polygon':\n case 'MultiLineString':\n coordinates = _.flatMap(coordinates);\n return _.flatMap(geometry.getCoordinates()).every(function (c, i) {\n return coords(c, coordinates[i]);\n });\n\n case 'LineString':\n case 'MultiPoint':\n return geometry.getCoordinates().every(function (c, i) {\n return coords(c, coordinates[i]);\n });\n\n case 'MultiPolygon':\n // in case of add part or remove part\n if (coordinates.length !== geometry.getPolygons().length) {\n return false;\n }\n return geometry.getPolygons().some(function (poly, i) {\n var _coords = _.flatMap(coordinates[i]);\n return _.flatMap(poly.getCoordinates()).every(function (c, i) {\n return coords(c, _coords[i]);\n });\n });\n\n case 'Point':\n return coords(coordinates, geometry.getCoordinates());\n\n default:\n return false;\n }\n}\n\n},{}],32:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSessionItems = checkSessionItems;\n/**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * check if was done an update (update are array contains two items, old and new value)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction checkSessionItems(historyId, items, action) {\n /**\n * action: \n * 0: undo;\n * 1: redo;\n **/\n var newItems = {\n own: [], //array of changes of layer of the current session\n dependencies: {} // dependencies\n };\n\n items.forEach(function (item) {\n if (Array.isArray(item)) {\n item = item[action];\n }\n // check if belong to session\n if (historyId === item.layerId) {\n newItems.own.push(item);\n } else {\n newItems.dependencies[item.layerId] = newItems.dependencies[item.layerId] || {\n own: [],\n dependencies: {}\n };\n newItems.dependencies[item.layerId].own.push(item);\n }\n });\n\n return newItems;\n}\n\n},{}],33:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.chooseFeature = chooseFeature;\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _promisify = require('../utils/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 * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/choosefeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/choosefeaturestep.js@v3.7.1\n * \n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction chooseFeature(inputs) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n if (1 !== inputs.features.length) {\n var feature = yield (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: inputs.features, inputs: inputs });\n inputs.features = [feature];\n }\n return inputs;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n }));\n}\n\n},{\"../utils/chooseFeatureFromFeatures\":34,\"../utils/promisify\":58}],34:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.chooseFeatureFromFeatures = chooseFeatureFromFeatures;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/choosefeaturetoedit.js@v3.6\n * \n * @since g3w-client-plugin-editing@v3.5.13\n */\n\nfunction chooseFeatureFromFeatures(_ref) {\n var _ref$features = _ref.features,\n features = _ref$features === undefined ? [] : _ref$features,\n inputs = _ref.inputs;\n\n return new Promise(function (resolve, reject) {\n\n var feature = [];\n\n var comp = new (Vue.extend(require('../components/ChooseFeatureToEdit.vue')))({\n features: Array.isArray(features) ? features : [],\n feature: feature,\n attributes: inputs.layer.getEditingFields().map(function (_ref2) {\n var name = _ref2.name,\n label = _ref2.label;\n return { name: name, label: label };\n })\n });\n\n var dialog = g3wsdk.gui.GUI.showModalDialog({\n title: tPlugin('editing.modal.tools.copyfeaturefromprojectlayer.title'),\n className: 'modal-left',\n closeButton: false,\n message: comp.$mount().$el,\n buttons: {\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n reject();\n }\n },\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n resolve(feature[0]);\n }\n }\n }\n });\n\n dialog.find('button.btn-success').prop('disabled', true);\n\n comp.$watch('feature', function (feature) {\n return dialog.find('button.btn-success').prop('disabled', null === feature);\n });\n });\n}\n\n},{\"../components/ChooseFeatureToEdit.vue\":3}],35:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneFeature = cloneFeature;\n/**\n * Clone a feature by Primary Key\n * \n * @param { Feature } feature to be cloned\n * @param { TableLayer } layer from which obtain the primary key field\n * \n * @returns { Feature }\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nfunction cloneFeature(feature, layer) {\n var clone = feature.cloneNew();\n //check if layer has a primary key as field\n var pk = layer && layer.getEditingFields().find(function (f) {\n return f.pk;\n }); // get PK field (of value-relation widget?)\n /**\n * In case of layer has a primary key field and is not editabe,\n * clone feature need to set pk value to null to avoid conflict\n * with already pk field value store on server*/\n if (pk && false === pk.editable) {\n clone.set(pk.name, null);\n }\n return clone;\n}\n\n},{}],36:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertToGeometry = convertToGeometry;\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar convertSingleMultiGeometry = g3wsdk.core.geoutils.convertSingleMultiGeometry;\nvar _g3wsdk$core$geoutils = g3wsdk.core.geoutils.Geometry,\n is3DGeometry = _g3wsdk$core$geoutils.is3DGeometry,\n removeZValueToOLFeatureGeometry = _g3wsdk$core$geoutils.removeZValueToOLFeatureGeometry,\n addZValueToOLFeatureGeometry = _g3wsdk$core$geoutils.addZValueToOLFeatureGeometry;\nvar isMultiGeometry = g3wsdk.core.geoutils.Geometry.isMultiGeometry;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param { Array } features to be converted (eg. Polygon)\n * @param { string } geometryType target geometry type (eg. MultiPolygon)\n *\n * @returns { Array } converted features\n */\n\nfunction convertToGeometry() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var geometryType = arguments[1];\n\n return (features || []).flatMap(function (f) {\n var type = f.getGeometry() && f.getGeometry().getType();\n\n // ensure 3D coords\n if (type && !is3DGeometry(geometryType)) {\n removeZValueToOLFeatureGeometry({ feature: f });\n } else if (type && is3DGeometry(geometryType)) {\n addZValueToOLFeatureGeometry({ feature: f, geometryType: geometryType });\n }\n\n // same geometry\n if (geometryType === type) {\n return f;\n }\n\n // convert single → multi\n if ((0, _isSameBaseGeometryType.isSameBaseGeometryType)(type, geometryType) && (isMultiGeometry(geometryType) || !isMultiGeometry(type))) {\n var cloned = f.clone();\n cloned.__layerId = f.__layerId;\n cloned.setGeometry(convertSingleMultiGeometry(f.getGeometry(), geometryType));\n return cloned;\n }\n\n // skip → invalid conversion (eg. Point → Polygon)\n return [];\n });\n}\n\n},{\"../utils/isSameBaseGeometryType\":56}],37:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createEditingDataOptions = createEditingDataOptions;\nvar GUI = g3wsdk.gui.GUI;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { 'all' | 'bbox' | 'field' | 'fid' | '1:1' } filterType\n * @param { Object } options\n * @param options.feature\n * @param options.relation\n * @param options.field\n * @param options.layerId\n * @param options.operator\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction createEditingDataOptions() {\n var filterType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = void 0;\n\n switch (filterType) {\n\n case 'all':\n filter = undefined;\n break;\n\n case 'bbox':\n filter = { bbox: GUI.getService('map').getMapBBOX() };\n break;\n\n case 'field':\n filter = {\n field: { field: options.field, type: 'editing' }\n };\n break;\n\n case 'fid':\n if ('not' !== options.operator) {\n // get relations of current feature\n filter = {\n fid: {\n fid: options.feature.getId(),\n layer: { id: options.layerId },\n type: 'editing',\n relation: options.relation.state,\n formatter: 0 // 0 = retrieve stored value\n }\n };\n }\n break;\n\n // relation 1:1\n case '1:1':\n filter = {\n field: options.relation.getChildField()[0] + '|eq|' + options.feature.get(options.relation.getFatherField()[0]),\n type: 'editing'\n };\n break;\n\n }\n\n return {\n registerEvents: true, // usefult to get register vent on toolbox example mapmoveend\n editing: true,\n filter: filter\n };\n}\n\n},{}],38:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFeature = createFeature;\nvar Feature = g3wsdk.core.layer.features.Feature;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Create a new feature\n *\n * @param layerId\n * @param options.geometry.type\n * @param options.geometry.coordinates\n *\n * @returns { Feature }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction createFeature(layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var feature = new Feature();\n\n if (options.geometry) {\n feature.setGeometry(new ol.geom[options.geometry.type](options.geometry.coordinates));\n }\n\n feature.setProperties(options.properties);\n feature.setTemporaryId();\n\n var toolbox = this.getToolBoxById(layerId);\n var editingLayer = toolbox.getLayer().getEditingLayer();\n var session = toolbox.getSession();\n\n editingLayer.getSource().addFeature(feature);\n session.pushAdd(layerId, feature, false);\n\n return feature;\n}\n\n},{}],39:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dissolve = dissolve;\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/dissolve.js@v3.10.2\n * \n * @param { Object } opts \n * @param { Array } opts.features\n * @param { number } opts.index\n * @param { boolean } opts.clone\n * \n * @returns dissolved feature\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\nfunction dissolve() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$features = _ref.features,\n features = _ref$features === undefined ? [] : _ref$features,\n _ref$index = _ref.index,\n index = _ref$index === undefined ? 0 : _ref$index,\n _ref$clone = _ref.clone,\n clone = _ref$clone === undefined ? false : _ref$clone;\n\n var parser = new jsts.io.OL3Parser();\n var featuresLength = features.length;\n\n /** In case no features to dissolve */\n if (0 === featuresLength) {\n return null;\n }\n\n /** In the case of single feature, return feature */\n if (1 === featuresLength) {\n return features[0];\n }\n\n var jstsdissolvedFeatureGeometry = void 0;\n\n var baseFeature = clone ? features[index].clone() : features[index];\n var baseFeatureGeometry = baseFeature.getGeometry();\n var baseFeatureGeometryType = baseFeatureGeometry.getType();\n\n // check if it can build a LineString\n if ('LineString' === baseFeatureGeometryType) {\n var lineMerger = new jsts.operation.linemerge.LineMerger();\n for (var i = 0; i < featuresLength; i++) {\n lineMerger.addLineString(new jsts.geom.GeometryFactory().createLineString(parser.read(features[i].getGeometry()).getCoordinates()));\n }\n var mergedLineString = lineMerger.getMergedLineStrings();\n jstsdissolvedFeatureGeometry = 1 === mergedLineString.size() ? mergedLineString.toArray()[0] : null;\n }\n\n if ('LineString' !== baseFeatureGeometryType) {\n jstsdissolvedFeatureGeometry = parser.read(baseFeatureGeometry);\n for (var _i = 0; _i < featuresLength; _i++) {\n if (index !== _i) {\n jstsdissolvedFeatureGeometry = jstsdissolvedFeatureGeometry.union(parser.read(features[_i].getGeometry()));\n }\n }\n }\n\n /** In case of no dissolved geometry */\n if (!jstsdissolvedFeatureGeometry) {\n return null;\n }\n\n var dissolvedFeatureGeometry = parser.write(jstsdissolvedFeatureGeometry);\n var dissolvedFeatureGeometryType = dissolvedFeatureGeometry.getType();\n var dissolvedFeatureGeometryCoordinates = dissolvedFeatureGeometryType === baseFeatureGeometryType ? dissolvedFeatureGeometry.getCoordinates() : -1 !== baseFeatureGeometryType.indexOf('Multi') && dissolvedFeatureGeometryType === baseFeatureGeometryType.replace('Multi', '') ? [dissolvedFeatureGeometry.getCoordinates()] : null;\n\n /** In case of null feature dissolved coordinates */\n if (null === dissolvedFeatureGeometryCoordinates) {\n return null;\n }\n\n baseFeature.getGeometry().setCoordinates(dissolvedFeatureGeometryCoordinates);\n\n return baseFeature;\n}\n\n},{}],40:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.evaluateExpressionFields = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param expression.inputs.layer\n * @param expression.context.excludeFields\n * @param expression.context.get_default_value\n * @param expression.feature\n *\n * @returns {Promise}\n *\n * @since g3w-client-plugin-editing@v3.5.14\n */\nvar evaluateExpressionFields = exports.evaluateExpressionFields = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n inputs = _ref2.inputs,\n context = _ref2.context,\n feature = _ref2.feature;\n\n var promises = []; // promises from expression evaluation\n\n inputs.layer.getFieldsWithValues(feature, {\n exclude: context.excludeFields,\n get_default_value: undefined !== context.get_default_value ? context.get_default_value : false\n }).forEach(function (field) {\n\n // default expression\n if (field.input.options.default_expression && (field.input.options.default_expression.apply_on_update || feature.isNew())) {\n promises.push(new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n try {\n yield g3wsdk.core.input.inputService.handleDefaultExpressionFormInput({\n field: field,\n feature: feature,\n qgs_layer_id: inputs.layer.getId(),\n parentData: (0, _getParentFormData.getParentFormData)()\n });\n feature.set(field.name, field.value);\n resolve(feature);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n }\n\n // filter expression\n if (field.input.options.filter_expression) {\n promises.push(new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n try {\n yield g3wsdk.core.input.inputService.handleFilterExpressionFormInput({\n field: field,\n feature: feature,\n qgs_layer_id: inputs.layer.getId(),\n parentData: (0, _getParentFormData.getParentFormData)()\n });\n feature.set(field.name, field.value);\n resolve(feature);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x4, _x5) {\n return _ref4.apply(this, arguments);\n };\n }()));\n }\n });\n\n yield Promise.allSettled(promises);\n\n return feature;\n });\n\n return function evaluateExpressionFields() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _getParentFormData = require('./getParentFormData');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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},{\"./getParentFormData\":47}],41:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDeltaXY = getDeltaXY;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/moveelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/movelementsstep.js@v3.7.1\n *\n * @param { Object } delta\n * @param delta.x\n * @param delta.y\n * @param delta.coordinates\n * \n * @returns {{ x: number, y: number }}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getDeltaXY() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n x = _ref.x,\n y = _ref.y,\n coordinates = _ref.coordinates;\n\n var coords = _getCoordinates(coordinates);\n return {\n x: x - coords.x,\n y: y - coords.y\n };\n}\n\nfunction _getCoordinates(coords) {\n return Array.isArray(coords[0]) ? _getCoordinates(coords[0]) : {\n x: coords[0],\n y: coords[1]\n };\n}\n\n},{}],42:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEditingLayerById = getEditingLayerById;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getEditingLayerById(layerId) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId);\n}\n\n},{}],43:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFeatureTableFieldValue = getFeatureTableFieldValue;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Finalize \"formatter\" value for any kind of field\n *\n * @param { string } opts.layerId\n * @param {ol.Feature} opts.feature\n * @param { string } opts.property\n *\n * @returns (field.key) or (field.value)\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nfunction getFeatureTableFieldValue() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n feature = _ref.feature,\n property = _ref.property;\n\n // get editable fields\n var fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId).config.editing.fields;\n\n // get field value (raw)\n\n var value = feature.get(property);\n\n // get key-value fields implicated into: https://github.com/g3w-suite/g3w-client-plugin-editing/pull/64\n var values = null !== value && (fields.filter(function (f) {\n return ['select_autocomplete', 'select'].includes(f.input.type);\n }) || []).reduce(function (kv, field) {\n kv[field.name] = field.input.options.values;return kv;\n }, {});\n\n // get the last key-value feature add to\n var kv_field = values && values[property] && values[property].find(function (kv) {\n return value == kv.value;\n });\n\n // return key for key-values fields (raw field value otherwise)\n return kv_field ? kv_field.key : value;\n}\n\n},{}],44:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormFields = getFormFields;\n/** Sort an array of strings (alphabetical order) */\nvar sortAlphabeticallyArray = function sortAlphabeticallyArray(arr) {\n return arr.sort(function (a, b) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n });\n};\n\n/* Sort an array of numbers (natural order) */\nvar sortNumericArray = function sortNumericArray(arr) {\n var ascending = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return arr.sort(function (a, b) {\n return ascending ? a - b : b - a;\n });\n};\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Get form fields\n *\n * @param form.inputs.layer\n * @param form.inputs.features\n * @param form.context.excludeFields\n * @param form.context.get_default_value\n * @param form.isChild - whether is child form (ie. belongs to relation)\n * @param form.multi - in case of multi editing set all fields to null\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getFormFields() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n inputs = _ref.inputs,\n context = _ref.context,\n feature = _ref.feature,\n multi = _ref.multi;\n\n //editing service\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n // current form layerId// unique values by feature field\n var layerId = inputs.layer.getId();\n\n var fields = inputs.layer.getFieldsWithValues( // editing fields with values (in case of update)\n feature, {\n exclude: context.excludeFields, // add exclude fields\n get_default_value: undefined === context.get_default_value ? false : context.get_default_value\n });\n\n //Loop through fields\n var unique_values = fields\n //check if field is a unique field. Exclude pk not edittable\n .filter(function (f) {\n return !(f.pk && false === f.editable) && ('unique' === f.input.type || f.validate.unique);\n }).map(function (field) {\n return {\n field: field, // feature field\n _value: feature.get(field.name) // feature current field value\n };\n });\n\n //Loop through unique fields\n unique_values.forEach(function (_ref2) {\n var _value = _ref2._value,\n field = _ref2.field;\n\n //get current stored unique values for field\n var current_values = service.state.uniqueFieldsValues[layerId][field.name] || new Set([]);\n //filter null value otherwise sort function gets an error\n var values = Array.from(current_values).filter(function (v) {\n return null !== v;\n });\n //NEED TO ADD ALWAYS CURRENT VALUE\n field.input.options.values = (['integer', 'float', 'bigint'].includes(field.type) ? sortNumericArray : sortAlphabeticallyArray)(values);\n if (current_values.has(null)) {\n field.input.options.values.unshift(null);\n }\n\n // convert \"current\" values to string (when not null or undefined)\n current_values.forEach(function (v) {\n return field.validate.exclude_values.add(![null, undefined].includes(v) ? '' + v : v);\n });\n\n // remove current value from exclude_values\n field.validate.exclude_values.delete('' + _value);\n });\n\n // skip when no fields are unique in multi features change form attribute\n if (0 === unique_values.length) {\n return _handleMulti(fields, multi);\n }\n\n // Listen to event method after close/save form\n var savedfeatureFnc = function savedfeatureFnc() {\n unique_values.forEach(function (_ref3) {\n var _value = _ref3._value,\n field = _ref3.field;\n\n // initial value is the same that current field vale (no changed)\n if (_value === field.value) {\n return;\n }\n // layer form\n if (service.state.uniqueFieldsValues[layerId][field.name]) {\n // change layer unique field values\n var values = service.state.uniqueFieldsValues[layerId][field.name];\n //If changed, delete it from _value\n values.delete(_value);\n //aff new one to value list unique field\n values.add(field.value);\n }\n });\n\n return { once: true };\n };\n\n //event when insert/edit form button is pressed\n service.subscribe('savedfeature_' + layerId, savedfeatureFnc);\n //event when close form layer\n service.subscribe('closeform_' + layerId, function () {\n //unsubscribe event\n service.unsubscribe('savedfeature_' + layerId, savedfeatureFnc);\n return { once: true };\n });\n\n return _handleMulti(fields, multi);\n}\n\nfunction _handleMulti(fields, multi) {\n if (multi) {\n fields = fields.map(function (field) {\n var f = JSON.parse(JSON.stringify(field));\n f.value = null;\n f._value = null; // @since v3.9.0 Fix update form field: Set the same value of value\n f.forceNull = true;\n f.validate.required = false; //set false because all features have already required field filled\n return f;\n }).filter(function (f) {\n return !f.pk;\n });\n }\n\n return fields;\n}\n\n},{}],45:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLayersDependencyFeatures = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } layerId\n * @param opts\n *\n * @returns { Promise[]> }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar getLayersDependencyFeatures = exports.getLayersDependencyFeatures = function () {\n var _ref = _asyncToGenerator(function* (layerId) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n\n var layer = service.getLayerById(layerId);\n var relations = opts.relations || layer.getChildren().length && layer.getRelations() && (0, _getRelationsInEditing.getRelationsInEditing)({ layerId: layerId, relations: layer.getRelations().getArray().filter(function (r) {\n return r.getFather() === layerId;\n }) }) || [];\n\n var response = void 0;\n\n try {\n response = yield Promise.all(relations.map(function () {\n var _ref2 = _asyncToGenerator(function* (relation) {\n\n if (relation.setLoading) {\n relation.setLoading(true);\n } else {\n relation.loading = true;\n }\n\n var id = (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation });\n\n opts.relation = relation;\n opts.layerId = layerId;\n opts.filterType = 'ONE' === (relation.getType ? relation.getType() : relation.type) ? '1:1' : opts.filterType; // In a case of relation 1:1\n var filterType = opts.filterType || 'fid';\n var options = (0, _createEditingDataOptions.createEditingDataOptions)(filterType, opts);\n var session = service.state.sessions[id];\n var online = ApplicationState.online && session;\n var toolbox = service.getToolBoxById(id);\n\n // getLayersDependencyFeaturesFromSource\n\n opts.operator = undefined !== opts.operator ? opts.operator : 'eq';\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: id, relation: relation }),\n ownField = _getRelationFieldsFro.ownField,\n relationField = _getRelationFieldsFro.relationField;\n\n var features = service.getLayerById(layerId).readEditingFeatures();\n var featureValues = relationField.map(function (field) {\n return opts.feature.get(field);\n });\n\n // try to get feature from source without a server request\n var find = (!ApplicationState.online || !session || session.isStarted()) && 'eq' === opts.operator && ownField.every(function (field, i) {\n return features.find(function (f) {\n return featureValues[i] == f.get(field);\n });\n });\n\n toolbox.startLoading();\n\n try {\n if (online && !session.isStarted()) {\n yield (0, _promisify.promisify)(session.start(options)); // start session and get features\n } else if (online && !find) {\n yield (0, _promisify.promisify)(session.getFeatures(options)); // request features from server\n }\n } catch (promise) {\n try {\n yield (0, _promisify.promisify)(promise);\n } catch (e) {\n console.warn(e, promise);\n }\n }\n\n toolbox.stopLoading();\n\n return id;\n });\n\n return function (_x3) {\n return _ref2.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n }\n\n // at the end se loading false\n relations.forEach(function (relation) {\n if (relation.setLoading) {\n relation.setLoading(false);\n } else {\n relation.loading = false;\n }\n });\n\n return response;\n });\n\n return function getLayersDependencyFeatures(_x2) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _promisify = require('../utils/promisify');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _createEditingDataOptions = require('../utils/createEditingDataOptions');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 ApplicationState = g3wsdk.core.ApplicationState;\n\n},{\"../utils/createEditingDataOptions\":37,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/getRelationsInEditing\":51,\"../utils/promisify\":58}],46:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getNotEditableFieldsNoPkValues = getNotEditableFieldsNoPkValues;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param layer,\n * @param feature\n *\n * @returns Array of fields\n */\nfunction getNotEditableFieldsNoPkValues(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature;\n\n return layer.getEditingNotEditableFields().reduce(function (fields, field) {\n fields[field] = layer.isPkField(field) ? null : feature.get(field); // NB: Primary Key fields need to be `null`\n return fields;\n }, {});\n}\n\n},{}],47:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getParentFormData = getParentFormData;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @returns { undefined | { feature: * , qgs_layer_id: * } }\n */\nfunction getParentFormData() {\n // skip when ..\n if (!(_workflow.Workflow.Stack.getLength() > 1)) {\n return;\n }\n\n var _Workflow$Stack$getPa = _workflow.Workflow.Stack.getParent().getInputs(),\n features = _Workflow$Stack$getPa.features,\n layer = _Workflow$Stack$getPa.layer,\n _Workflow$Stack$getPa2 = _Workflow$Stack$getPa.fields,\n fields = _Workflow$Stack$getPa2 === undefined ? [] : _Workflow$Stack$getPa2;\n\n // in the case of temporary fields (setted by form) set temporary value to feature (cloned) parent\n\n\n var feature = features[features.length - 1].clone();\n\n fields.forEach(function (_ref) {\n var name = _ref.name,\n value = _ref.value;\n feature.set(name, value);\n });\n\n return {\n feature: feature,\n qgs_layer_id: layer.getId()\n };\n}\n\n},{\"../g3wsdk/workflow/workflow\":15}],48:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelation1_1ChildFeature = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param { Object } opts\n * @param opts.relation\n * @param opts.fatherFormRelationField\n * \n * @returns {Promise<{feature: *, locked: boolean}>}\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar getRelation1_1ChildFeature = exports.getRelation1_1ChildFeature = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var relation = _ref.relation,\n fatherFormRelationField = _ref.fatherFormRelationField;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n var fatherLayerId = relation.getFather();\n var childLayerId = relation.getChild(); // get relation child layer id\n var childField = relation.getChildField()[0];\n\n // lock feature false\n var locked = false;\n var feature = service.getLayerById(childLayerId).getEditingSource().readFeatures().find(function (f) {\n return fatherFormRelationField.value === f.get(childField);\n });\n\n //get feature from server and lock\n if (undefined === feature) {\n\n var childFeatureStore = service.getLayerById(childLayerId).getFeaturesStore();\n\n var unByKey = childFeatureStore.oncebefore('featuresLockedByOtherUser', function (features) {\n return feature = features[0];\n });\n\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(fatherLayerId, {\n feature: new ol.Feature(_defineProperty({}, fatherFormRelationField.name, fatherFormRelationField.value)),\n relations: [relation]\n });\n\n //remove listener\n childFeatureStore.un('featuresLockedByOtherUser', unByKey);\n\n //in case of no locked check feature on a source\n if (undefined === feature) {\n\n feature = service.getLayerById(childLayerId).getEditingSource().readFeatures().find(function (f) {\n return fatherFormRelationField.value === f.get(childField);\n });\n }\n }\n\n //not find on source need to check if exist\n if (undefined === feature) {\n\n try {\n var layer = CatalogLayersStoresRegistry.getLayerById(childLayerId);\n\n var _ref4 = yield DataRouterService.getData('search:features', { // get feature of relation layer based on value of relation field\n inputs: {\n layer: layer,\n formatter: 0,\n filter: g3wsdk.core.utils.createFilterFormInputs({\n layer: layer,\n search_endpoint: 'api',\n inputs: [{ attribute: childField, value: fatherFormRelationField.value }]\n }),\n search_endpoint: 'api'\n },\n outputs: false\n }),\n data = _ref4.data;\n\n if (data && data[0] && 1 === data[0].features.length) {\n // NB: length == 1, due to 1:1 relation type\n //locked\n locked = true;\n feature = data[0].features[0];\n }\n } catch (e) {\n console.warn(e);\n }\n }\n\n //return\n return {\n feature: feature, //feature search\n locked: locked //locked status\n };\n });\n\n return function getRelation1_1ChildFeature(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\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 CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\n\n},{\"../utils/getLayersDependencyFeatures\":45}],49:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationFieldsFromRelation = getRelationFieldsFromRelation;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Based on layerId and relation, extract field of relation.\n * ownField are array of fields related to relation and belong to layerId\n * relationField area array of fields related to relation thar belong to other layer in relation with layerId\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relation\n *\n * @returns {{ ownField: [], relationField: [] }} `ownField` and `relationField` are Arrays since g3w-client-plugin-editing@v3.7.0\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationFieldsFromRelation() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n relation = _ref.relation;\n\n /** @type { string } */\n var childId = relation.getChild ? relation.getChild() : relation.child;\n /** @type { Boolean } whether is a child */\n var isChild = childId !== layerId;\n /** @type { Array } of fields */\n var _fatherField = relation.getFatherField ? relation.getFatherField() : relation.fatherField;\n /** @type { Array } of fields */\n var _childField = relation.getChildField ? relation.getChildField() : relation.childField;\n\n return {\n ownField: isChild ? _fatherField : _childField,\n relationField: isChild ? _childField : _fatherField\n };\n}\n\n},{}],50:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationId = getRelationId;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relation\n *\n * @returns the layer id of the other layer that is in relation with layerId\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationId() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n relation = _ref.relation;\n\n var fatherId = relation.getFather ? relation.getFather() : relation.father;\n var childId = relation.getChild ? relation.getChild() : relation.child;\n\n return layerId === fatherId ? childId : fatherId;\n}\n\n},{}],51:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationsInEditing = getRelationsInEditing;\n\nvar _getRelationId = require('../utils/getRelationId');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relations\n *\n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationsInEditing(_ref) {\n var layerId = _ref.layerId,\n _ref$relations = _ref.relations,\n relations = _ref$relations === undefined ? [] : _ref$relations;\n\n return relations.filter(function (r) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById((0, _getRelationId.getRelationId)({ layerId: layerId, relation: r }));\n });\n}\n\n},{\"../utils/getRelationId\":50}],52:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationsInEditingByFeature = getRelationsInEditingByFeature;\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Get Relation in editing\n *\n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relations\n * @param opts.feature\n *\n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationsInEditingByFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n _ref$relations = _ref.relations,\n relations = _ref$relations === undefined ? [] : _ref$relations,\n feature = _ref.feature;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n var relationsinediting = [];\n var relationinediting = void 0;\n relations.forEach(function (relation) {\n var child = relation.getChild ? relation.getChild() : relation.child;\n var father = relation.getFatherField ? relation.getFatherField() : relation.fatherField;\n var relationLayerId = child === layerId ? father : child; // get relation LayerId\n //check if the layer is editable\n if (service.getLayerById(relationLayerId)) {\n var layer = service.getToolBoxById(relationLayerId).getLayer();\n var fatherLayer = service.getLayerById(relation.getFather ? relation.getFather() : relation.father);\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: relationLayerId, relation: relation }),\n ownField = _getRelationFieldsFro.ownField,\n relationField = _getRelationFieldsFro.relationField;\n // get features of relation child layers\n // Loop relation fields\n // In case of new feature, need to check if field is pk field\n\n\n var values = relationField.map(function (field) {\n return feature.isNew() && fatherLayer.isPkField(field) ? feature.getId() : feature.get(field);\n });\n\n relationinediting = {\n relation: relation.getState(),\n // get relation attributes by feature\n relations: service.getLayerById(relationLayerId).readEditingFeatures().filter(function (feature) {\n return ownField.every(function (field, i) {\n return feature.get(field) == values[i];\n });\n }) // get relations by feature\n .map(function (relation) {\n return {\n fields: layer.getFieldsWithValues(relation, { relation: true }),\n id: relation.getId(),\n select: false /** @since v3.9.0 Used to set relation select or not **/\n };\n })\n };\n relationinediting.validate = { valid: true };\n relationsinediting.push(relationinediting);\n }\n });\n return relationsinediting;\n}\n\n},{\"../utils/getRelationFieldsFromRelation\":49}],53:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Handle layer relation 1:1 features related to feature\n *\n * @param opts.layerId Root layerId\n * @param opts.features Array of update/new features belong to Root layer\n * @param opts.fields Array of form fields father\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar handleRelation1_1LayerFields = exports.handleRelation1_1LayerFields = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n _ref2$features = _ref2.features,\n features = _ref2$features === undefined ? [] : _ref2$features,\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === undefined ? [] : _ref2$fields,\n task = _ref2.task;\n\n // skip when no features\n if (features.length === 0) {\n return;\n }\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n // Get layer relation 1:1\n var promises = CatalogLayersStoresRegistry.getLayerById(layerId).getRelations().getArray().filter(function (relation) {\n return 'ONE' === relation.getType();\n }).map(function (relation) {\n return new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve) {\n // skip when layer is not a father layer (1:1 relation)\n if (layerId !== relation.getFather()) {\n resolve();\n return;\n }\n var fatherField = relation.getFatherField()[0];\n var value = features[0].get(fatherField);\n\n //no set father field value. No set\n if (null === value) {\n resolve();\n return;\n }\n\n // check if child relation layer is editable (in editing)\n var childLayerId = relation.getChild();\n var childField = relation.getChildField()[0];\n var source = service.getLayerById(childLayerId).getEditingSource();\n var childFeature = void 0; // original child feature\n var newChild = void 0; //eventually child feature cloned with changes\n\n //check if child feature is already added to\n childFeature = source.readFeatures().find(function (f) {\n return f.get(childField) === value;\n });\n\n var fieldsUpdated = undefined !== service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }).find(function (_ref4) {\n var name = _ref4.name;\n return fields.find(function (f) {\n return name == f.name;\n }).update;\n });\n\n var isNewChildFeature = undefined === childFeature;\n\n //check if fields related to child are changed\n if (fieldsUpdated) {\n //Check if we need to create a new child feature\n if (isNewChildFeature) {\n //create feature for child layer\n childFeature = new g3wsdk.core.layer.features.Feature();\n childFeature.setTemporaryId();\n // set name attribute to `null`\n CatalogLayersStoresRegistry.getLayerById(childLayerId).getEditingFields().forEach(function (field) {\n return childFeature.set(field.name, null);\n });\n //set father field value\n childFeature.set(childField, fields.find(function (f) {\n return fatherField === f.name;\n }).value);\n //add feature to a child source\n source.addFeature(childFeature);\n //new feature and child feature are the same\n newChild = childFeature;\n } else {\n //is update\n if (childFeature) {\n //clone child Feature so all changes apply by father is set to clone new feature\n newChild = childFeature.clone();\n }\n }\n\n //check if there is a childFeature to save\n if (childFeature) {\n // Loop editable only field of father layerId when\n // a child relation (1:1) is bind to the current feature\n var editiableRelatedFieldChild = service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId() && f.editable;\n });\n\n editiableRelatedFieldChild.forEach(function (field) {\n return newChild.set(field.name.replace(relation.getPrefix(), ''), features[0].get(field.name));\n });\n\n // add relation new relation\n if (isNewChildFeature) {\n\n // check if father field is a Pk (Primary key) if feature is new\n if (service.getLayerById(layerId).isPkField(fatherField)) {\n childFeature.set(childField, features[0].getId()); // set temporary\n }\n\n //if new need to add to session\n task.getContext().session.pushAdd(childLayerId, newChild, false);\n } else {\n //need to update source child feature\n source.updateFeature(newChild);\n //need to update\n task.getContext().session.pushUpdate(childLayerId, newChild, childFeature);\n }\n }\n }\n\n resolve();\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n });\n\n yield Promise.allSettled(promises);\n });\n\n return function handleRelation1_1LayerFields() {\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\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{}],54:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleSplitFeature = 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: g3w-client-plugin-editing/workflows/steps/tasks/splitfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/splitfeaturestep.js@v3.7.1\n *\n * @param feature\n * @param inputs\n * @param context\n * @param splittedGeometries\n * \n * @returns {Promise<*[]>}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar handleSplitFeature = exports.handleSplitFeature = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref2.feature,\n inputs = _ref2.inputs,\n context = _ref2.context,\n _ref2$splittedGeometr = _ref2.splittedGeometries,\n splittedGeometries = _ref2$splittedGeometr === undefined ? [] : _ref2$splittedGeometr;\n\n var newFeatures = [];\n var layer = inputs.layer;\n\n var session = context.session;\n var source = layer.getEditingLayer().getSource();\n var layerId = layer.getId();\n var oriFeature = feature.clone();\n inputs.features = splittedGeometries.length ? [] : inputs.features;\n var splittedGeometriesLength = splittedGeometries.length;\n\n for (var index = 0; index < splittedGeometriesLength; index++) {\n var splittedGeometry = splittedGeometries[index];\n if (0 === index) {\n /**\n * check geometry evaluated expression\n */\n feature.setGeometry(splittedGeometry);\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n session.pushUpdate(layerId, feature, oriFeature);\n } else {\n yield* function* () {\n var newFeature = (0, _cloneFeature.cloneFeature)(oriFeature, layer);\n newFeature.setGeometry(splittedGeometry);\n\n // set media fields to null\n layer.getEditingMediaFields({}).forEach(function (f) {\n return newFeature.set(f, null);\n });\n\n feature = new Feature({ feature: newFeature });\n\n feature.setTemporaryId();\n\n // evaluate geometry expression\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n /**\n * @todo improve client core to handle this situation on sesssion.pushAdd not copy pk field not editable only\n */\n var noteditablefieldsvalues = (0, _getNotEditableFieldsNoPkValues.getNotEditableFieldsNoPkValues)({ layer: layer, feature: feature });\n\n if (Object.entries(noteditablefieldsvalues).length) {\n var _newFeature = session.pushAdd(layerId, feature);\n Object.entries(noteditablefieldsvalues).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n field = _ref4[0],\n value = _ref4[1];\n\n return _newFeature.set(field, value);\n });\n newFeatures.push(_newFeature);\n //need to add features with no editable fields on layers source\n source.addFeature(_newFeature);\n } else {\n newFeatures.push(session.pushAdd(layerId, feature));\n //add feature to source\n source.addFeature(feature);\n }\n }();\n }\n inputs.features.push(feature);\n }\n\n return newFeatures;\n });\n\n return function handleSplitFeature() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getNotEditableFieldsNoPkValues = require('../utils/getNotEditableFieldsNoPkValues');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 Feature = g3wsdk.core.layer.features.Feature;\n\n},{\"../utils/cloneFeature\":35,\"../utils/evaluateExpressionFields\":40,\"../utils/getNotEditableFieldsNoPkValues\":46}],55:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointOnVertex = isPointOnVertex;\n/**\n * @param feature\n * @param coordinates\n *\n * @returns { boolean }\n */\nfunction isPointOnVertex(_ref) {\n var feature = _ref.feature,\n coordinates = _ref.coordinates;\n\n var geometry = feature.getGeometry();\n var type = geometry.getType();\n var coords = function coords(c) {\n return g3wsdk.core.geoutils.areCoordinatesEqual(coordinates, c);\n }; // whether element have same coordinates\n\n switch (type) {\n case 'Polygon':\n case 'MultiLineString':\n return _.flatMap(geometry.getCoordinates()).some(coords);\n\n case 'LineString':\n case 'MultiPoint':\n return geometry.getCoordinates().some(coords);\n\n case 'MultiPolygon':\n return geometry.getPolygons().some(function (poly) {\n return _.flatMap(poly.getCoordinates()).some(coords);\n });\n\n case 'Point':\n return g3wsdk.core.geoutils.areCoordinatesEqual(coordinates, geometry.getCoordinates());\n\n default:\n return false;\n }\n}\n\n},{}],56:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSameBaseGeometryType = isSameBaseGeometryType;\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/isSameBaseGeometryType.js@v3.10.2\n * \n * @param { string } geometryType1\n * @param { string } geometryType2\n * \n * @returns { boolean } whether two geometry typeshave same geometry type or have in common tha same base geometry type:\n * \n * @example Compare \n * ```\n * Point <--> Point => true\n * MultiPoint <--> Point => true\n * Point <--> Polygon => false\n * ```\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\nfunction isSameBaseGeometryType(a, b) {\n return a.replace('Multi', '') === b.replace('Multi', '');\n}\n\n},{}],57:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.listenRelation1_1FieldChange = 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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Listen changes on 1:1 relation fields (get child values from child layer)\n *\n * @param opts.layerId Current editing layer id\n * @param opts.fields Array of form fields of current editing layer\n *\n * @returns Array of watch function event to remove listen\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar listenRelation1_1FieldChange = exports.listenRelation1_1FieldChange = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === undefined ? [] : _ref2$fields;\n\n var unwatches = []; // unwatches field value (event change)\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n\n var ONE = CatalogLayersStoresRegistry.getLayerById(layerId).getRelations().getArray().filter(function (r) {\n return 'ONE' === r.getType();\n });\n\n // get all relations 1:1 of current layer\n\n var _loop = function* _loop(relation) {\n\n var childLayerId = relation.getChild(); // get relation child layer id\n var fatherField = relation.getFatherField();\n var relationLockFeatures = {}; //store value\n\n // NB:\n // need to check if editable when opening form task\n // Not set this condition because maybe i ca be used this method\n // on a move task or other when current fatherFormRelationField, related to 1:1 relation\n // it can be changed by default expression or in another way not only with form\n var fatherFormRelationField = fields.find(function (f) {\n return fatherField.includes(f.name);\n }); // get father layer field (for each relation)\n // skip when not relation field and not layer child is in editing\n if (!(fatherFormRelationField && service.getLayerById(childLayerId))) {\n return {\n v: void 0\n };\n }\n\n //store original editable property of fields relation to child layer relation\n var editableRelatedFatherChild = service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }).reduce(function (accumulator, field) {\n var formField = fields.find(function (f) {\n return f.name === field.name;\n });\n accumulator[formField.name] = formField.editable;\n return accumulator;\n }, {});\n\n fatherFormRelationField.input.options.loading.state = 'loading'; // show input bar loader\n\n //get feature from a child layer source\n relationLockFeatures[fatherFormRelationField.value] = yield (0, _getRelation1_1ChildFeature.getRelation1_1ChildFeature)({\n relation: relation,\n fatherFormRelationField: fatherFormRelationField\n });\n\n fatherFormRelationField.input.options.loading.state = null; // show input bar loader\n\n //if locked need to set editable to false\n //can update child\n if (relationLockFeatures[fatherFormRelationField.value].locked) {\n Object.keys(editableRelatedFatherChild).forEach(function (fn) {\n return fields.find(function (f) {\n return fn === f.name;\n }).editable = false;\n });\n }\n\n //if not feature is on source child layer, it means it locked or not exist on a server need to check\n\n // listen for relation field changes (vue watcher)\n unwatches.push(_eventbus.VM.$watch(function () {\n return fatherFormRelationField.value;\n }, function () {\n var _ref3 = _asyncToGenerator(function* (value) {\n\n // skip empty values\n if (!value) {\n fatherFormRelationField.input.options.loading.state = null;\n fatherFormRelationField.editable = true;\n return;\n }\n\n fatherFormRelationField.editable = false; // disable edit\n fatherFormRelationField.input.options.loading.state = 'loading'; // show input bar loader\n\n if (undefined === relationLockFeatures[fatherFormRelationField.value]) {\n //get feature from a child layer source\n try {\n\n relationLockFeatures[fatherFormRelationField.value] = yield (0, _getRelation1_1ChildFeature.getRelation1_1ChildFeature)({\n relation: relation,\n fatherFormRelationField: fatherFormRelationField\n });\n } catch (e) {\n console.warn(e);\n }\n }\n\n var _relationLockFeatures = relationLockFeatures[fatherFormRelationField.value],\n feature = _relationLockFeatures.feature,\n locked = _relationLockFeatures.locked;\n\n\n Object.keys(editableRelatedFatherChild).forEach(function (fn) {\n var field = fields.find(function (f) {\n return fn === f.name;\n });\n //set editable property\n field.editable = locked ? false : editableRelatedFatherChild[fn];\n //need to check if feature is new and not locked ot not present on a source\n field.value = feature ? feature.get(field.name.replace(relation.getPrefix(), '')) : null;\n });\n\n // reset edit state\n fatherFormRelationField.input.options.loading.state = null;\n fatherFormRelationField.editable = true;\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }()));\n };\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = ONE[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var relation = _step.value;\n\n var _ret = yield* _loop(relation);\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\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 unwatches;\n });\n\n return function listenRelation1_1FieldChange() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _eventbus = require('../eventbus');\n\nvar _getRelation1_1ChildFeature = require('./getRelation1_1ChildFeature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{\"../eventbus\":11,\"./getRelation1_1ChildFeature\":48}],58:[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.warn(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],59:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setAndUnsetSelectedFeaturesStyle = setAndUnsetSelectedFeaturesStyle;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _promisify = require('../utils/promisify');\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\nvar Layer = g3wsdk.core.layer.Layer;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Method that set selected style to current editing features and\n * reset original style when workflow (tool) is done.\n * \n * @param promise jQuery promise\n * @param { Object } inputs\n * @param { ol.style.Style } style\n */\n\nfunction setAndUnsetSelectedFeaturesStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n promise = _ref.promise,\n inputs = _ref.inputs,\n style = _ref.style;\n\n /** @FIXME temporary add in order to fix issue on pending promise (but which issue ?) */\n var layer = inputs.layer,\n _inputs$features = inputs.features,\n features = _inputs$features === undefined ? [] : _inputs$features;\n\n /**\n * @TODO if coming from relation ( Workflow.Stack.getLength() > 1 )\n * no need setTimeout because we already it has selected style\n * so original is the same selected. In case of current layer\n * need to wait.\n */\n\n var selectOriginalStyleHandle = function selectOriginalStyleHandle() {\n var originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features, style);\n (0, _promisify.promisify)(promise).finally(function () {\n features.flat().forEach(function (f) {\n return f.setStyle(originalStyle);\n });\n });\n };\n\n var is_vector = Layer.LayerTypes.VECTOR === layer.getType();\n var is_single = _workflow.Workflow.Stack.getLength();\n\n if (is_vector && is_single) {\n setTimeout(function () {\n return selectOriginalStyleHandle();\n });\n } else if (is_vector) {\n selectOriginalStyleHandle();\n }\n}\n\n},{\"../g3wsdk/workflow/workflow\":15,\"../utils/promisify\":58,\"../utils/setFeaturesSelectedStyle\":60}],60:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setFeaturesSelectedStyle = setFeaturesSelectedStyle;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Get selected style from \"extracted\" original feature style \n * \n * @param feature\n * \n * @returns {{ originalStyle: *, selectedStyle: * }} selected style based on a geometry type\n */\nfunction getSelectedStyle(feature) {\n return {\n originalStyle: feature.getStyle(),\n selectedStyle: feature.getGeometry() ? g3wsdk.core.geoutils.createSelectedStyle({ geometryType: feature.getGeometry().getType() }) : feature.getStyle()\n };\n}\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Set selected style to feature and return original feature style\n * \n * @param { Array } features\n * @param { ol.style.Style } style @since 3.8.0 custom select style\n * \n * @returns { ol.style.Style }\n */\nfunction setFeaturesSelectedStyle() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var style = arguments[1];\n\n if (features.length > 0) {\n // copy feature from other layers when selecting multiple features\n var arr = features.flat(); // flat nested features\n\n var _getSelectedStyle = getSelectedStyle(arr[0]),\n originalStyle = _getSelectedStyle.originalStyle,\n selectedStyle = _getSelectedStyle.selectedStyle;\n\n arr.forEach(function (f) {\n return f.setStyle(style || selectedStyle);\n });\n\n return originalStyle;\n }\n}\n\n},{}],61:[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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * Method to get unique values of unique input values from server\n * It's called\n * - When toolbox start (parent layer and relation)\n * - After commit to server (to get fresh new data)\n * \n * @param { string } layerId\n *\n * @returns { Promise<*> }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar setLayerUniqueFieldValues = exports.setLayerUniqueFieldValues = function () {\n var _ref = _asyncToGenerator(function* (layerId) {\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n yield new Promise(function (resolve, reject) {\n var layer = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId);\n //get all values for unique field\n layer.getWidgetData({\n type: 'unique',\n fields: Object.values(layer.getEditingFields()\n //filter field that is unique and not yet set unique values\n .filter(function (f) {\n return !(f.pk && false === f.editable) && ('unique' === f.input.type || f.validate.unique);\n })).map(function (f) {\n return f.name;\n }).join()\n }).then(function (response) {\n Object.entries(response.data || {}).forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n name = _ref3[0],\n values = _ref3[1];\n\n service.state.uniqueFieldsValues[layerId][name] = new Set(values);\n });\n\n resolve(service.state.uniqueFieldsValues[layerId][name]);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n return service.state.uniqueFieldsValues[layerId];\n });\n\n return function setLayerUniqueFieldValues(_x) {\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\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{}],62:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.splitFeatures = splitFeatures;\nvar splitFeature = g3wsdk.core.geoutils.splitFeature;\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/splitFeatures.js@v3.10.2\n * \n * @param { Object } opts\n * @param { Array } opts.features\n * @param opts.splitfeature\n * \n * @returns { Array } splittered geometries\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\n\nfunction splitFeatures(features, splitfeature) {\n return (features || []).reduce(function (a, f) {\n var geometries = splitFeature({ splitfeature: splitfeature, feature: f });\n if (geometries.length > 1) {\n a.push({ uid: f.getUid(), geometries: geometries });\n }\n return a;\n }, []);\n}\n\n},{}],63:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unlinkRelation = unlinkRelation;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _updateWorkflows = require('./updateWorkflows');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _promisify = require('../utils/promisify');\n\nvar GUI = g3wsdk.gui.GUI;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/relationservice.js@v3.7.1\n * \n * Unlink relation\n * @param layerId\n * @param relation\n * @param relations\n * @param index\n * @param dialog\n * \n * @returns JQuery Promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction unlinkRelation(_ref) {\n var layerId = _ref.layerId,\n relation = _ref.relation,\n relations = _ref.relations,\n index = _ref.index,\n _ref$dialog = _ref.dialog,\n dialog = _ref$dialog === undefined ? true : _ref$dialog;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n var unlink = function unlink() {\n var id = layerId === relation.child ? relation.father : relation.child; // relation layer id\n var feature = (0, _getEditingLayerById.getEditingLayerById)(id).getEditingSource().getFeatureById(relations[index].id);\n var originalRelation = feature.clone();\n // loop on ownField (Array field child relation)\n (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ relation: relation, layerId: id }).ownField.forEach(function (f) {\n return feature.set(f, null);\n });\n _workflow.Workflow.Stack.getCurrent().getSession().pushUpdate(id, feature, originalRelation);\n relations.splice(index, 1);\n (0, _updateWorkflows.updateWorkflows)();\n resolve(true);\n };\n if (dialog) {\n GUI.dialog.confirm(tPlugin(\"editing.messages.unlink_relation\"), function (result) {\n return result ? unlink() : d.reject(false);\n });\n } else {\n unlink();\n }\n }));\n}\n\n},{\"../g3wsdk/workflow/workflow\":15,\"../utils/getEditingLayerById\":42,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/promisify\":58,\"./updateWorkflows\":64}],64:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.updateWorkflows = updateWorkflows;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/relationservice.js@v3.7.1\n * \n * force parent workflow form service\n * update only when workflow has service (form service)\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction updateWorkflows() {\n _workflow.Workflow.Stack._workflows.filter(function (w) {\n return w.getContextService();\n }).forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n}\n\n},{\"../g3wsdk/workflow/workflow\":15}],65:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SelectElementsStep = exports.PickFeatureStep = exports.OpenTableStep = exports.OpenFormStep = exports.MoveFeatureStep = exports.ModifyGeometryVertexStep = exports.AddFeatureStep = 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 _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getParentFormData = require('../utils/getParentFormData');\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _getFormFields = require('../utils/getFormFields');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _handleRelation1_1LayerFields = require('../utils/handleRelation1_1LayerFields');\n\nvar _listenRelation1_1FieldChange = require('../utils/listenRelation1_1FieldChange');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _setLayerUniqueFieldValues = require('../utils/setLayerUniqueFieldValues');\n\nvar _getRelationsInEditingByFeature = require('../utils/getRelationsInEditingByFeature');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _addRemoveToMultipleSelectFeatures = require('../utils/addRemoveToMultipleSelectFeatures');\n\nvar _promisify = require('../utils/promisify');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _g3wsdk$core = g3wsdk.core,\n G3WObject = _g3wsdk$core.G3WObject,\n ApplicationState = _g3wsdk$core.ApplicationState;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar convertSingleMultiGeometry = g3wsdk.core.geoutils.convertSingleMultiGeometry;\nvar removeZValueToOLFeatureGeometry = g3wsdk.core.geoutils.Geometry.removeZValueToOLFeatureGeometry;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar GUI = g3wsdk.gui.GUI;\nvar Component = g3wsdk.gui.vue.Component;\nvar FormService = g3wsdk.gui.vue.services.FormService;\nvar _g3wsdk$ol$interactio = g3wsdk.ol.interactions.measure,\n AreaInteraction = _g3wsdk$ol$interactio.AreaInteraction,\n LengthInteraction = _g3wsdk$ol$interactio.LengthInteraction;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n createMeasureTooltip = _g3wsdk$ol$utils.createMeasureTooltip,\n removeMeasureTooltip = _g3wsdk$ol$utils.removeMeasureTooltip;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n */\n\nvar AddFeatureStep = exports.AddFeatureStep = function (_Step) {\n _inherits(AddFeatureStep, _Step);\n\n function AddFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, AddFeatureStep);\n\n options.help = \"editing.steps.help.draw_new_feature\";\n\n var _this = _possibleConstructorReturn(this, (AddFeatureStep.__proto__ || Object.getPrototypeOf(AddFeatureStep)).call(this, options));\n\n _this._add = undefined === options.add ? true : options.add;\n\n _this.drawInteraction;\n\n _this.measeureInteraction;\n\n _this.drawingFeature;\n\n _this._snap = false === options.snap ? false : true;\n\n /**\n * Handle tasks that stops after `run(inputs, context)` promise (or if ESC key is pressed)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._stopPromise;\n\n /**\n *\n * @param e event\n * @returns {boolean|void}\n * @private\n * callback of pressing esc to remove last point drawed\n */\n _this._delKeyRemoveLastPoint = function (e) {\n return 46 === e.keyCode && _this.removeLastPoint();\n };\n\n return _this;\n }\n\n _createClass(AddFeatureStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this2 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n //create promise to listen to pass to setAndUnsetSelectedFeaturesStyle\n var promise = new Promise(function (r) {\n return _this2.resolve = r;\n });\n\n var layerId = inputs.layer.getId();\n\n // Skip when a layer type is vector\n if (Layer.LayerTypes.VECTOR !== inputs.layer.getType()) {\n return;\n }\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this2.selectStyle });\n\n var originalGeometryType = inputs.layer.getEditingGeometryType();\n\n _this2.geometryType = Geometry.getOLGeometry(originalGeometryType);\n\n var source = inputs.layer.getEditingLayer().getSource();\n var attributes = inputs.layer.getEditingFields();\n\n _this2.drawInteraction = _this2.addInteraction(new ol.interaction.Draw({\n type: _this2.geometryType,\n source: new ol.source.Vector(),\n condition: _this2._options.condition || function () {\n return true;\n },\n freehandCondition: ol.events.condition.never,\n finishCondition: _this2._options.finishCondition || function () {\n return true;\n }\n }), {\n 'drawstart': function drawstart(_ref) {\n var feature = _ref.feature;\n\n _this2.drawingFeature = feature;\n document.addEventListener('keydown', _this2._delKeyRemoveLastPoint);\n },\n 'drawend': function drawend(e) {\n var feature = void 0;\n if (_this2._add) {\n attributes.forEach(function (attr) {\n return e.feature.set(attr.name, null);\n });\n feature = new Feature({ feature: e.feature });\n feature.setTemporaryId();\n source.addFeature(feature);\n context.session.pushAdd(layerId, feature, false);\n } else {\n feature = e.feature;\n }\n // set Z values based on layer Geometry\n if (Geometry.is3DGeometry(originalGeometryType)) {\n feature = Geometry.addZValueToOLFeatureGeometry({ feature: feature, geometryType: originalGeometryType });\n }\n\n inputs.features.push(feature);\n _this2.getContext().get_default_value = true;\n _this2.fireEvent('addfeature', feature); // emit event to get from subscribers\n resolve(inputs);\n }\n });\n\n _this2.drawInteraction.setActive(true);\n }));\n }\n\n /**\n * Method to add Measure\n */\n\n }, {\n key: 'addMeasureInteraction',\n value: function addMeasureInteraction() {\n var is_line = Geometry.isLineGeometryType(this.geometryType);\n var is_poly = Geometry.isPolygonGeometryType(this.geometryType);\n\n //Skip in case geometry is not Line or Polygon\n if (!is_line && !is_poly) {\n return;\n }\n\n this.measureInteraction = this.addInteraction(new (is_line ? LengthInteraction : AreaInteraction)({\n projection: GUI.getService('map').getProjection(),\n drawColor: 'transparent',\n feature: this.drawingFeature\n }));\n\n this.measureInteraction.setActive(true);\n }\n\n /**\n * Remove Measure Interaction\n */\n\n }, {\n key: 'removeMeasureInteraction',\n value: function removeMeasureInteraction() {\n if (this.measureInteraction) {\n this.measureInteraction.clear();\n this.removeInteraction(this.measureInteraction);\n this.measureInteraction = null;\n }\n }\n\n /**\n * Removed last point/vertex draw\n */\n\n }, {\n key: 'removeLastPoint',\n value: function removeLastPoint() {\n try {\n if (this.drawInteraction) {\n this.drawInteraction.removeLastPoint();\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.removeInteraction(this.drawInteraction);\n this.removeMeasureInteraction();\n this.resolve(true);\n\n this.drawInteraction = null;\n this.drawingFeature = null;\n this.resolve = null;\n\n document.removeEventListener('keydown', this._delKeyRemoveLastPoint);\n\n return true;\n }\n }]);\n\n return AddFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/modifygeometryvertextask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/modifygeometryvertexstep.js@v3.7.1\n */\n\n\nvar ModifyGeometryVertexStep = exports.ModifyGeometryVertexStep = function (_Step2) {\n _inherits(ModifyGeometryVertexStep, _Step2);\n\n function ModifyGeometryVertexStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ModifyGeometryVertexStep);\n\n options.snap = undefined !== options.snap ? options.snap : true;\n options.help = \"editing.steps.help.edit_feature_vertex\";\n\n var _this3 = _possibleConstructorReturn(this, (ModifyGeometryVertexStep.__proto__ || Object.getPrototypeOf(ModifyGeometryVertexStep)).call(this, options));\n\n _this3._originalStyle = null;\n\n _this3._feature = null;\n\n _this3.tooltip;\n return _this3;\n }\n\n _createClass(ModifyGeometryVertexStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this4 = this;\n\n var newFeature = void 0,\n originalFeature = void 0;\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var layerId = inputs.layer.getId();\n var feature = _this4._feature = inputs.features[0];\n _this4._originalStyle = inputs.layer.getEditingLayer().getStyle();\n feature.setStyle(function () {\n return [new ol.style.Style({\n image: new ol.style.Circle({ radius: 5, fill: null, stroke: new ol.style.Stroke({ color: 'orange', width: 2 }) }),\n geometry: function geometry(feature) {\n return new ol.geom.MultiPoint( // in the case of multipolygon geometry\n Geometry.isPolygonGeometryType(inputs.layer.getGeometryType()) && Geometry.isMultiGeometry(inputs.layer.getGeometryType()) ? feature.getGeometry().getCoordinates()[0][0] : feature.getGeometry().getCoordinates()[0]);\n }\n }), new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'yellow', width: 4 }) })];\n });\n _this4._modifyInteraction = _this4.addInteraction(new ol.interaction.Modify({\n features: new ol.Collection(inputs.features),\n deleteCondition: _this4._options.deleteCondition\n }), {\n 'modifystart': function modifystart(e) {\n originalFeature = e.features.getArray()[0].clone();\n },\n 'modifyend': function modifyend(e) {\n var feature = e.features.getArray()[0];\n if (feature.getGeometry().getExtent() !== originalFeature.getGeometry().getExtent()) {\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n newFeature = feature.clone();\n context.session.pushUpdate(layerId, newFeature, originalFeature);\n inputs.features.push(newFeature);\n resolve(inputs);\n });\n }\n }\n });\n }));\n }\n }, {\n key: 'addMeasureInteraction',\n value: function addMeasureInteraction() {\n var _this5 = this;\n\n this._modifyInteraction.on('modifystart', function (e) {\n _this5.tooltip = createMeasureTooltip({ map: _this5.getMap(), feature: e.features.getArray()[0] });\n });\n }\n }, {\n key: 'removeMeasureInteraction',\n value: function removeMeasureInteraction() {\n if (this.tooltip) {\n removeMeasureTooltip(_extends({ map: this.getMap() }, this.tooltip));\n }\n this.tooltip = null;\n }\n }, {\n key: 'stop',\n value: function stop() {\n this._feature.setStyle(this._originalStyle);\n return true;\n }\n }]);\n\n return ModifyGeometryVertexStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/movefeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/movefeaturestep.js@v3.7.1\n */\n\n\nvar MoveFeatureStep = exports.MoveFeatureStep = function (_Step3) {\n _inherits(MoveFeatureStep, _Step3);\n\n function MoveFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MoveFeatureStep);\n\n options.help = \"editing.steps.help.move\";\n\n var _this6 = _possibleConstructorReturn(this, (MoveFeatureStep.__proto__ || Object.getPrototypeOf(MoveFeatureStep)).call(this, options));\n\n _this6.drawInteraction = null;\n _this6.promise; // need to be set here in case of picked features\n return _this6;\n }\n\n _createClass(MoveFeatureStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this7 = this;\n\n /** Need two different promises: One for stop() method and clean-selected feature,\n * and another one for a run task. If we use the same promise, when stop a task without move feature,\n * this.promise.resolve(), it fires also thenable method listens to resolve promise of a run task,\n * that call stop task method.*/\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n var promise = new Promise(function (r) {\n return _this7.resolve = r;\n });\n var layerId = inputs.layer.getId();\n var originalFeature = null;\n _this7.changeKey = null;\n var isGeometryChange = false; // changed if geometry is changed\n\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this7.selectStyle });\n\n _this7.addInteraction(new ol.interaction.Translate({\n features: new ol.Collection(inputs.features),\n hitTolerance: isMobile && isMobile.any ? 10 : 0 }), {\n 'translatestart': function translatestart(e) {\n var feature = e.features.getArray()[0];\n _this7.changeKey = feature.once('change', function () {\n return isGeometryChange = true;\n });\n originalFeature = feature.clone();\n },\n 'translateend': function translateend(e) {\n ol.Observable.unByKey(_this7.changeKey);\n var feature = e.features.getArray()[0];\n if (isGeometryChange) {\n // evaluated geometry expression\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n context.session.pushUpdate(layerId, feature.clone(), originalFeature);\n resolve(inputs);\n });\n } else {\n resolve(inputs);\n }\n }\n });\n }));\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.resolve(true);\n this.resolve = null;\n this.changeKey = null;\n }\n }]);\n\n return MoveFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/openformtask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/openformstep.js@v3.7.1\n */\n\n\nvar OpenFormStep = exports.OpenFormStep = function (_Step4) {\n _inherits(OpenFormStep, _Step4);\n\n function OpenFormStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OpenFormStep);\n\n options.help = \"editing.steps.help.insert_attributes_feature\";\n\n /**\n * Show saveAll button\n *\n * @since v3.7\n */\n var _this8 = _possibleConstructorReturn(this, (OpenFormStep.__proto__ || Object.getPrototypeOf(OpenFormStep)).call(this, options));\n\n _this8._saveAll = false === options.saveAll ? options.saveAll : _asyncToGenerator(function* () {});\n\n /**\n * Whether it can handle multi edit features\n */\n _this8._multi = options.multi || false;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8.layerId;\n\n /**\n * whether form is coming from parent table component\n */\n _this8._isContentChild = false;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8._features;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8._originalFeatures;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8.promise;\n\n /**\n * @since g3w-client-plugin-editing@v3.7.0\n */\n _this8._unwatchs = [];\n\n return _this8;\n }\n\n /**\n * @since v3.7\n * @param bool\n */\n\n\n _createClass(OpenFormStep, [{\n key: 'updateMulti',\n value: function updateMulti() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this._multi = bool;\n }\n\n /**\n * @param inputs\n * @param context\n *\n * @returns {*}\n */\n\n }, {\n key: 'run',\n value: function run(inputs, context) {\n var _this9 = this;\n\n var promise = new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n _this9._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n _this9.layerId = inputs.layer.getId();\n\n GUI.setLoadingContent(false);\n\n GUI.getService('map').disableClickMapControls(true);\n\n if (!_this9._multi && Array.isArray(inputs.features[inputs.features.length - 1])) {\n resolve();\n return;\n }\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').setCurrentLayout();\n\n var layerName = inputs.layer.getName();\n _this9._features = _this9._multi ? inputs.features : [inputs.features[inputs.features.length - 1]];\n _this9._originalFeatures = _this9._features.map(function (f) {\n return f.clone();\n });\n\n // create a child relation feature set a father relation field value\n if (_this9._isContentChild) {\n context.fatherValue = context.fatherValue || []; // are array\n (context.fatherField || []).forEach(function (field, i) {\n _this9._features[0].set(field, context.fatherValue[i]);\n _this9._originalFeatures[0].set(field, context.fatherValue[i]);\n });\n }\n\n var fields = (0, _getFormFields.getFormFields)({\n inputs: inputs,\n context: context,\n feature: _this9._features[0],\n isChild: _this9._isContentChild,\n multi: _this9._multi\n });\n\n // set fields. Useful getParentFormData\n _workflow.Workflow.Stack.getCurrent().setInput({ key: 'fields', value: fields });\n\n // whether disable relations editing (ref: \"editmultiattributes\")\n var feature = !_this9._multi && inputs.features && inputs.features[inputs.features.length - 1];\n var layerId = !_this9._multi && inputs.layer.getId();\n\n // @since g3w-client-plugin-editing@v3.7.2\n // skip relations that don't have a form structure\n if (feature && !feature.isNew() && inputs.layer.getLayerEditingFormStructure()) {\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(inputs.layer.getId(), {\n // @since g3w-client-plugin-editin@v3.7.0\n relations: inputs.layer.getRelations().getArray().filter(function (r) {\n return inputs.layer.getId() === r.getFather() && // get only child relation features of current editing layer\n (0, _getEditingLayerById.getEditingLayerById)(r.getChild()) && // child layer is in editing\n 'ONE' !== r.getType();\n } // exclude ONE relation (Join 1:1)\n ),\n feature: feature,\n filterType: 'fid'\n });\n }\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/form/editingform.js@v3.7.8 */\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/form/editingformservice.js@v3.7.8 */\n var formService = GUI.showForm({\n feature: _this9._originalFeatures[0],\n title: \"plugins.editing.editing_attributes\",\n name: layerName,\n crumb: { title: layerName },\n id: 'form_' + layerName,\n dataid: layerName,\n layer: inputs.layer,\n isnew: _this9._originalFeatures.length > 1 ? false : _this9._originalFeatures[0].isNew(), // specify if is a new feature\n parentData: (0, _getParentFormData.getParentFormData)(),\n fields: fields,\n context_inputs: _this9._multi ? false : { context: context, inputs: inputs },\n formStructure: inputs.layer.hasFormStructure() && inputs.layer.getLayerEditingFormStructure() || undefined,\n modal: true,\n push: _this9._options.push || _this9._isContentChild, /** @since v3.7 force push content on top without clear previous content */\n showgoback: undefined !== _this9._options.showgoback ? _this9._options.showgoback : !_this9._isContentChild, /** @since v3.7 force show back button */\n /** @TODO make it straightforward: `headerComponent` vs `buttons` ? */\n headerComponent: _this9._saveAll && {\n template: /* html */'\\n
\\n \\n \\n \\n \\n \\n
',\n name: 'Saveall',\n /** @TODO figure out who populate these props (ie. core client code?) */\n props: { update: { type: Boolean }, valid: { type: Boolean } },\n data: function data() {\n return {\n enabled: _workflow.Workflow.Stack._workflows.slice(0, _workflow.Workflow.Stack.getLength() - 1).every(function (w) {\n var valid = (w.getContext().service instanceof FormService ? w.getContext().service.getState() : {}).valid;\n return valid || undefined === valid;\n })\n };\n },\n\n computed: {\n /** @returns {boolean} whether disable save all button (eg. when parent or current form is not valid/ updated) */\n disabled: function disabled() {\n return !this.enabled || !(this.valid && this.update);\n }\n },\n methods: {\n saveAll: function () {\n var _ref4 = _asyncToGenerator(function* () {\n //Set loading content\n GUI.setLoadingContent(true);\n //Disable form\n GUI.disableContent(true);\n yield Promise.allSettled([].concat(_toConsumableArray(_workflow.Workflow.Stack._workflows)).reverse().filter(function (w) {\n return \"function\" === typeof w.getLastStep()._saveAll;\n }) // need to filter only workflow that\n .map(function (w) {\n return new Promise(function () {\n var _ref5 = _asyncToGenerator(function* (resolve) {\n var task = w.getLastStep();\n var fields = w.getContext().service.state.fields.filter(function (f) {\n return task._multi ? null !== f.value : true;\n });\n // skip when no fields\n if (0 === fields.length) {\n return;\n }\n yield _workflow.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies();\n task._features.forEach(function (f) {\n return task.getInputs().layer.setFieldsWithValues(f, fields);\n });\n var newFeatures = task._features.map(function (f) {\n return f.clone();\n });\n //Is a relation form\n if (task._isContentChild) {\n task.getInputs().relationFeatures = { newFeatures: newFeatures, originalFeatures: task._originalFeatures };\n }\n yield task.fireEvent('saveform', { newFeatures: newFeatures, originalFeatures: task._originalFeatures });\n newFeatures.forEach(function (f, i) {\n return task.getContext().session.pushUpdate(task.layerId, f, task._originalFeatures[i]);\n });\n yield (0, _handleRelation1_1LayerFields.handleRelation1_1LayerFields)({ layerId: task.layerId, features: newFeatures, fields: fields, task: task });\n task.fireEvent('savedfeature', newFeatures); // called after saved\n task.fireEvent('savedfeature_' + task.layerId, newFeatures); // called after saved using layerId\n task.getContext().session.save();\n return resolve();\n });\n\n return function (_x8) {\n return _ref5.apply(this, arguments);\n };\n }());\n }));\n try {\n yield (0, _promisify.promisify)(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').service.commit({ modal: false }));\n [].concat(_toConsumableArray(_workflow.Workflow.Stack._workflows)).reverse().filter(function (w) {\n return \"function\" === typeof w.getLastStep()._saveAll;\n }).forEach(function (w) {\n var service = w.getContext().service; //form service\n //need to set update form false because already saved on server\n service.setUpdate(false, { force: false });\n var feature = service.feature;\n // Check if the feature is new.\n // In this case, after commit, need to set new to false, and force update to false.\n if (feature.isNew()) {\n feature.state.new = false;\n service.force.update = false;\n }\n Object.entries(w.getInputs().layer.getEditingSource().readFeatures().find(function (f) {\n return f.getUid() === feature.getUid();\n }) //Find current form editing feature by unique id of feature uid\n .getProperties() //get properties\n ).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n k = _ref7[0],\n v = _ref7[1];\n\n var field = service.getFields().find(function (f) {\n return k === f.name;\n });\n //if field exists (geometry field is discarded)\n if (field) {\n field.value = field._value = v;\n }\n });\n });\n } catch (e) {\n console.warn(e);\n }\n //set loading content false\n GUI.setLoadingContent(false);\n //enable form\n GUI.disableContent(false);\n });\n\n function saveAll() {\n return _ref4.apply(this, arguments);\n }\n\n return saveAll;\n }()\n }\n },\n buttons: [{\n id: 'save',\n title: _this9._isContentChild ? _workflow.Workflow.Stack.getParent().getBackButtonLabel() || \"plugins.editing.form.buttons.save_and_back\" // get custom back label from parent\n : \"plugins.editing.form.buttons.save\",\n type: \"save\",\n class: \"btn-success\",\n // save features\n cbk: function () {\n var _ref8 = _asyncToGenerator(function* (fields) {\n fields = _this9._multi ? fields.filter(function (f) {\n return null !== f.value;\n }) : fields;\n\n // skip when no fields\n if (0 === fields.length) {\n GUI.setModal(false);\n resolve(inputs);\n return;\n }\n\n var newFeatures = [];\n\n // @since 3.5.15\n GUI.setLoadingContent(true);\n GUI.disableContent(true);\n\n yield _workflow.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies();\n\n GUI.setLoadingContent(false);\n GUI.disableContent(false);\n\n _this9._features.forEach(function (f) {\n inputs.layer.setFieldsWithValues(f, fields);\n newFeatures.push(f.clone());\n });\n\n if (_this9._isContentChild) {\n inputs.relationFeatures = {\n newFeatures: newFeatures,\n originalFeatures: _this9._originalFeatures\n };\n }\n\n yield _this9.fireEvent('saveform', { newFeatures: newFeatures, originalFeatures: _this9._originalFeatures });\n\n newFeatures.forEach(function (f, i) {\n return context.session.pushUpdate(_this9.layerId, f, _this9._originalFeatures[i]);\n });\n\n // check and handle if layer has relation 1:1\n yield (0, _handleRelation1_1LayerFields.handleRelation1_1LayerFields)({\n layerId: _this9.layerId,\n features: newFeatures,\n fields: fields,\n task: _this9\n });\n\n GUI.setModal(false);\n\n _this9.fireEvent('savedfeature', newFeatures); // called after saved\n _this9.fireEvent('savedfeature_' + _this9.layerId, newFeatures); // called after saved using layerId\n // In case of save of child it means that child is updated so also parent\n if (_this9._isContentChild) {\n _workflow.Workflow.Stack.getParents().forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n }\n //@TODO add field unique new value id not set\n resolve(inputs);\n });\n\n function cbk(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return cbk;\n }()\n }, {\n id: 'cancel',\n title: \"plugins.editing.form.buttons.cancel\",\n type: \"cancel\",\n class: \"btn-danger\",\n /// buttons in case of change\n eventButtons: {\n update: {\n false: {\n id: 'close',\n title: \"close\",\n type: \"cancel\",\n class: \"btn-danger\"\n }\n }\n },\n cbk: function cbk() {\n if (!_this9._isContentChild) {\n GUI.setModal(false);\n _this9.fireEvent('cancelform', inputs.features); // fire event cancel form to emit to subscrivers\n }\n reject(inputs);\n }\n }]\n });\n\n // Overwrite click on relation.\n // Open FormRelation.vue component\n formService.handleRelation = function () {\n var _ref9 = _asyncToGenerator(function* (e) {\n // Skip when multi editing features\n // It is not possible to manage relationss when we edit multi-features\n if (_this9._multi) {\n GUI.showUserMessage({ type: 'info', message: 'plugins.editing.errors.editing_multiple_relations', duration: 3000, autoclose: true });\n return;\n }\n GUI.setLoadingContent(true);\n //set unique values for relation layer based on unique fields\n //@TODO need a find a way to call once and not every time we open a relation\n yield (0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(inputs.layer.getRelationById(e.relation.name).getChild());\n formService.setCurrentComponentById(e.relation.name);\n GUI.setLoadingContent(false);\n });\n\n return function (_x10) {\n return _ref9.apply(this, arguments);\n };\n }();\n\n formService.addComponents([].concat(_toConsumableArray(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.formComponents[layerId] || []), _toConsumableArray((0, _getRelationsInEditingByFeature.getRelationsInEditingByFeature)({\n layerId: layerId,\n relations: _this9._multi ? [] : inputs.layer.getRelations().getArray().filter(function (r) {\n return r.getType() !== 'ONE' && r.getFather() === layerId;\n }),\n feature: _this9._multi ? false : inputs.features[inputs.features.length - 1]\n }).map(function (_ref10) {\n var relation = _ref10.relation,\n relations = _ref10.relations;\n return {\n title: \"plugins.editing.edit_relation\",\n name: relation.name,\n id: relation.id,\n header: false, // hide a header form\n component: Vue.extend({\n mixins: [require('../components/FormRelation.vue')],\n name: 'relation_' + Date.now(),\n data: function data() {\n return { layerId: layerId, relation: relation, relations: relations };\n }\n })\n };\n }))));\n\n // fire openform event\n _this9.fireEvent('openform', {\n layerId: _this9.layerId,\n session: context.session,\n feature: _this9._originalFeature,\n formService: formService\n });\n\n // set context service to form Service in case of a single task (i.e., no workflow)\n if (_workflow.Workflow.Stack.getCurrent()) {\n _workflow.Workflow.Stack.getCurrent().setContextService(formService);\n }\n\n //listen eventually field relation 1:1 changes value\n (0, _listenRelation1_1FieldChange.listenRelation1_1FieldChange)({ layerId: _this9.layerId, fields: fields }).then(function (d) {\n return _this9._unwatchs = d;\n });\n\n _this9.disableSidebar(true);\n });\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this9.selectStyle });\n return promise;\n }));\n }\n\n /**\n *\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n this.disableSidebar(false);\n\n //Check if form coming from the parent table component\n var is_parent_table = false === this._isContentChild || // no child workflow\n\n // case edit feature of a table (edit layer alphanumeric)\n 2 === _workflow.Workflow.Stack.getLength() && //open features table\n _workflow.Workflow.Stack.getParent().isType('edittable');\n\n // when the last feature of features is Array\n // and is resolved without setting form service\n // Ex. copy multiple features from another layer\n if (is_parent_table) {\n GUI.getService('map').disableClickMapControls(false);\n }\n\n var contextService = is_parent_table && _workflow.Workflow.Stack.getCurrent().getContextService();\n\n // force update parent form update\n if (contextService && false === this._isContentChild) {\n contextService.setUpdate(false, { force: false });\n }\n\n GUI.closeForm({ pop: this.push || this._isContentChild });\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').resetCurrentLayout();\n\n this.fireEvent('closeform');\n this.fireEvent('closeform_' + this.layerId);\n\n this.layerId = null;\n this._unwatchs.forEach(function (unwatch) {\n return unwatch();\n });\n this._unwatchs = [];\n }\n }]);\n\n return OpenFormStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/opentabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/opentablestep.js@v3.7.1\n */\n\n\nvar OpenTableStep = exports.OpenTableStep = function (_Step5) {\n _inherits(OpenTableStep, _Step5);\n\n function OpenTableStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OpenTableStep);\n\n options.help = \"editing.steps.help.edit_table\";\n\n return _possibleConstructorReturn(this, (OpenTableStep.__proto__ || Object.getPrototypeOf(OpenTableStep)).call(this, options));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/opentabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/tableservice.js@v3.7.8\n *\n * @param inputs\n * @param context\n *\n * @returns {*}\n */\n\n\n _createClass(OpenTableStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this11 = this;\n\n // set current plugin layout (right content)\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').setCurrentLayout();\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n _this11._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n var features = inputs.layer.readEditingFeatures() || [];\n var headers = (inputs.layer.getEditingFields() || []).filter(function (h) {\n return features.length ? Object.keys(features[0].getProperties()).includes(h.name) : true;\n });\n _this11._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n var excludeFields = _this11._isContentChild ? context.excludeFields || [] : [];\n var service = Object.assign(new G3WObject(), {\n state: {\n inputs: inputs,\n context: context,\n promise: { resolve: resolve, reject: reject },\n headers: headers, // column names\n features: features,\n rows: features.length > 0\n // ordered properties\n ? (excludeFields.length > 0 ? features.filter(function (feat) {\n return !excludeFields.reduce(function (a, f, i) {\n return a && context.fatherValue[i] === '' + feat.get(f);\n }, true);\n }) : features).map(function (f) {\n return headers.map(function (h) {\n return h.name;\n }).reduce(function (props, header) {\n var _Object$assign;\n\n return Object.assign(props, (_Object$assign = {}, _defineProperty(_Object$assign, header, (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({ layerId: inputs.layer.getId(), feature: f, property: header })), _defineProperty(_Object$assign, '__gis3w_feature_uid', f.getUid()), _Object$assign));\n }, {});\n })\n // features already bind to parent feature\n : features,\n title: '' + inputs.layer.getName() || 'Link relation',\n isrelation: _this11._isContentChild,\n capabilities: inputs.layer.getEditingCapabilities(),\n layerId: inputs.layer.getId(),\n workflow: null\n }\n });\n\n GUI.showContent({\n content: new Component({\n title: '' + inputs.layer.getName(),\n push: _this11._isContentChild,\n service: service,\n state: service.state,\n internalComponent: new (Vue.extend(require('../components/Table.vue')))({ service: service })\n }),\n push: _this11._isContentChild,\n showgoback: false,\n closable: false\n });\n }));\n }\n\n /**\n *\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n this.disableSidebar(false);\n GUI[this._isContentChild ? 'popContent' : 'closeContent']();\n //reset the current plugin layout (right content) to application\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').resetCurrentLayout();\n }\n }]);\n\n return OpenTableStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/pickfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/pickfeaturestep.js@v3.7.1\n */\n\n\nvar PickFeatureStep = exports.PickFeatureStep = function (_Step6) {\n _inherits(PickFeatureStep, _Step6);\n\n function PickFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureStep);\n\n options.help = \"editing.steps.help.pick_feature\";\n options.highlight = options.highlight || false;\n options.multi = options.multi || false;\n return _possibleConstructorReturn(this, (PickFeatureStep.__proto__ || Object.getPrototypeOf(PickFeatureStep)).call(this, options));\n }\n\n _createClass(PickFeatureStep, [{\n key: 'run',\n value: function run(inputs) {\n var _this13 = this;\n\n var promise = new Promise(function (resolve) {\n _this13.addInteraction(new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: inputs.layer.getEditingLayer() }), {\n 'picked': function picked(e) {\n if (0 === inputs.features.length) {\n inputs.features = e.features;\n inputs.coordinate = e.coordinate;\n }\n if (_this13._steps) {\n _this13.setUserMessageStepDone('select');\n }\n resolve(inputs);\n }\n });\n });\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this13.selectStyle });\n return promise;\n }));\n }\n }]);\n\n return PickFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/selectelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/selectelementsstep.js@v3.7.1\n */\n\n\nvar SelectElementsStep = exports.SelectElementsStep = function (_Step7) {\n _inherits(SelectElementsStep, _Step7);\n\n function SelectElementsStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var chain = arguments[1];\n\n _classCallCheck(this, SelectElementsStep);\n\n options.help = options.help || \"editing.steps.help.select_elements\";\n\n var _this14 = _possibleConstructorReturn(this, (SelectElementsStep.__proto__ || Object.getPrototypeOf(SelectElementsStep)).call(this, options));\n\n _this14._selectInteractions = [];\n _this14.multipleselectfeatures = [];\n _this14._originalStyle;\n _this14._vectorLayer;\n\n if (chain) {\n _this14.on('run', function () {\n _this14.emit('next-step', g3wsdk.core.i18n.tPlugin(\"editing.steps.help.select_elements\"));\n });\n }\n return _this14;\n }\n\n /**\n *\n * @param inputs\n * @param context\n * @returns {*}\n */\n\n\n _createClass(SelectElementsStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this15 = this;\n\n var layer = inputs.layer;\n var type = this._options.type || 'bbox'; // 'single' 'bbox' 'multiple';\n var buttonnext = 'multiple' === type && !!this._steps.select.buttonnext;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var _selectInteractions;\n\n if (buttonnext) {\n //check if it has already done handler function;\n var done = _this15._steps.select.buttonnext.done;\n\n _this15._steps.select.buttonnext.done = function () {\n if (done && done instanceof Function) {\n done();\n }\n resolve(inputs);\n };\n }\n\n var interactions = {};\n\n // add single select interaction\n if (['single', 'multiple'].includes(type)) {\n interactions.single = new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: layer.getEditingLayer() });\n interactions.single.on('picked', function () {\n var _ref14 = _asyncToGenerator(function* (_ref13) {\n var features = _ref13.features;\n\n var feature = void 0;\n if (features.length > 1) {\n try {\n feature = yield (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: _this15.getInputs() });\n } catch (e) {\n console.warn(e);\n }\n } else {\n feature = features[0];\n }\n\n if (feature) {\n inputs.features = [feature];\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)([feature], inputs, _this15.multipleselectfeatures, _this15);\n } else {\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(inputs.features);\n\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n\n resolve(inputs);\n }\n }\n });\n\n return function (_x14) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n\n // add multiple select interactions\n if (['multiple', 'bbox'].includes(type) && ApplicationState.ismobile) {\n _this15._vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector({}) });\n _this15.getMap().addLayer(_this15._vectorLayer);\n\n interactions.multi = new ol.interaction.Draw({ type: 'Circle', source: _this15._vectorLayer.getSource(), geometryFunction: ol.interaction.Draw.createBox() });\n\n interactions.multi.on('drawend', function (e) {\n var features = layer.getEditingLayer().getSource().getFeaturesInExtent(e.feature.getGeometry().getExtent());\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)(features, inputs, _this15.multipleselectfeatures, _this15);\n } else {\n if (features.length > 0) {\n inputs.features = features;\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features);\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n setTimeout(function () {\n return resolve(inputs);\n }, 500);\n } else {\n reject();\n }\n }\n });\n }\n\n if (['multiple', 'bbox'].includes(type) && !ApplicationState.ismobile) {\n interactions.dragbox = new ol.interaction.DragBox({ condition: ol.events.condition.shiftKeyOnly });\n\n interactions.dragbox.on('boxend', function () {\n var features = [];\n var extent = interactions.dragbox.getGeometry().getExtent();\n\n //https://openlayers.org/en/v5.3.0/apidoc/module-ol_source_Cluster-Cluster.html#forEachFeatureIntersectingExtent\n layer.getEditingLayer().getSource().forEachFeatureIntersectingExtent(extent, function (f) {\n features.push(f);\n });\n\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)(features, inputs, _this15.multipleselectfeatures, _this15);\n } else {\n if (features.length > 0) {\n inputs.features = features;\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features);\n\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n\n resolve(inputs);\n } else {\n reject();\n }\n }\n });\n }\n\n // pick feature from external layer added to map\n if ('external' === type) {\n var geometryType = layer.getGeometryType();\n var layerId = layer.getId();\n var source = layer.getEditingLayer().getSource();\n\n var _getContext = _this15.getContext(),\n session = _getContext.session;\n\n interactions.external = new _pickfeaturesinteraction.PickFeaturesInteraction({\n layers: GUI.getService('map').getExternalLayers()\n // filter external layer only vector - Exclude the\n // same base geometry\n .filter(function (l) {\n var features = 'VECTOR' == l.getType() && l.getSource().getFeatures();\n if (features.length > 0) {\n return (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), geometryType);\n }\n return true;\n })\n });\n interactions.external.on('picked', function (e) {\n if (!(e.features.length > 0)) {\n reject();\n return;\n }\n var attributes = layer.getEditingFields();\n var geometry = e.features[0].getGeometry();\n if (geometryType !== geometry.getType()) {\n e.feature.setGeometry(convertSingleMultiGeometry(geometry, geometryType));\n }\n var feature = new Feature({\n feature: e.feature,\n properties: attributes.map(function (attr) {\n // set media attribute to null or attribute belong to layer but not present o feature copied\n if (attr.pk || 'media' === attr.input.type || undefined === e.feature.get(attr.name)) {\n e.feature.set(attr.name, null);\n }\n return attr.name;\n })\n });\n\n // evaluate Geometry Expression\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n removeZValueToOLFeatureGeometry({ feature: feature }); // remove eventually Z Values\n feature.setTemporaryId();\n source.addFeature(feature);\n session.pushAdd(layerId, feature, false);\n inputs.features.push(feature);\n resolve(inputs);\n });\n });\n }\n\n Object.values(interactions).forEach(function (i) {\n return _this15.addInteraction(i);\n });\n (_selectInteractions = _this15._selectInteractions).push.apply(_selectInteractions, _toConsumableArray(Object.values(interactions)));\n }));\n }\n }, {\n key: 'stop',\n value: function stop() {\n var _this16 = this;\n\n this._selectInteractions.forEach(function (i) {\n return _this16.removeInteraction(i);\n });\n\n if (this._vectorLayer) {\n this.getMap().removeLayer(this._vectorLayer);\n }\n // reset selected\n this.getInputs().features.forEach(function (f) {\n return f.setStyle(_this16._originalStyle);\n });\n\n this._originalStyle = null;\n this._vectorLayer = null;\n this._selectInteractions = [];\n this.multipleselectfeatures = [];\n }\n }]);\n\n return SelectElementsStep;\n}(_step.Step);\n\n},{\"../components/FormRelation.vue\":6,\"../components/Table.vue\":7,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addRemoveToMultipleSelectFeatures\":29,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/evaluateExpressionFields\":40,\"../utils/getEditingLayerById\":42,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getFormFields\":44,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getParentFormData\":47,\"../utils/getRelationsInEditingByFeature\":52,\"../utils/handleRelation1_1LayerFields\":53,\"../utils/isSameBaseGeometryType\":56,\"../utils/listenRelation1_1FieldChange\":57,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/setFeaturesSelectedStyle\":60,\"../utils/setLayerUniqueFieldValues\":61}],66:[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},{}]},{},[25]);\n"],"names":["plugins","window","initConfig","group","Object","assign","version","hash","branch","r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","inserted","cache","noop","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","2","_ref","_areCoordinatesEqual","_getFeatureTableFieldValue","_asyncToGenerator","fn","gen","apply","this","arguments","Promise","resolve","reject","step","key","arg","info","value","error","done","then","err","defineProperty","default","name","props","commits","type","required","layer","relation","Boolean","data","features","readFeatures","efeatures","readEditingFeatures","methods","getFormattedValue","feat","get","getFlatCoordinates","getFeatureTableFieldValue","layerId","getId","feature","property","getValue","item","getFeature","getEditingValue","getEditingFeature","hasValue","efeat","id","_this","find","_this2","getType","getGeometry","isEdited","includes","undefined","areCoordinatesEqual","coordinates","getCoordinates","getAttrs","entries","getProperties","sort","b","getLayerById","g3wsdk","core","plugin","PluginsRegistry","getPlugin","service","mounted","$refs","filter","d","forEach","innerHTML","__esModule","__vue__options__","options","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","staticStyle","font-weight","margin","_v","_s","getName","_e","_l","keys","ref","refInFor","relations","attrs","add","update","delete","staticRenderFns","_scopeId","../utils/areCoordinatesEqual","../utils/getFeatureTableFieldValue","vueify/lib/insert-css","3","GUI","gui","$options","selectFeature","splice","push","getAttributesFeature","properties","attributes","map","attribute","label","zoomToFeature","getService","zoomToFeatures","highlight","duration","closeContent","index","on","click","$event","stopPropagation","for","class","g3wtemplate","font","4","layers","l","selected","watch","_id","domProps","5","_slicedToArray","_Toolbox","_promisify","_ref13","_ref9","_ref8","_ref7","_ref6","_ref5","ApplicationState","ApplicationService","CatalogLayersStoresRegistry","DataRouterService","arr","Array","isArray","Symbol","iterator","sliceIterator","_arr","_n","_d","_i","next","TypeError","_Toolbox2","obj","_g3wsdk$core","catalog","state","resourcesurl","showcommitbar","saving","layersInEditing","editingButtonsEnabled","selectedlayers","editinglayers","getEditableLayers","_ref2","config","editing","visible","_ref3","_ref4","title","getTitle","activetool","components","toolbox","transitions","addremovetransition","updateFilterLayers","_selectedlayers","$","selectlayers","val","trigger","updateLayersInEditing","bool","undo","canUndo","redo","canRedo","commit","toolboxId","canCommit","getToolBoxById","modal","always","startToolBox","online","getDependencies","isDirty","yield","commit_dirty","start","_x2","stopToolBox","history","promisify","stop","control","getToolBoxes","getMapControlByType","isToggled","toggle","_x3","startTool","toolId","_this3","enabled","stopTool","setActiveTool","getToolById","_x4","_x5","stopActiveTool","selectToolBox","isSelected","setSelected","clearMessage","toolboxselected","_x6","_this4","hasDependencies","concat","editor","getEditor","getEditingSource","setFeatures","clone","getSession","getHistory","clear","_x7","_enableEditingButtons","checkOfflineChanges","_this5","_ref10","_ref10$modal","_ref10$unlock","unlock","promises","layerIds","changes","JSON","parse","localStorage","getItem","setTimeout","_layerId","commitItems","when","setItem","computed","saveConfig","mode","fireEvent","django_admin_url","user","is_superuser","URL","baseurl","filemanager_url","onbeforeunload","getElementsByClassName","classList","has_layers","_ref12","is_commit","is_selected","setShow","created","_this6","appState","unByKeys","owner","setter","onafter","catch","notify","open","getLayers","EDITABLE","setInEditing","beforeDestroy","_this7","layerIdChanges","off","_ref14","un","featuresOnClose","inputs","fids","formatter","promise","arr2","from","getData","outputs","show","loading","resetDefault","message","height","showselectlayers","multiple","editinglayer","setselectedtoolbox","starttoolbox","stoptoolbox","setactivetool","stopactivetool","on-editing","update-filter-layers","href","target","../utils/promisify","./Toolbox.vue","6","_extends","_workflow2","_step","_setAndUnsetSelectedFeaturesStyle","_getRelationFieldsFromRelation","_getLayersDependencyFeatures","_getEditingLayerById","_convertToGeometry","_addTableFeature","_updateWorkflows","_getRelationId","_chooseFeatureFromFeatures","_isSameBaseGeometryType","_pickfeaturesinteraction","_eventbus","_workflows","_ref33","_unlinkRelation","_ref18","_ref15","ProjectsRegistry","Geometry","Layer","Feature","toRawType","FormService","fieldsMixin","resizeMixin","PickFeatureInteraction","PickCoordinatesInteraction","SELECTED_STYLES","_defineProperty","enumerable","configurable","writable","_toConsumableArray","unlinkRelation","source","prototype","hasOwnProperty","project","geoutils","i18n","tPlugin","utils","vue","services","_g3wsdk$gui$vue$Mixin","Mixins","mediaMixin","_g3wsdk$ol$interactio","ol","interactions","Workflow","Step","OpenFormStep","OpenTableStep","AddFeatureStep","ModifyGeometryVertexStep","MoveFeatureStep","color","Point","style","Style","image","Circle","radius","fill","Fill","MultiPoint","Linestring","stroke","Stroke","width","MultiLinestring","Polygon","MultiPolygon","mixins","show_vector_tools","disabled","copylayerid","copyFeatureLayers","active","placeholdersearch","getResourcesUrl","resize","table","$el","display","relation_body","querySelector","offsetHeight","relation_header_title","relation_header_tools","isVectorRelation","relation_vector_tools","relationsTable","columns","adjust","copyFeatureFromOtherLayer","external","is_vector","isGeoLayer","runAddRelationWorkflow","workflow","_add_link_workflow","selectandcopy","copyLayer","isVector","help","closeVectorTools","$nextTick","addVectorRelation","LayerTypes","VECTOR","_layerType","updateSelectRelations","selectall","some","select","editAttributesRelations","steps","multi","_createWorkflowOptions","getLayer","getFeatureById","addRelationAndLink","relationAttributesSubset","fields","flatMap","indexOf","_createDataTable","relationTable","DataTable","autoWidth","columnDefs","orderable","targets","destroy","order","pageLength","responsive","scrollCollapse","scrollResize","scrollX","hide","search","draw","destroyTable","updateTable","updateNewRelationId","_new_relations_ids","clientid","newrelation","tools","ts","split","replace","onCommit","_ref11","_ref11$new_relations","new_relations","relationLayer","getEditingLayerById","child","new","getRelationFeatureValue","featureId","_relationLayerId","enableDOMElements","querySelectorAll","contains","remove","addTools","capabilities","Vue","observable","icon","getTools","isPointGeometryType","getGeometryType","tool","getOperator","flat","relationtool","VM","relationfeature","selectStyle","setAndUnsetSelectedFeaturesStyle","dialog","confirm","res","unique_fields","Stack","getCurrent","pushDelete","uniqueFieldsValues","Set","removeFeature","isNew","w","getUid","getContextService","updateWorkflows","getFieldsWithValues","rf","currentRelationFeatureId","setModal","_workflow","movevertex","movefeature","unwatch","$watch","unbindEscKeyUp","bindEscKeyUp","getParents","setUpdate","force","_this8","_ref16","_ref16$isVector","hideContent","_options$context","context","fatherField","fatherValue","relationField","getRelationFieldsFromRelation","_relations","keyRelationFeatureChange","_outputs$relationFeat","relationFeatures","newFeatures","originalFeatures","setRelationFieldValue","_ref17","field","newFeature","set","parentFeature","updateFeature","session","pushUpdate","getParent","editable","evt","Observable","unByKey","_relations2","rollbackDependecies","linkRelation","getRelationFeatures","getLayersDependencyFeatures","_this9","operator","filterType","link","_getRelationFieldsFro2","ownField","excludeFeatures","reduce","accumulator","rField","values","getCurrentFeature","response","showContent","linked","beforeRun","originalRelation","rel","_ref20","_ref21","findIndex","rF","warning","closeUserMessage","toString","_this10","parentLayer","parentWorkflow","pk","isPkField","isEditingFieldEditable","father","getInputs","parent","excludeFields","_ref22","_ref23","_ref24","every","relationsLength","fieldrequired","_this11","isFieldRequired","show_add_link","_","beforeCreate","delayType","geometryType","_this12","self","bind","QUERYABLE","GEOLAYER","isSameBaseGeometryType","isMultiGeometry","getExternalLayers","getSource","getFeatures","toLowerCase","localeCompare","addExternalLayerKey","_ref26","_type","externalLayer","loadEventuallyRelationValuesForInputs","getEditingCapabilities","_Layer$LayerTypes$TAB","TABLE","backbuttonlabel","run","addTableFeature","_ref27","_this13","$promisify","editingLayer","getEditingLayer","_ref28","_ref29","addInteraction","picked","_x12","_x13","addStep","description","setUserMessageStepDone","registerEscKeyEvent","_this14","_ref31","_feature","_ref32","PickFeaturesInteraction","convertToGeometry","coordinate","query_point_tolerance","getCurrentProject","getQueryPointTolerance","multilayers","_x17","_x16","chooseFeatureFromFeatures","getEditingFields","attr","setTemporaryId","addFeature","pushAdd","showUserMessage","closable","autoclose","activated","mapExtent","getMapBBOX","runEventHandler","getRelationId","component","deactivated","zoomToExtent","margin-bottom","margin-left","toUpperCase","placeholder","modifiers","create","src","align","align-self","padding","checked","change","padding-top","$$i","$$a","$$el","$$c","$set","slice","_obj","toggled","aria-hidden","isMedia","getMediaType","mime_type","pop","getFieldType","../eventbus","../g3wsdk/workflow/step","../g3wsdk/workflow/workflow","../interactions/pickfeaturesinteraction","../utils/addTableFeature","../utils/chooseFeatureFromFeatures","../utils/convertToGeometry","../utils/getEditingLayerById","../utils/getLayersDependencyFeatures","../utils/getRelationFieldsFromRelation","../utils/getRelationId","../utils/isSameBaseGeometryType","../utils/setAndUnsetSelectedFeaturesStyle","../utils/updateWorkflows","../workflows","7","_typeof","_cloneFeature","_getRelationsInEditing","Media_Field","constructor","Fields","media_field","g3w-media","dataTable","showTool","cap","outerHeight","showValue","headers","h","isMediaField","header","input","save","isrelation","_linkFeatures","cancel","deleteFeature","uid","element","relationinediting","getChildren","getRelationsInEditing","getRelations","getArray","result","rows","row","_x","copyFeature","cloneFeature","__gis3w_feature_uid","setDataTable","editFeature","_feature2","linkFeature","addindex","disableSideBar","max-width","margin-right","../utils/cloneFeature","../utils/getRelationsInEditing","8","getResolutionFromScale","snapInteraction","helpmessage","snapAll","editDisabled","startstopediting","hasRelations","dependencies","changingtools","canEdit","showtoolsoftool","toolsoftool","isLayerReady","ready","toolboxCursor","get_tool_title","language","$emit","fitZoomToScale","goToRes","getCenter","_constraints","scale","getMapUnits","toggleEditing","toggleTool","toggleFilterByRelation","_initSnap","snapFeatures","Collection","snapEvents","snapToolboxes","snapUnwatches","activeSnapInteraction","checkedAll","removeInteraction","extend","olKey","getFeaturesCollection","addSnapFeatures","settersAndKeys","addFeatures","onbefore","getState","setShowSnapAll","_unloadSnap","event","showSnapAll","interaction","Snap","state.activetool","messages","state.editing.on","state.toolsoftool","newTools","oldTools","onChange","mobile","isMobile","toolboxactive","geolayer","background","pull-right","g3w-icon-toggled","panel-body","cursor","preventDefault","9","completeStep","buttonnext","dynamic","getFontClass","10","Session","ChangesManager","_createClass","Constructor","protoProps","staticProps","defineProperties","descriptor","Flow","_classCallCheck","instance","Queque","task","tasks","reverse","shift","counter","queques","end","micro","Deferred","getContext","getSteps","runStep","runMicroTasks","setMessages","getLength","onDone","fail","onError","clearQueques","isRunning","base","inherit","G3WObject","Actions","fnc","opposite","execute","object","items","_g3wsdk$core$G3WObjec","_inherits","subClass","superClass","ReferenceError","__proto__","getPrototypeOf","setters","_editor","started","getfeatures","_allfeatures","saveChangesOnServer","maxSteps","current","_states","_constrains","_history","Proxy","prop","__add","getRelationStates","__getRelationStates","insertState","__insertState","removeState","deleteState","removeStates","removeChangesFromHistory","insertStates","__insertStates","__undo","clearHistory","__redo","setItemsFeatureIds","__setItemsFeatureIds","__getState","getFirstState","__getFirstState","getLastState","getLastHistoryState","getCurrentState","__getCurrentState","getCurrentStateIndex","__getCurrentStateIndex","__canCommit","__canUndo","__canRedo","__commit","register","setPrototypeOf","historyId","action","newItems","own","stateId","s","Registry","unregister","uniqueId","Date","now","setProperties","removeNotEditableProperties","getEditingNotEditableFields","unset","oldFeature","is_new","ids","getCommitItems","states","newFeat","oldFeat","revert","rollback","unshift","temporarychange","setChanges","itemsToCommit","commitObj","lockids","isRelation","sessionRelation","getLockIds","GeoJSONFormat","format","GeoJSON","itemObj","writeFeatureObject","childs_properties","getChild","getFather","_ref4$layerId","MapLayersStoresRegistry","is3DGeometry","geometry","set3DGeometryType","_ref5$ids","_ref5$relations","_ref5$__esPromise","__esPromise","_response$response$ne","applyCommitResponse","idx","getLastStateId","relationStates","_state","_this15","_checkSessionItems","_this16","_this17","unsetnewid","setId","_this18","currentState","_this19","currentStateIndex","checkCommitItems","commitItem","_this20","isDeleted","isUpdated","_item","isAdded","sessions","_sessions","setSession","getSessions","../../utils/promisify","11","12","_toolbox","_possibleConstructorReturn","FeaturesStore","OlFeaturesStore","_features","dispatchEvent","removeAt","insertAt","opts","Editor","_featuresstore","_layer","_ref5$","ToolBox","rFeature","ff","childField","clearState","addLockIds","new_lockids","_commit","relationId","getRelationByFatherChildren","getFatherField","getChildField","_started","_filter","bbox","getFeaturesStore","resetEditingSource","doRequest","is_cached","extent","containsExtent","../../toolboxes/toolbox","13","_editor2","_deprecated","constant","DEFAULT_EDITING_CAPABILITIES","SessionsRegistry","Task","WorkflowsStack","../deprecated","./editing/editor","./workflow/step","./workflow/workflow","14","_options","_run","_stop","_inputs","_context","_outputs","running","usermessagesteps","escKeyPressEventHandler","setSteps","onRun","onStop","_tools","root","events","getMap","_pointerMoveCursor","getTargetElement","forEachFeatureAtPixel","pixel","_steps","setUserMessageSteps","_isContentChild","saveChange","callback","unbind","escKeyUpHandler","setInputs","setContext","_workflow$_toolsoftoo","toolsOfTools","snap","measure","removeMeasureInteraction","_toolsoftool","emit","__stop","MESSAGES","15","_promise","_child","_stackIndex","runOnce","_messages","_userMessageSteps","setUserMessagesSteps","helpMessage","_stepIndex","messagesSteps","getUserMessageSteps","addChild","getStackIndex","clearUserMessagesSteps","__run","isChild","position","size","hooks","body","clearMessages","_x8","_x9","_ref5$tools","setToolsOfTools","feats","keyCode","workflows","getFirst","getLast","getAt","../../components/UserMessage.vue","./step","16","close_editing_panel","errors","no_layers","some_layers","editing_changes","editing_data","editing_attributes","edit_relation","back_to_relations","no_relations_found","relation_data","relation_already_added","list_of_relations_feature","tooltip","edit_layer","edit","copy","pastefeaturesfromotherlayers","addpart","deletepart","merge","add_feature","delete_feature","move_feature","update_vertex","update_feature","update_multi_features","update_multi_features_relations","copyfeaturefromexternallayer","snapall","select_elements","select_element","edit_table","draw_new_feature","action_confirm","double_click_delete","edit_feature_vertex","move","select_feature_to_relation","show_edit_feature_form","pick_feature","insert_attributes_feature","draw_part","draw_geometry","selectSHIFT","selectDrawBox","selectDrawBoxAtLeast2Feature","selectPoint","selectPointSHIFT","selectMultiPointSHIFT","selectMultiPointSHIFTAtLeast2Feature","copyCTRL","selectStartVertex","selectToPaste","draw_split_line","featureslockbyotheruser","splitted","nosplittedfeature","press_esc","offline","delete_feature_relations","unlink_relation","commit_feature","toolbox_has_relation","saved","saved_local","loading_data","constraints","enable_editing","pdf","header_relation","header_add","header_update_delete","loading_table_data","copy_and_paste_from_other_layer_mandatory_fields","no_feature_selected","select_min_2_features","draw_or_copy","copy_feature_from_other_layer","form","tooltips","back_to_father","add_relation","link_relation","open_relation_tools","buttons","save_and_back","save_and_back_table","copyfeaturefromotherlayer","edit_attributes","copyfeaturefromprojectlayer","17","editing_multiple_relations","filter_by_relation","toolbox_has_no_geometry","18","19","20","_it2","_interopRequireDefault","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","21","save_table","22","23","24","25","_ref39","_rollback","allSettled","_ref40","_ref46","_ref45","_ref43","_ref41","_ref41$","del","_ref41$$relations","has_features","_ref42","_x23","_ref44","XHR","url","getUrl","params","vector","at","setGeometry","_x24","_x25","_i18n","_i18n2","_createFeature","_addPartToMultigeometries","G3W_FID","_g3wsdk$core$i18n","_g3wsdk$core$layer","LayersStore","MapLayersStoreRegistry","_g3wsdk$core$plugin","Plugin","PluginService","_g3wsdk$core$utils","Panel","serverErrorParser","parsers","Server","_g3wsdk$ol$utils","getScaleFromResolution","_ref34","_class","fontClasses","className","toolboxes","_toolboxes","layers_in_error","formComponents","subscribers","showToolboxesExcluded","cb","editableLayers","start-editing","show-relation-editing","start_editing","before","after","show_errors","editFeatureKey","panel","currentLayout","getCurrentLayoutName","unwatchLayout","layout","__current","layoutName","onMapControlToggled","isClickMap","getActiveTool","setService","subscribe","unsubscribe","addToolBox","resetAPIDefault","getSessionById","setApplicationEditingConstraints","undoRedoLayerUniqueFieldValues","undoRedoRelationUniqueFieldValues","stopEditing","startEditing","addLayerFeature","_init","setHookLoading","setApi","api","addNewFeature","createFeature","commitChanges","getMapService","updateLayerFeature","deleteLayerFeature","hidePanel","hideEditingPanel","showPanel","setSaveConfig","addFormComponents","addLayersStore","queryable","TOC_ORDER","getLayerForEditing","vectorurl","project_type","status","filter_expression","usecompleter","layer_id","has_filter","filter_fields","relation_reference","_options$values","getFilterData","fformatter","_options$values2","_response","getDataTable","ordering","orderbyvalue","fatherId","isChildEditable","vectorjoin_id","getColor","setColor","getLayersStore","addLayers","getFathers","isReady","_setupGUI","setReady","registerPlugin","gid","fid","tb","showEditingPanel","once","toolBox","getEditingConstraints","units","parseInt","getView","getResolution","setResolution","geom","addPartTool","op","_w","zoomToGeometry","addfeature","addPartToMultigeometries","setOperator","addToolGroup","sub","sessionItems","undoItems","relationSessionItems","redoItems","_ref19","disableClickMapControls","_ref22$plugin","_ref22$toolboxes","toolboxIds","setEditingConstraints","commitpromises","refreshMap","_ref25","_ref25$modal","_ref25$close","close","success","has_changes","serverError","SAVE","CANCEL","CLOSEMODAL","propsData","$mount","closeButton","curr","prev","currLayerId","relationsIds","has_relations","GIVE_ME_A_NAME","lock","featureid","online2","textMessage","_ref29$sessionItems","has_change","oldVal","newVal","_ref30","_ref32$","_x11","disablemapcontrols","setTitle","_x14","_ref36","_ref35","nofeatures","nofeatures_field","showgoback","saveAll","_ref37","_ref37$mode","_ref37$cb","_ref37$modal","_ref38","_ref38$components","internalPanel","resourcesUrl","closePanel","removeTools","removeLayersStore","setCurrentLayout","./components/Changes.vue","./components/Editing.vue","./g3wsdk","./g3wsdk/workflow/step","./g3wsdk/workflow/workflow","./i18n","./toolboxes/toolbox","./utils/addPartToMultigeometries","./utils/createFeature","./utils/getEditingLayerById","./utils/promisify","./utils/setAndUnsetSelectedFeaturesStyle","./workflows","26","_ol$interaction$Point","featuresAtPixel","getFeaturesAtPixel","layerFilter","hitTolerance","any","handleDownEvent","handleUpEvent","handleMoveEvent","Pointer","27","_createEditingDataOptions","_setLayerUniqueFieldValues","_chooseFeature","_evaluateExpressionFields","_getNotEditableFieldsNoPkValues","_getDeltaXY","_getRelationsInEditingByFeature","_isPointOnVertex","_handleSplitFeature","_splitFeatures","_dissolve","SelectElementsStep","PickFeatureStep","GEOMETRY_TYPES","removeZValueToOLFeatureGeometry","debounce","_ref47","is_line","is_poly","is_table","iconGeometry","is_point","isLineGeometryType","isPolygonGeometryType","_start","__clearHistory","__getLastHistoryState","_session","__startSession","__stopSession","__getFeatures","__saveChangesOnServer","isStarted","__isStarted","__getHistory","__getEditor","__push","__pushDelete","__save","__pushAdd","__pushUpdate","__rollback","__rollbackDependecies","__undoSession","__redoSession","__getCommitItems","__clearSession","customTitle","toolboxheader","toolmessages","isFather","_unregisterStartSettersEventsKey","_getFeaturesOption","_enabledtools","_disabledtools","getEditingConstrains","chooseFeature","validate","getRelationsInEditingByFeature","ismobile","condition","_ref7$features","enable","updatelayers","checkGeometry","BASELAYER","catalogService","_ref8$tool","openFormStep","originalLayer","vueInstance","showModalDialog","ok","$destroy","Draw","isPointOnVertex","drawend","edge","to","_evt$feature$getGeome","_evt$feature$getGeome2","x","y","deltaXY","getDeltaXY","featuresLength","promisesDefaultEvaluation","translate","_coordinates","_deltaXY","getEditingMediaFields","evaluateExpressionFields","noteditablefieldsvalues","getNotEditableFieldsNoPkValues","finally","originaLayer","originalFeature","geometries","MULTIPOLYGON","getPolygons","MULTILINE","MULTILINESTRING","getLineStrings","MULTIPOINT","getPoints","Vector","getPixelFromCoordinate","tempLayer","getStyle","addLayer","found","_geometries","g","removeLayer","draw_line","freehandCondition","never","isSplitted","splittedGeometries","splitFeatures","splittedGeometriesLength","handleSplitFeature","choose","dissolve","has_same_geom","disabledtoolsoftools","getMessages","Function","_startTool","_stopTool","originalState","_getFeaturesEvent","constraint","startResolve","_olStartKeysEvent","unwatches","inEditing","registerEvents","constraintFeatureFilter","createEditingDataOptions","in_editing","showZoomCursor","getCurrentToggledMapControl","cursorClass","setMouseCursor","getViewport","applicationConstraint","_options$toolboxheade","_options$startstopedi","_options$changingtool","unKeyLock","setEnablesDisablesTools","onceafter","subtitle","handlerAfterSessionGetFeatures","_handleScaleConstraint","setFeaturesOptions","setLayerUniqueFieldValues","stopLoading","setEditing","_x15","is_started","isMapHidden","startLoading","disableCanEditEvent","k","uw","enableTools","clearToolboxMessages","_stopSessionChildren","_ref30$ids","_ref30$relations","_ref30$__esPromise","_x18","setMessage","setEnable","keyChangeResolution","_ref32$tools","_ref32$options","_options$editing_cons","editing_constraints","_ref33$tools","_ref33$excludetools","excludetools","_ref33$options","_options$editing_cons2","UPDATEONEFEATUREONLYTOOLSID","update_tools","toolsId","_tools$enabled","disableTools","_tools$disabled","_ref34$options","_options$active","disabledtools","_state$toolsoftool","_deactivetools","getHelpMessage","getRunningStep","activeTool","removeAllListeners","checkSessionItems","_this21","_feature3","_this22","_feature4","_this23","_this24","_this25","_this26","_this27","getContentLength","relationsId","addRelationId","_x30","_this28","_startOp","hideSidebar","showSidebar","_x32","_x33","_x34","_this29","../components/CopyFeaturesFromOtherLayers.vue","../utils/addPartToMultigeometries","../utils/checkSessionItems","../utils/chooseFeature","../utils/createEditingDataOptions","../utils/dissolve","../utils/evaluateExpressionFields","../utils/getDeltaXY","../utils/getNotEditableFieldsNoPkValues","../utils/getRelationsInEditingByFeature","../utils/handleSplitFeature","../utils/isPointOnVertex","../utils/setLayerUniqueFieldValues","../utils/splitFeatures","../utils/unlinkRelation","28","setCoordinates","./promisify","29","addRemoveToMultipleSelectFeatures","selIndex","_originalStyle","_setFeaturesSelectedStyle","setFeaturesSelectedStyle","setStyle","../utils/setFeaturesSelectedStyle","30","createNewFeature","get_default_value","31","coords","c1","c2","poly","_coords","32","33","34","_ref$features","comp","../components/ChooseFeatureToEdit.vue","35","cloneNew","36","addZValueToOLFeatureGeometry","cloned","__layerId","convertSingleMultiGeometry","_g3wsdk$core$geoutils","37","38","39","_ref$index","_ref$clone","parser","jsts","io","OL3Parser","jstsdissolvedFeatureGeometry","baseFeature","baseFeatureGeometry","baseFeatureGeometryType","lineMerger","operation","linemerge","LineMerger","addLineString","GeometryFactory","createLineString","read","mergedLineString","getMergedLineStrings","toArray","union","dissolvedFeatureGeometry","write","dissolvedFeatureGeometryType","dissolvedFeatureGeometryCoordinates","40","exclude","default_expression","apply_on_update","inputService","handleDefaultExpressionFormInput","qgs_layer_id","parentData","_getParentFormData","getParentFormData","handleFilterExpressionFormInput","./getParentFormData","41","_getCoordinates","42","43","kv","kv_field","44","getFormFields","savedfeatureFnc","unique_values","unique","_value","current_values","v","sortNumericArray","sortAlphabeticallyArray","has","exclude_values","_handleMulti","sensitivity","ascending","stringify","forceNull","45","all","setLoading","_getRelationFieldsFro","featureValues","46","47","_Workflow$Stack$getPa","_Workflow$Stack$getPa2","48","getRelation1_1ChildFeature","childFeatureStore","fatherFormRelationField","fatherLayerId","childLayerId","locked","oncebefore","createFilterFormInputs","search_endpoint","49","_fatherField","_childField","50","childId","51","_ref$relations","52","relationsinediting","fatherLayer","relationLayerId","valid","53","handleRelation1_1LayerFields","_ref2$features","_ref2$fields","newChild","childFeature","fieldsUpdated","isNewChildFeature","getPrefix","54","_ref2$splittedGeometr","oriFeature","splittedGeometry","_newFeature","55","56","57","listenRelation1_1FieldChange","ONE","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_ret","relationLockFeatures","editableRelatedFatherChild","formField","_getRelation1_1ChildFeature","_relationLockFeatures","return","./getRelation1_1ChildFeature","58","console","59","selectOriginalStyleHandle","originalStyle","_inputs$features","is_single","60","_getSelectedStyle","selectedStyle","createSelectedStyle","61","getWidgetData","join","62","splitfeature","splitFeature","63","_ref$dialog","unlink","./updateWorkflows","64","65","_getFormFields","_handleRelation1_1LayerFields","_listenRelation1_1FieldChange","_addRemoveToMultipleSelectFeatures","Component","AreaInteraction","LengthInteraction","createMeasureTooltip","removeMeasureTooltip","originalGeometryType","getEditingGeometryType","getOLGeometry","drawInteraction","finishCondition","drawstart","drawingFeature","addEventListener","_delKeyRemoveLastPoint","_add","setActive","measureInteraction","projection","getProjection","drawColor","removeLastPoint","removeEventListener","_snap","_modifyInteraction","Modify","deleteCondition","modifystart","modifyend","getExtent","isGeometryChange","changeKey","Translate","translatestart","translateend","_multi","layerName","formService","setLoadingContent","_originalFeatures","setInput","getLayerEditingFormStructure","showForm","crumb","dataid","isnew","context_inputs","formStructure","hasFormStructure","headerComponent","_saveAll","template","disableContent","getLastStep","saveDefaultExpressionFieldsNotDependencies","setFieldsWithValues","getFields","getBackButtonLabel","cbk","eventButtons","false","handleRelation","getRelationById","setCurrentComponentById","_x10","addComponents","_originalFeature","setContextService","_unwatchs","disableSidebar","is_parent_table","isType","contextService","closeForm","resetCurrentLayout","_Object$assign","content","internalComponent","_selectInteractions","single","multipleselectfeatures","_vectorLayer","geometryFunction","createBox","getFeaturesInExtent","dragbox","DragBox","shiftKeyOnly","forEachFeatureIntersectingExtent","chain","../components/FormRelation.vue","../components/Table.vue","../utils/addRemoveToMultipleSelectFeatures","../utils/getFormFields","../utils/getParentFormData","../utils/handleRelation1_1LayerFields","../utils/listenRelation1_1FieldChange","66"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"plugin.js","sources":["plugin.js"],"sourcesContent":["/** START: g3w-client/src/plugins/_version.js */\n(function() {\n const plugins = window && window.initConfig && window.initConfig.group && window.initConfig.group.plugins;\n if (plugins) {\n plugins[\"editing\"] = Object.assign(plugins[\"editing\"] || {},\n {\n version : \"3.9.0-alpha.0\",\n hash : \"e59fd9e\",\n branch : \"dev\",\n });\n }\n})();\n/** END: g3w-client/src/plugins/_version.js */\n(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;ili[data-v-90b32778]{margin-bottom:8px}ins[data-v-90b32778]{background-color:lime;text-decoration-line:none}del[data-v-90b32778]{background-color:tomato}dl[data-v-90b32778]{display:grid;grid-template:auto/.5fr 1fr;margin-bottom:0;word-break:break-all}dt[data-v-90b32778]{background:#fee}dd[data-v-90b32778]{background:#f1f2f4}dd[data-v-90b32778],dt[data-v-90b32778]{margin:0;padding:.3em .5em;border-top:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _areCoordinatesEqual = require('../utils/areCoordinatesEqual');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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: \"changes\",\n\n props: {\n commits: {\n type: Object,\n required: true\n },\n layer: {\n type: Object,\n required: true\n },\n relation: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n features: this.layer.readFeatures(),\n efeatures: this.layer.readEditingFeatures() };\n },\n\n\n methods: {\n getFormattedValue: function getFormattedValue(feat, key) {\n if (!feat) {\n return;\n }\n\n if ('geometry' === key && feat.get(key)) {\n return '(' + feat.get(key).getFlatCoordinates().length / 2 + ')';\n }\n return (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: this.layer.getId(),\n feature: feat,\n property: key\n });\n },\n getValue: function getValue(item, key) {\n return this.getFormattedValue(this.getFeature(item), key);\n },\n getEditingValue: function getEditingValue(item, key) {\n return this.getFormattedValue(this.getEditingFeature(item), key);\n },\n hasValue: function hasValue(item, key) {\n var feat = this.getFeature(item);\n var efeat = this.getEditingFeature(item);\n return !(feat && efeat && null === feat.get(key) && null === efeat.get(key) || feat && !efeat && null === feat.get(key));\n },\n getId: function getId(item) {\n return item.id || item;\n },\n getEditingFeature: function getEditingFeature(item) {\n var _this = this;\n\n return this.efeatures.find(function (f) {\n return _this.getId(item) === f.getId();\n });\n },\n getFeature: function getFeature(item) {\n var _this2 = this;\n\n return this.features.find(function (f) {\n return _this2.getId(item) === f.getId();\n });\n },\n getType: function getType(item) {\n var feat = this.getEditingFeature(item) || this.getFeature(item);\n return feat && feat.getGeometry && feat.getGeometry() ? feat.getGeometry().getType() : '';\n },\n isEdited: function isEdited(item, key) {\n var feat = this.getFeature(item);\n var efeat = this.getEditingFeature(item);\n if ([feat, efeat].includes(undefined)) {\n return false;\n }\n if (this.getType(item) && 'geometry' === key) {\n return !(0, _areCoordinatesEqual.areCoordinatesEqual)({ feature: feat, coordinates: efeat.get(key).getCoordinates() });\n }\n return efeat.get(key) !== feat.get(key);\n },\n getAttrs: function getAttrs(item) {\n var feat = this.getEditingFeature(item) || this.getFeature(item);\n return Object.entries(feat ? feat.getProperties() : {}).sort(function (a, b) {\n return a[0] > b[0];\n });\n },\n getLayerById: function getLayerById(id) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').service.getLayerById(id);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n this.$refs.value.filter(function (d) {\n return !d.textContent;\n }).forEach(function (d) {\n return d.innerHTML = '<empty>';\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('div',[(_vm.relation)?_c('h4',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin:pre\",value:('editing.messages.commit.header_relation'),expression:\"'editing.messages.commit.header_relation'\",arg:\"pre\"}],staticClass:\"skin-color g3w-long-text\",staticStyle:{\"font-weight\":\"bold\",\"margin\":\"15px 0\"}},[_vm._v(\": \"+_vm._s(_vm.layer.getName()))]):_vm._e(),_vm._v(\" \"),_vm._l((Object.keys(_vm.commits).filter(function (c) { return _vm.commits[c].length; })),function(c){return [_c('h4',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin:pre\",value:((\"editing.messages.commit.\" + c)),expression:\"`editing.messages.commit.${c}`\",arg:\"pre\"}]},[_vm._v(\" (\"+_vm._s(_vm.commits[c].length)+\") \")]),_vm._v(\" \"),_c('divider'),_vm._v(\" \"),_c('ul',_vm._l((_vm.commits[c]),function(item){return _c('li',[_c('details',[_c('summary',[_vm._v(_vm._s(_vm.getType(item))+\" #\"+_vm._s(_vm.getId(item)))]),_vm._v(\" \"),_vm._l((_vm.getAttrs(item)),function(ref){\nvar key = ref[0];\nvar val = ref[1];\nreturn [(_vm.hasValue(item, key))?_c('dl',[_c('dt',[_vm._v(_vm._s(key)+\":\")]),_vm._v(\" \"),_c('dd',[(_vm.isEdited(item, key))?[_c('del',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getValue(item, key)))]),_vm._v(\" ← \"),_c('ins',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getEditingValue(item, key)))])]:_c('span',{ref:\"value\",refInFor:true},[_vm._v(_vm._s(_vm.getEditingValue(item, key) || _vm.getValue(item, key)))]),_vm._v(\" \"),('geometry' === key)?_c('i',[_c('code',[_vm._v(\"\")])]):_vm._e()],2)]):_vm._e()]})],2)])}),0)]}),_vm._v(\" \"),_vm._l((Object.entries(_vm.commits.relations)),function(ref){\nvar id = ref[0];\nvar commits = ref[1];\nreturn _c('changes',{attrs:{\"commits\":{\n add: commits.add,\n update: commits.update,\n delete: commits.delete,\n relations: commits.relations\n },\"relation\":true,\"layer\":_vm.getLayerById(id)}})})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-90b32778\"\n\n},{\"../utils/areCoordinatesEqual\":31,\"../utils/getFeatureTableFieldValue\":43,\"vueify/lib/insert-css\":1}],3:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".choose-and-zoom-to-feature[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between}#editing-layers-choose-feature .editing-choose-feature-radio-input[data-v-3c5d6465]{align-items:center;padding:5px;position:relative;display:flex;justify-content:space-between;border-bottom:1px solid #eee}.ztf[data-v-3c5d6465]{padding-left:3px;font-size:1.3em;cursor:pointer;margin-top:10px}.magic-radio+label[data-v-3c5d6465]{color:transparent}.feature-attributes[data-v-3c5d6465]{overflow-x:auto;display:flex}.feature-attributes>div[data-v-3c5d6465]{display:flex;flex-direction:column;justify-content:space-between;padding:5px}.f-attr[data-v-3c5d6465]{font-weight:700;margin-bottom:10px}.f-val[data-v-3c5d6465]{align-self:start;white-space:nowrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GUI = g3wsdk.gui.GUI;\nexports.default = {\n\n name: 'choosefeature',\n\n data: function data() {\n return {\n feature: this.$options.feature\n };\n },\n\n\n methods: {\n selectFeature: function selectFeature(feature) {\n this.feature.splice(0);\n this.feature.push(feature);\n },\n getAttributesFeature: function getAttributesFeature(feature) {\n var properties = feature.getProperties();\n return this.$options.attributes.map(function (_ref) {\n var label = _ref.label,\n name = _ref.name;\n return { attribute: label, value: properties[name] };\n });\n },\n zoomToFeature: function zoomToFeature(feature) {\n GUI.getService('map').zoomToFeatures([feature], { highlight: true, duration: 1000 });\n }\n },\n\n mounted: function mounted() {\n GUI.closeContent();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.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\":\"editing-layers-choose-feature\"}},_vm._l((_vm.$options.features),function(feature,index){return _c('div',{staticClass:\"editing-choose-feature-radio-input\"},[_c('section',{staticClass:\"choose-and-zoom-to-feature\"},[_c('div',[_c('input',{staticClass:\"magic-radio\",attrs:{\"id\":(\"choose_feature_\" + index),\"name\":\"radio\",\"type\":\"radio\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.selectFeature(feature)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"choose_feature_\" + index)}},[_vm._v(\"id\")])]),_vm._v(\" \"),_c('div',{staticClass:\"ztf skin-color\",class:_vm.g3wtemplate.font['marker'],on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToFeature(feature)}}})]),_vm._v(\" \"),_c('section',{staticClass:\"feature-attributes\"},_vm._l((_vm.getAttributesFeature(feature)),function(ref){\nvar attribute = ref.attribute;\nvar value = ref.value;\nreturn _c('div',[_c('span',{staticClass:\"f-attr\"},[_vm._v(_vm._s(attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"f-val\"},[_vm._v(_vm._s(value))])])}),0)])}),0)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3c5d6465\"\n\n},{\"vueify/lib/insert-css\":1}],4:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GUI = g3wsdk.gui.GUI;\nexports.default = {\n\n name: 'Copyfeaturesfromotherlayers',\n\n data: function data() {\n return {\n id: this.$options.layers.find(function (l) {\n return l.selected;\n }).id\n };\n },\n\n\n watch: {\n 'id': function id(_id) {\n this.$options.layers.forEach(function (l) {\n return l.selected = _id === l.id;\n });\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('div',{attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('id'),expression:\"'id'\"}],attrs:{\"id\":\"g3w-select-editable-layers-to-copy\"}},_vm._l((_vm.$options.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_vm._v(_vm._s(layer.name))])}),0)])])}\n__vue__options__.staticRenderFns = []\n\n},{}],5:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-panel .editing-button .editing-icon{background-color:#3a4448;color:#222d32;font-size:1.8em;padding:10px;margin:5px;width:45px;height:45px;border-radius:30%;text-align:center}.g3w-editing-panel .editing-button.enabled .editing-icon{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.7)}.g3w-editing-panel .editing-button{cursor:not-allowed}.g3w-editing-panel .editing-button.enabled{cursor:pointer}.g3w-editing-panel .editbtn{border-radius:30%;padding:10px;display:inline-block;opacity:.4;box-shadow:0 1px 1px 0 rgba(0,0,0,.1),0 1px 4px 0 rgba(0,0,0,.3)}.g3w-editing-panel .editbtn.enabled{opacity:1;cursor:pointer}.g3w-editing-panel .editbtn.enabled.toggled{box-shadow:0 0;background-color:#ddd}\\n.g3w-editing-panel[data-v-cb98e6ce]{margin-bottom:50px}#onlineofflinemessage[data-v-cb98e6ce]{margin-bottom:5px;padding:5px;border-radius:3px;background-color:orange;color:#fff;font-weight:700}.commitbar[data-v-cb98e6ce]{display:flex;justify-content:flex-end;margin-bottom:5px}.commitbar>div[data-v-cb98e6ce]:first-of-type{margin-right:auto}#g3w-select-editable-layers-content[data-v-cb98e6ce]{margin-bottom:10px;font-weight:700}#g3w-select-editable-layers-content label[data-v-cb98e6ce]{color:#fff!important}#g3w-select-editable-layers-to-show[data-v-cb98e6ce]{cursor:pointer}\")\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 _Toolbox = require('./Toolbox.vue');\n\nvar _Toolbox2 = _interopRequireDefault(_Toolbox);\n\nvar _promisify = require('../utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 GUI = g3wsdk.gui.GUI;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n ApplicationService = _g3wsdk$core.ApplicationService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nexports.default = {\n\n name: 'Editing',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n service: this.$options.service,\n resourcesurl: this.$options.resourcesurl,\n showcommitbar: this.$options.showcommitbar,\n saving: false,\n layersInEditing: 0,\n editingButtonsEnabled: true,\n\n selectedlayers: [],\n\n editinglayers: Object.entries(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getEditableLayers()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n l = _ref2[1];\n\n return l.config.editing.visible;\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n id = _ref4[0],\n layer = _ref4[1];\n\n return { id: id, name: layer.getName(), title: layer.getTitle() };\n }),\n\n activetool: null\n };\n },\n\n\n components: {\n toolbox: _Toolbox2.default\n },\n\n transitions: {\n 'addremovetransition': 'showhide'\n },\n\n methods: {\n updateFilterLayers: function updateFilterLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (layers.length > 0) {\n this._selectedlayers = this.selectedlayers;\n this.selectedlayers = layers;\n } else {\n this.selectedlayers = this._selectedlayers;\n this._selectedlayers = layers;\n }\n\n $(this.$refs.selectlayers).val(this.selectedlayers).trigger('change');\n },\n updateLayersInEditing: function updateLayersInEditing(bool) {\n this.layersInEditing += bool ? 1 : -1;\n },\n undo: function undo() {\n if (this.canUndo) {\n this.service.undo();\n }\n },\n redo: function redo() {\n if (this.canRedo) {\n this.service.redo();\n }\n },\n commit: function commit(toolboxId) {\n var _this = this;\n\n if (this.canCommit) {\n this.saving = true;\n this.service.commit({\n toolbox: this.service.getToolBoxById(toolboxId),\n modal: false\n }).always(function () {\n return _this.saving = false;\n });\n }\n },\n startToolBox: function () {\n var _ref5 = _asyncToGenerator(function* (id) {\n var _this2 = this;\n\n var toolbox = this.service.getToolBoxById(id);\n\n var layerId = ApplicationState.online && toolbox.getDependencies().find(function (id) {\n return _this2.service.getToolBoxById(id).isDirty();\n });\n if (layerId) {\n yield this.commit_dirty(layerId);\n }\n toolbox.start();\n });\n\n function startToolBox(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return startToolBox;\n }(),\n stopToolBox: function () {\n var _ref6 = _asyncToGenerator(function* (id) {\n var toolbox = this.service.getToolBoxById(id);\n\n try {\n if (toolbox.state.editing.history.commit) {\n yield (0, _promisify.promisify)(this.service.commit());\n }\n } catch (e) {\n console.warn(e);\n }\n\n yield toolbox.stop();\n\n var control = undefined === this.service.getToolBoxes().find(function (t) {\n return t.state.editing.on;\n }) && GUI.getService('map').getMapControlByType({ type: 'query' });\n if (control && !control.isToggled()) {\n control.toggle();\n }\n });\n\n function stopToolBox(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return stopToolBox;\n }(),\n startTool: function () {\n var _ref7 = _asyncToGenerator(function* (toolId, toolboxId) {\n var _this3 = this;\n\n var toolbox = this.service.getToolBoxById(toolboxId);\n var enabled = this.activetool && toolboxId === this.activetool;\n\n if (!enabled && this.service.getToolBoxById(toolbox.getDependencies().find(function (id) {\n return id === _this3.activetool;\n }))) {\n yield this.commit_dirty(this.activetool);\n }\n\n if (!enabled) {\n this.stopTool(this.activetool);\n }\n\n this.activetool = toolboxId;\n toolbox.setActiveTool(toolbox.getToolById(toolId));\n });\n\n function startTool(_x4, _x5) {\n return _ref7.apply(this, arguments);\n }\n\n return startTool;\n }(),\n stopTool: function stopTool(id) {\n if (id) {\n this.service.getToolBoxById(id).stopActiveTool();\n }\n },\n selectToolBox: function () {\n var _ref8 = _asyncToGenerator(function* (id) {\n var toolbox = this.service.getToolBoxById(id);\n var toolboxes = this.service.getToolBoxes();\n var selected = toolboxes.find(function (t) {\n return t.isSelected();\n });\n if (selected) {\n selected.setSelected(false);\n selected.clearMessage();\n }\n\n toolbox.setSelected(true);\n\n this.state.toolboxselected = toolbox;\n });\n\n function selectToolBox(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return selectToolBox;\n }(),\n commit_dirty: function () {\n var _ref9 = _asyncToGenerator(function* (id) {\n var _this4 = this;\n\n var toolbox = this.service.getToolBoxById(id);\n\n try {\n if (toolbox.isDirty() && toolbox.hasDependencies()) {\n yield (0, _promisify.promisify)(this.service.commit({ toolbox: toolbox }));\n console.info('[EDITING] committed dirty');\n }\n } catch (e) {\n try {\n [layerId].concat(toolbox.getDependencies()).forEach(function (id) {\n var toolbox = _this4.service.getToolBoxById(id);\n var editor = toolbox.getEditor();\n\n editor.getEditingSource().setFeatures((editor.readFeatures() || []).map(function (f) {\n return f.clone();\n }));\n\n toolbox.getSession().getHistory().clear();\n\n toolbox.stopActiveTool();\n });\n console.info('[EDITING] reverted dirty');\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function commit_dirty(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return commit_dirty;\n }(),\n _enableEditingButtons: function _enableEditingButtons(bool) {\n this.editingButtonsEnabled = !bool;\n },\n checkOfflineChanges: function checkOfflineChanges() {\n var _this5 = this;\n\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$modal = _ref10.modal,\n modal = _ref10$modal === undefined ? true : _ref10$modal,\n _ref10$unlock = _ref10.unlock,\n unlock = _ref10$unlock === undefined ? false : _ref10$unlock;\n\n return new Promise(function (resolve, reject) {\n var changes = JSON.parse(window.localStorage.getItem('EDITING_CHANGES') || null);\n\n if (!changes) {\n return;\n }\n\n var promises = [];\n var layerIds = [];\n\n setTimeout(_asyncToGenerator(function* () {\n for (var _layerId in changes) {\n layerIds.push(_layerId);\n var toolbox = _this5.service.getToolBoxById(_layerId);\n var commitItems = changes[_layerId];\n promises.push(_this5.service.commit({ toolbox: toolbox, commitItems: commitItems, modal: modal }));\n }\n\n try {\n yield (0, _promisify.promisify)($.when.apply(_this5.service, promises));\n resolve();\n } catch (e) {\n console.warn(e);\n reject(e);\n } finally {\n if (unlock) {\n layerIds.forEach(function (layerId) {\n return _this5.service.getLayerById(layerId).unlock();\n });\n }\n\n try {\n window.localStorage.setItem('EDITING_CHANGES', \"{}\");\n } catch (e) {\n console.warn(e);\n }\n }\n }), 1000);\n });\n }\n },\n\n computed: {\n canCommit: function canCommit() {\n return 'default' === this.state.saveConfig.mode && this.state.toolboxselected && this.state.toolboxselected.state.editing.history.commit && this.editingButtonsEnabled;\n },\n canUndo: function canUndo() {\n var canUndo = this.state.toolboxselected && this.state.toolboxselected.state.editing.history.undo && this.editingButtonsEnabled;\n\n this.service.fireEvent('canUndo', canUndo);\n\n return canUndo;\n },\n canRedo: function canRedo() {\n var canRedo = this.state.toolboxselected && this.state.toolboxselected.state.editing.history.redo && this.editingButtonsEnabled;\n\n this.service.fireEvent('canRedo', canRedo);\n\n return canRedo;\n },\n django_admin_url: function django_admin_url() {\n return window.initConfig.user.is_superuser ? new URL('/django-admin/editing/g3weditingfeaturelock/', window.initConfig.baseurl) : false;\n },\n filemanager_url: function filemanager_url() {\n return window.initConfig.user.is_superuser ? new URL('/filemanager/', window.initConfig.baseurl) : false;\n }\n },\n\n watch: {\n canCommit: function canCommit(bool) {\n window.onbeforeunload = function () {\n return bool || undefined;\n };\n },\n layersInEditing: function layersInEditing(n) {\n document.getElementsByClassName('close-pane-button')[0].classList[0 === n ? 'remove' : 'add']('g3w-disabled');\n },\n selectedlayers: function selectedlayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var has_layers = layers.length > 0;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n this.editinglayers.forEach(function (_ref12) {\n var id = _ref12.id;\n\n var toolbox = service.getToolBoxById(id);\n var is_commit = has_layers && toolbox.state.editing.history.commit;\n var is_selected = layers.includes(id);\n\n toolbox.setShow(has_layers ? is_selected : true);\n\n if (has_layers && !is_selected && is_commit) {\n service.commit({ toolbox: toolbox }).always(function () {\n return toolbox.stop();\n });\n }\n\n if (has_layers && !is_selected && !is_commit) {\n toolbox.stop();\n }\n });\n }\n },\n\n created: function created() {\n var _this6 = this;\n\n this._selectedlayers = [];\n\n this.appState = ApplicationState;\n\n this.unByKeys = this.unByKeys || [];\n\n if (ApplicationState.online) {\n this.checkOfflineChanges({ unlock: true });\n }\n\n this.unByKeys.push({\n owner: ApplicationService,\n setter: 'online',\n key: ApplicationService.onafter('online', function () {\n return _this6.checkOfflineChanges({ modal: false }).catch(function (e) {\n return GUI.notify.error(e);\n });\n })\n });\n\n GUI.closeContent();\n\n this.state.open = false;\n CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).forEach(function (l) {\n return l.setInEditing(true);\n });\n\n GUI.on('opencontent', this._enableEditingButtons);\n GUI.on('closeform', this._enableEditingButtons);\n GUI.on('closecontent', this._enableEditingButtons);\n },\n beforeDestroy: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n this.service.stop();\n\n this.state.open = false;\n CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).forEach(function (l) {\n return l.setInEditing(false);\n });\n\n GUI.off('opencontent', this._enableEditingButtons);\n GUI.off('closeform', this._enableEditingButtons);\n GUI.off('closecontent', this._enableEditingButtons);\n\n this.unByKeys.forEach(function (_ref14) {\n var owner = _ref14.owner,\n setter = _ref14.setter,\n key = _ref14.key;\n return owner.un(setter, key);\n });\n\n this.service.fireEvent('closeeditingpanel');\n\n var layerIdChanges = Object.keys(this.state.featuresOnClose);\n if (layerIdChanges.length) {\n var inputs = {\n layers: [],\n fids: [],\n formatter: 1\n };\n layerIdChanges.forEach(function (id) {\n var fids = [].concat(_toConsumableArray(_this7.state.featuresOnClose[id]));\n if (fids.length > 0) {\n var layer = CatalogLayersStoresRegistry.getLayerById(id);\n inputs.layers.push(layer);\n inputs.fids.push(fids);\n }\n });\n\n var promise = inputs.layers.length ? DataRouterService.getData('search:layersfids', {\n inputs: inputs,\n outputs: {\n title: 'plugins.editing.editing_changes',\n show: { loading: false }\n }\n }) : Promise.resolve();\n try {\n yield promise;\n } catch (e) {\n console.warn(e);\n }\n }\n\n this.state.featuresOnClose = {};\n\n this.service.getToolBoxes().forEach(function (t) {\n return t.resetDefault();\n });\n\n var control = GUI.getService('map').getMapControlByType({ type: 'query' });\n if (control && !control.isToggled()) {\n control.toggle();\n }\n });\n\n function beforeDestroy() {\n return _ref13.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',{staticClass:\"g3w-editing-panel\"},[_c('bar-loader',{attrs:{\"loading\":_vm.saving}}),_vm._v(\" \"),(_vm.layersInEditing > 0)?_c('helpdiv',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"message\":\"plugins.editing.close_editing_panel.message\"}}):_vm._e(),_vm._v(\" \"),(!_vm.appState.online)?_c('div',{attrs:{\"id\":\"onlineofflinemessage\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.offline'),expression:\"'editing.messages.offline'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.showcommitbar)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.saving),expression:\"saving\"}],staticClass:\"commitbar\"},[_c('div',{class:['editing-button', (_vm.canCommit ? 'enabled' : '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.commit($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['save']]})]),_vm._v(\" \"),_c('div',{class:['editing-button', (_vm.canUndo ? 'enabled': '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.undo($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['arrow-left']]})]),_vm._v(\" \"),_c('div',{class:['editing-button', (_vm.canRedo ? 'enabled' : '')],on:{\"click\":function($event){$event.stopPropagation();return _vm.redo($event)}}},[_c('span',{class:['editing-icon', _vm.g3wtemplate.font['arrow-right']]})])]):_c('div',{staticStyle:{\"height\":\"10px\"}}),_vm._v(\" \"),(_vm.state.showselectlayers && _vm.editinglayers.length > 1)?_c('div',{staticClass:\"skin-color\",attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('Layers'),expression:\"'Layers'\"}],attrs:{\"for\":\"g3w-select-editable-layers-to-show\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('selectedlayers'),expression:\"'selectedlayers'\"}],ref:\"selectlayers\",attrs:{\"id\":\"g3w-select-editable-layers-to-show\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.editinglayers),function(editinglayer){return _c('option',{key:editinglayer.id,domProps:{\"value\":editinglayer.id}},[_vm._v(_vm._s(editinglayer.name))])}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"toolboxes\"}},_vm._l((_vm.state.toolboxes),function(toolbox){return _c('toolbox',{key:toolbox.id,attrs:{\"state\":toolbox,\"resourcesurl\":_vm.resourcesurl},on:{\"setselectedtoolbox\":_vm.selectToolBox,\"starttoolbox\":_vm.startToolBox,\"stoptoolbox\":_vm.stopToolBox,\"setactivetool\":_vm.startTool,\"stopactivetool\":_vm.stopTool,\"on-editing\":_vm.updateLayersInEditing,\"update-filter-layers\":_vm.updateFilterLayers}})}),1),_vm._v(\" \"),(_vm.django_admin_url)?_c('p',[_c('a',{attrs:{\"href\":_vm.django_admin_url,\"target\":\"_blank\"}},[_vm._v(\"🔒 Locked features\")])]):_vm._e(),_vm._v(\" \"),(_vm.filemanager_url)?_c('p',[_c('a',{attrs:{\"href\":_vm.filemanager_url,\"target\":\"_blank\"}},[_vm._v(\"📂 File manager\")])]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb98e6ce\"\n\n},{\"../utils/promisify\":58,\"./Toolbox.vue\":8,\"vueify/lib/insert-css\":1}],6:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-new-relation-vector-type[data-v-112912af]{margin-bottom:5px;font-weight:700}.relation_header_title[data-v-112912af]{font-weight:700;font-size:1.3em;align-items:center}.relation_header_title[data-v-112912af],.relation_header_tools[data-v-112912af]{width:100%;display:flex;background-color:#fff}.g3w-editing-relations-add-link-tools[data-v-112912af]{display:flex;justify-content:flex-end}.relation_vector_tools[data-v-112912af]{display:flex;flex-direction:column;border:2px solid #eee;background-color:#fff;padding:10px}#g3w-select-editable-layers-content[data-v-112912af]{flex-grow:1;display:flex;flex-direction:column}#search-box[data-v-112912af]{margin-right:auto}.relation_body[data-v-112912af]{padding:0}.g3wform-relation-table[data-v-112912af]{width:100%}.close_vector_relation_tool[data-v-112912af]{align-self:self-end}.close_vector_relation_tool>.g3w-icon[data-v-112912af]{font-weight:700;cursor:pointer}.divider[data-v-112912af]{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});\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 _workflow2 = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _promisify = require('../utils/promisify');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _convertToGeometry = require('../utils/convertToGeometry');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _updateWorkflows = require('../utils/updateWorkflows');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _eventbus = require('../eventbus');\n\nvar _workflows = require('../workflows');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar ProjectsRegistry = g3wsdk.core.project.ProjectsRegistry;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar t = g3wsdk.core.i18n.tPlugin;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar toRawType = g3wsdk.core.utils.toRawType;\nvar GUI = g3wsdk.gui.GUI;\nvar FormService = g3wsdk.gui.vue.services.FormService;\nvar _g3wsdk$gui$vue$Mixin = g3wsdk.gui.vue.Mixins,\n fieldsMixin = _g3wsdk$gui$vue$Mixin.fieldsMixin,\n resizeMixin = _g3wsdk$gui$vue$Mixin.resizeMixin,\n mediaMixin = _g3wsdk$gui$vue$Mixin.mediaMixin;\nvar _g3wsdk$ol$interactio = g3wsdk.ol.interactions,\n PickFeatureInteraction = _g3wsdk$ol$interactio.PickFeatureInteraction,\n PickCoordinatesInteraction = _g3wsdk$ol$interactio.PickCoordinatesInteraction;\n\n\nObject.entries({\n Workflow: _workflow2.Workflow,\n Step: _step.Step,\n OpenFormStep: _workflows.OpenFormStep,\n OpenTableStep: _workflows.OpenTableStep,\n AddFeatureStep: _workflows.AddFeatureStep,\n ModifyGeometryVertexStep: _workflows.ModifyGeometryVertexStep,\n MoveFeatureStep: _workflows.MoveFeatureStep\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 color = 'rgb(255,89,0)';\n\nvar SELECTED_STYLES = {\n 'Point': new ol.style.Style({ image: new ol.style.Circle({ radius: 8, fill: new ol.style.Fill({ color: color }) }) }),\n 'MultiPoint': new ol.style.Style({ image: new ol.style.Circle({ radius: 8, fill: new ol.style.Fill({ color: color }) }) }),\n 'Linestring': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }) }),\n 'MultiLinestring': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }) }),\n 'Polygon': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }), fill: new ol.style.Fill({ color: color }) }),\n 'MultiPolygon': new ol.style.Style({ stroke: new ol.style.Stroke({ width: 8, color: color }), fill: new ol.style.Fill({ color: color }) })\n};\n\nexports.default = {\n\n mixins: [mediaMixin, fieldsMixin, resizeMixin],\n\n name: 'g3w-relation',\n\n data: function data() {\n return {\n loading: false,\n show_vector_tools: false,\n disabled: false,\n copylayerid: null,\n copyFeatureLayers: [],\n active: false,\n value: null,\n placeholdersearch: t('editing.search') + ' ...',\n resourcesurl: GUI.getResourcesUrl()\n };\n },\n\n\n methods: {\n resize: function resize() {\n if (!(this.active && 'none' !== this.$el.style.display)) {\n return;\n }\n\n var table = this.$refs.relation_body.querySelector('div.dataTables_scrollBody');\n\n if (table) {\n table.style.height = ((document.querySelector('.g3wform_body') || {}).offsetHeight || 0) - ((document.querySelector('.g3wform_footer') || {}).offsetHeight || 0) - ((this.$refs.relation_header_title || {}).offsetHeight || 0) - ((this.$refs.relation_header_tools || {}).offsetHeight || 0) - ((this.$el.querySelector('.dataTables_scrollHead') || {}).offsetHeight || 0) - ((this.$el.querySelector('.dataTables_paginate.paging_simple_numbers') || {}).offsetHeight || 0) - ((document.querySelector('.editing-save-all-form') || {}).offsetHeight || 0) - ((this.isVectorRelation && this.show_vector_tools && this.$refs.relation_vector_tools || {}).offsetHeight || 0) + 'px';\n }\n\n if (this.relationsTable) {\n this.relationsTable.columns.adjust();\n }\n },\n copyFeatureFromOtherLayer: function copyFeatureFromOtherLayer() {\n var _this = this;\n\n var copyLayer = this.copyFeatureLayers.find(function (l) {\n return _this.copylayerid === l.id;\n });\n var external = copyLayer.external;\n var layer = external ? GUI.getService('map').getLayerById(this.copylayerid) : CatalogLayersStoresRegistry.getLayerById(this.copylayerid);\n var is_vector = external || layer.isGeoLayer();\n this.runAddRelationWorkflow({\n workflow: is_vector ? new this._add_link_workflow.selectandcopy({\n copyLayer: layer,\n isVector: true,\n help: 'editing.steps.help.copy',\n external: external\n }) : undefined,\n isVector: is_vector\n });\n },\n closeVectorTools: function () {\n var _ref3 = _asyncToGenerator(function* () {\n this.show_vector_tools = false;\n yield this.$nextTick();\n this.resize();\n });\n\n function closeVectorTools() {\n return _ref3.apply(this, arguments);\n }\n\n return closeVectorTools;\n }(),\n addVectorRelation: function addVectorRelation() {\n this.runAddRelationWorkflow({\n workflow: new this._add_link_workflow.add(),\n isVector: Layer.LayerTypes.VECTOR === this._layerType\n });\n this.show_vector_tools = false;\n },\n updateSelectRelations: function updateSelectRelations() {\n var bool = !this.selectall || !this.relations.some(function (r) {\n return r.select;\n });\n this.relations.forEach(function (r) {\n return r.select = bool;\n });\n },\n editAttributesRelations: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var workflow = new _workflow2.Workflow({\n type: 'editmultiattributes',\n steps: [new _workflows.OpenFormStep({ multi: true })]\n });\n var options = this._createWorkflowOptions({\n features: this.relations.filter(function (r) {\n return r.select;\n }).map(function (_ref5) {\n var id = _ref5.id;\n return _this2.getLayer().getEditingSource().getFeatureById(id);\n })\n });\n try {\n yield (0, _promisify.promisify)(workflow.start(options));\n } catch (e) {\n console.warn(e);\n }\n\n workflow.stop();\n });\n\n function editAttributesRelations() {\n return _ref4.apply(this, arguments);\n }\n\n return editAttributesRelations;\n }(),\n addRelationAndLink: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (this.isVectorRelation) {\n this.show_vector_tools = !this.show_vector_tools;\n yield this.$nextTick();\n this.resize();\n } else {\n this.runAddRelationWorkflow({\n workflow: new this._add_link_workflow.add(),\n isVector: Layer.LayerTypes.VECTOR === this._layerType\n });\n }\n });\n\n function addRelationAndLink() {\n return _ref6.apply(this, arguments);\n }\n\n return addRelationAndLink;\n }(),\n relationAttributesSubset: function relationAttributesSubset(relation) {\n return relation.fields.map(function (_ref7) {\n var label = _ref7.label,\n name = _ref7.name,\n value = _ref7.value;\n return { name: name, label: label, value: value };\n }).flatMap(function (_ref8) {\n var name = _ref8.name,\n label = _ref8.label,\n value = _ref8.value;\n return Array.isArray(value) ? [] : [{ name: name, label: label, value: value }];\n });\n },\n getValue: function getValue(value) {\n if (value && 'Object' === toRawType(value)) {\n value = value.value;\n } else if ('string' == typeof value && 0 === value.indexOf('_new_')) {\n value = null;\n }\n this.value = value;\n return value;\n },\n _createDataTable: function _createDataTable() {\n var _this3 = this;\n\n this.relationsTable = $(this.$refs.relationTable).DataTable({\n autoWidth: false,\n columnDefs: [{ orderable: false, targets: [0, 1] }],\n destroy: true,\n order: [2, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollCollapse: true,\n scrollResize: true,\n scrollX: true\n });\n\n $(\".dataTables_filter, .dataTables_length\").hide();\n\n $('#filterRelation').on('keyup', function (e) {\n return _this3.relationsTable.search(e.target.value).draw();\n });\n },\n destroyTable: function destroyTable() {\n if (this.relationsTable) {\n this.relationsTable = this.relationsTable.destroy();\n this.relationsTable = null;\n $('#filterRelation').off();\n }\n },\n updateTable: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.destroyTable();\n yield this.$nextTick();\n this._createDataTable();\n setTimeout(function () {\n return _this4.resize();\n });\n });\n\n function updateTable() {\n return _ref9.apply(this, arguments);\n }\n\n return updateTable;\n }(),\n updateNewRelationId: function updateNewRelationId() {\n var _this5 = this;\n\n this._new_relations_ids.forEach(function (_ref10) {\n var clientid = _ref10.clientid,\n id = _ref10.id;\n\n var newrelation = _this5.relations.find(function (r) {\n return clientid === r.id;\n });\n if (newrelation) {\n newrelation.id = id;\n\n (_this5.tools.find(function (ts) {\n return ts.find(function (t) {\n return t.state.id.split(clientid + '_').length > 1;\n });\n }) || []).forEach(function (t) {\n return t.state.id = t.state.id.replace(clientid + '_', id + '_');\n });\n }\n });\n },\n onCommit: function onCommit(_ref11) {\n var _ref11$new_relations = _ref11.new_relations,\n new_relations = _ref11$new_relations === undefined ? {} : _ref11$new_relations;\n\n var relationLayer = (0, _getEditingLayerById.getEditingLayerById)(this.relation.child);\n\n if (new_relations[relationLayer.getId()] && Array.isArray(new_relations[relationLayer.getId()].new)) {\n this._new_relations_ids = [].concat(_toConsumableArray(this._new_relations_ids || []), _toConsumableArray(new_relations[relationLayer.getId()].new.map(function (_ref12) {\n var clientid = _ref12.clientid,\n id = _ref12.id;\n return { clientid: clientid, id: id };\n })));\n }\n },\n getRelationFeatureValue: function getRelationFeatureValue(featureId, property) {\n return (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: this._relationLayerId,\n feature: this.getLayer().getEditingSource().getFeatureById(featureId),\n property: property\n });\n },\n enableDOMElements: function enableDOMElements() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n document.querySelectorAll('.editing-save-all-form').forEach(function (c) {\n if (bool && c.classList.contains('g3w-disabled')) {\n c.classList.remove('g3w-disabled');\n }\n if (!bool && !c.querySelector('.save-all-icon').classList.contains('g3w-disabled')) {\n c.classList.add('g3w-disabled');\n }\n });\n document.querySelectorAll('.g3w-editing-relations-add-link-tools, .g3wform_footer').forEach(function (c) {\n return c.classList.toggle('g3w-disabled', !bool);\n });\n },\n addTools: function addTools(id) {\n var _this6 = this;\n\n var tools = [this.capabilities.includes('change_attr_feature') && {\n state: Vue.observable({\n icon: 'editAttributes.png',\n id: id + '_editattributes',\n name: 'editing.tools.update_feature',\n enabled: true,\n active: false\n }),\n type: 'editfeatureattributes'\n }, this.capabilities.includes('delete_feature') && {\n state: Vue.observable({\n icon: 'deleteTableRow.png',\n id: id + '_deletefeature',\n name: 'editing.tools.delete_feature',\n enabled: true,\n active: false\n }),\n type: 'deletefeature'\n }, this.capabilities.includes('change_feature') && Layer.LayerTypes.VECTOR === this._layerType && g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById(this._relationLayerId).getTools().filter(function (t) {\n return Geometry.isPointGeometryType(_this6.getLayer().getGeometryType()) ? 'movefeature' === t.getId() : ['movefeature', 'movevertex'].includes(t.getId());\n }).map(function (tool) {\n return {\n state: Vue.observable(_extends({}, tool, { id: id + '_' + tool.id })),\n type: tool.getOperator().type\n };\n })].flat().filter(Boolean);\n\n this.tools.push(tools);\n return tools;\n },\n startTool: function () {\n var _ref13 = _asyncToGenerator(function* (relationtool, index) {\n var _this7 = this;\n\n try {\n relationtool.state.active = !relationtool.state.active;\n\n if (!relationtool.state.active) {\n return Promise.resolve();\n }\n\n this.tools.forEach(function (tools) {\n tools.forEach(function (t) {\n if (relationtool.state.id !== t.state.id) {\n t.state.active = false;\n }\n });\n });\n\n yield _eventbus.VM.$nextTick();\n\n var d = {};\n var promise = new Promise(function (resolve, reject) {\n Object.assign(d, { resolve: resolve, reject: reject });\n });\n\n var is_vector = Layer.LayerTypes.VECTOR === this._layerType;\n var relation = this.relations[index];\n var toolId = relationtool.state.id.split(relation.id + '_')[1];\n var relationfeature = this.getLayer().getEditingSource().getFeatureById(relation.id);\n var selectStyle = is_vector && SELECTED_STYLES[this.getLayer().getGeometryType()];\n var options = this._createWorkflowOptions({ features: [relationfeature] });\n\n if ('deletefeature' === toolId) {\n\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: promise, inputs: { features: [relationfeature], layer: this.getLayer() }, style: selectStyle });\n\n GUI.dialog.confirm(t(\"editing.messages.delete_feature\"), function (res) {\n if (res) {\n _workflow2.Workflow.Stack.getCurrent().getSession().pushDelete(_this7._relationLayerId, relationfeature);\n\n _this7.relations.splice(index, 1);\n\n _this7.tools.splice(index, 1);\n\n var unique_fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this7._relationLayerId];\n\n if (undefined !== unique_fields) {\n Object.keys(relationfeature.getProperties()).filter(function (p) {\n return undefined !== unique_fields[p];\n }).forEach(function (p) {\n var values = new Set(unique_fields[p]);\n\n values.delete(relationfeature.get(p));\n });\n }\n\n _this7.getLayer().getEditingSource().removeFeature(relationfeature);\n\n if (relationfeature.isNew() && undefined === _workflow2.Workflow.Stack._workflows.find(function (w) {\n return w.getSession().state.changes.filter(function (_ref14) {\n var feature = _ref14.feature;\n return relationfeature.getUid() !== feature.getUid();\n }).length > 0;\n })) {\n _workflow2.Workflow.Stack._workflows.filter(function (w) {\n return w.getContextService() instanceof FormService;\n }).forEach(function (w) {\n return setTimeout(function () {\n return w.getContextService().state.update = false;\n });\n });\n } else {\n (0, _updateWorkflows.updateWorkflows)();\n }\n\n d.resolve(res);\n }\n\n if (!res) {\n d.reject();\n }\n });\n }\n\n if ('editattributes' === toolId) {\n var workflow = new _workflow2.Workflow({ type: 'edittablefeature', steps: [new _workflows.OpenFormStep({ selectStyle: selectStyle })] });\n\n try {\n yield (0, _promisify.promisify)(workflow.start(options));\n\n this.getLayer().getFieldsWithValues(relationfeature, { relation: true }).forEach(function (f) {\n relation.fields.forEach(function (rf) {\n if (rf.name === f.name) {\n rf.value = f.value;\n }\n });\n });\n d.resolve(true);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n\n workflow.stop();\n }\n\n if (['movevertex', 'movefeature'].includes(toolId) && this.currentRelationFeatureId !== relationfeature.getId()) {\n this.currentRelationFeatureId = relationfeature.getId();\n GUI.getService('map').zoomToFeatures([relationfeature]);\n }\n\n if (['movevertex', 'movefeature'].includes(toolId)) {\n GUI.setModal(false);\n this.enableDOMElements(false);\n var _workflow = new _workflow2.Workflow({\n type: relationtool.type,\n steps: [new {\n 'movevertex': _workflows.ModifyGeometryVertexStep,\n 'movefeature': _workflows.MoveFeatureStep\n }[toolId]({ selectStyle: selectStyle })]\n });\n\n var unwatch = _eventbus.VM.$watch(function () {\n return relationtool.state.active;\n }, function (bool) {\n if (!bool) {\n _this7.enableDOMElements(true);\n GUI.setModal(true);\n _workflow.unbindEscKeyUp();\n _workflow.stop();\n unwatch();\n d.reject(false);\n }\n });\n\n _workflow.bindEscKeyUp(function () {\n GUI.setModal(true);\n unwatch();\n d.reject(false);\n });\n\n try {\n yield (0, _promisify.promisify)(_workflow.start(options));\n\n _workflow2.Workflow.Stack.getParents().filter(function (w) {\n return w.getContextService().setUpdate;\n }).forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n d.resolve(true);\n setTimeout(function () {\n return _this7.startTool(relationtool, index);\n });\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n\n _workflow.unbindEscKeyUp();\n _workflow.stop();\n unwatch();\n }\n\n try {\n yield promise;\n } catch (e) {\n console.trace('START TOOL FAILED', e);\n return Promise.reject(e);\n } finally {\n relationtool.state.active = false;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function startTool(_x2, _x3) {\n return _ref13.apply(this, arguments);\n }\n\n return startTool;\n }(),\n getLayer: function getLayer() {\n return (0, _getEditingLayerById.getEditingLayerById)(this._relationLayerId);\n },\n runAddRelationWorkflow: function () {\n var _ref15 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n workflow = _ref16.workflow,\n _ref16$isVector = _ref16.isVector,\n isVector = _ref16$isVector === undefined ? false : _ref16$isVector;\n\n if (isVector) {\n GUI.setModal(false);\n GUI.hideContent(true);\n }\n\n var options = this._createWorkflowOptions();\n\n var _options$context = options.context,\n fatherField = _options$context.fatherField,\n fatherValue = _options$context.fatherValue;\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n }),\n relationField = _getRelationFieldsFro.relationField;\n\n try {\n var _relations;\n\n var outputs = yield (0, _promisify.promisify)(workflow.start(options));\n\n if (isVector) {\n workflow.bindEscKeyUp();\n }\n\n var _outputs$relationFeat = outputs.relationFeatures,\n newFeatures = _outputs$relationFeat.newFeatures,\n originalFeatures = _outputs$relationFeat.originalFeatures;\n\n var setRelationFieldValue = function setRelationFieldValue(_ref17) {\n var field = _ref17.field,\n value = _ref17.value;\n\n newFeatures.forEach(function (newFeature, i) {\n newFeature.set(field, value);\n if (options.parentFeature.isNew()) {\n originalFeatures[i].set(field, value);\n }\n _this8.getLayer().getEditingSource().updateFeature(newFeature);\n options.context.session.pushUpdate(_this8._relationLayerId, newFeature, originalFeatures[i]);\n });\n };\n fatherField.forEach(function (field, i) {\n return setRelationFieldValue({ field: field, value: fatherValue[i] });\n });\n\n if (options.parentFeature.isNew() && this.getParent().editable.length > 0) {\n var keyRelationFeatureChange = options.parentFeature.on('propertychange', function (evt) {\n if (options.parentFeature.isNew()) {\n if (relationField.find(evt.key)) {\n setRelationFieldValue({\n field: evt.key,\n value: evt.target.get(evt.key)\n });\n }\n } else {\n ol.Observable.unByKey(keyRelationFeatureChange);\n }\n });\n }\n\n (_relations = this.relations).push.apply(_relations, _toConsumableArray((newFeatures || []).map(function (f) {\n return { id: f.getId(), fields: _this8.getLayer().getFieldsWithValues(f, { relation: true }) };\n })));\n } catch (inputs) {\n console.warn(inputs);\n\n if (inputs && inputs.relationFeatures) {\n var _relations2;\n\n (_relations2 = this.relations).push.apply(_relations2, _toConsumableArray((inputs.relationFeatures.newFeatures || []).map(function (f) {\n return { id: f.getId(), fields: _this8.getLayer().getFieldsWithValues(f, { relation: true }) };\n })));\n }\n\n options.context.session.rollbackDependecies([this._relationLayerId]);\n }\n\n workflow.stop();\n\n if (isVector) {\n workflow.unbindEscKeyUp();\n GUI.hideContent(false);\n GUI.setModal(true);\n\n setTimeout(function () {\n return _this8.resize();\n });\n }\n });\n\n function runAddRelationWorkflow() {\n return _ref15.apply(this, arguments);\n }\n\n return runAddRelationWorkflow;\n }(),\n linkRelation: function () {\n var _ref18 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n this.disabled = true;\n\n var is_vector = Layer.LayerTypes.VECTOR === this._layerType;\n var workflow = new this._add_link_workflow.link(is_vector ? {\n selectStyle: SELECTED_STYLES[this.getLayer().getGeometryType()]\n } : {});\n var options = this._createWorkflowOptions();\n\n var _getRelationFieldsFro2 = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n }),\n ownField = _getRelationFieldsFro2.ownField,\n relationField = _getRelationFieldsFro2.relationField;\n\n options.context.excludeFeatures = relationField.reduce(function (accumulator, rField, index) {\n accumulator[ownField[index]] = _this9.getParent().values[rField];\n return accumulator;\n }, {});\n\n if (is_vector) {\n GUI.setModal(false);\n }\n\n var feature = _workflow2.Workflow.Stack.getCurrent().getCurrentFeature();\n\n var getRelationFeatures = function getRelationFeatures() {\n return (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(_this9.layerId, {\n relations: [_this9.relation],\n feature: feature,\n operator: 'not',\n filterType: is_vector ? 'bbox' : 'fid'\n });\n };\n\n var response = {\n promise: undefined,\n showContent: false\n };\n\n if (is_vector) {\n options.context.beforeRun = _asyncToGenerator(function* () {\n yield new Promise(function (resolve) {\n return setTimeout(resolve);\n });\n yield getRelationFeatures();\n });\n\n workflow.bindEscKeyUp();\n\n response = {\n promise: workflow.start(options),\n showContent: true\n };\n\n this.enableDOMElements(false);\n } else {\n yield getRelationFeatures();\n }\n\n var linked = false;\n\n try {\n var outputs = yield (0, _promisify.promisify)(response.promise || workflow.start(options));\n\n (outputs.features || []).forEach(function (relation) {\n if (undefined === _this9.relations.find(function (rel) {\n return rel.id === relation.getId();\n })) {\n linked = linked || true;\n var originalRelation = relation.clone();\n Object.entries(_this9.getParent().values).forEach(function (_ref20) {\n var _ref21 = _slicedToArray(_ref20, 2),\n field = _ref21[0],\n value = _ref21[1];\n\n relation.set(ownField[relationField.findIndex(function (rF) {\n return field === rF;\n })], value);\n });\n _workflow2.Workflow.Stack.getCurrent().getSession().pushUpdate(_this9._relationLayerId, relation, originalRelation);\n _this9.relations.push({\n fields: _this9.getLayer().getFieldsWithValues(relation, { relation: true }),\n id: relation.getId()\n });\n } else {\n GUI.notify.warning(t(\"editing.relation_already_added\"));\n }\n });\n } catch (e) {\n console.warn(e);\n options.context.session.rollbackDependecies([this._relationLayerId]);\n }\n\n if (is_vector) {\n this.enableDOMElements(true);\n }\n\n if (response.showContent) {\n GUI.closeUserMessage();\n workflow.unbindEscKeyUp();\n }\n\n if (linked) {\n (0, _updateWorkflows.updateWorkflows)();\n }\n\n workflow.stop();\n\n this.disabled = false;\n });\n\n function linkRelation() {\n return _ref18.apply(this, arguments);\n }\n\n return linkRelation;\n }(),\n unlinkRelation: function (_unlinkRelation) {\n function unlinkRelation(_x6) {\n return _unlinkRelation.apply(this, arguments);\n }\n\n unlinkRelation.toString = function () {\n return _unlinkRelation.toString();\n };\n\n return unlinkRelation;\n }(function (index) {\n var dialog = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n return unlinkRelation({\n layerId: this.layerId,\n relation: this.relation,\n relations: this.relations,\n index: index,\n dialog: dialog\n });\n }),\n getParent: function getParent() {\n var _this10 = this;\n\n var parentLayer = this.parentWorkflow.getLayer();\n\n var _getRelationFieldsFro3 = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: this.layerId, relation: this.relation }),\n ownField = _getRelationFieldsFro3.ownField;\n\n var pk = ownField.find(function (f) {\n return parentLayer.isPkField(f);\n });\n\n return {\n editable: ownField.filter(function (f) {\n return parentLayer.isEditingFieldEditable(f);\n }),\n\n pk: pk,\n\n values: ownField.reduce(function (father, field) {\n var feature = _this10.parentWorkflow.getCurrentFeature();\n\n var fields = _this10.parentWorkflow.getInputs().fields;\n return Object.assign(father, _defineProperty({}, field, pk === field && feature.isNew() ? feature.getId() : fields ? fields.find(function (f) {\n return field === f.name;\n }).value : feature.get(field)));\n }, {})\n };\n },\n _createWorkflowOptions: function _createWorkflowOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var fields = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({\n layerId: this._relationLayerId,\n relation: this.relation\n });\n var parent = Object.entries(this.getParent().values);\n return {\n parentFeature: _workflow2.Workflow.Stack.getCurrent().getCurrentFeature(),\n context: {\n session: _workflow2.Workflow.Stack.getCurrent().getSession(),\n excludeFields: fields.ownField,\n fatherValue: parent.map(function (_ref22) {\n var _ref23 = _slicedToArray(_ref22, 2),\n _ = _ref23[0],\n value = _ref23[1];\n\n return value;\n }),\n fatherField: parent.map(function (_ref24) {\n var _ref25 = _slicedToArray(_ref24, 1),\n field = _ref25[0];\n\n return fields.ownField[fields.relationField.findIndex(function (rField) {\n return field === rField;\n })];\n }) },\n inputs: {\n features: options.features || [],\n layer: this.getLayer()\n }\n };\n }\n },\n\n computed: {\n selectall: function selectall() {\n return this.relations.every(function (r) {\n return r.select;\n });\n },\n relationsLength: function relationsLength() {\n return this.relations.length;\n },\n fieldrequired: function fieldrequired() {\n var _this11 = this;\n\n return (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: this._relationLayerId, relation: this.relation }).ownField.some(function (field) {\n return (0, _getEditingLayerById.getEditingLayerById)(_this11._relationLayerId).isFieldRequired(field);\n });\n },\n show_add_link: function show_add_link() {\n return 0 === this.relations.length || 'ONE' !== this.relation.type;\n }\n },\n\n watch: {\n relations: function relations(_) {\n var updatedrelations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (0 === updatedrelations.length) {\n this.destroyTable();\n } else {\n this.updateNewRelationId();\n this.updateTable();\n }\n },\n show_vector_tools: function show_vector_tools(bool) {\n this.enableDOMElements(!bool);\n this.disabled = bool;\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function created() {\n var _this12 = this,\n _Layer$LayerTypes$TAB;\n\n var relationLayer = (0, _getEditingLayerById.getEditingLayerById)(this.relation.child);\n\n this._new_relations_ids = [];\n\n this.onCommit = this.onCommit.bind(this);\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').on('commit', this.onCommit);\n\n this.isVectorRelation = Layer.LayerTypes.VECTOR === relationLayer.getType();\n\n if (this.isVectorRelation) {\n var geometryType = relationLayer.getGeometryType();\n this.copyFeatureLayers = [].concat(_toConsumableArray(CatalogLayersStoresRegistry.getLayers({\n QUERYABLE: true,\n GEOLAYER: true\n }).filter(function (l) {\n return l.getGeometryType && l.getGeometryType() && ![_this12.relation.child, _this12.relation.father].includes(l.getId()) && (l.getGeometryType() === geometryType || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(l.getGeometryType(), geometryType) && Geometry.isMultiGeometry(geometryType));\n }).map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n external: false\n };\n })), _toConsumableArray(GUI.getService('map').getExternalLayers('vector').filter(function (l) {\n var features = l.getSource().getFeatures() || [];\n\n if (!features[0] || !features[0].getGeometry()) {\n return false;\n }\n var type = features[0].getGeometry().getType();\n return geometryType === type || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, type) && (Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(type));\n }).map(function (l) {\n return {\n id: l.get('id'),\n name: l.get('name'),\n external: true\n };\n }))).sort(function (a, b) {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n this.addExternalLayerKey = GUI.getService('catalog').onafter('addExternalLayer', function (_ref26) {\n var layer = _ref26.layer,\n type = _ref26.type;\n\n if ('vector' === type) {\n var externalLayer = GUI.getService('map').getExternalLayers().find(function (l) {\n return layer.id === l.get('id');\n });\n if (externalLayer) {\n var features = externalLayer.getSource().getFeatures() || [];\n if (!features[0] || !features[0].getGeometry()) {\n return;\n }\n var _type = features[0].getGeometry().getType();\n if (geometryType === _type || (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, _type) && (Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(_type))) {\n _this12.copyFeatureLayers.push({\n id: externalLayer.get('id'),\n name: externalLayer.get('name'),\n external: true\n });\n }\n }\n }\n });\n }\n\n this.copylayerid = this.copyFeatureLayers.length ? this.copyFeatureLayers[0].id : null;\n\n this.loadEventuallyRelationValuesForInputs = false;\n\n this.currentRelationFeatureId = null;\n\n this._relationLayerId = this.relation.child === this.layerId ? this.relation.father : this.relation.child;\n\n this._layerType = this.getLayer().getType();\n\n this.parentWorkflow = _workflow2.Workflow.Stack.getCurrent();\n\n this.capabilities = this.parentWorkflow.getLayer().getEditingCapabilities();\n\n this.tools = [];\n\n var self = this;\n\n this._add_link_workflow = (_Layer$LayerTypes$TAB = {}, _defineProperty(_Layer$LayerTypes$TAB, Layer.LayerTypes.TABLE, {\n link: function link() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'edittable',\n backbuttonlabel: 'plugins.editing.form.buttons.save_and_back_table',\n steps: [new _workflows.OpenTableStep()]\n }));\n },\n add: function add() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n }));\n }\n }), _defineProperty(_Layer$LayerTypes$TAB, Layer.LayerTypes.VECTOR, {\n link: function link() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow({\n type: 'linkrelation',\n steps: [new _step.Step(_extends({}, options, {\n help: \"editing.steps.help.select_feature_to_relation\",\n run: function run(inputs, context) {\n var _this13 = this;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref27 = _asyncToGenerator(function* (resolve, reject) {\n var promise = new Promise(function (r) {\n return _this13.resolve = r;\n });\n GUI.setModal(false);\n var editingLayer = inputs.layer.getEditingLayer();\n try {\n if (context.beforeRun && 'function' === typeof context.beforeRun) {\n yield (0, _promisify.promisify)(context.beforeRun());\n }\n var features = editingLayer.getSource().getFeatures().filter(function (f) {\n return Object.entries(context.excludeFeatures || {}).reduce(function (bool, _ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n field = _ref29[0],\n value = _ref29[1];\n\n return bool && value != f.get(field);\n }, true);\n });\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({\n promise: (0, _promisify.$promisify)(promise),\n inputs: { layer: inputs.layer, features: features },\n style: _this13.selectStyle\n });\n\n _this13.addInteraction(new PickFeatureInteraction({ layers: [editingLayer], features: features }), {\n 'picked': function picked(e) {\n inputs.features.push(e.feature);\n GUI.setModal(true);\n resolve(inputs);\n }\n });\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x12, _x13) {\n return _ref27.apply(this, arguments);\n };\n }()));\n },\n stop: function stop() {\n GUI.setModal(true);\n\n this.resolve(true);\n this.resolve = null;\n return true;\n }\n }))]\n });\n },\n\n add: function add() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var addStep = new _workflows.AddFeatureStep(_extends({}, options, {\n steps: {\n draw: {\n description: 'editing.steps.help.draw_new_feature',\n done: false\n }\n },\n tools: ['snap', 'measure']\n }));\n\n addStep.on('stop', function () {\n addStep.setUserMessageStepDone('draw');\n GUI.closeUserMessage();\n });\n\n return new _workflow2.Workflow(_extends({}, options, {\n type: 'addfeature',\n steps: [addStep, new _workflows.OpenFormStep(options)],\n registerEscKeyEvent: true\n }));\n },\n\n selectandcopy: function selectandcopy() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new _workflow2.Workflow({\n type: 'selectandcopyfeaturesfromotherlayer',\n steps: [new _step.Step(_extends({}, options, {\n help: \"editing.steps.help.pick_feature\",\n steps: {\n select: {\n description: 'editing.workflow.steps.selectPoint',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this14 = this;\n\n if (!options.copyLayer) {\n return (0, _promisify.$promisify)(Promise.resolve());\n }\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = [];\n var geometryType = inputs.layer.getGeometryType();\n\n if (options.isVector) {\n yield new Promise(function () {\n var _ref31 = _asyncToGenerator(function* (resolve) {\n _this14.addInteraction(options.external ? new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: options.copyLayer }) : new PickCoordinatesInteraction(), {\n 'picked': function () {\n var _ref32 = _asyncToGenerator(function* (e) {\n try {\n features = (0, _convertToGeometry.convertToGeometry)(options.external ? e.features : ((yield DataRouterService.getData('query:coordinates', {\n inputs: {\n coordinates: e.coordinate,\n query_point_tolerance: ProjectsRegistry.getCurrentProject().getQueryPointTolerance(),\n layerIds: [options.copyLayer.getId()],\n multilayers: false\n },\n outputs: null\n })).data[0] || { features: [] }).features, geometryType);\n } catch (e) {\n console.warn(e);\n } finally {\n resolve();\n }\n });\n\n function picked(_x17) {\n return _ref32.apply(this, arguments);\n }\n\n return picked;\n }()\n });\n });\n\n return function (_x16) {\n return _ref31.apply(this, arguments);\n };\n }());\n }\n\n var _feature = void 0;\n\n try {\n _feature = features.length > 1 ? yield (0, _promisify.promisify)((0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs })) : features[0];\n } catch (e) {\n console.warn(e);\n }\n\n if (_feature) {\n var feature = new Feature({\n feature: _feature,\n properties: inputs.layer.getEditingFields().filter(function (attr) {\n return !attr.pk;\n }).map(function (attr) {\n return attr.name;\n })\n });\n feature.setTemporaryId();\n inputs.features = [feature];\n inputs.layer.getEditingLayer().getSource().addFeature(feature);\n context.session.pushAdd(inputs.layer.getId(), feature, false);\n return inputs;\n }\n\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n closable: false,\n autoclose: true\n });\n\n return Promise.reject();\n }));\n },\n stop: function stop() {\n self.show_vector_tools = false;\n this.setUserMessageStepDone('select');\n GUI.closeUserMessage();\n }\n })), new _workflows.OpenFormStep(options)],\n registerEscKeyEvent: true\n });\n }\n }), _Layer$LayerTypes$TAB)[this._layerType];\n\n this.relations.forEach(function (r) {\n return _this12.addTools(r.id);\n });\n },\n activated: function () {\n var _ref33 = _asyncToGenerator(function* () {\n if (this.isVectorRelation) {\n this.mapExtent = GUI.getService('map').getMapBBOX();\n }\n\n this.show_vector_tools = false;\n\n if (!this.loadEventuallyRelationValuesForInputs) {\n this.loading = true;\n\n try {\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({\n type: 'show-relation-editing',\n id: (0, _getRelationId.getRelationId)({ layerId: this.layerId, relation: this.relation }),\n component: this\n });\n } catch (e) {\n console.warn(e);\n }\n\n this.loading = false;\n\n this.loadEventuallyRelationValuesForInputs = true;\n }\n\n this.active = true;\n\n yield this.$nextTick();\n\n if (!this.relationsTable && this.relations.length > 0) {\n this._createDataTable();\n }\n\n this.resize();\n });\n\n function activated() {\n return _ref33.apply(this, arguments);\n }\n\n return activated;\n }(),\n deactivated: function deactivated() {\n this.destroyTable();\n this.active = false;\n\n this.relations.forEach(function (r) {\n return r.select = false;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.loadEventuallyRelationValuesForInputs = true;\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').off('commit', this.onCommit);\n\n if (this.isVectorRelation && null !== this.currentRelationFeatureId) {\n GUI.getService('map').zoomToExtent(this.mapExtent);\n this.mapExtent = null;\n }\n\n if (this.addExternalLayerKey) {\n GUI.getService('catalog').un('addExternalLayer', this.addExternalLayerKey);\n this.addExternalLayerKey = 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('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"margin-bottom\":\"5px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{ref:\"relation_header_title\",staticClass:\"relation_header_title box-header with-border skin-color\"},[_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.edit_relation'),expression:\"'editing.edit_relation'\"}]}),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-left\":\"2px\"}},[_vm._v(\": \"+_vm._s(_vm.relation.name.toUpperCase()))])]),_vm._v(\" \"),_c('div',{ref:\"relation_header_tools\",staticClass:\"relation_header_tools box-header with-border\"},[_c('div',{attrs:{\"id\":\"search-box\"}},[(_vm.relationsLength)?_c('input',{staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"filterRelation\",\"placeholder\":_vm.placeholdersearch}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-editing-relations-add-link-tools\"},[(_vm.relationsLength > 0 && _vm.capabilities.includes('change_attr_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.tools.update_multi_features_relations'),expression:\"'plugins.editing.tools.update_multi_features_relations'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon\"},[_c('span',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.relations.every(function (r) { return !r.select; })),expression:\"relations.every(r => !r.select)\"}],on:{\"click\":function($event){$event.stopPropagation();return _vm.editAttributesRelations()}}},[_c('img',{attrs:{\"height\":\"25\",\"width\":\"25\",\"src\":(_vm.resourcesurl + \"images/multiEditAttributes.png\")}})])]):_vm._e(),_vm._v(\" \"),(_vm.capabilities.includes('change_attr_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.form.relations.tooltips.link_relation'),expression:\"'plugins.editing.form.relations.tooltips.link_relation'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon add-link\",class:[{ 'disabled': !_vm.show_add_link }, _vm.g3wtemplate.font['link']],attrs:{\"align\":\"center\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_add_link ? _vm.linkRelation() : null}}}):_vm._e(),_vm._v(\" \"),(_vm.capabilities.includes('add_feature'))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('plugins.editing.form.relations.tooltips.add_relation'),expression:\"'plugins.editing.form.relations.tooltips.add_relation'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"g3w-icon add-link pull-right\",class:[{ 'disabled' : !_vm.show_add_link }, _vm.g3wtemplate.font['plus']],on:{\"click\":function($event){$event.stopPropagation();_vm.show_add_link ? _vm.addRelationAndLink() : null}}}):_vm._e()])]),_vm._v(\" \"),(_vm.show_vector_tools)?_c('section',{ref:\"relation_vector_tools\",staticClass:\"relation_vector_tools\"},[_c('span',{staticClass:\"close_vector_relation_tool\",on:{\"click\":function($event){$event.stopPropagation();return _vm.closeVectorTools($event)}}},[_c('i',{staticClass:\"g3w-icon skin-color\",class:_vm.g3wtemplate.font['close']})]),_vm._v(\" \"),_c('div',[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.draw_new_feature'),expression:\"'editing.relation.draw_new_feature'\"}],staticClass:\"g3w-editing-new-relation-vector-type\"}),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.addVectorRelation($event)}}},[_c('i',{class:_vm.g3wtemplate.font['pencil']})])]),_vm._v(\" \"),_c('section',[_c('span',{staticClass:\"divider\"}),_vm._v(\" \"),_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.draw_or_copy'),expression:\"'editing.relation.draw_or_copy'\"}],staticStyle:{\"align-self\":\"center\"}}),_vm._v(\" \"),_c('span',{staticClass:\"divider\"}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"g3w-select-editable-layers-content\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.copy_feature_from_other_layer'),expression:\"'editing.relation.copy_feature_from_other_layer'\"}],staticClass:\"g3w-editing-new-relation-vector-type\"}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('copylayerid'),expression:\"'copylayerid'\"}],attrs:{\"id\":\"g3w-select-editable-layers-to-copy\"}},_vm._l((_vm.copyFeatureLayers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_vm._v(_vm._s(layer.name))])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.copyFeatureLayers.length),expression:\"0 === copyFeatureLayers.length\"}],staticClass:\"btn skin-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.copyFeatureFromOtherLayer($event)}}},[_c('i',{class:_vm.g3wtemplate.font['clipboard']})])])])]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],ref:\"relation_body\",staticClass:\"relation_body box-body\"},[(_vm.relationsLength > 0 && !_vm.update)?_c('table',{ref:\"relationTable\",staticClass:\"table g3wform-relation-table table-striped nowrap\"},[_c('thead',[_c('tr',[_c('th',{staticStyle:{\"padding\":\"10px\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"id\":\"select_all_relations\",\"type\":\"checkbox\"},domProps:{\"checked\":_vm.selectall},on:{\"change\":function($event){return _vm.updateSelectRelations()}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"margin\":\"0\"},attrs:{\"for\":\"select_all_relations\"}},[_vm._v(\" \")])]),_vm._v(\" \"),_c('th',{directives:[{name:\"t\",rawName:\"v-t\",value:('tools'),expression:\"'tools'\"}]}),_vm._v(\" \"),_c('th'),_vm._v(\" \"),_vm._l((_vm.relationAttributesSubset(_vm.relations[0])),function(attribute){return _c('th',[_vm._v(_vm._s(attribute.label))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.relations),function(relation,index){return _c('tr',{key:relation.id,staticClass:\"featurebox-header\"},[_c('td',{staticStyle:{\"padding-top\":\"0\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(relation.select),expression:\"relation.select\"}],staticClass:\"magic-checkbox\",attrs:{\"id\":(\"select_relation__\" + index),\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(relation.select)?_vm._i(relation.select,null)>-1:(relation.select)},on:{\"change\":function($event){var $$a=relation.select,$$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.$set(relation, \"select\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(relation, \"select\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(relation, \"select\", $$c)}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"select_relation__\" + index)}})]),_vm._v(\" \"),_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},_vm._l(((_vm.tools[index] || _vm.addTools(_vm.relations[index].id))),function(tool){\nvar _obj;\nreturn _c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:((\"plugins.\" + (tool.state.name))),expression:\"`plugins.${tool.state.name}`\",arg:\"top\",modifiers:{\"create\":true}}],key:tool.state.id,class:( _obj = { enabled: true, 'toggled': tool.state.active }, _obj[(\"editbtn \" + (tool.state.id))] = true, _obj ),on:{\"click\":function($event){$event.stopPropagation();return _vm.startTool(tool, index)}}},[_c('img',{attrs:{\"height\":\"20px\",\"width\":\"20px\",\"src\":(_vm.resourcesurl + \"images/\" + (tool.state.icon))}})])}),0)]),_vm._v(\" \"),_c('td',{staticClass:\"action-cell\"},[(!_vm.fieldrequired && _vm.capabilities.includes('change_attr_feature'))?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.form.relations.tooltips.unlink_relation'),expression:\"'plugins.editing.form.relations.tooltips.unlink_relation'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"g3w-mini-relation-icon g3w-icon\",class:_vm.g3wtemplate.font['unlink'],attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.unlinkRelation(index)}}}):_vm._e()]),_vm._v(\" \"),_vm._l((_vm.relationAttributesSubset(relation)),function(attribute){return _c('td',[(_vm.isMedia(attribute.value) && _vm.getValue(attribute.value))?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.getValue(attribute.value),\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.getMediaType(attribute.value.mime_type).type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.getMediaType(attribute.value.mime_type).type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.getValue(attribute.value).split('/').pop()))])]):(['photo', 'link'].includes(_vm.getFieldType(attribute)))?_c('a',{attrs:{\"href\":_vm.getValue(attribute.value),\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.getValue(attribute.value))+\"\\n \")]):_c('span',[_vm._v(_vm._s(_vm.getValue(_vm.getRelationFeatureValue(relation.id, attribute.name))))])])})],2)}),0)]):_vm._e()])],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-112912af\"\n\n},{\"../eventbus\":11,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addTableFeature\":30,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/convertToGeometry\":36,\"../utils/getEditingLayerById\":42,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/isSameBaseGeometryType\":56,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/updateWorkflows\":64,\"../workflows\":65,\"vueify/lib/insert-css\":1}],7:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-editing-table table.dataTable tbody td{padding:3px 5px}\\n.editing_table_title[data-v-13f4ce0f]{margin-top:0;margin-bottom:2px;font-size:1.5em;font-weight:700;color:var(--skin-color)}#table-editing-tools[data-v-13f4ce0f]{display:flex;justify-content:space-between}#table-editing-tools i[data-v-13f4ce0f]{margin:5px}#buttons button.btn[data-v-13f4ce0f]{font-weight:700!important;min-width:80px}.table_editing_footer_buttons[data-v-13f4ce0f]{position:absolute;bottom:10px;width:100%;display:flex;justify-content:center}.editing_table_header_content[data-v-13f4ce0f]{display:flex;justify-content:space-between;align-items:baseline}.editing_table_relation_messagge[data-v-13f4ce0f]{margin-bottom:10px;font-size:1.3em;background-color:#f5f5f5;padding:3px;border-radius:3px;font-weight:700}\")\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 _step = require('../g3wsdk/workflow/step');\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _workflows = require('../workflows');\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _promisify = require('../utils/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\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\nvar GUI = g3wsdk.gui.GUI;\nvar resizeMixin = g3wsdk.gui.vue.Mixins.resizeMixin;\n\nvar Media_Field = g3wsdk.gui.vue.Fields.media_field;\n\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep\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\nexports.default = {\n\n name: 'Table',\n\n mixins: [resizeMixin],\n\n components: {\n 'g3w-media': Media_Field\n },\n\n data: function data() {\n return {\n dataTable: null,\n show: true,\n state: this.$options.service.state\n };\n },\n\n\n methods: {\n showTool: function showTool(type) {\n return undefined !== this.state.capabilities.find(function (cap) {\n return cap === type;\n });\n },\n resize: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if ('none' === this.$el.style.display) {\n return;\n }\n\n yield this.$nextTick();\n\n $('#editing_table div.dataTables_scrollBody').height($(\".content\").height() - $('.close-panel-block').outerHeight() - $('#editing_table div.dataTables_scrollHeadInner').outerHeight() - $('.editing_table_title').outerHeight() - $('.editing_table_header').outerHeight() - $('.editing_table_relation_messagge').outerHeight() - $('.dataTables_length').outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_info').outerHeight() - $('.dataTables_filter').outerHeight() - $('.table_editing_footer_buttons').outerHeight() - $('#editing_table .dataTables_paginate.paging_simple_numbers').outerHeight());\n\n if (this.dataTable) {\n this.dataTable.columns.adjust();\n }\n });\n\n function resize() {\n return _ref3.apply(this, arguments);\n }\n\n return resize;\n }(),\n showValue: function showValue(key) {\n return !!this.state.headers.find(function (h) {\n return key === h.name;\n });\n },\n isMediaField: function isMediaField(name) {\n var isMedia = false;\n for (var i = 0; i < this.state.headers.length; i++) {\n var header = this.state.headers[i];\n if (name === header.name && 'media' === header.input.type) {\n isMedia = true;\n break;\n }\n }\n return isMedia;\n },\n stop: function stop() {\n this.state.promise.reject();\n },\n save: function save() {\n var _this = this;\n\n this.state.isrelation ? this.state.promise.resolve({ features: (this._linkFeatures || []).map(function (i) {\n return _this.state.features[i];\n }) }) : this.state.promise.resolve();\n },\n cancel: function cancel() {\n this.state.promise.reject();\n },\n deleteFeature: function () {\n var _ref4 = _asyncToGenerator(function* (uid) {\n var _this2 = this;\n\n var element = $('#editing_table table tr#' + uid);\n var layer = this.state.inputs.layer;\n var layerId = layer.getId();\n var childRelations = layer.getChildren();\n var relationinediting = childRelations.length && (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: layer.getRelations().getArray()\n }).length > 0;\n\n try {\n yield new Promise(function (resolve, reject) {\n GUI.dialog.confirm('

' + tPlugin('editing.messages.delete_feature') + '

\\n
' + (relationinediting ? tPlugin('editing.messages.delete_feature_relations') : '') + '
', function (result) {\n if (result) {\n var index = _this2.state.features.findIndex(function (f) {\n return f.getUid() === uid;\n });\n var feature = _this2.state.features[index];\n var session = _this2.state.context.session;\n var _layerId = _this2.state.inputs.layer.getId();\n _this2.state.inputs.layer.getEditingSource().removeFeature(feature);\n session.pushDelete(_layerId, feature);\n _this2.state.rows.splice(index, 1);\n resolve();\n } else {\n reject();\n }\n });\n });\n\n this.dataTable.row(element).remove().draw();\n\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFeature(_x) {\n return _ref4.apply(this, arguments);\n }\n\n return deleteFeature;\n }(),\n copyFeature: function () {\n var _ref5 = _asyncToGenerator(function* (uid) {\n var _this3 = this;\n\n yield new Promise(function () {\n var _ref6 = _asyncToGenerator(function* (resolve, reject) {\n var feature = (0, _cloneFeature.cloneFeature)(_this3.state.features.find(function (f) {\n return uid === f.getUid();\n }), _this3.state.inputs.layer.getEditingLayer());\n\n _this3.state.workflow = new _workflow.Workflow({\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n });\n _this3.state.inputs.features.push(feature);\n try {\n var outputs = yield (0, _promisify.promisify)(_this3.state.workflow.start({\n context: _this3.state.context,\n inputs: _this3.state.inputs\n }));\n var _feature = outputs.features[outputs.features.length - 1];\n var newFeature = {};\n Object.entries(_this3.state.rows[0]).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n key = _ref8[0],\n _ = _ref8[1];\n\n newFeature[key] = (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: _this3.state.layerId,\n feature: _feature,\n property: key\n });\n });\n newFeature.__gis3w_feature_uid = _feature.getUid();\n _this3.state.rows.push(newFeature);\n resolve(newFeature);\n } catch (e) {\n console.warn(e);reject(e);\n } finally {\n _this3.state.workflow.stop();\n\n console.log('here we are');\n }\n });\n\n return function (_x3, _x4) {\n return _ref6.apply(this, arguments);\n };\n }());\n\n this.show = false;\n this.dataTable.destroy();\n\n yield this.$nextTick();\n\n this.show = true;\n\n yield this.$nextTick();\n\n this.setDataTable();\n });\n\n function copyFeature(_x2) {\n return _ref5.apply(this, arguments);\n }\n\n return copyFeature;\n }(),\n editFeature: function () {\n var _ref9 = _asyncToGenerator(function* (uid) {\n var _this4 = this;\n\n var index = this.state.features.findIndex(function (f) {\n return uid === f.getUid();\n });\n var feature = this.state.features[index];\n\n this.state.workflow = new _workflow.Workflow({ type: 'edittablefeature', steps: [new _workflows.OpenFormStep()] });\n\n var inputs = this.state.inputs;\n\n inputs.features.push(feature);\n\n try {\n var outputs = yield (0, _promisify.promisify)(this.state.workflow.start({\n context: this.state.context,\n inputs: inputs\n }));\n var _feature2 = outputs.features[outputs.features.length - 1];\n Object.entries(this.state.rows[index]).forEach(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n key = _ref11[0],\n _ = _ref11[1];\n\n _this4.state.rows[index][key] = (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({\n layerId: _this4.state.layerId,\n feature: _feature2,\n property: key\n });\n });\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.workflow.stop();\n }\n });\n\n function editFeature(_x5) {\n return _ref9.apply(this, arguments);\n }\n\n return editFeature;\n }(),\n linkFeature: function linkFeature(index, evt) {\n if (evt.target.checked) {\n this._linkFeatures.push(index);\n } else {\n this._linkFeatures = this._linkFeatures.filter(function (addindex) {\n return addindex !== index;\n });\n }\n },\n getValue: function getValue(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n value = value.value;\n } else if ('string' == typeof value && 0 === value.indexOf('_new_')) {\n value = null;\n }\n return value;\n },\n setDataTable: function setDataTable() {\n this.dataTable = $('#editing_table table').DataTable({\n columnDefs: [{ orderable: false, targets: 0 }],\n order: [1, 'asc'],\n pageLength: 10,\n scrollCollapse: true,\n scrollResize: true,\n scrollX: true\n });\n this.resize();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n\n GUI.disableSideBar(true);\n\n GUI.showUserMessage({\n type: 'loading',\n message: 'plugins.editing.messages.loading_table_data',\n autoclose: false,\n closable: false\n });\n },\n mounted: function () {\n var _ref12 = _asyncToGenerator(function* () {\n\n yield this.$nextTick();\n\n if (this.state.isrelation) {\n this._linkFeatures = [];\n }\n\n this.setDataTable();\n\n this.resize();\n\n setTimeout(function () {\n return GUI.closeUserMessage();\n }, 300);\n });\n\n function mounted() {\n return _ref12.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.cancel();\n this._linkFeatures = null;\n this.dataTable.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('div',{staticClass:\"g3w-editing-table\",attrs:{\"id\":\"editing_table\"}},[_c('div',{ref:\"editing_table_header\",staticClass:\"editing_table_header\"},[_c('div',{staticClass:\"editing_table_header_content\"},[_c('h3',{staticClass:\"editing_table_title\"},[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),(_vm.state.isrelation)?_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.relation.table.info'),expression:\"'editing.relation.table.info'\"}],staticClass:\"editing_table_relation_messagge\"}):_vm._e()]),_vm._v(\" \"),(_vm.show)?_c('table',{staticClass:\"display\",staticStyle:{\"width\":\"100%\"}},[_c('thead',[_c('tr',[(!_vm.state.isrelation)?_c('th',{staticStyle:{\"max-width\":\"60px\"}}):_vm._e(),_vm._v(\" \"),(_vm.state.isrelation)?_c('th'):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header){return _c('th',[_vm._v(_vm._s(header.label))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.state.rows),function(feature,index){return _c('tr',{key:feature.__gis3w_feature_uid,attrs:{\"id\":feature.__gis3w_feature_uid}},[(!_vm.state.isrelation)?_c('td',[_c('div',{attrs:{\"id\":\"table-editing-tools\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.edit'),expression:\"'plugins.editing.table.edit'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('change_attr_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['pencil'],staticStyle:{\"color\":\"#30cce7\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature.__gis3w_feature_uid)}}}):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.copy'),expression:\"'plugins.editing.table.copy'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('add_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['copy-paste'],staticStyle:{\"color\":\"#d98b14\",\"padding\":\"5px 7px 5px 7px\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.copyFeature(feature.__gis3w_feature_uid)}}}):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.table.delete'),expression:\"'plugins.editing.table.delete'\",arg:\"right\",modifiers:{\"create\":true}}]},[(_vm.showTool('delete_feature'))?_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o'],staticStyle:{\"color\":\"red\"},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFeature(feature.__gis3w_feature_uid)}}}):_vm._e()])])]):_vm._e(),_vm._v(\" \"),(_vm.state.isrelation)?_c('td',[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"id\":(\"relation__\" + index),\"type\":\"checkbox\"},on:{\"change\":function($event){return _vm.linkFeature(index, $event)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"relation__\" + index)}})]):_vm._e(),_vm._v(\" \"),_vm._l((feature),function(value,key){return (_vm.showValue(key))?_c('td',{key:key},[(_vm.getValue(value) && _vm.isMediaField(key))?_c('g3w-media',{attrs:{\"state\":value}}):_c('p',[_vm._v(_vm._s(_vm.getValue(value)))])],1):_vm._e()})],2)}),0)]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"table_editing_footer_buttons\",staticClass:\"table_editing_footer_buttons\",attrs:{\"id\":\"buttons\"}},[_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'),expression:\"state.isrelation ? 'editing.form.buttons.save_and_back' : 'editing.form.buttons.save'\"}],staticClass:\"btn btn-success\",staticStyle:{\"margin-right\":\"10px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.save($event)}}}),_vm._v(\" \"),_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.form.buttons.cancel'),expression:\"'editing.form.buttons.cancel'\"}],staticClass:\"btn btn-danger\",on:{\"click\":function($event){$event.stopPropagation();return _vm.cancel($event)}}})])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-13f4ce0f\"\n\n},{\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../utils/addTableFeature\":30,\"../utils/cloneFeature\":35,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getRelationsInEditing\":51,\"../utils/promisify\":58,\"../workflows\":65,\"vueify/lib/insert-css\":1}],8:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".panel.mobile[data-v-c4a84298]{margin-bottom:5px}.panel.mobile .panel-heading[data-v-c4a84298]{display:flex;justify-content:space-between}.panel.mobile .panel-heading .panel-title[data-v-c4a84298]{margin-top:auto;margin-bottom:auto}.panel.mobile .panel-heading .start-editing[data-v-c4a84298]{margin:auto;margin-right:0;padding:6px}.panel.mobile .tools-content .editbtn[data-v-c4a84298]{padding:9px}.panel.mobile .toolbox .panel-body[data-v-c4a84298]{padding:5px!important}.toolbox_help_message[data-v-c4a84298]{font-weight:lighter}.toolbox[data-v-c4a84298]{padding-bottom:5px}.panel[data-v-c4a84298]{border:0!important;margin-bottom:8px}.panel-heading[data-v-c4a84298]{padding:5px 10px;width:100%}.toolboxselected[data-v-c4a84298]{box-shadow:0 0 0 3px var(--skin-color)}.panel:not(.toolboxselected) .info[data-v-c4a84298]{opacity:.4}.panel:not(.toolboxactive) .panel-heading[data-v-c4a84298]{border-radius:3px;filter:grayscale(.8)}.panel:not(.geolayer) .panel-body[data-v-c4a84298]{padding-top:0}.panel.toolboxactive:not(.geolayer) .editbtn.start-editing[data-v-c4a84298]{color:#fff!important}.panel:not(.geolayer) .panel-heading[data-v-c4a84298]{color:#3a4448}.editbtn.start-editing[data-v-c4a84298]{padding:13px;color:currentColor!important;font-size:1.1em;margin:0}.panel-title[data-v-c4a84298]{font-weight:700;word-break:break-word;padding:8px 0;display:inline-block}#toolsoftoolcontainer[data-v-c4a84298]{display:flex;flex-direction:column;margin:5px;padding:5px;border-radius:5px}.info[data-v-c4a84298]{color:#000}.info>i[data-v-c4a84298]{color:#007bff;padding-right:2px}.info+.tools-content[data-v-c4a84298]{margin-top:1em}.filter-by-relation[data-v-c4a84298]{margin-right:5px;cursor:pointer;color:currentColor!important}.tools-content[data-v-c4a84298]{display:flex;flex-wrap:wrap;gap:10px}.message[data-v-c4a84298]{margin-bottom:5px;font-size:1.1em;color:#000;margin-top:5px}.snap-tool[data-v-c4a84298]{display:flex}.snap-tool label>b[data-v-c4a84298]{color:#222d32!important}.tools-of-tool-snap[data-v-c4a84298]{display:flex;width:100%;justify-content:space-between}.tools-of-tool-snap label span[data-v-c4a84298]{color:#222d32!important}.panel-body.disabled[data-v-c4a84298]{opacity:.7}.panel-body.disabled>[data-v-c4a84298]{pointer-events:none}\")\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\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 GUI = g3wsdk.gui.GUI;\nvar Layer = g3wsdk.core.layer.Layer;\nvar getResolutionFromScale = g3wsdk.ol.utils.getResolutionFromScale;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n\nvar snapInteraction = void 0;\n\nexports.default = {\n\n name: 'Toolbox',\n\n props: ['state', 'resourcesurl'],\n\n data: function data() {\n return {\n active: false,\n helpmessage: null,\n\n toggled: {\n relation: false,\n layer: false },\n snapAll: false\n };\n },\n\n\n computed: {\n editDisabled: function editDisabled() {\n return this.state.loading && !this.state.startstopediting;\n },\n hasRelations: function hasRelations() {\n return this.state.editing.dependencies.length > 0;\n },\n loading: function loading() {\n return this.state.loading || this.state.changingtools;\n },\n canEdit: function canEdit() {\n return this.state.editing.canEdit;\n },\n father: function father() {\n return this.state.editing.father && this.hasRelations;\n },\n showtoolsoftool: function showtoolsoftool() {\n return this.state.toolsoftool.length > 0;\n },\n isLayerReady: function isLayerReady() {\n return this.state.layer.state.editing.ready;\n },\n toolboxCursor: function toolboxCursor() {\n return !this.isLayerReady || !this.canEdit ? 'url(' + this.resourcesurl + 'cursors/mZoomIn.svg), zoom-in' : undefined;\n },\n get_tool_title: function get_tool_title() {\n return function (title) {\n return g3wsdk.core.ApplicationState.language && tPlugin(title);\n };\n }\n },\n\n methods: {\n select: function select() {\n if (this.isLayerReady && !this.state.selected) {\n this.$emit('setselectedtoolbox', this.state.id);\n }\n },\n fitZoomToScale: function fitZoomToScale(e) {\n if (this.state.selected && !this.canEdit) {\n var map = GUI.getService('map');\n map.goToRes(map.getCenter(), getResolutionFromScale(this.state._constraints.scale, map.getMapUnits()));\n }\n },\n toggleEditing: function toggleEditing() {\n this.select();\n this.toggled.layer = !(this.state.editing.on || this.toggled.layer);\n if (this.toggled.layer && this.state.layer.state.editing.ready && !this.state.loading) {\n this.$emit(this.state.editing.on ? 'stoptoolbox' : 'starttoolbox', this.state.id);\n }\n if (!this.toggled.layer) {\n this.$emit('stoptoolbox', this.state.id);\n }\n },\n toggleTool: function toggleTool(toolId) {\n if (undefined === toolId) {\n this.$emit('stopactivetool', this.state.id);\n } else {\n this.$emit('setactivetool', toolId, this.state.id);\n }\n this.select();\n },\n toggleFilterByRelation: function toggleFilterByRelation() {\n this.toggled.relation = !this.toggled.relation;\n this.$emit('update-filter-layers', this.toggled.relation ? [this.state.id].concat(_toConsumableArray(this.state.editing.dependencies)) : []);\n },\n _initSnap: function _initSnap() {\n var _this = this;\n\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n\n if (!tool) {\n return;\n }\n\n this.snapFeatures = new ol.Collection();\n\n this.snapEvents = [];\n\n this.snapToolboxes = [];\n\n this.snapUnwatches = [];\n\n this.$watch(function () {\n return tool.options.checked;\n }, function () {\n return _this.activeSnapInteraction();\n });\n this.$watch(function () {\n return tool.options.checkedAll;\n }, function () {\n return _this.activeSnapInteraction();\n });\n\n this.$watch(function () {\n return tool.options.active;\n }, function () {\n if (tool.options.active) {\n _this.activeSnapInteraction();\n } else if (snapInteraction) {\n GUI.getService('map').removeInteraction(snapInteraction);\n }\n });\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayers().filter(function (l) {\n return Layer.LayerTypes.VECTOR === l.getType();\n }).forEach(function (l) {\n var toolbox = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById(l.getId());\n var source = toolbox.getLayer().getEditingSource();\n\n _this.snapFeatures.extend(source.readFeatures());\n\n _this.snapEvents.push({\n source: source,\n olKey: source.getFeaturesCollection().on('add', function (evt) {\n return _this.addSnapFeatures([evt.element]);\n }),\n settersAndKeys: {\n 'addFeatures': source.onbefore('addFeatures', _this.addSnapFeatures),\n 'addFeature': source.onbefore('addFeature', _this.addSnapFeatures),\n 'clear': source.onbefore('clear', function () {\n source.readFeatures().forEach(function (f) {\n return _this.snapFeatures.remove(f);\n });\n })\n }\n });\n\n if (tool.options.layerId !== l.getId()) {\n var editing = toolbox.getState().editing;\n _this.snapUnwatches.push(_this.$watch(function () {\n return editing.on;\n }, _this.setShowSnapAll));\n _this.snapToolboxes.push(editing);\n }\n });\n\n this.setShowSnapAll();\n },\n _unloadSnap: function _unloadSnap() {\n if (!snapInteraction) {\n return;\n }\n\n try {\n this.snapEvents.forEach(function (d) {\n Object.keys(d.settersAndKeys).forEach(function (event) {\n d.source.un(event, d.settersAndKeys[event]);\n });\n ol.Observable.unByKey(d.olKey);\n });\n this.snapUnwatches.forEach(function (unwatch) {\n return unwatch();\n });\n\n snapInteraction = null;\n\n this.snapUnwatches = null;\n this.snapToolboxes = null;\n this.snapEvents = null;\n } catch (e) {\n console.warn(e);\n }\n },\n addSnapFeatures: function addSnapFeatures(features) {\n this.snapFeatures.extend(features);\n },\n setShowSnapAll: function setShowSnapAll() {\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n if (tool) {\n this.snapAll = !!this.snapToolboxes.find(function (editing) {\n return editing.on;\n });\n tool.options.checkedAll = tool.options.showSnapAll ? tool.options.checkedAll : false;\n }\n },\n activeSnapInteraction: function activeSnapInteraction() {\n var map = GUI.getService('map');\n var tool = (this.state.toolsoftool || []).find(function (t) {\n return 'snap' === t.type;\n });\n\n if (snapInteraction) {\n map.removeInteraction(snapInteraction);\n }\n\n snapInteraction = null;\n\n if ((tool.options.checked || tool.options.checkedAll) && tool.options.active) {\n snapInteraction = new ol.interaction.Snap({\n source: !tool.options.checkedAll && tool.options.checked && tool.options.source,\n features: tool.options.checkedAll && this.snapFeatures });\n map.addInteraction(snapInteraction);\n }\n }\n },\n\n watch: {\n 'state.activetool': function () {\n var _ref = _asyncToGenerator(function* (tool) {\n yield this.$nextTick();\n this.helpmessage = tool && (tool.messages.help || tool.name);\n });\n\n function stateActivetool(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateActivetool;\n }(),\n 'state.editing.on': function stateEditingOn(bool) {\n this.$emit('on-editing', bool);\n },\n 'state.toolsoftool': function stateToolsoftool(newTools, oldTools) {\n if (!newTools.length) {\n oldTools.filter(function (t) {\n return 'measure' === t.type;\n }).forEach(function (t) {\n return t.options.onChange(false);\n });\n this._unloadSnap();\n } else {\n this._initSnap();\n }\n }\n },\n\n created: function created() {\n this.$emit('canEdit', { id: this.state.id });\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this._unloadSnap();\n }\n};\n})()\nif (module.exports.__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',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state.show),expression:\"state.show\"}],staticClass:\"toolbox\",attrs:{\"id\":'id_toolbox_' + _vm.state.id}},[_c('div',{staticClass:\"panel\",class:{\n 'mobile': _vm.isMobile(),\n 'toolboxselected': _vm.state.selected,\n 'toolboxactive': _vm.state.editing.on && _vm.canEdit,\n 'geolayer': _vm.state.layer.isGeoLayer(),\n },on:{\"click\":function($event){$event.stopPropagation();return _vm.select($event)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLayerReady),expression:\"!isLayerReady\"}],staticClass:\"bar-loader\"}),_vm._v(\" \"),(_vm.state.toolboxheader)?_c('div',{staticClass:\"panel-heading container\",style:({ background: _vm.state.color})},[(_vm.father)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.tooltip.filter_by_relation'),expression:\"'plugins.editing.tooltip.filter_by_relation'\",arg:\"right\",modifiers:{\"create\":true}}],class:'filter-by-relation ' + _vm.g3wtemplate.font['relation'],on:{\"click\":_vm.toggleFilterByRelation}}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"panel-title\"},[_vm._v(_vm._s(_vm.state.title))]),_vm._v(\" \"),_c('i',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.editDisabled),expression:\"editDisabled\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('plugins.editing.tooltip.edit_layer'),expression:\"'plugins.editing.tooltip.edit_layer'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"start-editing editbtn skin-tooltip-left\",class:( _obj = {\n 'pull-right': !_vm.isMobile(),\n 'enabled': _vm.isLayerReady,\n 'g3w-icon-toggled': _vm.state.editing.on\n }, _obj[_vm.g3wtemplate.font[(_vm.state.editing.on || _vm.toggled.layer) ? 'checkmark' : 'pencil']] = true, _obj ),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleEditing($event)}}})]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),(!_vm.state.changingtools && (_vm.state.editing.on || _vm.toggled.layer))?_c('div',{class:{ 'panel-body':true, disabled: (!_vm.isLayerReady || !_vm.canEdit) },style:({ cursor: _vm.toolboxCursor }),on:{\"click\":_vm.fitZoomToScale}},[(!_vm.state.layer.isGeoLayer())?_c('div',{staticClass:\"info\"},[_c('i',{class:_vm.g3wtemplate.font['info']}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.toolbox_has_no_geometry'),expression:\"'editing.messages.toolbox_has_no_geometry'\"}]}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),(_vm.hasRelations)?_c('div',{staticClass:\"info\"},[_c('i',{class:_vm.g3wtemplate.font['info']}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.messages.toolbox_has_relation'),expression:\"'editing.messages.toolbox_has_relation'\"}]}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),(_vm.state.message)?_c('div',{staticStyle:{\"color\":\"#000\"}},[_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.state.message),expression:\"state.message\"}],staticClass:\"text-justify\"}),_vm._v(\" \"),_c('divider')],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"tools-content\"},_vm._l((_vm.state.tools),function(tool){\n var _obj;\nreturn (tool.visible)?_c('div',{key:tool.id,class:( _obj = { 'enabled' : tool.enabled, 'toggled' : tool.active }, _obj[(\"editbtn \" + (tool.id))] = true, _obj ),on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();tool.enabled && _vm.toggleTool(tool.active ? undefined : tool.id)}}},[_c('img',{attrs:{\"height\":\"25\",\"width\":\"25\",\"src\":_vm.resourcesurl + 'images/' + tool.icon,\"title\":_vm.get_tool_title((\"\" + (tool.name)))}})]):_vm._e()}),0),_vm._v(\" \"),_c('div',{staticClass:\"message\",attrs:{\"id\":(\"id_toolbox_messages_\" + (_vm.state.id))}},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showtoolsoftool)?_c('div',{attrs:{\"id\":\"toolsoftoolcontainer\"}},[_vm._l((_vm.state.toolsoftool),function(tool){return [('measure' === tool.type)?_c('div',{staticClass:\"snap-tool\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checked),expression:\"tool.options.checked\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"id\":\"g3w_editing_show_measure_tool\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(tool.options.checked)?_vm._i(tool.options.checked,null)>-1:(tool.options.checked)},on:{\"change\":[function($event){var $$a=tool.options.checked,$$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.$set(tool.options, \"checked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checked\", $$c)}},function () { return tool.options.onChange(tool.options.checked); }]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('plugins.editing.toolsoftool.measure'),expression:\"'plugins.editing.toolsoftool.measure'\",arg:\"right\",modifiers:{\"create\":true}}],attrs:{\"for\":\"g3w_editing_show_measure_tool\"}},[_c('b',{class:_vm.g3wtemplate.font['measure']})])]):('snap' === tool.type)?_c('div',{staticClass:\"tools-of-tool-snap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checked),expression:\"tool.options.checked\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"type\":\"checkbox\",\"id\":(\"snap_\" + (_vm.state.id))},domProps:{\"checked\":Array.isArray(tool.options.checked)?_vm._i(tool.options.checked,null)>-1:(tool.options.checked)},on:{\"change\":[function($event){var $$a=tool.options.checked,$$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.$set(tool.options, \"checked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checked\", $$c)}},function($event){_vm.snapAll && tool.options.checked ? tool.options.checkedAll = false : null}]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:( 'plugins.editing.toolsoftool.snap'),expression:\" 'plugins.editing.toolsoftool.snap'\",arg:\"right\",modifiers:{\"create\":true}}],attrs:{\"for\":(\"snap_\" + (_vm.state.id))}},[_c('span',{class:_vm.g3wtemplate.font['magnete']})]),_vm._v(\" \"),(_vm.snapAll)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tool.options.checkedAll),expression:\"tool.options.checkedAll\"}],staticClass:\"magic-checkbox snap_tools_of_tools\",attrs:{\"type\":\"checkbox\",\"id\":(\"snap_all_\" + (_vm.state.id))},domProps:{\"checked\":Array.isArray(tool.options.checkedAll)?_vm._i(tool.options.checkedAll,null)>-1:(tool.options.checkedAll)},on:{\"change\":[function($event){var $$a=tool.options.checkedAll,$$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.$set(tool.options, \"checkedAll\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(tool.options, \"checkedAll\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(tool.options, \"checkedAll\", $$c)}},function($event){tool.options.checkedAll ? tool.options.checked = false : null}]}}):_vm._e(),_vm._v(\" \"),(_vm.snapAll)?_c('label',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('plugins.editing.toolsoftool.snapall'),expression:\"'plugins.editing.toolsoftool.snapall'\",arg:\"left\",modifiers:{\"create\":true}}],attrs:{\"for\":(\"snap_all_\" + (_vm.state.id))}},[_c('span',{class:_vm.g3wtemplate.font['magnete']}),_vm._v(\" \"),_c('b',{class:_vm.g3wtemplate.font['layers']})]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('divider')]})],2):_vm._e()]),_vm._v(\" \"),(_vm.helpmessage)?_c('div',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(_vm.helpmessage),expression:\"helpmessage\"}],staticClass:\"toolbox_help_message\"}):_vm._e()],1)]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-c4a84298\"\n\n},{\"vueify/lib/insert-css\":1}],9:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".steps-list[data-v-8a452b86]{align-self:flex-start;list-style:none;padding:10px;margin-bottom:0}li[data-v-8a452b86]{margin-bottom:5px}li.done[data-v-8a452b86]{font-weight:700;color:green}li.done>.description[data-v-8a452b86]{font-weight:700}.dynamic-step[data-v-8a452b86]{padding:10px;font-size:1.2em}.button-step[data-v-8a452b86]{display:inline-flex;align-items:center}.button-step[data-v-8a452b86],button.btn-success[data-v-8a452b86]{font-weight:700;align-self:normal}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n\n data: function data() {\n return { steps: {} };\n },\n\n methods: {\n completeStep: function completeStep(step) {\n step.done = true;\n step.buttonnext.done();\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('ul',{staticClass:\"steps-list\"},_vm._l((_vm.steps),function(step,id){return _c('li',{key:id,class:{ 'done': step.done },style:({ display: step.buttonnext && 'inline-flex' })},[(step.buttonnext)?_c('span',{staticClass:\"button-step\"},[_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(step.description),expression:\"step.description\"}],staticClass:\"description\"}),_vm._v(\" \"),(step.dynamic)?_c('span',{staticClass:\"dynamic-step\"},[_vm._v(_vm._s(step.dynamic))]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:('editing.workflow.next'),expression:\"'editing.workflow.next'\"}],class:'btn btn-success' + (step.buttonnext.disabled ? ' g3w-disabled' : '' ),on:{\"click\":function($event){return _vm.completeStep(step)}}})]):[_c('i',{class:_vm.g3wtemplate.getFontClass(step.done ? 'success' : 'empty-circle')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-plugin\",rawName:\"v-t-plugin\",value:(step.description),expression:\"step.description\"}]})]],2)}),0)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-8a452b86\"\n\n},{\"vueify/lib/insert-css\":1}],10:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Session = exports.ChangesManager = 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 _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\nexports.Flow = Flow;\n\nvar _promisify = require('../../utils/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\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class Flow of workflow step by step\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/flow.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/queque.js@v3.9.1\n */\nfunction Flow() {\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.Flow is deprecated');\n\n var Queque = function () {\n function Queque() {\n _classCallCheck(this, Queque);\n\n this.tasks = [];\n }\n\n _createClass(Queque, [{\n key: 'addTask',\n value: function addTask(task) {\n this.tasks.push(task);\n }\n }, {\n key: 'run',\n value: function run() {\n var reverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n while (this.tasks.length) {\n var task = reverse ? this.tasks.pop() : this.tasks.shift();task();\n }\n }\n }, {\n key: 'flush',\n value: function flush() {\n return this.tasks.splice(0);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.tasks.length;\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.run();this.tasks = [];\n }\n }]);\n\n return Queque;\n }();\n\n var steps = [];\n var inputs = void 0;\n var counter = 0;\n var context = null;\n var d = void 0;\n var _workflow = void 0;\n this.queques = {\n end: new Queque(),\n micro: new Queque()\n };\n //start workflow\n this.start = function (workflow) {\n d = $.Deferred();\n if (counter > 0) {\n console.log(\"reset workflow before restarting\");\n }\n _workflow = workflow;\n inputs = workflow.getInputs();\n context = workflow.getContext();\n steps = workflow.getSteps();\n // check if there are steps\n if (steps && steps.length) {\n //run step (first)\n this.runStep(steps[0], inputs, context);\n }\n // return a promise that will be reolved if all step go right\n return d.promise();\n };\n\n //run step\n this.runStep = function (step, inputs) {\n var _this = this;\n\n //run step that run task\n _workflow.setMessages({\n help: step.state.help\n });\n var runMicroTasks = this.queques.micro.getLength();\n step.run(inputs, context, this.queques).then(function (outputs) {\n runMicroTasks && _this.queques.micro.run();\n _this.onDone(outputs);\n }).fail(function (error) {\n return _this.onError(error);\n });\n };\n\n //check if all step are resolved\n this.onDone = function (outputs) {\n counter++;\n if (counter === steps.length) {\n counter = 0;\n d.resolve(outputs);\n return;\n }\n this.runStep(steps[counter], outputs);\n };\n\n // in case of error\n this.onError = function (err) {\n counter = 0;\n this.clearQueques();\n d.reject(err);\n };\n\n // stop flow\n this.stop = function () {\n var d = $.Deferred();\n steps[counter].isRunning() ? steps[counter].stop() : null;\n this.clearQueques();\n if (counter > 0) {\n // set counter to 0\n counter = 0;\n // reject flow\n d.reject();\n } else {\n //reject to force rollback session\n d.resolve();\n }\n return d.promise();\n };\n\n this.clearQueques = function () {\n this.queques.micro.clear();\n this.queques.end.clear();\n };\n\n g3wsdk.core.utils.base(this);\n}\n\ng3wsdk.core.utils.inherit(Flow, g3wsdk.core.G3WObject);\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/services/editing.js@v3.9.1\n */\nvar ChangesManager = exports.ChangesManager = {\n /** known actions */\n Actions: {\n 'add': {\n fnc: 'addFeature',\n opposite: 'delete'\n },\n 'delete': {\n fnc: 'removeFeature',\n opposite: 'add'\n },\n 'update': {\n fnc: 'updateFeature',\n opposite: 'update'\n }\n },\n /* apply changes to features (undo/redo) */\n execute: function execute(object, items, reverse) {\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.ChangesManager is deprecated');\n var fnc = void 0;\n var feature = void 0;\n items.forEach(function (item) {\n feature = item.feature;\n if (reverse) {\n // change to opposite\n feature[ChangesManager.Actions[feature.getState()].opposite]();\n }\n // get method from object\n fnc = ChangesManager.Actions[feature.getState()].fnc;\n object[fnc](feature);\n });\n }\n};\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n */\n\nvar Session = exports.Session = function (_g3wsdk$core$G3WObjec) {\n _inherits(Session, _g3wsdk$core$G3WObjec);\n\n function Session() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Session);\n\n console.warn('[G3W-CLIENT] g3wsdk.core.workflow.Session is deprecated');\n\n var _this2 = _possibleConstructorReturn(this, (Session.__proto__ || Object.getPrototypeOf(Session)).call(this, options));\n\n _this2.setters = {\n\n /**\n * Start session\n */\n start: function start() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n var features = yield (0, _promisify.promisify)(_this3._editor.start(options));\n _this3.state.started = true;\n d.resolve(features);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * stop session\n */\n stop: function stop() {\n var _this4 = this;\n\n return $.Deferred(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n var canStop = _this4.state.started || _this4.state.getfeatures;\n if (!canStop) {\n return d.resolve();\n }\n try {\n yield (0, _promisify.promisify)(_this4._editor.stop());\n _this4.clear();\n d.resolve();\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x5) {\n return _ref2.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * Get features from server (by editor)\n */\n getFeatures: function getFeatures() {\n var _this5 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return $.Deferred(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n if (_this5._allfeatures) {\n return d.resolve([]);\n }\n _this5._allfeatures = !options.filter;\n try {\n var features = yield (0, _promisify.promisify)(_this5._editor.getFeatures(options));\n _this5.state.getfeatures = true;\n d.resolve(features);\n } catch (e) {\n console.warn(e);\n d.reject(e);\n }\n });\n\n return function (_x7) {\n return _ref3.apply(this, arguments);\n };\n }()).promise();\n },\n\n\n /**\n * Hook to get informed that are saved on server\n * \n * @param commitItems\n */\n saveChangesOnServer: function saveChangesOnServer(commitItems) {}\n };\n\n _this2.state = {\n id: options.id,\n started: false,\n getfeatures: false,\n /** maximum \"buffer history\" lenght for undo/redo */\n maxSteps: 10,\n /** current state of history (useful for undo /redo) */\n current: null,\n /** temporary change not save on history */\n changes: []\n };\n\n /**\n * Array of states of a layer in editing\n * {\n * _states: [\n * {\n * id: unique key\n * state: [state] // example: history contsins features state\n * // array because a tool can apply changes to more than one features at time (split di una feature)\n * },\n * {\n * id: unique key\n * state: [state]\n * },\n * ]\n * ....\n *\n * _current: unique key // usefult to undo redo\n *\n *\n */\n _this2._states = [];\n\n /** reactive state of history */\n _this2._constrains = {\n commit: false,\n undo: false,\n redo: false\n };\n\n // editor\n _this2._editor = options.editor;\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this2._history = {\n id: _this2.state.id,\n state: new Proxy({}, { get: function get(_, prop) {\n return _this2._constrains[prop];\n } }),\n add: _this2.__add.bind(_this2),\n getRelationStates: _this2.__getRelationStates.bind(_this2),\n insertState: _this2.__insertState.bind(_this2),\n removeState: _this2.deleteState.bind(_this2),\n removeStates: _this2.removeChangesFromHistory.bind(_this2),\n insertStates: _this2.__insertStates.bind(_this2),\n undo: _this2.__undo.bind(_this2),\n clear: _this2.clearHistory.bind(_this2),\n redo: _this2.__redo.bind(_this2),\n setItemsFeatureIds: _this2.__setItemsFeatureIds.bind(_this2),\n getState: _this2.__getState.bind(_this2),\n getFirstState: _this2.__getFirstState.bind(_this2),\n getLastState: _this2.getLastHistoryState.bind(_this2),\n getCurrentState: _this2.__getCurrentState.bind(_this2),\n getCurrentStateIndex: _this2.__getCurrentStateIndex.bind(_this2),\n canCommit: _this2.__canCommit.bind(_this2),\n canUndo: _this2.__canUndo.bind(_this2),\n canRedo: _this2.__canRedo.bind(_this2),\n commit: _this2.__commit.bind(_this2)\n };\n\n // register this session on session registry\n _this2.register();\n return _this2;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * check if was done an update (update are array contains two items, old and new value)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(Session, [{\n key: '_checkSessionItems',\n value: function _checkSessionItems(historyId, items, action) {\n /**\n * action: \n * 0: undo;\n * 1: redo;\n **/\n var newItems = {\n own: [], //array of changes of layer of the current session\n dependencies: {} // dependencies\n };\n\n items.forEach(function (item) {\n if (Array.isArray(item)) {\n item = item[action];\n }\n // check if belong to session\n if (historyId === item.layerId) {\n newItems.own.push(item);\n } else {\n newItems.dependencies[item.layerId] = newItems.dependencies[item.layerId] || {\n own: [],\n dependencies: {}\n };\n newItems.dependencies[item.layerId].own.push(item);\n }\n });\n\n return newItems;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n */\n\n }, {\n key: 'getLastHistoryState',\n value: function getLastHistoryState() {\n return this._states.length ? this._states[this._states.length - 1] : null;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getLastStateId',\n value: function getLastStateId() {\n return this.getLastHistoryState().id;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param stateId\n */\n\n }, {\n key: 'deleteState',\n value: function deleteState(stateId) {\n var i = this._states.findIndex(function (s) {\n return s.id === stateId;\n });\n console.assert(i >= 0, 'invalid stateId ' + stateId);\n if (this.state.current === stateId) {\n this.state.current = this._states.length > 1 ? this._states[i - 1].id : null;\n }\n this._states.splice(i, 1);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'register',\n value: function register() {\n Session.Registry.register(this);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'unregister',\n value: function unregister() {\n Session.Registry.unregister(this.getId());\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this.state.started;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @param editor\n */\n\n }, {\n key: 'setEditor',\n value: function setEditor(editor) {\n this._editor = editor;\n }\n\n /**\n * Save temporary changes to the layer in history instance and feature store\n * \n * @param options\n */\n\n }, {\n key: 'save',\n value: function save() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n //fill history\n var d = $.Deferred();\n // add temporary modify to history\n if (this.state.changes.length) {\n var uniqueId = options.id || Date.now();\n this._history.add(uniqueId, this.state.changes).then(function () {\n // clear to temporary changes\n _this6.state.changes = [];\n // resolve if unique id\n d.resolve(uniqueId);\n });\n } else {\n d.resolve(null);\n }\n return d.promise();\n }\n\n /**\n * @param feature\n */\n\n }, {\n key: 'updateTemporaryChanges',\n value: function updateTemporaryChanges(feature) {\n this.state.changes.forEach(function (c) {\n return c.feature.setProperties(feature.getProperties());\n });\n }\n\n /**\n * Add temporary feature\n * \n * @param layerId \n * @param feature \n * @param removeNotEditableProperties \n */\n\n }, {\n key: 'pushAdd',\n value: function pushAdd(layerId, feature) {\n var removeNotEditableProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n /**\n * @TODO check if it need to deprecate it. All properties are need\n * Please take care of this to understand\n * In case of removeNotEditableProperties true, remove not editable field\n * from feature properties\n */\n var editor = layerId === this.getId() ? this._editor : Session.Registry.getSession(layerId).getEditor();\n\n // remove not editable proprierties from feature\n if (removeNotEditableProperties) {\n (editor.getLayer().getEditingNotEditableFields() || []).forEach(function (f) {\n return feature.unset([f]);\n });\n }\n\n var newFeature = feature.clone();\n\n this.push({ layerId: layerId, feature: newFeature.add() });\n\n return newFeature;\n }\n\n /**\n * Delete temporary feature\n * \n * @param layerId \n * @param feature \n */\n\n }, {\n key: 'pushDelete',\n value: function pushDelete(layerId, feature) {\n this.push({ layerId: layerId, feature: feature.delete() });\n return feature;\n }\n\n /**\n * Add temporary feature changes\n * \n * @param layerId\n * @param newFeature\n * @param oldFeature\n */\n\n }, {\n key: 'pushUpdate',\n value: function pushUpdate(layerId, newFeature, oldFeature) {\n // get index of temporary changes\n var is_new = newFeature.isNew();\n var i = is_new && this.state.changes.findIndex(function (c) {\n return layerId === c.layerId && c.feature.getId() === newFeature.getId();\n });\n\n // in case of new feature\n if (is_new && i >= 0) {\n var feature = newFeature.clone();\n feature.add();\n this.state.changes[i].feature = feature;\n return;\n }\n\n this.push({ layerId: layerId, feature: newFeature.update() }, { layerId: layerId, feature: oldFeature.update() });\n }\n\n /**\n * @param stateIds\n */\n\n }, {\n key: 'removeChangesFromHistory',\n value: function removeChangesFromHistory() {\n var _this7 = this;\n\n var stateIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n (stateIds || []).forEach(function (s) {\n return _this7.deleteState(s);\n });\n }\n\n /**\n * @returns { Object } state ids\n */\n\n }, {\n key: 'moveRelationStatesOwnSession',\n value: function moveRelationStatesOwnSession() {\n var ids = {};\n\n var _getCommitItems = this.getCommitItems(),\n relations = _getCommitItems.relations;\n\n for (var id in relations) {\n var states = this._history.getRelationStates(id);\n Session.Registry.getSession(id)._history.insertStates(states);\n ids[id] = states.map(function (s) {\n return s.id;\n });\n }\n return ids;\n }\n\n /**\n * Add temporary features that will be added with save method\n * \n * @param { { layerId: string, feature: * } } NewFeat \n * @param { { layerId: string, feature: * } } OldFeat\n */\n\n }, {\n key: 'push',\n value: function push(newFeat, oldFeat) {\n this.state.changes.push(oldFeat ? [oldFeat, newFeat] : newFeat); // check is set old (edit)\n }\n\n /**\n * Revert (cancel) all changes in history and clean session\n */\n\n }, {\n key: 'revert',\n value: function revert() {\n var _this8 = this;\n\n var d = $.Deferred();\n this._editor.revert().then(function () {\n _this8.clearHistory();\n d.resolve();\n });\n return d.promise();\n }\n\n /**\n * @param changes\n */\n\n }, {\n key: 'rollback',\n value: function rollback(changes) {\n // skip when..\n if (changes) {\n return this._editor.rollback(changes);\n }\n\n // Handle temporary changes of layer\n var d = $.Deferred();\n var id = this.getId();\n changes = {\n own: [],\n dependencies: {}\n };\n this.state.changes.forEach(function (c) {\n var change = Array.isArray(c) ? c[0] : c;\n if (change.layerId === id) {\n changes.own.push(change);\n } else {\n if (!changes.dependencies[change.layerId]) {\n changes.dependencies[change.layerId] = [];\n }\n // FILO\n changes.dependencies[change.layerId].unshift(change);\n }\n });\n\n this._editor.rollback(changes.own).then(function () {\n for (var _id in changes.dependencies) {\n Session.Registry.getSession(_id).rollback(changes.dependencies[_id]);\n }\n d.resolve(changes.dependencies);\n });\n\n this.state.changes = [];\n\n return d.promise();\n }\n\n /**\n * Rollback child changes of current session\n * \n * @param ids [array of child layer id]\n */\n\n }, {\n key: 'rollbackDependecies',\n value: function rollbackDependecies() {\n var _this9 = this;\n\n var ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n ids.forEach(function (id) {\n var changes = [];\n _this9.state.changes = _this9.state.changes.filter(function (temporarychange) {\n if (temporarychange.layerId === id) {\n changes.push(temporarychange);\n return false;\n }\n });\n changes.length && Session.Registry.getSession(id).rollback(changes);\n });\n }\n\n /**\n * undo method\n * \n * @param items \n */\n\n }, {\n key: 'undo',\n value: function undo(items) {\n items = items || this._history.undo();\n this._editor.setChanges(items.own, true);\n this._history.canCommit();\n return items.dependencies;\n }\n\n /**\n * redo method\n * \n * @param items \n */\n\n }, {\n key: 'redo',\n value: function redo(items) {\n items = items || this._history.redo();\n this._editor.setChanges(items.own, true);\n this._history.canCommit();\n return items.dependencies;\n }\n\n /**\n * Serialize commit\n * \n * @returns {{ add: *[], update: *[], relations: {}, delete: *[] }} JSON Object for a commit body send to server\n */\n\n }, {\n key: 'getCommitItems',\n value: function getCommitItems() {\n var _this10 = this;\n\n var itemsToCommit = this._history.commit();\n var id = this.getId();\n var state = void 0;\n var layer = void 0;\n var commitObj = {\n add: [], // features to add\n update: [], // features to update\n delete: [], // features to delete\n relations: {} // relation features\n };\n // key is a layer id that has changes to apply\n for (var key in itemsToCommit) {\n var isRelation = false; //set relation to false\n var items = itemsToCommit[key];\n // case key (layer id) is not equal to id (current layer id on editing)\n if (key !== id) {\n isRelation = true; //set true because these changes belong to features relation items\n var sessionRelation = Session.Registry.getSession(key);\n //check lock ids of relation layer\n var lockids = sessionRelation ? sessionRelation.getEditor().getLockIds() : [];\n //create a relations object\n commitObj.relations[key] = {\n lockids: lockids,\n add: [],\n update: [],\n delete: [],\n relations: {} //@since v3.7.1\n };\n layer = commitObj.relations[key];\n } else {\n layer = commitObj;\n }\n\n items.forEach(function (item) {\n //check state of feature item\n state = item.getState();\n var GeoJSONFormat = new ol.format.GeoJSON();\n switch (state) {\n //item needs to be deleted\n case 'delete':\n //check if is new. If is new mean is not present on server\n //so no need to say to server to delete it\n if (!item.isNew()) {\n layer.delete.push(item.getId());\n }\n break;\n default:\n //convert feature to json ex. {geometry:{tye: 'Point'}, properties:{}.....}\n var itemObj = GeoJSONFormat.writeFeatureObject(item);\n //get properties\n var childs_properties = item.getProperties();\n for (var p in itemObj.properties) {\n // in case the value of property is an object\n if (itemObj.properties[p] && _typeof(itemObj.properties[p]) === 'object' && itemObj.properties[p].constructor === Object) {\n //need to get value from value attribute object\n itemObj.properties[p] = itemObj.properties[p].value;\n }\n // @TODO explain when this condition happen\n if (undefined === itemObj.properties[p] && childs_properties[p]) {\n itemObj.properties[p] = childs_properties[p];\n }\n }\n // in case of add it have to remove not editable properties\n layer[item.isNew() ? 'add' : item.getState()].push(itemObj);\n break;\n }\n });\n // check in case of no edit remove relation key\n if (isRelation && layer.add.length === 0 //no relation features to add\n && layer.update.length === 0 //no relation features to update\n && layer.delete.length === 0 //no relation features to delete\n ) {\n delete commitObj.relations[key];\n }\n }\n\n // Remove deep relations from current layer (commitObj) that are not relative to that layer\n var relations = Object.keys(commitObj.relations || {});\n relations.filter(function (id) {\n return undefined === _this10._editor.getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild();\n });\n }) // child relations\n .map(function (id) {\n commitObj.relations[Session.Registry.getSession(id).getEditor().getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild() && commitObj.relations[r.getFather()];\n }) // parent relation layer\n .getFather()].relations[id] = commitObj.relations[id];\n return id;\n }).forEach(function (id) {\n return delete commitObj.relations[id];\n });\n\n return commitObj;\n }\n\n /**\n * Set geometry: {type} of geojson to a 3D type if needed\n * \n * @param layerId\n * @param commitItems\n */\n\n }, {\n key: 'set3DGeometryType',\n value: function set3DGeometryType() {\n var _this11 = this;\n\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$layerId = _ref4.layerId,\n layerId = _ref4$layerId === undefined ? this.getId() : _ref4$layerId,\n commitItems = _ref4.commitItems;\n\n var relations = commitItems.relations;\n\n var editingLayer = MapLayersStoresRegistry.getLayerById(layerId).getEditingLayer();\n // check id there is editing layer and if is a vector layer\n if (editingLayer && g3wsdk.core.layer.Layer.LayerTypes.VECTOR === editingLayer.getType()) {\n // get Geometry type layer\n var geometryType = editingLayer.getGeometryType();\n // if is a 3D layer i set on geoJON before send it to server\n if (g3wsdk.core.geoutils.Geometry.is3DGeometry(geometryType)) {\n ['add', 'update'].forEach(function (action) {\n return commitItems[action].forEach(function (feature) {\n return feature.geometry.type = geometryType;\n });\n });\n }\n }\n // the same control of relations layers\n Object.keys(relations).forEach(function (layerId) {\n return _this11.set3DGeometryType({\n layerId: layerId,\n commitItems: relations[layerId]\n });\n });\n }\n\n /**\n * Commit changes on server (save)\n * \n * @param opts.ids\n * @param opts.items\n * @param opts.relations\n */\n\n }, {\n key: 'commit',\n value: function commit() {\n var _this12 = this;\n\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$ids = _ref5.ids,\n ids = _ref5$ids === undefined ? null : _ref5$ids,\n items = _ref5.items,\n _ref5$relations = _ref5.relations,\n relations = _ref5$relations === undefined ? true : _ref5$relations,\n _ref5$__esPromise = _ref5.__esPromise,\n __esPromise = _ref5$__esPromise === undefined ? false : _ref5$__esPromise;\n\n var d = $.Deferred();\n\n var commit = void 0; // committed items\n\n // skip when ..\n if (ids) {\n commit = this._history.commit(ids);\n this.clearHistory(ids);\n return d.promise();\n }\n\n commit = items || this.getCommitItems(this._history.commit());\n\n if (!relations) {\n commit.relations = {};\n }\n\n this._editor.commit(commit).then(function (response) {\n\n // skip when response is null or undefined and response.result is false\n if (!(response && response.result)) {\n d.reject(response);\n return;\n }\n\n var _response$response$ne = response.response.new_relations,\n new_relations = _response$response$ne === undefined ? {} : _response$response$ne; // check if new relations are saved on server\n\n // sync server data with local data\n\n for (var id in new_relations) {\n Session.Registry.getSession(id) // get session of relation by id\n .getEditor().applyCommitResponse({ // apply commit response to current editing relation layer\n response: new_relations[id],\n result: true\n });\n }\n\n _this12.clearHistory();\n\n _this12.saveChangesOnServer(commit); // dispatch setter event.\n\n // ES6 promises only accept a single response\n if (__esPromise) {\n d.resolve({ commit: commit, response: response });\n } else {\n d.resolve(commit, response);\n }\n }).fail(function (err) {\n return d.reject(err);\n });\n\n return d.promise();\n }\n\n /**\n * Clear all things bind to session\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this._allfeatures = false;\n this.state.started = false;\n this.state.getfeatures = false;\n this.clearHistory();\n }\n\n /**\n * @returns history\n */\n\n }, {\n key: 'getHistory',\n value: function getHistory() {\n return this._history;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param ids since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'clearHistory',\n value: function clearHistory(ids) {\n var _this13 = this;\n\n if (ids) {\n this._states.forEach(function (state, idx) {\n if (ids.indexOf(state.id) !== -1) {\n if (_this13.state.current && _this13.state.current === state.id()) {\n _this13._history.undo();\n }\n _this13._states.splice(idx, 1);\n }\n });\n } else {\n // clear all\n this._states = [];\n this.state.current = null;\n this._constrains.commit = false;\n this._constrains.redo = false;\n this._constrains.undo = false;\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param uniqueId\n * @param items\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__add',\n value: function __add(uniqueId, items) {\n var _this14 = this;\n\n //state object is an array of feature/features changed in a transaction\n var d = $.Deferred();\n // before insert an item into the history\n // check if are at last state step (no redo was done)\n // If we are in the middle of undo, delete all changes\n // in the history from the current \"state\" so if it\n // can create a new history\n if (null === this.state.current) {\n this._states = [{ id: uniqueId, items: items }];\n } else {\n if (this._states.length > 0 && this.state.current < this.getLastStateId()) {\n this._states = this._states.filter(function (s) {\n return s.id <= _this14.state.current;\n });\n }\n this._states.push({ id: uniqueId, items: items });\n }\n\n this.state.current = uniqueId;\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n // return unique id key\n // it can be used in save relation\n d.resolve(uniqueId);\n return d.promise();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param layerId\n * @param clear\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getRelationStates',\n value: function __getRelationStates(layerId) {\n var _ref6 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref6$clear = _ref6.clear,\n clear = _ref6$clear === undefined ? false : _ref6$clear;\n\n var relationStates = [];\n for (var i = 0; i < this._states.length; i++) {\n var state = this._states[i];\n var items = state.items.filter(function (item) {\n return (Array.isArray(item) ? item[0].layerId : item.layerId) === layerId;\n });\n if (items.length > 0) {\n relationStates.push({ id: state.id, items: items });\n }\n }\n return relationStates;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param state\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__insertState',\n value: function __insertState(state) {\n var stateId = state.id;\n var index = this._states.length;\n for (var i = 0; i < this._states.length; i++) {\n var _state = this._states[i];\n if (_state.id > stateId) {\n index = i;\n break;\n } else if (_state.id === stateId) {\n index = -1;\n break;\n }\n }\n if (index > -1) {\n if (this.state.current < stateId) {\n this.state.current = stateId;\n }\n this._states.splice(index, 0, state);\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param states\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__insertStates',\n value: function __insertStates() {\n var states = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n for (var i = 0; i < states.length; i++) {\n this._history.insertState(states[i]);\n }\n this._history.canCommit();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * undo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undo',\n value: function __undo() {\n var _this15 = this;\n\n var items = void 0;\n if (this.state.current === this._history.getFirstState().id) {\n this.state.current = null;\n items = this._states[0].items;\n } else {\n this._states.find(function (state, idx) {\n if (state.id === _this15.state.current) {\n items = _this15._states[idx].items;\n _this15.state.current = _this15._states[idx - 1].id;\n return true;\n }\n });\n }\n items = this._checkSessionItems(this._history.id, items, 0);\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * redo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redo',\n value: function __redo() {\n var _this16 = this;\n\n var items = void 0;\n // if not set get first state\n if (!this.state.current) {\n items = this._states[0].items;\n // set current to first\n this.state.current = this._states[0].id;\n } else {\n this._states.find(function (state, idx) {\n if (_this16.state.current === state.id) {\n _this16.state.current = _this16._states[idx + 1].id;\n items = _this16._states[idx + 1].items;\n return true;\n }\n });\n }\n items = this._checkSessionItems(this._history.id, items, 1);\n // set internal state\n this._history.canUndo();\n this._history.canCommit();\n this._history.canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param { Array } unsetnewids\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__setItemsFeatureIds',\n value: function __setItemsFeatureIds() {\n var _this17 = this;\n\n var unsetnewids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n unsetnewids.forEach(function (unsetnewid) {\n _this17._states.forEach(function (state) {\n state.items.forEach(function (item) {\n var feature = item.feature.getId() === unsetnewid.clientid && item.feature;\n if (feature) {\n feature.setId(unsetnewid.id);\n }\n });\n });\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param id\n * \n * @returns {T}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getState',\n value: function __getState(id) {\n return this._states.find(function (s) {\n return s.id === id;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getFirstState',\n value: function __getFirstState() {\n return this._states.length ? this._states[0] : null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {null}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCurrentState',\n value: function __getCurrentState() {\n var _this18 = this;\n\n var currentState = null;\n if (this.state.current && this._states.length) {\n currentState = this._states.find(function (state) {\n return _this18.state.current === state.id;\n });\n }\n return currentState;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { number | null } index of current state\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCurrentStateIndex',\n value: function __getCurrentStateIndex() {\n var _this19 = this;\n\n var currentStateIndex = null;\n if (this.state.current && this._states.length) {\n this._states.forEach(function (state, idx) {\n if (_this19.state.current === state.id) {\n currentStateIndex = idx;\n return false;\n }\n });\n }\n return currentStateIndex;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { boolean } true if we can commit\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canCommit',\n value: function __canCommit() {\n var checkCommitItems = this._history.commit();\n var canCommit = false;\n for (var layerId in checkCommitItems) {\n var commitItem = checkCommitItems[layerId];\n canCommit = canCommit || commitItem.length > 0;\n }\n this._constrains.commit = canCommit;\n return this._constrains.commit;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canUdo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canUndo',\n value: function __canUndo() {\n var steps = this._states.length - 1 - this._history.getCurrentStateIndex();\n this._constrains.undo = null !== this.state.current && this.state.maxSteps > steps;\n return this._constrains.undo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canRedo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canRedo',\n value: function __canRedo() {\n this._constrains.redo = this.getLastHistoryState() && this.getLastStateId() != this.state.current || null === this.state.current && this._states.length > 0;\n return this._constrains.redo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * get all changes to send to server (mandare al server)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__commit',\n value: function __commit() {\n var _this20 = this;\n\n var commitItems = {};\n var statesToCommit = this._states.filter(function (s) {\n return s.id <= _this20.state.current;\n });\n statesToCommit.forEach(function (state) {\n state.items.forEach(function (item) {\n var add = true;\n if (Array.isArray(item)) {\n item = item[1];\n }\n if (commitItems[item.layerId]) {\n commitItems[item.layerId].forEach(function (commitItem, index) {\n // check if already inserted feature\n if (commitItem.getUid() === item.feature.getUid()) {\n if (item.feature.isNew() && !commitItem.isDeleted() && item.feature.isUpdated()) {\n var _item = item.feature.clone();\n _item.add();\n commitItems[item.layerId][index] = _item;\n } else if (item.feature.isNew() && item.feature.isDeleted()) {\n commitItems[item.layerId].splice(index, 1);\n } else if (item.feature.isUpdated() || item.feature.isDeleted()) {\n commitItems[item.layerId][index] = item.feature;\n }\n add = false;\n return false;\n }\n });\n }\n if (add) {\n var feature = item.feature;\n var layerId = item.layerId;\n if (!(!feature.isNew() && feature.isAdded())) {\n if (!commitItems[layerId]) {\n commitItems[layerId] = [];\n }\n commitItems[layerId].push(feature);\n }\n }\n });\n });\n return commitItems;\n }\n }]);\n\n return Session;\n}(g3wsdk.core.G3WObject);\n\n/** @type { Object } */\n\n\nvar sessions = {};\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/store/sessions.js@v3.9.1\n *\n * Store user session (login / logout)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nSession.Registry = {\n _sessions: sessions,\n register: function register(session) {\n sessions[session.getId()] = session;\n },\n unregister: function unregister(id) {\n delete sessions[id];\n },\n getSession: function getSession(id) {\n return sessions[id];\n },\n setSession: function setSession(id, session) {\n sessions[id] = session;\n },\n getSessions: function getSessions() {\n return sessions;\n },\n clear: function clear() {\n Object.keys(sessions).forEach(Session.Registry.unregister);\n }\n};\n\n},{\"../../utils/promisify\":66}],11:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file shared vue instance used to watch object changes or to emit events\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar VM = exports.VM = new Vue();\n\nexports.default = { VM: VM };\n\n},{}],12:[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 _toolbox = require('../../toolboxes/toolbox');\n\nvar _promisify = require('../../utils/promisify');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * \n * ORIGINAL SOURCE: g3w-client/src/core/editing/editor.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n G3WObject = _g3wsdk$core.G3WObject;\nvar FeaturesStore = g3wsdk.core.layer.features.FeaturesStore;\nvar Layer = g3wsdk.core.layer.Layer;\n\n/**\n * ORIGINAL SOURE: g3w-client/src/app/core/layers/features/olfeaturesstore.js@v3.10.2\n */\n\nvar OlFeaturesStore = function (_FeaturesStore) {\n _inherits(OlFeaturesStore, _FeaturesStore);\n\n function OlFeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OlFeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (OlFeaturesStore.__proto__ || Object.getPrototypeOf(OlFeaturesStore)).call(this, opts));\n\n _this._features = opts.features || new ol.Collection([]);\n return _this;\n }\n\n /**\n * Get number of features stored\n * @return { Number }\n */\n\n\n _createClass(OlFeaturesStore, [{\n key: 'getLength',\n value: function getLength() {\n return this._features.getLength();\n }\n\n /**\n * Store features\n * @param { Array } features\n */\n\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n //remove features\n this._features.clear();\n //add new features\n this.addFeatures(features);\n this._features.dispatchEvent('change');\n }\n }, {\n key: 'readFeatures',\n\n\n /**\n * @returns {*[]}\n */\n value: function readFeatures() {\n return this._features.getArray();\n }\n }, {\n key: 'getFeaturesCollection',\n\n\n /**\n * @return {*|ol.Collection}\n */\n value: function getFeaturesCollection() {\n return this._features;\n }\n\n /**\n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.getArray().find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.getArray().find(function (f) {\n return uid === f.getUid();\n });\n }\n\n /**\n *\n * @param feature\n * @private\n */\n\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n // useful for ol.source.Vector\n this._features.dispatchEvent('change');\n }\n\n /**\n * Substitute the feature after modifying\n * @param feature\n * @private\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var index = this._features.getArray().findIndex(function (f) {\n return feature.getUid() === f.getUid();\n });\n if (index >= 0) {\n this._features.removeAt(index);\n this._features.insertAt(index, feature);\n this._features.dispatchEvent('change');\n }\n }\n\n /**\n * Remove feature from store\n * @param feature\n * @private\n */\n\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n var index = this._features.getArray().findIndex(function (f) {\n return feature.getUid() === f.getUid();\n });\n if (index >= 0) {\n this._features.removeAt(index);\n this._features.dispatchEvent('change');\n }\n }\n\n /**\n * @private\n */\n\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n try {\n // Used remove single features instead use clear method\n // because some time trows an error\n for (var i = 0; i < this._features.getArray().length; i++) {\n this._features.removeAt(i);\n }\n } catch (e) {\n console.warn(e);\n }\n //Need to set a new Collection to avoid duplicate\n this._features = null; //@TODO is still usefully ????\n this._features = new ol.Collection([]);\n }\n }]);\n\n return OlFeaturesStore;\n}(FeaturesStore);\n\n/**\n * Editor Class: bind editor to layer to do main actions\n *\n * @param config\n *\n * @constructor\n */\n\n\nvar Editor = function (_G3WObject) {\n _inherits(Editor, _G3WObject);\n\n function Editor() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Editor);\n\n /**\n * Setter hooks.\n */\n var _this2 = _possibleConstructorReturn(this, (Editor.__proto__ || Object.getPrototypeOf(Editor)).call(this));\n\n _this2.setters = {\n save: function save() {\n this._layer.save();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n deleteFeature: function deleteFeature(feature) {\n this._featuresstore.deleteFeature(feature);\n },\n setFeatures: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._featuresstore.setFeatures(features);\n },\n\n /**\n * Get features from server method.\n * Used when vector Layer's bbox is contained into an already requested bbox (so no a new request is done).\n *\n * @param { number[] } options.filter.bbox bounding box Array [xmin, ymin, xmax, ymax]\n *\n * @returns { boolean } whether can perform a server request\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // skip is not onlien or all features of layers are already got\n if (!ApplicationState.online || this._allfeatures) {\n return (0, _promisify.$promisify)(Promise.resolve());\n }\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n var doRequest = true; // default --> perform request\n\n var _ref2 = options.filter || {},\n bbox = _ref2.bbox;\n //check if bbox options filter (bbox of a current map) is passed and is a vector layer\n\n\n var is_vector = bbox && Layer.LayerTypes.VECTOR === _this3._layer.getType();\n\n // first request --> need to perform request\n if (is_vector && null === _this3._filter.bbox) {\n _this3._filter.bbox = bbox; // store bbox\n doRequest = true;\n }\n\n // subsequent requests --> check if bbox is contained into an already requested bbox\n else if (is_vector) {\n //Boolean - Check if features are already got inside bbox\n var is_cached = ol.extent.containsExtent(_this3._filter.bbox, bbox);\n if (!is_cached) {\n _this3._filter.bbox = ol.extent.extend(_this3._filter.bbox, bbox);\n }\n doRequest = !is_cached;\n }\n\n /** @TODO simplfy nested promises */\n if (doRequest) {\n var features = yield (0, _promisify.promisify)(_this3._layer.getFeatures(options));\n // add features from server to editing features store (cloned from original)\n _this3._featuresstore.addFeatures((features || []).map(function (f) {\n return f.clone();\n }));\n //set all features to true if no filter is set (e.g., Table layer)\n _this3._allfeatures = !options.filter;\n return features;\n }\n }));\n }\n };\n\n /**\n * Filter to getFeaturerequest\n */\n _this2._filter = {\n bbox: null\n };\n\n /**\n * { Boolean } true, mean all features of layer are get (e.g. Table layer)\n */\n _this2._allfeatures = false;\n\n /**\n * Referred layer\n */\n _this2._layer = options.layer;\n\n /**\n * Store editing features\n * \n * @type { FeaturesStore | OlFeaturesStore }\n */\n _this2._featuresstore = Layer.LayerTypes.TABLE === _this2._layer.getType() ? new FeaturesStore() : new OlFeaturesStore();\n\n /**\n * Whether editor is active or not\n *\n * @type { boolean }\n */\n _this2._started = false;\n\n return _this2;\n }\n\n /**\n * Get editing source layer feature\n * \n * @returns { FeaturesStore | OlFeaturesStore }\n */\n\n\n _createClass(Editor, [{\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._featuresstore;\n }\n\n /**\n * get Source\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n this._layer.getSource();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/services/editing.js@v3.9.1\n * \n * Apply changes to source features (undo/redo)\n * \n * @param items\n * @param { boolean } reverse whether change to opposite\n */\n\n }, {\n key: 'setChanges',\n value: function setChanges() {\n var _this4 = this;\n\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n /** known actions */\n var Actions = {\n 'add': { fnc: 'addFeature', opposite: 'delete' },\n 'delete': { fnc: 'removeFeature', opposite: 'add' },\n 'update': { fnc: 'updateFeature', opposite: 'update' }\n };\n items.forEach(function (item) {\n if (reverse) {\n item.feature[Actions[item.feature.getState()].opposite]();\n }\n // get method from object\n _this4._featuresstore[Actions[item.feature.getState()].fnc](item.feature);\n });\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this._layer;\n }\n\n /**\n * @param layer\n */\n\n }, {\n key: 'setLayer',\n value: function setLayer(layer) {\n return this._layer = layer;\n }\n\n /**\n * Rollback changes\n * \n * @param changes\n * \n * @returns {*}\n */\n\n }, {\n key: 'rollback',\n value: function rollback() {\n var _this5 = this;\n\n var changes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (0, _promisify.$promisify)(function () {\n return _this5.setChanges(changes, true);\n });\n }\n\n /**\n * Apply response data from server in case of new inserted feature\n * @param { Object } response\n * @param response.response.new array of new ids\n * @param response.response.new.clientid temporary id created by client __new__\n * @param response.response.new.id the new id created and stored on server\n * @param response.response.new.properties properties of the feature saved on server\n * @param response.response.new_lockids array of new lockIds\n * \n * @param relations\n */\n\n }, {\n key: 'applyCommitResponse',\n value: function applyCommitResponse() {\n var _this6 = this;\n\n var response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var relations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n\n // skip when no response and response.result is false\n if (!(response && response.result)) {\n return;\n }\n\n //Loop on new features saved on server\n // clientid - temporary id of new feature\n // id - id saved on server (autogenerate, next value) to subtituite to clientid feature id\n // properties - properties of feature returned by server\n response.response.new.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n clientid = _ref3.clientid,\n id = _ref3.id,\n properties = _ref3.properties;\n\n //get feature from current layer in editing\n var feature = _this6._featuresstore.getFeatureById(clientid);\n // set new id\n feature.setId(id);\n //set properties\n feature.setProperties(properties);\n //Loop on eventual relation updated or created\n relations.forEach(function (r) {\n // handle relations (if provided)\n Object.entries(r).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n id = _ref5[0],\n _ref5$ = _ref5[1],\n opts = _ref5$ === undefined ? {} : _ref5$;\n\n // id - relation layer id, opts - Object contain relation properties\n //get the editing source of relation layer\n var source = _toolbox.ToolBox.get(id).getSession().getEditor().getEditingSource();\n // handle value to relation field saved on server\n (opts.ids || []).forEach(function (id) {\n var rFeature = source.getFeatureById(id);\n if (rFeature) {\n opts.fatherField.forEach(function (ff, i) {\n // loop relation ids\n rFeature.set(opts.childField[i], feature.get(ff)); // set father feature `value` and `name`\n });\n }\n });\n });\n });\n });\n\n var features = this.readEditingFeatures();\n\n features.forEach(function (f) {\n return f.clearState();\n }); // reset state of the editing features (update, new etc..)\n\n this._layer.setFeatures([].concat(_toConsumableArray(features))); // substitute layer features with actual editing features (\"cloned\" to prevent layer actions duplicates, eg. addFeatures)\n\n this.addLockIds(response.response.new_lockids); // add lock ids\n }\n\n /**\n * @param lockids locks be added to current layer\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockids) {\n this._layer.getSource().addLockIds(lockids);\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._layer.getSource().getLockIds();\n }\n\n /**\n * Run after server has applied changes to origin resource\n *\n * @param commit commit items\n *\n * @returns jQuery promise\n */\n\n }, {\n key: 'commit',\n value: function commit(_commit) {\n var _this7 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var relations = [];\n\n // check if there are commit relations binded to new feature\n if (_commit.add.length) {\n relations = Object.keys(_commit.relations).map(function (relationId) {\n var relation = _this7._layer.getRelations().getRelationByFatherChildren(_this7._layer.getId(), relationId);\n return _defineProperty({}, relationId, {\n ids: [].concat(_toConsumableArray(_commit.relations[relationId].add.map(function (r) {\n return r.id;\n })), _toConsumableArray(_commit.relations[relationId].update.map(function (r) {\n return r.id;\n }))),\n fatherField: relation.getFatherField(), // father Fields \n childField: relation.getChildField() // child Fields \n });\n });\n }\n\n /** @TODO simplfy nested promises */\n var r = yield (0, _promisify.promisify)(_this7._layer.commit(_commit));\n _this7.applyCommitResponse(r, relations);\n return r;\n }));\n }\n\n /**\n * start editing\n */\n\n }, {\n key: 'start',\n value: function start() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /** @TODO simplfy nested promises */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this8.getFeatures(options)); // load layer features based on filter type\n _this8._started = true; // if all ok set to started\n return features; // features are already inside featuresstore\n }));\n }\n\n /**\n * Read features (action to layer)\n */\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._layer.readFeatures();\n }\n\n /**\n * @returns features stored in editor featurestore\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * stop editor\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this9 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this9._layer.unlock());\n _this9.clear();\n return response;\n }));\n }\n\n /**\n * @returns { boolean } whether has started editor \n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._started;\n }\n\n /**\n * Method to clear all filled variables\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this._started = false;\n this._filter.bbox = null;\n this._allfeatures = false;\n\n this._featuresstore.clear();\n this._layer.getFeaturesStore().clear();\n\n // vector layer\n if (Layer.LayerTypes.VECTOR === this._layer.getType()) {\n this._layer.resetEditingSource(this._featuresstore.getFeaturesCollection());\n }\n }\n }]);\n\n return Editor;\n}(G3WObject);\n\nexports.default = Editor;\n\n},{\"../../toolboxes/toolbox\":27,\"../../utils/promisify\":58}],13:[function(require,module,exports){\nvar _editor = require('./editing/editor');\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _step = require('./workflow/step');\n\nvar _deprecated = require('../deprecated');\n\nvar _workflow = require('./workflow/workflow');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Editing APIs will be removed from core after g3w-client@v.4.x\n */\nif (window.g3wsdk.core.editing || window.g3wsdk.core.workflow || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES || g3wsdk.version < '4') {\n console.warn('Editing APIs will be removed from g3wsdk after v4.x');\n}\n\n/**\n * Object to provide external plugin to use editing objects\n */\nwindow.g3wsdk.core.editing = {\n Session: _deprecated.Session,\n SessionsRegistry: _deprecated.Session.Registry,\n Editor: _editor2.default,\n ChangesManager: _deprecated.ChangesManager\n};\n\n/**\n * Default editing capabilities\n *\n * @type {string[]}\n */\nwindow.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES = ['add_feature', 'change_feature', 'change_attr_feature', 'delete_feature'];\n\n/**\n * Object to provide to external plugins to use workflow objects\n */\nwindow.g3wsdk.core.workflow = {\n Task: _step.Step,\n Step: _step.Step,\n Flow: _deprecated.Flow,\n Workflow: _workflow.Workflow,\n WorkflowsStack: _workflow.Workflow.Stack\n};\n\n},{\"../deprecated\":10,\"./editing/editor\":12,\"./workflow/step\":14,\"./workflow/workflow\":15}],14:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Step = 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 _promisify = require('../../utils/promisify');\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 * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/step.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\n\nvar G3WObject = g3wsdk.core.G3WObject;\nvar isPointGeometryType = g3wsdk.core.geoutils.Geometry.isPointGeometryType;\nvar Layer = g3wsdk.core.layer.Layer;\nvar GUI = g3wsdk.gui.GUI;\n\n/**\n * @param options.input\n * @param options.context\n * @param options.task\n * @param options.outputs\n * @param options.escKeyPressEventHandler\n * @param options.id\n * @param options.name\n * @param options.help\n * @param options.message\n */\n\nvar Step = exports.Step = function (_G3WObject) {\n _inherits(Step, _G3WObject);\n\n function Step() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Step);\n\n var _this = _possibleConstructorReturn(this, (Step.__proto__ || Object.getPrototypeOf(Step)).call(this));\n\n _this._options = options;\n\n _this._run = (options.run || _this.run || _asyncToGenerator(function* () {\n return true;\n })).bind(_this);\n _this._stop = (options.stop || _this.stop || _asyncToGenerator(function* () {\n return true;\n })).bind(_this);\n\n /**\n * @FIXME add description\n */\n _this._inputs = options.inputs || null;\n\n /**\n * @FIXME add description\n */\n _this._context = options.context || null;\n\n /**\n * @FIXME add description\n */\n _this._outputs = options.outputs || null;\n\n /**\n * Dynamic state of a step\n */\n _this.state = {\n id: options.id || null,\n name: options.name || null,\n help: options.help || null, // help to show what the user has to do\n running: false, // running\n error: null, // error\n message: options.message || null, // message\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n usermessagesteps: {}\n };\n\n _this.registerEscKeyEvent(options.escKeyPressEventHandler);\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this.selectStyle = options.selectStyle;\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.steps) {\n _this.setSteps(options.steps);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.onRun) {\n _this.on('run', options.onRun);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.onStop) {\n _this.on('run', options.onStop);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n if (options.tools) {\n _this._tools = options.tools;\n }\n\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * Set and get task usefult properties used to run\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(Step, [{\n key: 'setInputs',\n value: function setInputs(inputs) {\n this._inputs = this.inputs = inputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this._inputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param context\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setContext',\n value: function setContext(context) {\n return this._context = this.context = context;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'panic',\n value: function panic() {\n console.log('Panic to implement ..');\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param task\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setRoot',\n value: function setRoot(task) {\n this.state.root = task;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @returns { Object }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getUserMessageSteps',\n value: function getUserMessageSteps() {\n return this.state.usermessagesteps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param steps\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setUserMessageSteps',\n value: function setUserMessageSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state.usermessagesteps = steps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * \n * @param type\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setUserMessageStepDone',\n value: function setUserMessageStepDone(type) {\n if (type) {\n this.state.usermessagesteps[type].done = true;\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var _this2 = this;\n\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n GUI.getService('map').addInteraction(interaction);\n Object.entries(events).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n type = _ref4[0],\n handler = _ref4[1];\n\n return interaction.on(type, handler);\n });\n this.on('stop', function () {\n return _this2.removeInteraction(interaction);\n });\n return interaction;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n setTimeout(function () {\n return GUI.getService('map').removeInteraction(interaction);\n }); // timeout needed to work around an Openlayers issue\n }\n\n /**\n * @TODO code implementation\n *\n * Get editing type from editing config\n *\n * @returns { null }\n */\n\n }, {\n key: 'getEditingType',\n value: function getEditingType() {\n return null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'registerPointerMoveCursor',\n value: function registerPointerMoveCursor() {\n GUI.getService('map').getMap().on(\"pointermove\", this._pointerMoveCursor);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'unregisterPointerMoveCursor',\n value: function unregisterPointerMoveCursor() {\n GUI.getService('map').getMap().un(\"pointermove\", this._pointerMoveCursor);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param evt\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_pointerMoveCursor',\n value: function _pointerMoveCursor(evt) {\n this.getTargetElement().style.cursor = this.forEachFeatureAtPixel(evt.pixel, function () {\n return true;\n }) ? 'pointer' : '';\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param steps\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setSteps',\n value: function setSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._steps = steps;\n this.setUserMessageSteps(steps);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @returns { Object }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getSteps',\n value: function getSteps() {\n return this._steps;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getMap',\n value: function getMap() {\n return GUI.getService('map').getMap();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * Disable sidebar\n *\n * @param {Boolean} bool\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'disableSidebar',\n value: function disableSidebar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!this._isContentChild) {\n GUI.disableSideBar(bool);\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * @param event\n * @param options\n *\n * @returns {*}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'fireEvent',\n value: function fireEvent(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').fireEvent(event, options);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Handle single task\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'saveSingle',\n value: function saveSingle(input, context) {\n context.session.save().then(function () {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').saveChange();\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Cancel single task\n *\n * @param input\n * @param context\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'cancelSingle',\n value: function cancelSingle(input, context) {\n context.session.rollback();\n }\n\n /**\n * Bind interrupt event on keys escape pressed\n * \n * @param evt.key\n * @param evt.data.callback\n * @param evt.data.task\n */\n\n }, {\n key: 'escKeyUpHandler',\n value: function escKeyUpHandler(evt) {\n if ('Escape' === evt.key) {\n evt.data.callback({ task: evt.data.task });\n }\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n $(document).on('keyup', { callback: callback, task: this }, this.escKeyUpHandler);\n }\n\n /**\n * @listens run\n * @listens stop\n */\n\n }, {\n key: 'registerEscKeyEvent',\n value: function registerEscKeyEvent(callback) {\n var _this3 = this;\n\n if (callback) {\n this.on('run', function () {\n return _this3.bindEscKeyUp(callback);\n });\n this.on('stop', function () {\n return _this3.unbindEscKeyUp();\n });\n }\n }\n\n /**\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Start task\n * \n * @param inputs\n * @param context\n * \n * @returns jQuery promise\n * \n * @fires run\n */\n\n }, {\n key: '__run',\n value: function __run(inputs, context) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n _this4.setInputs(inputs);\n _this4.setContext(context);\n\n var step = _this4;\n var toolsOfTools = {\n\n snap: {\n type: 'snap',\n options: {\n checkedAll: false,\n checked: false,\n active: true,\n run: function run(_ref6) {\n var layer = _ref6.layer;\n\n this.active = true;\n this.layerId = layer.getId();\n this.source = layer.getEditingLayer().getSource();\n },\n stop: function stop() {\n this.active = false;\n }\n }\n },\n\n measure: {\n type: 'measure',\n options: {\n checked: false,\n run: function run() {\n var _this5 = this;\n\n setTimeout(function () {\n _this5.onChange(_this5.checked);\n });\n },\n stop: function stop() {\n step.removeMeasureInteraction();\n this.onChange(false);\n },\n onChange: function onChange(bool) {\n this.checked = bool;\n step[bool ? 'addMeasureInteraction' : 'removeMeasureInteraction']();\n }\n }\n }\n\n };\n\n if (_this4._tools && 0 === _this4._workflow._toolsoftool.length) {\n var _workflow$_toolsoftoo;\n\n (_workflow$_toolsoftoo = _this4._workflow._toolsoftool).push.apply(_workflow$_toolsoftoo, _toConsumableArray(_this4._tools.filter(function (tool) {\n return 'measure' !== tool || Layer.LayerTypes.VECTOR === inputs.layer.getType() && !isPointGeometryType(inputs.layer.getGeometryType());\n }).map(function (tool) {\n return toolsOfTools[tool];\n })));\n }\n\n if (_this4._tools) {\n _this4._workflow._toolsoftool.forEach(function (t) {\n return t.options.run({ layer: inputs.layer });\n });\n _this4._workflow.emit('settoolsoftool', _this4._workflow._toolsoftool);\n }\n\n _this4.emit('run', { inputs: inputs, context: context });\n\n try {\n _this4.state.running = true; // change state to running\n return yield (0, _promisify.promisify)(_this4._run(inputs, context));\n } catch (e) {\n console.warn(e);\n _this4.state.error = e;\n return Promise.reject(e);\n } finally {\n _this4.__stop();\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/task.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n *\n * Stop step\n *\n * @fires stop\n */\n\n }, {\n key: '__stop',\n value: function __stop() {\n this._stop(this._inputs, this._context); // stop task\n this.state.running = false; // remove running state\n if (this._workflow) {\n this._workflow._toolsoftool.forEach(function (t) {\n return t.options.stop();\n });\n }\n this.emit('stop');\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.state.name;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getHelp',\n value: function getHelp() {\n return this.state.help;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getError',\n value: function getError() {\n return this.state.error;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getMessage',\n value: function getMessage() {\n return this.state.message;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'isRunning',\n value: function isRunning() {\n return this.state.running;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getTask',\n value: function getTask() {\n return this;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'setOutputs',\n value: function setOutputs(outputs) {\n this._outputs = outputs;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getOutputs',\n value: function getOutputs() {\n return this._outputs;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @param workflow\n * @param tools\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'setToolsOfTools',\n value: function setToolsOfTools(workflow) {\n var tools = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n this._workflow = workflow;\n this._tools = tools;\n }\n }]);\n\n return Step;\n}(G3WObject);\n\n/**\n * @FIXME add description\n */\n\n\nStep.MESSAGES = {\n help: null\n};\n\n},{\"../../utils/promisify\":58}],15:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Workflow = 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 _step = require('./step');\n\nvar _promisify = require('../../utils/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\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 * @file\n * \n * ORIGINAL SOURCE: g3w-client/src/core/workflow/workflow.js@v3.9.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.x\n */\n\nvar GUI = g3wsdk.gui.GUI;\nvar G3WObject = g3wsdk.core.G3WObject;\n\n/**\n * Workflow Class (manage flow of steps)\n *\n * @param options.inputs\n * @param options.context\n * @param options.flow\n * @param options.steps\n * @param options.runOnce\n * @param options.backbuttonlabel\n */\n\nvar Workflow = exports.Workflow = function (_G3WObject) {\n _inherits(Workflow, _G3WObject);\n\n function Workflow() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Workflow);\n\n /** @since g3w-client-plugin-editing@v3.8.0*/\n var _this = _possibleConstructorReturn(this, (Workflow.__proto__ || Object.getPrototypeOf(Workflow)).call(this));\n\n _this._type = undefined !== options.type ? options.type : null;\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._options = options;\n\n /**\n * @FIXME add description\n */\n _this._promise = null;\n\n /**\n * Mandatory inputs to work with editing\n */\n _this._inputs = undefined !== options.inputs ? options.inputs : null;\n\n /**\n * @FIXME add description\n */\n _this._context = undefined !== options.context ? options.context : null;\n\n /**\n * All steps of flow\n */\n _this._steps = options.steps || [];\n\n /**\n * Whether is child of another workflow\n */\n _this._child = null;\n\n /**\n * stack workflowindex\n */\n _this._stackIndex = null;\n\n /**\n * Stop when flow stop\n */\n _this.runOnce = options.runOnce || false;\n\n /**\n * @FIXME add description\n */\n _this._messages = _step.Step.MESSAGES;\n\n /**\n * Store user messages steps to show when workflow\n * use a mandatory steps (ex. select: {description}, merge: {description}}\n */\n _this._userMessageSteps = {};\n\n if (_this._steps.length > 0) {\n _this.setUserMessagesSteps(_this._steps);\n }\n\n /**\n * Holds back button label (in case of child workflow)\n * \n * @since 3.9.0\n */\n _this.backbuttonlabel = undefined !== options.backbuttonlabel ? options.backbuttonlabel : null;\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this.helpMessage = options.helpMessage ? { help: options.helpMessage } : null;\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this._toolsoftool = [];\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n if (true === options.registerEscKeyEvent) {\n _this.registerEscKeyEvent();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/workflow/flow.js@v3.9.1\n * \n * Current flow step\n * \n * @since g3w-client-editing@v3.8.0\n */\n _this._stepIndex = 0;\n\n return _this;\n }\n\n /**\n *\n * @param steps\n */\n\n\n _createClass(Workflow, [{\n key: 'setUserMessagesSteps',\n value: function setUserMessagesSteps(steps) {\n this._userMessageSteps = steps.reduce(function (messagesSteps, step) {\n return _extends({}, messagesSteps, step.getUserMessageSteps() || {});\n }, {});\n }\n\n /**\n * Check if it is in same type\n *\n * @param {String | Array.} type\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n var _this2 = this;\n\n if (Array.isArray(type)) {\n return Boolean(type.find(function (t) {\n return t === _this2._type;\n }));\n }\n return type === this._type;\n }\n\n /**\n * @returns { * }\n */\n\n }, {\n key: 'getContextService',\n value: function getContextService() {\n return this.getContext().service;\n }\n\n /**\n * @param service\n */\n\n }, {\n key: 'setContextService',\n value: function setContextService(service) {\n this.getContext().service = service;\n }\n\n /**\n * @returns { null | * }\n */\n\n }, {\n key: 'getStackIndex',\n value: function getStackIndex() {\n return this._stackIndex;\n }\n\n /**\n * @param workflow\n */\n\n }, {\n key: 'addChild',\n value: function addChild(workflow) {\n if (this._child) {\n this._child.addChild(workflow);\n } else {\n this._child = workflow;\n }\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'removeChild',\n value: function removeChild() {\n if (this._child) {\n Workflow.Stack.removeAt(this._child.getStackIndex());\n }\n this._child = null;\n }\n\n /**\n * @param input.key\n * @param input.value\n */\n\n }, {\n key: 'setInput',\n value: function setInput(_ref) {\n var key = _ref.key,\n value = _ref.value;\n\n this._inputs[key] = value;\n }\n\n /**\n * @returns { null | * }\n */\n\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this._inputs;\n }\n\n /**\n * @param context\n */\n\n }, {\n key: 'setContext',\n value: function setContext(context) {\n this._context = context;\n }\n\n /**\n * @returns { * | {} | null }\n */\n\n }, {\n key: 'getContext',\n value: function getContext() {\n return this._context;\n }\n\n /**\n * @param step\n */\n\n }, {\n key: 'addStep',\n value: function addStep(step) {\n this._steps.push(step);\n }\n\n /**\n * @param steps\n */\n\n }, {\n key: 'setSteps',\n value: function setSteps() {\n var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._steps = steps;\n this.setUserMessagesSteps(steps);\n }\n\n /**\n * @returns { * | Array }\n */\n\n }, {\n key: 'getSteps',\n value: function getSteps() {\n return this._steps;\n }\n\n /**\n * @param index\n * \n * @returns { * }\n */\n\n }, {\n key: 'getStep',\n value: function getStep(index) {\n return this._steps[index];\n }\n\n /**\n * @param messages\n */\n\n }, {\n key: 'setMessages',\n value: function setMessages(messages) {\n Object.assign(this._messages, messages);\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getMessages',\n value: function getMessages() {\n return this._messages;\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'clearMessages',\n value: function clearMessages() {\n this._messages.help = null;\n if (Object.keys(this._userMessageSteps).length) {\n this.clearUserMessagesSteps();\n }\n }\n\n /**\n * @returns { * | null }\n */\n\n }, {\n key: 'getLastStep',\n value: function getLastStep() {\n return this._steps.length ? this._steps[this._steps.length - 1] : null;\n }\n\n /**\n * @returns { Step }\n */\n\n }, {\n key: 'getRunningStep',\n value: function getRunningStep() {\n return this._steps.find(function (step) {\n return step.isRunning();\n });\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'reject',\n value: function reject() {\n if (this._promise) {\n this._promise.reject();\n }\n this.emit('reject');\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'resolve',\n value: function resolve() {\n if (this._promise) {\n this._promise.resolve();\n }\n }\n }, {\n key: 'runStep',\n value: function () {\n var _ref2 = _asyncToGenerator(function* (step, inputs) {\n try {\n this.setMessages({ help: step.state.help });\n var outputs = yield (0, _promisify.promisify)(step.__run(inputs, this.getContext()));\n // onDone → check if all step is resolved\n this._stepIndex++;\n if (this._stepIndex === this.getSteps().length) {\n this._stepIndex = 0;\n return outputs;\n } else {\n return this.runStep(this.getSteps()[this._stepIndex], outputs);\n }\n } catch (e) {\n this._stepIndex = 0;\n return Promise.reject(e);\n }\n });\n\n function runStep(_x3, _x4) {\n return _ref2.apply(this, arguments);\n }\n\n return runStep;\n }()\n\n /**\n * Start workflow\n * \n * @param options.inputs\n * @param options.context\n * @param options.flow\n * @param options.steps\n * \n * @fires start\n */\n\n }, {\n key: 'start',\n value: function start() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n _this3._promise = { resolve: resolve, reject: reject };\n _this3._inputs = options.inputs;\n _this3._context = options.context || {};\n\n var isChild = _this3._context.isChild || false;\n\n // stop child when a workflow is running \n if (!isChild && Workflow.Stack.getLength() && Workflow.Stack.getCurrent() !== _this3) {\n Workflow.Stack.getCurrent().addChild(_this3);\n }\n\n _this3._stackIndex = Workflow.Stack.push(_this3);\n _this3._steps = options.steps || _this3._steps;\n\n (_this3._steps || []).forEach(function (s) {\n return s._workflow = _this3;\n });\n\n var showUserMessage = Object.keys(_this3._userMessageSteps).length;\n\n if (showUserMessage) {\n GUI.showUserMessage({\n title: 'plugins.editing.workflow.title.steps',\n type: 'tool',\n position: 'left',\n size: 'small',\n closable: false,\n hooks: {\n body: _extends({}, require('../../components/UserMessage.vue'), {\n data: function data() {\n return {\n steps: _this3._userMessageSteps\n };\n }\n })\n }\n });\n }\n //emit start\n _this3.emit('start');\n\n try {\n console.assert(0 === _this3._stepIndex, 'reset workflow before restarting: ' + _this3._stepIndex);\n //start flow of workflow\n var outputs = yield _this3.runStep(_this3.getSteps()[_this3._stepIndex], _this3.getInputs());\n if (showUserMessage) {\n setTimeout(function () {\n _this3.clearUserMessagesSteps();resolve(outputs);\n }, 500);\n } else {\n resolve(outputs);\n }\n } catch (e) {\n console.warn(e);\n if (showUserMessage) {\n _this3.clearUserMessagesSteps();\n }\n reject(e);\n }\n\n if (_this3.runOnce) {\n _this3.stop();\n }\n });\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * Stop workflow during flow\n * \n * @fires stop\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n _this4._promise = null;\n\n try {\n // stop child workflow\n if (_this4._child) {\n yield (0, _promisify.promisify)(_this4._child.stop());\n }\n } catch (e) {\n console.warn(e);\n }\n\n // ensure that child is always removed\n _this4.removeChild();\n\n Workflow.Stack.removeAt(_this4.getStackIndex());\n\n // stop flow\n try {\n if (_this4.getSteps()[_this4._stepIndex].isRunning()) {\n //clear messages steps\n _this4.clearMessages();\n //stop a current step\n _this4.getSteps()[_this4._stepIndex].__stop();\n }\n // reset counter and reject flow\n if (_this4._stepIndex > 0) {\n _this4._stepIndex = 0;\n reject();\n return Promise.reject();\n } else {\n resolve();\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n\n _this4.emit('stop');\n });\n\n return function (_x8, _x9) {\n return _ref4.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * Reset user message steps\n */\n\n }, {\n key: 'clearUserMessagesSteps',\n value: function clearUserMessagesSteps() {\n var _this5 = this;\n\n Object.keys(this._userMessageSteps).forEach(function (type) {\n var step = _this5._userMessageSteps[type];\n step.done = false;\n if (step.buttonnext) {\n step.buttonnext.disabled = true;\n }\n });\n GUI.closeUserMessage();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'setBackButtonLabel',\n value: function setBackButtonLabel() {\n var label = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this.backbuttonlabel = label;\n }\n\n /**\n * @returns { null }\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'getBackButtonLabel',\n value: function getBackButtonLabel() {\n return this.backbuttonlabel;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @param step\n * @param tools\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'addToolsOfTools',\n value: function addToolsOfTools(_ref5) {\n var step = _ref5.step,\n _ref5$tools = _ref5.tools,\n tools = _ref5$tools === undefined ? [] : _ref5$tools;\n\n step.setToolsOfTools(this, tools);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'setHelpMessage',\n value: function setHelpMessage(message) {\n this.helpMessage = { help: message };\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getHelpMessage',\n value: function getHelpMessage() {\n return this.helpMessage;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n return this.getInputs().features;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'startFromLastStep',\n value: function startFromLastStep(options) {\n this.setSteps([this.getSteps().pop()]);\n return this.start(options);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getCurrentFeature',\n value: function getCurrentFeature() {\n var feats = this.getFeatures();\n return feats[feats.length - 1];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this.getInputs().layer;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * bind interupt event\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'escKeyUpHandler',\n value: function escKeyUpHandler(evt) {\n if (evt.keyCode === 27) {\n evt.data.workflow.reject();\n evt.data.callback();\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n $(document).on('keyup', { workflow: this, callback: callback }, this.escKeyUpHandler);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editingworkflow.js@v3.7.1\n * \n * @since g3w-client-editing@v3.8.0\n */\n\n }, {\n key: 'registerEscKeyEvent',\n value: function registerEscKeyEvent(callback) {\n var _this6 = this;\n\n this.on('start', function () {\n return _this6.bindEscKeyUp(callback);\n });\n this.on('stop', function () {\n return _this6.unbindEscKeyUp();\n });\n }\n }]);\n\n return Workflow;\n}(G3WObject);\n\n/** @type { Workflow[] } */\n\n\nvar workflows = [];\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/services/workflow.js@v3.9.1\n * \n * Store all activated workflows\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nWorkflow.Stack = {\n _workflows: workflows,\n push: function push(workflow) {\n return workflows.includes(workflow) ? workflows.indexOf(workflow) : workflows.push(workflow) - 1;\n },\n getParent: function getParent() {\n return workflows.slice(-2)[0];\n },\n getParents: function getParents() {\n return workflows.slice(0, -1);\n },\n pop: function pop() {\n return workflows.pop();\n },\n getLength: function getLength() {\n return workflows.length;\n },\n getFirst: function getFirst() {\n return workflows[0];\n },\n getCurrent: function getCurrent() {\n return Workflow.Stack.getLast();\n },\n getLast: function getLast() {\n return workflows.slice(-1)[0];\n },\n removeAt: function removeAt(i) {\n workflows.splice(i, 1);\n },\n insertAt: function insertAt(i, w) {\n workflows[i] = w;\n },\n getAt: function getAt(i) {\n return workflows[i];\n },\n clear: function clear() {\n while (workflows.length) {\n workflows.pop().stop();\n }\n }\n};\n\n},{\"../../components/UserMessage.vue\":9,\"../../utils/promisify\":58,\"./step\":14}],16:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Es tritt ein Fehler auf. Es ist nicht möglich, Layer zu bearbeiten\",\n some_layers: \"Es tritt ein Fehler auf: Es ist nicht möglich, einige Layer zu bearbeiten\"\n },\n search: \"Suche\",\n editing_changes: \"Änderungen bearbeiten\",\n editing_data: \"Layer bearbeiten\",\n editing_attributes: \"Attribute bearbeiten\",\n relations: \"Relationen\",\n edit_relation: \"Relation bearbeiten\",\n back_to_relations: \"Zurück zu Relationen\",\n no_relations_found: \"Keine Relationen gefunden\",\n relation_data: \"Relationsdaten\",\n relation_already_added: \"Relation bereits hinzugefügt\",\n list_of_relations_feature: \"Liste der Relations-Features \",\n tooltip: {\n edit_layer: \"Layer bearbeiten\"\n },\n toolbox: {\n title: 'bearbeiten'\n },\n table: {\n edit: \"Feature bearbeiten\",\n copy: \"Kopie erstellen\",\n delete: \"Feature löschen\"\n },\n tools: {\n copy: \"Features kopieren\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Teil zu Multipart hinzufügen\",\n deletepart: \"Teil aus Multipart löschen\",\n merge: \"Feature auflösen\",\n split: \"Feature trennen\",\n add_feature: \"Feature hinzufügen\",\n delete_feature: \"Feature löschen\",\n move_feature: \"Feature verschieben\",\n update_vertex: \"Feature vertex aktualisieren\",\n update_feature: \"Feature-Attribut aktualisieren\",\n update_multi_features: \"Attribute ausgewählter Features aktualisieren\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Messung anzeigen\",\n snap: \"Snap Layer\",\n snapall: \"Snap auf alle Layer\"\n },\n steps: {\n help: {\n select_elements: \"Features auswählen\",\n select_element: \"Feature auswählen\",\n copy: \"Neue Kopie der ausgewählten Features erstellen\",\n merge: \"Features auflösen\",\n split: \"Feature trennen\",\n new: \"Neues Feature erstellen\",\n edit_table: \"Features der Tabelle bearbeiten\",\n draw_new_feature: \"Feature auf Karte zeichnen\",\n action_confirm: \"Aktion bestätigen\",\n double_click_delete: \"Zu löschendes Feature auf der Karte auswählen\",\n edit_feature_vertex: \"Ändern oder Hinzufügen eines Eckpunktes auf dem ausgewählten Feature\",\n move: \"Ausgewähltes Feature verschieben\",\n select_feature_to_relation: \"Feature auswählen, welches die Relation verknüpft\",\n show_edit_feature_form: \"Feature-Formular zum Bearbeiten von Attributen anzeigen\",\n pick_feature: \"Zu änderndes Feature auf der Karte auswählen\",\n insert_attributes_feature: \"Attribute des Features einfügen\"\n }\n },\n workflow: {\n steps: {\n select: 'Zum Auswählen auf ein Feature klicken',\n draw_part: \"Neues Teil zeichnen\",\n draw_geometry: \"Geometrie zeichnen\",\n merge: 'Feature zum Auflösen auswählen',\n selectSHIFT: 'Features auswählen indem ein Rechteck mit SHIFT gezeichnet wird',\n selectDrawBox: \"Features auswählen, indem man ein Rechteck mit zwei gegenüberliegenden Eckpunkten zeichnet\",\n selectDrawBoxAtLeast2Feature: \"Mindestens Features auswählen, indem man ein Rechteck mit zwei gegenüberliegenden Eckpunkten zeichnet\",\n selectPoint: \"Zum Auswählen auf ein Feature klicken\",\n selectPointSHIFT: 'Features auswählen, indem ein Rechteck mit SHIFT gezeichnet wird (Multifeatures) oder auf ein Feature klicken',\n selectMultiPointSHIFT: 'Features auswählen, indem man ein Rechteck zeichnet und SHIFT drückt oder auf ein Feature klickt',\n selectMultiPointSHIFTAtLeast2Feature: 'Mindestens 2 Features auswählen und mit SHIFT ein Rechteck zeichnen oder auf ein Feature klicken',\n copyCTRL: 'Kopieren ausgewählter Features mit CTRL+C',\n selectStartVertex: 'Start-Eckpunkt der ausgewählten Features auswählen',\n selectToPaste: 'Den Punkt auswählen, an dem die ausgewählten Features eingefügt werden sollen',\n draw_split_line: \"Eine Linie zeichnen, um das ausgewählte Feature zu teilen\"\n },\n title: {\n steps: 'Schritte'\n },\n next: 'Weiter'\n },\n messages: {\n featureslockbyotheruser: \"Einige Geometrien/Datensätze können nicht bearbeitet werden, da sie von anderen Benutzern bearbeitet werden\",\n splitted: \"Getrennt\",\n nosplittedfeature: \"Feature nicht getrennt\",\n press_esc: \"Mit ESC zurück\",\n online: \"Wieder ONLINE. Jetzt kann man die Änderungen in der Datenbank speichern\",\n offline: \"OFFLINE. Alle Änderungen werden lokal gespeichert\",\n delete_feature: \"Soll das ausgewählte Feature gelöscht werden?\",\n delete_feature_relations: \"Wenn ein Feature Verknüpfungen beinhaltet, werden diese Relationen verwaist. Wir schlagen vor, diese Relationen zu behandeln, bevor das Feature gelöscht wird\",\n unlink_relation: \"Soll die Verknüpfung aufgehoben werden?\",\n commit_feature: \"Zusammenfassung der Änderungen\",\n toolbox_has_relation: \"Diese Ebene ist Teil einer Beziehung\",\n saved: \"Daten erfolgreich gespeichert\",\n saved_local: \"Daten erfolgreich lokal gespeichert\",\n loading_data: \"Daten laden\",\n saving: \"Daten werden gespeichert. Bitte warten ...\",\n constraints: {\n enable_editing: \"Bitte zoomen Sie hinein, um die Editier-Tools zu aktivieren \\nAktivierungsskala bei 1:\"\n },\n pdf: \"Dokumentenvorschau nicht verfügbar. Bitte hier klicken \",\n commit: {\n header: \"Die folgende Liste zeigt alle zu übernehmenden Änderungen.\",\n header_relation: \"Relation\",\n header_add: \"Hinzufgefügt Die Anzahl der hinzugefügten Features anzeigen\",\n header_update_delete: \"Bearbeitet und Gelöscht Die Liste der Feature-ID anzeigen\",\n add: \"Hinzugefügt\",\n delete: \"Gelöscht\",\n update: \"Bearbeitet\"\n },\n loading_table_data: \"Datentabelle wird erstellt. Bitte warten ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Vor dem Speichern müssen alle Pflichtfelder des eingegebenen features ausgefüllt werden\",\n no_feature_selected: \"Keine feature ausgewählt\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
W\\xE4hlen Sie Relationen aus, um sie mit dem aktuellen Feature zu verkn\\xFCpfen.
\"\n },\n draw_new_feature: \"Zeichnen Sie eine neue feature\",\n draw_or_copy: \"oder\",\n copy_feature_from_other_layer: \"Kopieren Sie feature aus einer anderen layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Zurück zur Bearbeitung des Vaters\",\n add_relation: \"Neue Relation erstellen und verknüpfen\",\n link_relation: \"Eine Relation zu diesem Feature herstellen\",\n open_relation_tools: \"Relationstools anzeigen\",\n unlink_relation: \"Relation trennen\"\n }\n },\n buttons: {\n save: \"Einfügung/Bearbeiten\",\n save_and_back: \"Speichern und zurück\",\n save_and_back_table: \"Speichern und zurück\",\n cancel: \"Änderungen ignorieren\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select one feature\"\n }\n }\n }\n};\n\n},{}],17:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"An error occurs. It's no possible to edit layers\",\n some_layers: \"An error occurs: It's no possible to edit some layers\",\n editing_multiple_relations: 'Editing multiple relationships is not currently supported'\n },\n search: \"Search\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Editing Layers\",\n editing_attributes: \"Editing attributes\",\n relations: \"Relations\",\n edit_relation: \"Edit relation\",\n back_to_relations: \"Back to Relations\",\n no_relations_found: \"No relations found\",\n relation_data: \"Relation data\",\n relation_already_added: \"Relation already added\",\n list_of_relations_feature: \"List of relations feature \",\n tooltip: {\n edit_layer: \"Edit Layer\",\n filter_by_relation: \"Filter layers by relation\"\n },\n toolbox: {\n title: 'Edit'\n },\n table: {\n edit: \"Edit feature\",\n copy: \"Create a copy\",\n delete: \"Delete feature\"\n },\n tools: {\n copy: \"Copy features\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Add part to multipart\",\n deletepart: \"Delete part from multipart\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n add_feature: \"Add feature\",\n delete_feature: \"Delete feature\",\n move_feature: \"Move feature\",\n update_vertex: \"Update feature vertex\",\n update_feature: \"Update feature attribute\",\n update_multi_features: \"Update attributes of selected features\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Select features\",\n select_element: \"Select feature\",\n copy: \"Create new copy of selected features\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n new: \"Create new feature\",\n edit_table: \"Edit table features\",\n draw_new_feature: \"Draw feature on map\",\n action_confirm: \"Confirm action\",\n double_click_delete: \"Select feature on map to delete\",\n edit_feature_vertex: \"Modify or add a vertex on selected feature\",\n move: \"Move selected feature\",\n select_feature_to_relation: \"Select feature that you bind relation\",\n show_edit_feature_form: \"Show feature form to edit attributes\",\n pick_feature: \"Select feature on map to modify\",\n insert_attributes_feature: \"Insert attributes of the feature\"\n }\n },\n workflow: {\n steps: {\n select: 'Click on feature to select',\n draw_part: \"Draw new part\",\n draw_geometry: \"Draw geometry\",\n merge: 'Select featurewhere dissolve',\n selectSHIFT: 'Select features drawing a rectangle pressing SHIFT',\n selectDrawBox: \"Select features drawing a rectangle by two point of opposite corners\",\n selectDrawBoxAtLeast2Feature: \"Select at least features drawing a rectangle by two point of opposite corners\",\n selectPoint: \"Click on feature to select\",\n selectPointSHIFT: 'Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature',\n selectMultiPointSHIFT: 'Select features drawing a rectangle pressing SHIFT or click on feature',\n selectMultiPointSHIFTAtLeast2Feature: 'Select at least 2 features drawing a rectangle pressing SHIFT or click on feature',\n copyCTRL: 'Copy selected features using CTRL+C',\n selectStartVertex: 'Select starting vertex of selected features',\n selectToPaste: 'Select the point where paste the features selected',\n draw_split_line: \"Draw a line to split selected feature\"\n },\n title: {\n steps: 'Steps'\n },\n next: 'Next'\n },\n messages: {\n featureslockbyotheruser: \"Some geometries/records are not editable because in editing by other user\",\n splitted: \"Splitted\",\n nosplittedfeature: \"Feature not spitted\",\n press_esc: \"Press ESC to back\",\n online: \"Back ONLINE. Now you can save your changes on database\",\n offline: \"You are OFFLINE. All changes are saved locally\",\n delete_feature: \"Do you want delete selected feature ?\",\n delete_feature_relations: \"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature\",\n unlink_relation: \"Do you want unlink relation?\",\n commit_feature: \"Summary of changes\",\n toolbox_has_no_geometry: \"this layer has no geometry\",\n toolbox_has_relation: \"this layer is part of a relation\",\n saved: \"Data saved successfully\",\n saved_local: \"Data saved locally successfully\",\n loading_data: \"Loading data\",\n saving: \"Saving data. Please wait ...\",\n constraints: {\n enable_editing: \"Please Zoom In to enable editing tools \\nActivation scale at 1:\"\n },\n pdf: \"Document preview not available. Please click here \",\n commit: {\n header: \"The following list show all changes to commit.\",\n header_relation: \"Relation\",\n header_add: \"Added show the number of features added\",\n header_update_delete: \"Modified and Deleted show the list of features id\",\n add: \"Added\",\n delete: \"Deleted\",\n update: \"Updated\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Select relations to link it to current editing feature.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Create and link new relation\",\n link_relation: \"Join a relation to this feature\",\n open_relation_tools: \"Show relation tools\",\n unlink_relation: \"Unlink relation\"\n }\n },\n buttons: {\n save: \"Insert/Edit\",\n save_and_back: \"Save and Back\",\n save_and_back_table: \"Save and Back\",\n cancel: \"Ignore Changes\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],18:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Tapahtui virhe. Tasoja ei ole mahdollista muokata.\",\n some_layers: \"Tapahtui virhe. Jotkin tasot eivät ole muokattavissa.\"\n },\n search: \"Haku\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Muokataan tasoja\",\n editing_attributes: \"Muokataan attribuutteja\",\n relations: \"Relaatiot\",\n edit_relation: \"Muokkaa relaatiota\",\n back_to_relations: \"Takaisin relaatioihin\",\n no_relations_found: \"Relaatioita ei löytynyt\",\n relation_data: \"Relaation tiedot\",\n relation_already_added: \"Relaatio on jo lisätty\",\n list_of_relations_feature: \"Lista relaation ominaisuuksista\",\n tooltip: {\n edit_layer: \"Muokkaa tasoa\"\n },\n toolbox: {\n title: 'Muokkaa'\n },\n table: {\n edit: \"Muokkaa ominaisuutta\",\n copy: \"Luo kopio\",\n delete: \"Poista ominaisuus\"\n },\n tools: {\n copy: \"Kopio ominaisuuksia\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Lisää osa\",\n deletepart: \"Poista osa\",\n merge: \"Yhdistä ominaisuudet\",\n split: \"Leikkaa ominaisuus\",\n add_feature: \"Lisää ominaisuus\",\n delete_feature: \"Poista ominaisuus\",\n move_feature: \"Siirrä ominaisuutta\",\n update_vertex: \"Päivitä pisteen ominaisuutta\",\n update_feature: \"Päivitä ominaisuus\",\n update_multi_features: \"Muokkaa valittujen ominaisuuksien attribuutteja\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Valitse ominaisuudet\",\n select_element: \"Valitse ominaisuus\",\n copy: \"Luo kopio valituista ominaisuuksista\",\n merge: \"Yhdistä ominaisuudet\",\n split: \"Leikkaa ominaisuus\",\n new: \"Luo uusi ominaisuus\",\n edit_table: \"Muuta taulun ominaisuuksia\",\n draw_new_feature: \"Piirrä ominaisuus kartalle\",\n action_confirm: \"Hyväksy toiminto\",\n double_click_delete: \"Valitse poistettava ominaisuus kartalta\",\n edit_feature_vertex: \"Muuta pistettä tai lisää piste valittuun ominaisuuteen\",\n move: \"Siirrä valittu ominaisuus\",\n select_feature_to_relation: \"Valitse relaatio\",\n show_edit_feature_form: \"Näytä ominaisuuslomake muokataksesi attribuutteja\",\n pick_feature: \"Valitse muokattava ominaisuus kartalta\",\n insert_attributes_feature: \"Lisää ominaisuuden attribuutit\"\n }\n },\n workflow: {\n steps: {\n select: 'Valitse ominaisuus',\n draw_part: \"Piirrä uusi osa\",\n merge: 'Valitse ominaisuus yhdistääksesi',\n draw_geometry: \"Piirrä geometria\",\n selectSHIFT: 'Paina SHIFT, jos haluat valita kohteita suorakulmiovalinnalla.', //Tero 10.12.2020\n selectDrawBox: \"Piirrä suorakulmio, jonka siältä kohteet valitaan \", //Tero 10.12.2020\n selectDrawBoxAtLeast2Feature: \"Piirrä suorakulmio, jonka siältä kohteet vähintään 2 valitaan \",\n selectPoint: \"Valitse ominaisuus\",\n selectPointSHIFT: 'Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n selectMultiPointSHIFT: 'Paina SHIFT, jos haluat valita ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n selectMultiPointSHIFTAtLeast2Feature: 'Paina SHIFT, jos haluat valita vähintään 2 ominaisuuksia suorakulmiovalinnalla, tai valitse yksittäinen ominaisuus.',\n copyCTRL: 'CTRL+C, voit kopioida valitut ominaisuudet.', //Tero 10.12.2020\n selectStartVertex: 'Osoita valittujen ominaisuuksien alkupiste.',\n selectToPaste: 'Valitse kohta, johon liität valitut ominaisuudet.',\n draw_split_line: \"Piirrä viiva, jonka mukaan valittu ominaisuus jaetaan.\"\n },\n title: {\n steps: 'Vaiheet'\n },\n next: \"Seuraava\"\n },\n messages: {\n featureslockbyotheruser: \"Some features are locked by another user\",\n splitted: \"Jaettu\",\n nosplittedfeature: \"Ominaisuutta ei jaettu\",\n press_esc: \"Paina ESC palataksesi\",\n online: \"Yhteys muodostettu. Muutokset voidaan tallentaa tietokantaan.\",\n offline: \"Olet offline-tilassa. Muutokset tallennetaan paikallisesti\",\n delete_feature: \"Haluatko poistaa valitun ominaisuuden?\",\n delete_feature_relations: \"Mikäli ominaisuudella on sitovia relaatioita, näistä relaatiosta tulee orpoja. Suosittelemme käsittelemään nämä relaatiot ennen poistamista\",\n unlink_relation: \"Haluatko poistaa relaation?\",\n commit_feature: \"Yhteenveto muutoksista\",\n toolbox_has_relation: \"tämä kerros on osa relaatiota\",\n saved: \"Tiedot tallennettu onnistuneesti\",\n saved_local: \"Tiedot on tallennettu onnistuneesti paikallisesti.\",\n loading_data: \"Ladataan tietoja\",\n saving: \"Tallentaan tietoja. Odota...\",\n constraints: {\n enable_editing: \"Lähennä ottaaksesi muokkaustyökalut käyttöön \\nAktivointi mittakaava 1:\"\n },\n pdf: \"Dokumentin esikatselu ei ole saatavilla. Paina tästä \",\n commit: {\n header: \"Seuraava luettelo näyttää kaikki muutokset.\",\n header_relation: \"Relation\",\n header_add: \"Lisätty näytä lisättyjen ominaisuuksien lukumäärä\",\n header_update_delete: \"Muokattu ja Poistettu Näytä listä ominaisuuksien id:stä\",\n add: \"Lisätty\",\n delete: \"Poistettu\",\n update: \"Muokattu\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Valitse relaatiota linkitt\\xE4\\xE4ksesi ne muokattavaan ominaisuuteen.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Luo ja linkitä uusi relaatio\",\n link_relation: \"Liitä relaatio tähän ominaisuuteen\",\n open_relation_tools: \"Näytä relaatiotyökalut\",\n unlink_relation: \"Poista relaatio\"\n }\n },\n buttons: {\n save: \"Lisää/muokkaa\",\n save_and_back: \"Tallenna ja palaa\",\n save_and_back_table: \"Tallenna ja palaa\",\n cancel: \"Peruuta\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],19:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Une erreur s'est produite lors du chargement des layers dans l'édition.\",\n some_layers: \"Une erreur s'est produite lors du chargement de certaines layers dans l'édition.\"\n },\n search: \"Recherche\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Modifier les donnes\",\n editing_attributes: \"Modifier les attributs\",\n relations: \"Relations\",\n edit_relation: \"Modifier la relation\",\n back_to_relations: \"Retour aux relations\",\n no_relations_found: \"Il n'y a pas de relations\",\n relation_data: \"Données sur les relations\",\n relation_already_added: \"Relation déjà présente\",\n list_of_relations_feature: \"Lister les relations de la fonctionnalité\",\n tooltip: {\n edit_layer: \"Modifier le layer\"\n },\n toolbox: {\n title: 'Modifier'\n },\n table: {\n edit: \"Modifier fonctionnalités\",\n copy: \"Créer une copie\",\n delete: \"Supprimer la fonctionnalité\"\n },\n tools: {\n copy: \"Copier les fonctionnalités\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Ajouter une pièce à la géométrie\",\n deletepart: \"Supprimer la partie de la géométrie\",\n merge: \"Dissoudre les fonctionnalités\",\n split: \"Couper la fonctionnalité\",\n add_feature: \"Ajouter une fonctionnalité\",\n delete_feature: \"Supprimer la fonctionnalité\",\n move_feature: \"Déplacez la fonctionnalité\",\n update_vertex: \"Mettre à jour les sommets des fonctionnalités\",\n update_feature: \"Modifier les attributs des fonctionnalités\",\n update_multi_features: \"Modifier les attributs des fonctionnalités sélectionnées\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Sélectionner les fonctionnalités\",\n select_element: \"Sélectionner une fonctionnalité\",\n copy: \"Créer une copie des fonctionnalités sélectionnées\",\n merge: \"Dissoudre les fonctionnalités\",\n split: \"Couper la fonctionnalité\",\n new: \"Créer une nouvelle fonctionnalité\",\n edit_table: \"Modifier les fonctionnalités de la table\",\n draw_new_feature: \"Dessiner une fonctionnalité sur la carte\",\n action_confirm: \"Confirmer l'action\",\n double_click_delete: \"Sélectionner la fonctionnalité sur la carte à supprimer\",\n edit_feature_vertex: \"Modifier ou ajouter un sommet à la fonctionnalité sélectionnée\",\n move: \"Déplacer la fonctionnalité sélectionnée\",\n select_feature_to_relation: \"Sélectionner la fonctionnalité que vous souhaitez mettre en relation\",\n show_edit_feature_form: \"Afficher le formulaire de la fonctionnalité permettant de modifier les attributs\",\n pick_feature: \"Sélectionner l'élément de la carte à modifier\",\n insert_attributes_feature: \"Insérer les attributs de la fonctionnalité\"\n }\n },\n workflow: {\n steps: {\n select: 'Cliquer sur la fonctionnalité à sélectionner',\n draw_part: \"Dessiner la nouvelle partie\",\n draw_geometry: \"Dessiner la géométrie\",\n merge: 'Sélectionner la fonction à introduire en fondu',\n selectPoint: \"Cliquer sur la fonctionnalité pour la sélectionner\",\n selectSHIFT: 'Sélectionner des fonctionnalités en maintenant la touche SHIFT enfoncée',\n selectDrawBox: \"Sélectionner les fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale\",\n selectDrawBoxAtLeast2Feature: \"Sélectionner au moins 2 fonctionnalités en dessinant un rectangle par la création des deux points de la diagonale\",\n selectPointSHIFT: 'Sélectionner des caractéristiques en maintenant la touche SHIFT enfoncée (multi-sélection) ou en cliquant sur une seule caractéristique',\n selectMultiPointSHIFT: 'Sélectionner des fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle',\n selectMultiPointSHIFTAtLeast2Feature: 'Sélectionner au moins 2 fonctionnalités en maintenant la touche SHIFT appuyée ou en cliquant sur la fonctionnalité individuelle',\n copyCTRL: 'Copier les fonctionnalités sélectionnées avec CTRL+C',\n selectStartVertex: 'Sélectionner le sommet de départ des fonctionnalités choisies',\n selectToPaste: 'Sélectionner le point où les fonctionnalités sélectionnées seront collées',\n draw_split_line: \"Tracez une ligne pour couper la fonctionnalité sélectionnée\"\n },\n title: {\n steps: 'Étapes'\n },\n next: 'Suivant'\n },\n messages: {\n featureslockbyotheruser: \"Certaines géométries/enregistrements ne sont pas modifiables car ils ont été modifiés par un autre utilisateur\",\n splitted: \"Fonctionnalité(s) divisé(es)\",\n nosplittedfeature: \"La (les) fonctionnalité(s) n’a (n'ont) pas été divisé(es)\",\n press_esc: \"Appuyez sur ESC pour revenir\",\n online: \"Vous êtes à nouveau EN LIGNE. Vous pouvez enregistrer les modifications de façon permanente\",\n offline: \"Vous êtes HORS LIGNE. Toutes les modifications seront enregistrées temporairement en local\",\n delete_feature: \"Voulez-vous supprimer la fonctionnalité sélectionnée ?\",\n delete_feature_relations: \"La suppression d'une fonctionnalité avec des relations associées laissera ces relations orphelines. Il est recommandé de gérer ces relations avant de supprimer la fonctionnalité\",\n unlink_relation: \"Voulez-vous détacher la relation ?\",\n commit_feature: \"Sommaire des changements\",\n toolbox_has_relation: \"cette couche fait partie d'une relation\",\n saved: \"Les données ont été enregistrées correctement\",\n saved_local: \"Les données ont été correctement sauvegardées localement\",\n loading_data: \"Chargement des données\",\n saving: \"Sauvegarde des données. Veuillez patienter ...\",\n constraints: {\n enable_editing: \"Augmenter le niveau de zoom pour permettre l'édition \\nEchelle de déclenchement 1 :\"\n },\n pdf: \"Aperçu du document non disponible. Cliquez ici \",\n commit: {\n header: \"La liste ci-dessous montre toutes les modifications qui seront enregistrées.\",\n header_relation: \"Relation\",\n header_add: \"Ajouts indique le nombre de fonctionnalités ajoutées\",\n header_update_delete: \"Modifié e Supprimé liste les ids\",\n add: \"Ajouté\",\n delete: \"Supprimé\",\n update: \"Modifié\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Avant d'enregistrer, il est nécessaire de remplir tous les champs obligatoires du features saisi\",\n no_feature_selected: \"Aucune feature sélectionnée\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
S\\xE9lectionner les relations pour les associer \\xE0 l'\\xE9l\\xE9ment en cours d'\\xE9dition.
\"\n },\n draw_new_feature: \"Dessiner une nouvelle feature\",\n draw_or_copy: \"ou\",\n copy_feature_from_other_layer: \"Copier feature d'une autre layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Créer et ajouter une nouvelle relation\",\n link_relation: \"Associer une relation existante à cette fonctionnalité\",\n open_relation_tools: \"Outils de relation ouverte\",\n unlink_relation: \"Annuler la relation\"\n }\n },\n buttons: {\n save: \"Insérer/Modifier\",\n save_and_back: \"Sauvegarder et retourner au parent\",\n save_and_back_table: \"Sauvegarder et et revenir en arrière\",\n cancel: \"Ignorer modifications\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],20:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _it = require('./it');\n\nvar _it2 = _interopRequireDefault(_it);\n\nvar _en = require('./en');\n\nvar _en2 = _interopRequireDefault(_en);\n\nvar _fi = require('./fi');\n\nvar _fi2 = _interopRequireDefault(_fi);\n\nvar _se = require('./se');\n\nvar _se2 = _interopRequireDefault(_se);\n\nvar _fr = require('./fr');\n\nvar _fr2 = _interopRequireDefault(_fr);\n\nvar _de = require('./de');\n\nvar _de2 = _interopRequireDefault(_de);\n\nvar _ro = require('./ro');\n\nvar _ro2 = _interopRequireDefault(_ro);\n\nvar _pl = require('./pl');\n\nvar _pl2 = _interopRequireDefault(_pl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n it: _it2.default,\n en: _en2.default,\n fi: _fi2.default,\n se: _se2.default,\n fr: _fr2.default,\n de: _de2.default,\n ro: _ro2.default,\n pl: _pl2.default\n};\n\n},{\"./de\":16,\"./en\":17,\"./fi\":18,\"./fr\":19,\"./it\":21,\"./pl\":22,\"./ro\":23,\"./se\":24}],21:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"Terminare l'editing dei singoli layer per chiudere la sessione\"\n },\n errors: {\n no_layers: \"Si è verificato un errore nel caricamento dei layers in editing.\",\n some_layers: \"Si è verificato un errore nel caricamento di alcuni layers in editing\",\n editing_multiple_relations: 'Le modifica di relazioni multiple non è attualmente supportata'\n },\n search: \"Cerca\",\n editing_changes: \"Modifiche Editing\",\n editing_data: \"Modifica dati\",\n editing_attributes: \"Edita attributi\",\n relations: \"Relazioni\",\n edit_relation: \"Edita relazione\",\n back_to_relations: \"Ritorna alle Relazioni\",\n no_relations_found: \"Non ci sono relazioni\",\n relation_data: \"Dati relativi alla relazione\",\n relation_already_added: \"Relazione già presente\",\n list_of_relations_feature: \"Elenco Relazioni della feature \",\n tooltip: {\n edit_layer: \"Modifica livello\",\n filter_by_relation: \"Filtra i livelli per relazione\"\n },\n toolbox: {\n title: 'Edita'\n },\n table: {\n edit: \"Edita feature\",\n copy: \"Crea una copia\",\n delete: \"Cancella feature\"\n },\n tools: {\n copy: \"Copia elementi\",\n pastefeaturesfromotherlayers: \"Incolla elemento da altro livello\",\n addpart: \"Aggiungi parte alla geometria\",\n deletepart: \"Cancella parte dalla geometria\",\n merge: \"Dissolvi elementi\",\n split: \"Dividi elementi\",\n add_feature: \"Aggiungi elemento\",\n delete_feature: \"Elimina elemento\",\n move_feature: \"Muovi elemento\",\n update_vertex: \"Aggiorna vertici elemento\",\n update_feature: \"Modifica attributi elemento\",\n update_multi_features: \"Modifica gli attributi degli elementi selezionati\",\n update_multi_features_relations: \"Modifica gli attributi di tutte le relazioni selezionate\",\n copyfeaturefromexternallayer: \"Crea elemento da un livello esterno\"\n },\n toolsoftool: {\n measure: \"Visualizza misura\",\n snap: \"Snap sul layer\",\n snapall: \"Snap su tutti i layer\"\n },\n steps: {\n help: {\n select_elements: \"Seleziona le geometrie\",\n select_element: \"Seleziona l'elemento\",\n copy: \"Crea una copia degli elementi selezionati\",\n merge: \"Dissolvi elementi\",\n split: \"Dvidi elemento\",\n new: \"Crea un nuovo elemento\",\n edit_table: \"Modifica gli elementi della tabella\",\n draw_new_feature: \"Disegna la nuova geometria\",\n action_confirm: \"Conferma azione\",\n double_click_delete: \"Seleziona la geometria sulla mappa da cancellare\",\n edit_feature_vertex: \"Modifica o aggiungi un vertice alla geometria selezionata\",\n move: \"Muovi la geometria selezionata\",\n select_feature_to_relation: \"Seleziona la geometria che vuoi mettere in relazione\",\n show_edit_feature_form: \"Mostra il modulo per modificare gli attributi del'elemento\",\n pick_feature: \"Seleziona la geometria da modificare dalla mappa\",\n insert_attributes_feature: \"Inserisci gli attributi dell'elemento\"\n }\n },\n\n workflow: {\n steps: {\n select: 'Seleziona una geometria',\n draw_part: \"Disegna il nuovo elemento da aggiungere alla geometria\",\n draw_geometry: \"Disegna la geometria\",\n merge: 'Seleziona la geometria su cui dissolvere',\n selectPoint: \"Clicca sulla geometria per selezionarla\",\n selectSHIFT: 'Seleziona le geometrie tenedo premuto il tasto SHIFT',\n selectDrawBox: \"Seleziona le geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale\",\n selectDrawBoxAtLeast2Feature: \"Seleziona almeno 2 geometrie disegnando un rettangolo mediante la creazione dei due punti della diagonale\",\n selectPointSHIFT: 'Seleziona le geometrie
MAIUSC+DRAG seleziona più elementi in un area',\n selectMultiPointSHIFT: 'Seleziona le geometrie
SHIFT+DRAG seleziona più elementi in un area',\n selectMultiPointSHIFTAtLeast2Feature: 'Seleziona almeno 2 geometrie
SHIFT+DRAG seleziona più elementi in un area',\n copyCTRL: 'Copia le geometrie selezionate con CTRL+C',\n selectStartVertex: 'Seleziona il vertice di partenza',\n selectToPaste: 'Seleziona il punto dove verranno incollate le geometrie',\n draw_split_line: \"Disegna una linea per dividere la geometria selezionata\"\n },\n title: {\n steps: 'Passi'\n },\n next: 'Avanti'\n },\n messages: {\n featureslockbyotheruser: \"Ci sono alcune geometrie/records non editabili perchè in modifica da altri utenti\",\n splitted: \"Feature(s) splittata(e)\",\n nosplittedfeature: \"La(e) feature(s) non è stata splittata\",\n press_esc: \"Premi ESC per tornare indietro\",\n online: \"Ora sei di nuovo ONLINE. Puoi slavare le modifiche in modo permanente\",\n offline: \"Sei OFFLINE. Tutte le modifiche saranno salvate temporaneamente in locale\",\n delete_feature: \"Vuoi eliminare l'elemento selezionato?\",\n delete_feature_relations: \"Cancellando una feature con relazioni associate, tale relazioni rimarranno orfane. Si consiglia di gestire tali relazioni prima di cancellare la feature\",\n unlink_relation: \"Vuoi staccare la relazione?\",\n commit_feature: \"Riepilogo modifiche\",\n toolbox_has_no_geometry: \"questo livello non ha geometria\",\n toolbox_has_relation: \"questo livello fa parte di una relazione\",\n saved: \"I dati sono stati salvati correttamente\",\n saved_local: \"I dati sono stati salvati correttamente in locale\",\n loading_data: \"Caricamento dati\",\n saving: \"Salvataggio dati in corso. Attendere ...\",\n constraints: {\n enable_editing: \"Ingrandisci per modificare \\nScala di attivazione 1:\"\n },\n pdf: \"Anteprima del documento non disponibile. Clicca qui \",\n commit: {\n header: \"La lista sotto riporta tutte le modifiche che verranno salvate.\",\n header_relation: \"Relazione\",\n header_add: \"Aggiunte riporta il numero delle features aggiunte\",\n header_update_delete: \"Modificate e Cancellate riporta la lista degli id\",\n add: \"Aggiunte\",\n delete: \"Cancellate\",\n update: \"Aggiornate\"\n },\n loading_table_data: \"Costruzione tabella dati in corso. Attendere ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Necessario compilare eventuali campi obbligatori sulle features incollate prima del salvataggio\",\n no_feature_selected: \"Nessuna feature selezionata\",\n select_min_2_features: 'Seleziona come minimo due features'\n },\n relation: {\n table: {\n info: \"
Seleziona le relazioni per associarle alla feature in editing.
\"\n },\n draw_new_feature: \"Disegna nuova geometria\",\n draw_or_copy: \"oppure\",\n copy_feature_from_other_layer: \"Copia geometria da altro layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Torna ad editare il padre\",\n add_relation: \"Crea ed aggiungi nuova relazione\",\n link_relation: \"Associa una relazione esistente a questa feature\",\n open_relation_tools: \"Apri strumenti relatione\",\n unlink_relation: \"Annulla relazione\"\n }\n },\n buttons: {\n save: \"Inserisci/Modifica\",\n save_table: 'Modifica',\n save_and_back: \"Salva e torna al padre\",\n save_and_back_table: \"Salva e torna indietro\",\n cancel: \"Ignora Modifiche\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Seleziona layer\",\n edit_attributes: \"Edita attributi delle features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Seleziona una feature\"\n }\n }\n }\n};\n\n},{}],22:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n errors: {\n no_layers: \"An error occurs. It's no possible to edit layers\",\n some_layers: \"An error occurs: It's no possible to edit some layers\"\n },\n search: \"Search\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Editing Layers\",\n editing_attributes: \"Editing attributes\",\n relations: \"Relations\",\n edit_relation: \"Edit relation\",\n back_to_relations: \"Back to Relations\",\n no_relations_found: \"No relations found\",\n relation_data: \"Relation data\",\n relation_already_added: \"Relation already added\",\n list_of_relations_feature: \"List of relations feature \",\n tooltip: {\n edit_layer: \"Edit Layer\"\n },\n toolbox: {\n title: 'Edit'\n },\n table: {\n edit: \"Edit feature\",\n copy: \"Create a copy\",\n delete: \"Delete feature\"\n },\n tools: {\n copy: \"Copy features\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Add part to multipart\",\n deletepart: \"Delete part from multipart\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n add_feature: \"Add feature\",\n delete_feature: \"Delete feature\",\n move_feature: \"Move feature\",\n update_vertex: \"Update feature vertex\",\n update_feature: \"Update feature attribute\",\n update_multi_features: \"Update attributes of selected features\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Select features\",\n select_element: \"Select feature\",\n copy: \"Create new copy of selected features\",\n merge: \"Dissolve features\",\n split: \"Split Feature\",\n new: \"Create new feature\",\n edit_table: \"Edit table features\",\n draw_new_feature: \"Draw feature on map\",\n action_confirm: \"Confirm action\",\n double_click_delete: \"Select feature on map to delete\",\n edit_feature_vertex: \"Modify or add a vertex on selected feature\",\n move: \"Move selected feature\",\n select_feature_to_relation: \"Select feature that you bind relation\",\n show_edit_feature_form: \"Show feature form to edit attributes\",\n pick_feature: \"Select feature on map to modify\",\n insert_attributes_feature: \"Insert attributes of the feature\"\n }\n },\n workflow: {\n steps: {\n select: 'Click on feature to select',\n draw_part: \"Draw new part\",\n merge: 'Select featurewhere dissolve',\n selectSHIFT: 'Select features drawing a rectangle pressing SHIFT',\n selectDrawBox: \"Select features drawing a rectangle by two point of opposite corners\",\n selectDrawBoxAtLeast2Feature: \"Select at least features drawing a rectangle by two point of opposite corners\",\n selectPoint: \"Click on feature to select\",\n selectPointSHIFT: 'Select features drawing a rectangle pressing SHIFT (multifeatures) or click on one feature',\n selectMultiPointSHIFT: 'Select features drawing a rectangle pressing SHIFT or click on feature',\n selectMultiPointSHIFTAtLeast2Feature: 'Select at least 2 features drawing a rectangle pressing SHIFT or click on feature',\n copyCTRL: 'Copy selected features using CTRL+C',\n selectStartVertex: 'Select starting vertex of selected features',\n selectToPaste: 'Select the point where paste the features selected',\n draw_split_line: \"Draw a line to split selected feature\"\n },\n title: {\n steps: 'Steps'\n },\n next: 'Next'\n },\n messages: {\n featureslockbyotheruser: \"Some geometries/records are not editable because in editing by other user\",\n splitted: \"Splitted\",\n nosplittedfeature: \"Feature not spitted\",\n press_esc: \"Press ESC to back\",\n online: \"Back ONLINE. Now you can save your changes on database\",\n offline: \"You are OFFLINE. All changes are saved locally\",\n delete_feature: \"Do you want delete selected feature ?\",\n delete_feature_relations: \"If feature has bindings relations, these relations become orphans. We suggest to handle these relations before detele this feature\",\n unlink_relation: \"Do you want unlink relation?\",\n commit_feature: \"Do you want to save the changes\",\n toolbox_has_relation: \"this layer is part of a relation\",\n saved: \"Data saved successfully\",\n saved_local: \"Data saved locally successfully\",\n loading_data: \"Loading data\",\n saving: \"Saving data. Please wait ...\",\n constraints: {\n enable_editing: \"Please Zoom In to enable editing tools \\nActivation scale at 1:\"\n },\n pdf: \"Document preview not available. Please click here \",\n commit: {\n header: \"The following list show all changes to commit.\",\n header_add: \"Added show the number of features added\",\n header_update_delete: \"Modified and Deleted show the list of features id\",\n add: \"Added(n. features)\",\n delete: \"Deleted(id)\",\n update: \"Modified(id)\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Select relations to link it to current editing feature.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Create and link new relation\",\n link_relation: \"Join a relation to this feature\",\n open_relation_tools: \"Show relation tools\",\n unlink_relation: \"Unlink relation\"\n }\n },\n buttons: {\n save: \"Insert/Edit\",\n save_and_back: \"Save and Back\",\n save_and_back_table: \"Save and Back\",\n cancel: \"Ignore Changes\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],23:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Avem o eroare. Straturile nu sunt editabile\",\n some_layers: \"Avem o eroare: Anumite straturi nu se pot edita\"\n },\n search: \"Caută\",\n editing_changes: \"Modificare schimbări\",\n editing_data: \"Modificare straturi\",\n editing_attributes: \"Modificare atribute\",\n relations: \"Relații\",\n edit_relation: \"Modifică relația\",\n back_to_relations: \"Înapoi la Relații\",\n no_relations_found: \"Nu am găsit relații\",\n relation_data: \"Date relații\",\n relation_already_added: \"Relație adăugată deja\",\n list_of_relations_feature: \"Lista relații entitatea \",\n tooltip: {\n edit_layer: \"Modifică strat\"\n },\n toolbox: {\n title: 'Modifică'\n },\n table: {\n edit: \"Modifică entitate\",\n copy: \"Creează o copie\",\n delete: \"Elimină entitatea\"\n },\n tools: {\n copy: \"Copiază entitățile\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Adaugă o parte la multiparte\",\n deletepart: \"Elimină partea din multiparte\",\n merge: \"Dizolvare entități\",\n split: \"Divizare Entitate\",\n add_feature: \"Adaugă entitate\",\n delete_feature: \"Eliminare entitate\",\n move_feature: \"Mută entitate\",\n update_vertex: \"Actualizează vertecșii entității\",\n update_feature: \"Actualizează atributul entității\",\n update_multi_features: \"Actualizează atributele entităților selectate\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Arată măsurătorile\",\n snap: \"Acroșare strat\",\n snapall: \"Acroșare pe toate straturile\"\n },\n steps: {\n help: {\n select_elements: \"Selectează entități\",\n select_element: \"Selectează entitate\",\n copy: \"Creează o nouă copie a entităților selectate\",\n merge: \"Dizolvă entitățile\",\n split: \"Divizare Entitate\",\n new: \"Creează o entitate\",\n edit_table: \"Modifică entitățile tabelare\",\n draw_new_feature: \"Desenează entitate pe hartă\",\n action_confirm: \"Confirmă acțiunea\",\n double_click_delete: \"Selectează entitatea de eliminat din hartă\",\n edit_feature_vertex: \"Modifică sau adaugă un vertex la entitatea selectată\",\n move: \"Mută entitatea selectată\",\n select_feature_to_relation: \"Selectează entitate pentru relaționare\",\n show_edit_feature_form: \"Arată formularul entității pentru modificări\",\n pick_feature: \"Selectează entitățile de modificat din hartă\",\n insert_attributes_feature: \"Inserează atributele entității\"\n }\n },\n workflow: {\n steps: {\n select: 'Click pe entitate pentru a o selecta',\n draw_part: \"Desenează o parte nouă\",\n draw_geometry: \"Desenați geometria\",\n merge: 'Selectează partea de dizolvat',\n selectSHIFT: 'Selectează entități prin desen triunghi apăsând SHIFT',\n selectDrawBox: \"Selectează entități desenând un dreptunghi prin două puncte opuse\",\n selectDrawBoxAtLeast2Feature: \"Selectează cel puțin 2 entități prin desenul unui dreptunghi\",\n selectPoint: \"Click pe entitate pentru selectare\",\n selectPointSHIFT: 'Selectează entități prin desen dreptunghi apăsând SHIFT (multientități) sau prin click pe entitate',\n selectMultiPointSHIFT: 'Selectează entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate',\n selectMultiPointSHIFTAtLeast2Feature: 'Selectează cel puțin 2 entități prin desen dreptunghi apăsând SHIFT sau prin click pe entitate',\n copyCTRL: 'Copiază entitățile selectate folosint CTRL+C',\n selectStartVertex: 'Selectează vertexul de start a entităților selectate',\n selectToPaste: 'Selectează punctul unde să lipim entitățile selectate',\n draw_split_line: \"Desenează o linie pentru a diviza entitatea selectată\"\n },\n title: {\n steps: 'Pași'\n },\n next: 'Următorul'\n },\n messages: {\n featureslockbyotheruser: \"Unele geometrii/înregistrări nu sunt editabile deoarece sunt editate de către alt utilizator\",\n splitted: \"Divizat\",\n nosplittedfeature: \"Entitate nedivizată\",\n press_esc: \"ESC pentru înapoi\",\n online: \"Înapoi ONLINE. Acum se pot salva schimbările\",\n offline: \"OFFLINE. Schimbările sunt salvate local\",\n delete_feature: \"Șterg entitatea selectată?\",\n delete_feature_relations: \"Dacă entitatea are relații care trimit la ea, acele relații devin orfane. Sugerăm să vă ocupați de acele elemente înainte să eliminați această entitate.\",\n unlink_relation: \"Dorești să eliminați legătura cu relația?\",\n commit_feature: \"Rezumatul modificărilor\",\n toolbox_has_relation: \"acest strat face parte dintr-o relație\",\n saved: \"Datele sunt salvate\",\n saved_local: \"Datele s-au salvat local\",\n loading_data: \"Datele se încarcă.\",\n saving: \"Salvăm datele. Așteptați ...\",\n constraints: {\n enable_editing: \"Pentru a activa Modificare faceți zoom la \\nScara de activare 1:\"\n },\n pdf: \"Previzualizarea documentului nu este disponibilă. Click aici \",\n commit: {\n header: \"Lista cu toate modificările.\",\n header_relation: \"Relation\",\n header_add: \"Adăugate arată nr. de entități adăugate\",\n header_update_delete: \"Modificate și Șterse arată lista de id-uri de entități\",\n add: \"Adăugate\",\n delete: \"Eliminate\",\n update: \"Modificate\"\n },\n loading_table_data: \"Încărcăm tabelul de date ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"Înainte de a salva, este necesar să completați toate câmpurile obligatorii ale entități introduse\",\n no_feature_selected: \"Nicio feature selectată\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
Selecteaz\\u0103 rela\\u021Biile pentru a face leg\\u0103tura cu entitatea curent\\u0103.
\"\n },\n draw_new_feature: \"Desenați o nouă feature\",\n draw_or_copy: \"sau\",\n copy_feature_from_other_layer: \"Copiați feature dintr-un alt layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Înapoi la modificările entității părinte\",\n add_relation: \"Creează și fă legătura unei relații noi\",\n link_relation: \"Leagă o relație de entitate\",\n open_relation_tools: \"Arată instrumentele pentru relații\",\n unlink_relation: \"Elimină legătura la relație\"\n }\n },\n buttons: {\n save: \"Inserați/Editați\",\n save_and_back: \"Salvează și dă înapoi\",\n save_and_back_table: \"Salvează și dă înapoi\",\n cancel: \"Ignorați modificările\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],24:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n close_editing_panel: {\n message: \"To close editing form need to exit from editing layer\"\n },\n errors: {\n no_layers: \"Ett fel uppstod. Nivåerna kan inte redigeras.\",\n some_layers: \"Ett fel uppstod. Vissa nivåer kan inte redigeras.\"\n },\n search: \"Sökning\",\n editing_changes: \"Editing Changes\",\n editing_data: \"Nivåerna redigeras\",\n editing_attributes: \"Attributen redigeras\",\n relations: \"Relationer\",\n edit_relation: \"Redigera relationen\",\n back_to_relations: \"Tillbaka till relationerna\",\n no_relations_found: \"Inga relationer hittades\",\n relation_data: \"Relationsuppgifter\",\n relation_already_added: \"Relationen har redan lagts till\",\n list_of_relations_feature: \"Lista på relationens egenskaper\",\n tooltip: {\n edit_layer: \"Redigera nivån\"\n },\n toolbox: {\n title: 'Redigera'\n },\n table: {\n edit: \"Redigera egenskap\",\n copy: \"Skapa en kopia\",\n delete: \"Ta bort egenskap\"\n },\n tools: {\n copy: \"Kopiera egenskaper\",\n pastefeaturesfromotherlayers: \"Paste features from other layer\",\n addpart: \"Lägg till del\",\n deletepart: \"Ta bort del\",\n merge: \"Slå samman egenskaper\",\n split: \"Dela upp egenskap\",\n add_feature: \"Lägg till egenskap\",\n delete_feature: \"Ta bort egenskap\",\n move_feature: \"Flytta egenskap\",\n update_vertex: \"Uppdatera punktens egenskap\",\n update_feature: \"Uppdatera egenskap\",\n update_multi_features: \"Ändra attributen för de valda funktionerna\",\n update_multi_features_relations: \"Update attributes of all selected relations\",\n copyfeaturefromexternallayer: \"Create Feature from added layer\"\n },\n toolsoftool: {\n measure: \"Show measure\",\n snap: \"Snap layer\",\n snapall: \"Snap to all layers\"\n },\n steps: {\n help: {\n select_elements: \"Välj egenskaper\",\n select_element: \"Välj egenskapalitse ominaisuus\",\n copy: \"Skapa kopia av valda egenskaper\",\n merge: \"Slå samman egenskaper\",\n split: \"Dela upp egenskap\",\n new: \"Skapa ny egenskap\",\n edit_table: \"Ändra egenskaper i tabellen\",\n draw_new_feature: \"Piirrä ominaisuus kartalle\",\n action_confirm: \"Godkänn funktionen\",\n double_click_delete: \"Välj funktionen som du vill ta bort på kartan\",\n edit_feature_vertex: \"Ändra punkten eller lägg till punkten till den valda egenskapen\",\n move: \"Flytta den valda egenskapen\",\n select_feature_to_relation: \"Välj relation\",\n show_edit_feature_form: \"Visa egenskapsformuläret för redigering av attribut\",\n pick_feature: \"Välj funktion på kartan för att ändras\",\n insert_attributes_feature: \"Lägg till egenskapens attribut\"\n }\n },\n workflow: {\n steps: {\n select: 'Välj egenskap',\n draw_part: \"Rita ny del\",\n draw_geometry: \"Rita geometri\",\n merge: 'Välj egenskap att slå samman',\n selectSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel.', //Tero 10.12.2020\n selectDrawBox: \"Rita upp den rektangel inom vilken objekten väljs \", //Tero 10.12.2020\n selectDrawBoxAtLeast2Feature: \"Rita rektangeln inom vilken minst två objekt är markerade \",\n selectPoint: \"Välj egenskap\",\n selectPointSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.',\n selectMultiPointSHIFT: 'Tryck SHIFT, om du vill välja objekt med hjälp av rektangel, eller välj en enskild egenskap.',\n selectMultiPointSHIFTAtLeast2Feature: 'Tryck på SKIFT för att välja minst två objekt med en rektangel eller välj en enda egenskap. ',\n copyCTRL: 'CTRL+C, du kan kopiera valda egenskaper.', //Tero 10.12.2020\n selectStartVertex: 'Visa startpunkten för valda egenskaper.',\n selectToPaste: 'Välj punkt till vilken de valda egenskaperna ska fogas.',\n draw_split_line: \"Rita en linje enligt vilken den valda egenskapen ska uppdelas.\"\n },\n title: {\n steps: 'Skeden'\n },\n next: \"Nästa\"\n },\n messages: {\n featureslockbyotheruser: \"Jotkut geometriat/tietueet eivät ole muokattavissa, koska muut käyttäjät muokkaavat niitä\",\n splitted: \"Uppdelad\",\n nosplittedfeature: \"Egenskapen har inte delats upp\",\n press_esc: \"Tryck ESC för att gå tillbaka\",\n online: \"Förbindelsen har upprättats. Ändringar kan sparas i databasen.\",\n offline: \"Du är i offline-läge. Ändringarna sparas lokalt\",\n delete_feature: \"Vill du ta bort den valda egenskapen?\",\n delete_feature_relations: \"Om egenskapen saknar bindande relationer blir dessa relationer föräldralösa. Vi rekommenderar att du behandlar dessa relationer innan du lämnar programmet\",\n unlink_relation: \"Vill du ta bort relationen?\",\n commit_feature: \"Sammanfattning av ändringar\",\n toolbox_has_relation: \"detta lager är en del av en relation\",\n saved: \"Uppgifterna sparades\",\n saved_local: \"Uppgifterna sparades lokalt.\",\n loading_data: \"Uppgifterna laddas\",\n saving: \"Uppgifterna sparas. Vänta...\",\n constraints: {\n enable_editing: \"Zooma in för att börja använda redigeringsverktyg \\nAktivering skala 1:\"\n },\n pdf: \"Förhandsgranskning av dokument är inte tillgänglig. Tryck här\",\n commit: {\n header: \"Följande lista visar alla ändringar.\",\n header_relation: \"Relation\",\n header_add: \"Tillagda visar antalet egenskaper som lagts till\",\n header_update_delete: \"Redigerad och Borttagen Visa en lista på egenskapernas id\",\n add: \"har lagts till\",\n delete: \"Borttagen\",\n update: \"Redigerad\"\n },\n loading_table_data: \"Building Data Table. Please wait ...\",\n copy_and_paste_from_other_layer_mandatory_fields: \"It is necessary to fill in any mandatory fields on the features pasted before saving\",\n no_feature_selected: \"No feature selected\",\n select_min_2_features: 'Select at least 2 features'\n },\n relation: {\n table: {\n info: \"
V\\xE4lj relation f\\xF6r l\\xE4nkning till egenskap som ska redigeras.
\"\n },\n draw_new_feature: \"Draw new feature\",\n draw_or_copy: \"or\",\n copy_feature_from_other_layer: \"Copy feature from other layer\"\n },\n form: {\n relations: {\n tooltips: {\n back_to_father: \"Back to edit father\",\n add_relation: \"Skapa och länka ny relation\",\n link_relation: \"Foga relationen till denna egenskap\",\n open_relation_tools: \"Visa relationsverktyg\",\n unlink_relation: \"Ta bort relation\"\n }\n },\n buttons: {\n save: \"Infoga/Redigera\",\n save_and_back: \"Spara och gå tillbaka\",\n save_and_back_table: \"Spara och gå tillbaka\",\n cancel: \"Ignorera ändringar\"\n }\n },\n modal: {\n tools: {\n copyfeaturefromotherlayer: {\n title: \"Select layer\",\n edit_attributes: \"Edit attributes of pasted features in multiple mode\"\n },\n copyfeaturefromprojectlayer: {\n title: \"Select a feature\"\n }\n }\n }\n};\n\n},{}],25:[function(require,module,exports){\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 _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 _rollback = function () {\n var _ref39 = _asyncToGenerator(function* () {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Promise.allSettled(Object.entries(relations).flatMap(function (_ref40) {\n var _ref41 = _slicedToArray(_ref40, 2),\n layerId = _ref41[0],\n _ref41$ = _ref41[1],\n add = _ref41$.add,\n del = _ref41$.delete,\n update = _ref41$.update,\n _ref41$$relations = _ref41$.relations,\n relations = _ref41$$relations === undefined ? {} : _ref41$$relations;\n\n var source = (0, _getEditingLayerById.getEditingLayerById)(layerId).getEditingSource();\n var has_features = source.readFeatures().length > 0; // check if the relation layer has some features\n // get original values\n return [].concat(_toConsumableArray((has_features && add || []).map(function () {\n var _ref43 = _asyncToGenerator(function* (_ref42) {\n var id = _ref42.id;\n\n source.removeFeature(source.getFeatureById(id));\n });\n\n return function (_x23) {\n return _ref43.apply(this, arguments);\n };\n }())), _toConsumableArray((has_features && update || []).map(function () {\n var _ref45 = _asyncToGenerator(function* (_ref44) {\n var id = _ref44.id;\n\n try {\n var response = yield XHR.get({\n url: CatalogLayersStoresRegistry.getLayerById(layerId).getUrl('data'),\n params: { fids: id }\n });\n var f = (response.result && response.vector.data.features || []).at(0);\n var feature = source.getFeatureById(id);\n feature.setProperties(f.properties);\n feature.setGeometry(f.geometry);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x24) {\n return _ref45.apply(this, arguments);\n };\n }())), _toConsumableArray(del.map(function () {\n var _ref46 = _asyncToGenerator(function* (id) {\n try {\n var response = yield XHR.get({\n url: CatalogLayersStoresRegistry.getLayerById(layerId).getUrl('data'),\n params: { fids: id }\n });\n var f = (response.result && response.vector.data.features || []).at(0);\n var feature = new ol.Feature({ geometry: f.geometry });\n feature.setProperties(f.properties);\n feature.setId(id);\n source.addFeature(new Feature({ feature: feature })); // add it again to source because relation layer is locked\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x25) {\n return _ref46.apply(this, arguments);\n };\n }())), [_rollback(relations)]);\n }));\n });\n\n return function _rollback() {\n return _ref39.apply(this, arguments);\n };\n}();\n\nrequire('./g3wsdk');\n\nvar _i18n = require('./i18n');\n\nvar _i18n2 = _interopRequireDefault(_i18n);\n\nvar _workflow = require('./g3wsdk/workflow/workflow');\n\nvar _step = require('./g3wsdk/workflow/step');\n\nvar _promisify = require('./utils/promisify');\n\nvar _createFeature = require('./utils/createFeature');\n\nvar _getEditingLayerById = require('./utils/getEditingLayerById');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('./utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _addPartToMultigeometries = require('./utils/addPartToMultigeometries');\n\nvar _workflows = require('./workflows');\n\nvar _toolbox = require('./toolboxes/toolbox');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar G3W_FID = g3wsdk.constant.G3W_FID;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n ApplicationService = _g3wsdk$core.ApplicationService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar _g3wsdk$core$i18n = g3wsdk.core.i18n,\n t = _g3wsdk$core$i18n.t,\n tPlugin = _g3wsdk$core$i18n.tPlugin;\nvar _g3wsdk$core$layer = g3wsdk.core.layer,\n Layer = _g3wsdk$core$layer.Layer,\n LayersStore = _g3wsdk$core$layer.LayersStore;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar MapLayersStoreRegistry = g3wsdk.core.map.MapLayersStoreRegistry;\nvar _g3wsdk$core$plugin = g3wsdk.core.plugin,\n Plugin = _g3wsdk$core$plugin.Plugin,\n PluginService = _g3wsdk$core$plugin.PluginService;\nvar _g3wsdk$core$utils = g3wsdk.core.utils,\n XHR = _g3wsdk$core$utils.XHR,\n noop = _g3wsdk$core$utils.noop;\nvar GUI = g3wsdk.gui.GUI;\nvar Panel = g3wsdk.gui.vue.Panel;\nvar serverErrorParser = g3wsdk.core.errors.parsers.Server;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n getScaleFromResolution = _g3wsdk$ol$utils.getScaleFromResolution,\n getResolutionFromScale = _g3wsdk$ol$utils.getResolutionFromScale;\n\n\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep,\n AddFeatureStep: _workflows.AddFeatureStep,\n ToolBox: _toolbox.ToolBox\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\nnew (function (_Plugin) {\n _inherits(_class, _Plugin);\n\n function _class() {\n _classCallCheck(this, _class);\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Global plugin state\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n var _this = _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this, {\n name: 'editing',\n i18n: _i18n2.default,\n fontClasses: [{ name: 'measure', className: \"fas fa-ruler-combined\" }, { name: 'magnete', className: \"fas fa-magnet\" }, { name: 'clipboard', className: \"fas fa-clipboard\" }]\n }));\n\n _this.state = {\n open: false, // check if panel is open or not\n toolboxes: [],\n _toolboxes: [], // TODO: `state._toolboxes` vs `state.toolboxes` ?\n toolboxselected: null,\n /** @since g3w-client-plugin-editing@v3.6.2 */\n showselectlayers: true, // whether to show selected layers on editing panel\n message: null,\n relations: [],\n sessions: {}, // store all sessions\n layers_in_error: false,\n formComponents: {}, // plugin components\n subscribers: {},\n constraints: { // editing contraints (layer, filter, ..) to get features\n toolboxes: {},\n showToolboxesExcluded: true\n },\n featuresOnClose: {}, // layers fatures to result when close editing (KEY LAYERID, VALUES ARRAY OF FEATURE FID CHANGES OR ADDED)\n uniqueFieldsValues: {}, // store unique fields values for each layer\n saveConfig: { // store configuration of how save/commit changes to server\n mode: \"default\", // default, autosave\n modal: false,\n messages: undefined, // object to set custom message\n cb: {\n done: function done() {}, // function executed after commit change done\n error: function error() {} // function executed after commit changes error\n }\n },\n editableLayers: {},\n events: {\n 'start-editing': {},\n 'show-relation-editing': {},\n layer: {\n start_editing: {\n before: {},\n after: {}\n }\n }\n },\n show_errors: false,\n editFeatureKey: undefined,\n panel: null, // editing panel\n currentLayout: ApplicationService.getCurrentLayoutName(),\n unwatchLayout: new Vue().$watch(function () {\n return ApplicationState.gui.layout.__current;\n }, function (layoutName) {\n return _this.state.currentLayout = layoutName !== _this.getName() ? layoutName : _this.state.currentLayout;\n }),\n onMapControlToggled: function onMapControlToggled(_ref3) {\n var target = _ref3.target;\n\n target.isToggled() && target.isClickMap() && _this.state.toolboxselected && _this.state.toolboxselected.getActiveTool() && _this.state.toolboxselected.stopActiveTool();\n }\n };\n\n // BACKOMP v3.x\n _this.setService(Object.assign(new PluginService(), {\n state: _this.state,\n config: _this.config,\n getSession: _this.getSession.bind(_this),\n getFeature: _this.getFeature.bind(_this),\n subscribe: _this.subscribe.bind(_this),\n unsubscribe: _this.unsubscribe.bind(_this),\n fireEvent: _this.fireEvent.bind(_this),\n undo: _this.undo.bind(_this),\n redo: _this.redo.bind(_this),\n getEditingLayer: _this.getEditingLayer.bind(_this),\n addToolBox: _this.addToolBox.bind(_this),\n runEventHandler: _this.runEventHandler.bind(_this),\n resetDefault: _this.resetDefault.bind(_this),\n resetAPIDefault: _this.resetAPIDefault.bind(_this),\n getLayers: _this.getLayers.bind(_this),\n getLayerById: _this.getLayerById.bind(_this),\n getToolBoxById: _this.getToolBoxById.bind(_this),\n getSessionById: _this.getSessionById.bind(_this),\n setApplicationEditingConstraints: _this.setApplicationEditingConstraints.bind(_this),\n getToolBoxes: _this.getToolBoxes.bind(_this),\n getEditableLayers: _this.getEditableLayers.bind(_this),\n stop: _this.stop.bind(_this),\n saveChange: _this.saveChange.bind(_this),\n commit: _this.commit.bind(_this),\n undoRedoLayerUniqueFieldValues: _this.undoRedoLayerUniqueFieldValues.bind(_this),\n undoRedoRelationUniqueFieldValues: _this.undoRedoRelationUniqueFieldValues.bind(_this),\n stopEditing: _this.stopEditing.bind(_this),\n startEditing: _this.startEditing.bind(_this),\n addLayerFeature: _this.addLayerFeature.bind(_this)\n }));\n\n // set map control toggle event\n GUI.getService('map').on('mapcontrol:toggled', _this.state.onMapControlToggled);\n\n _this._init();\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\n _createClass(_class, [{\n key: '_init',\n value: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n // skip when no editable layer\n if (!CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }).length) {\n return;\n }\n\n this.setHookLoading({ loading: true });\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1 */\n this.service.setApi({\n api: {\n getSession: this.getSession.bind(this),\n getFeature: this.getFeature.bind(this),\n subscribe: this.subscribe.bind(this),\n unsubscribe: this.unsubscribe.bind(this),\n getToolBoxById: this.getToolBoxById.bind(this),\n addNewFeature: _createFeature.createFeature,\n commitChanges: this.commit.bind(this),\n setApplicationEditingConstraints: this.setApplicationEditingConstraints.bind(this),\n getMapService: function getMapService() {\n return GUI.getService('map');\n },\n updateLayerFeature: noop,\n deleteLayerFeature: noop,\n addLayerFeature: this.addLayerFeature.bind(this),\n hidePanel: this.hideEditingPanel.bind(this),\n resetDefault: this.resetAPIDefault.bind(this),\n startEditing: this.startEditing.bind(this),\n stopEditing: this.stopEditing.bind(this),\n showPanel: this.showPanel.bind(this),\n setSaveConfig: this.setSaveConfig.bind(this),\n addFormComponents: this.addFormComponents.bind(this)\n }\n });\n\n // add editing layer store to mapstoreregistry\n MapLayersStoreRegistry.addLayersStore(new LayersStore({ id: 'editing', queryable: false }));\n\n this.state.editableLayers = {};\n this.state._toolboxes = [];\n this.state.toolboxes = [];\n\n // loop over editable layers\n (yield Promise.allSettled(CatalogLayersStoresRegistry.getLayers({ EDITABLE: true }, { TOC_ORDER: true }).map(function (l) {\n return l.getLayerForEditing({\n vectorurl: _this2.config.vectorurl,\n project_type: _this2.config.project_type\n });\n }))).forEach(function (_ref5) {\n var status = _ref5.status,\n layer = _ref5.value;\n\n\n // skip on http error\n if ('fulfilled' !== status) {\n _this2.state.layers_in_error = true;\n return;\n }\n\n _this2.state.editableLayers[layer.getId()] = layer;\n\n //set default empty object\n _this2.state.uniqueFieldsValues[layer.getId()] = {};\n\n /**\n * attach layer widgets event: get data from api when a field of a layer\n * is related to a wgis form widget (ex. relation reference, value map, etc..)\n */\n layer.getEditingFields().filter(function (field) {\n return field.input && 'select_autocomplete' === field.input.type && !field.input.options.filter_expression && !field.input.options.usecompleter;\n })\n /** @TODO need to avoid to call the same fnc to same event many times to avoid waste server request time */\n .forEach(function (field) {\n return ['start-editing', 'show-relation-editing'].forEach(function (type) {\n var id = layer.getId();\n _this2.state.events[type][id] = _this2.state.events[type][id] || [];\n\n _this2.state.events[type][id].push(_asyncToGenerator(function* () {\n var options = field.input.options;\n\n // remove all values\n options.loading.state = 'loading';\n options.values = [];\n\n var relationLayer = options.layer_id && CatalogLayersStoresRegistry.getLayerById(options.layer_id);\n var has_filter = [undefined, null].includes(options.filter_fields || []) || 0 === (options.filter_fields || []).length;\n\n try {\n\n // relation reference widget + no filter set\n if (options.relation_reference && has_filter) {\n var response = yield layer.getFilterData({ fformatter: field.name }); // get data with fformatter\n if (response && response.data) {\n var _options$values;\n\n // response data is an array ok key value objects\n (_options$values = options.values).push.apply(_options$values, _toConsumableArray(response.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 options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, data: [response.data] });\n return options.values;\n }\n }\n\n // value map widget\n if (relationLayer) {\n //ordering by value or key depend on orderbyvalue Boolean value\n var _response = yield (0, _promisify.promisify)(relationLayer.getDataTable({ ordering: options.orderbyvalue ? options.value : options.key }));\n if (_response && _response.features) {\n var _options$values2;\n\n (_options$values2 = options.values).push.apply(_options$values2, _toConsumableArray((_response.features || []).map(function (feature) {\n return {\n key: feature.properties[options.value],\n value: feature.properties[options.key]\n };\n })));\n options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, features: _response.features });\n return options.values;\n }\n }\n\n /** @TODO check if deprecated */\n var features = [];\n options.loading.state = 'ready';\n _this2.fireEvent('autocomplete', { field: field, features: features });\n return features;\n } catch (e) {\n console.warn(e);\n options.loading.state = 'error';\n return Promise.reject(e);\n }\n }));\n });\n });\n\n _this2.state.sessions[layer.getId()] = null;\n });\n\n var i = 0;\n this.getLayers().forEach(function (editingLayer) {\n /**\n * set 1:1 relation fields editable\n * \n * Check if layer has relation 1:1 (type ONE) and if fields\n *\n * belongs to relation where child layer is editable\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\n var fatherId = editingLayer.getId(); // father layer\n CatalogLayersStoresRegistry.getLayerById(fatherId).getRelations().getArray().filter(function (relation) {\n return 'ONE' === relation.getType() && fatherId === relation.getFather();\n }) // 'ONE' == join 1:1 + father layerId is a father of relation\n .forEach(function (relation) {\n var isChildEditable = undefined !== _this2.getLayerById(relation.getChild()); // check if child layerId is editable (in editing)\n _this2.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }) // father layer fields (in editing)\n .forEach(function (f) {\n f.editable = f.editable && isChildEditable;\n }); // current editable boolean value + child editable layer\n });\n // Set editing layer color and toolbox style\n if (!editingLayer.getColor()) {\n editingLayer.setColor(editingLayer.isGeoLayer() ? [\"#C43C39\", \"#d95f02\", \"#91522D\", \"#7F9801\", \"#0B2637\", \"#8D5A99\", \"#85B66F\", \"#8D2307\", \"#2B83BA\", \"#7D8B8F\", \"#E8718D\", \"#1E434C\", \"#9B4F07\", '#1b9e77', \"#FF9E17\", \"#7570b3\", \"#204B24\", \"#9795A3\", \"#C94F44\", \"#7B9F35\", \"#373276\", \"#882D61\", \"#AA9039\", \"#F38F3A\", \"#712333\", \"#3B3A73\", \"#9E5165\", \"#A51E22\", \"#261326\", \"#e4572e\", \"#29335c\", \"#f3a712\", \"#669bbc\", \"#eb6841\", \"#4f372d\", \"#cc2a36\", \"#00a0b0\", \"#00b159\", \"#f37735\", \"#ffc425\"][i++ % 40] : '#fff');\n }\n });\n\n // after add layers to layerstore\n MapLayersStoreRegistry.getLayersStore('editing').addLayers(this.getLayers());\n\n // create toolboxes\n this.getLayers().forEach(function (l) {\n return _this2.addToolBox(new _toolbox.ToolBox(l, [].concat(_toConsumableArray(l.getChildren()), _toConsumableArray(l.getFathers())).filter(function (id) {\n return _this2.getLayerById(id);\n })));\n });\n\n yield GUI.isReady();\n\n this._setupGUI();\n\n this.setHookLoading({ loading: false });\n this.setReady(true);\n });\n\n function _init() {\n return _ref4.apply(this, arguments);\n }\n\n return _init;\n }()\n\n // setup plugin interface\n\n }, {\n key: '_setupGUI',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n //@since 3.9.0\n // skip when:\n // 1 - plugin is not referred to the current project id\n // 2 - configuration of plugin, visible is set to false\n // 3 - There aren't editable layers or all are not visible\n if (!this.registerPlugin(this.config.gid) || false === this.config.visible || 0 === this.getLayers().filter(function (l) {\n return l.config.editing.visible;\n }).length) {\n return;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin/toolboxes/toolboxesfactory.js@v3.7.1\n *\n * Register query result action: edit selected feature from query results\n */\n this.state.editFeatureKey = GUI.getService('queryresults').onafter('editFeature', _asyncToGenerator(function* () {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n feature = _ref11.feature;\n\n var fid = feature.attributes[G3W_FID] || feature.id;\n\n //In case of not unique id, skip\n if (undefined === fid) {\n return;\n }\n\n _this3.getToolBoxes().forEach(function (tb) {\n return tb.setShow(layer.id === tb.getId());\n });\n _this3.showEditingPanel();\n\n _this3.state.showselectlayers = false;\n\n _this3.subscribe('closeeditingpanel', function () {\n _this3.state.showselectlayers = true;return { once: true };\n });\n\n var toolBox = _this3.getToolBoxById(layer.id);\n //set selected\n toolBox.setSelected(true);\n\n var session = toolBox.getSession();\n\n var _toolBox$getEditingCo = toolBox.getEditingConstraints(),\n scale = _toolBox$getEditingCo.scale; // get scale constraint from setting layer\n\n var w = void 0;\n\n // start toolbox (filtered by feature id)\n try {\n // check map scale after zoom to feature\n // if currentScale is more that scale constraint set by layer editing\n // needs to go to scale setting by layer editing constraint\n if (scale) {\n var units = GUI.getService('map').getMapUnits();\n var map = GUI.getService('map').getMap();\n var currentScale = parseInt(getScaleFromResolution(map.getView().getResolution(), GUI.getService('map').getMapUnits()));\n if (currentScale > scale) {\n map.getView().setResolution(getResolutionFromScale(scale, units));\n }\n }\n\n yield (0, _promisify.promisify)(toolBox.start({ filter: { fids: fid } }));\n\n var _layer = toolBox.getLayer();\n var source = _layer.getEditingLayer().getSource();\n var is_vector = Layer.LayerTypes.VECTOR === _layer.getType();\n\n // get feature from an Editing layer source (with styles)\n var features = is_vector ? source.getFeatures() : source.readFeatures();\n var _feature = features.find(function (f) {\n return fid == f.getId();\n });\n\n // skip when not feature is get from server\n if (!_feature) {\n return;\n }\n\n var geom = _feature.getGeometry();\n\n // feature has geometry → zoom to geometry\n if (geom) {\n GUI.getService('map').zoomToGeometry(geom);\n }\n\n toolBox.setSelected(true);\n\n _this3.state.toolboxselected = toolBox;\n\n var addPartTool = is_vector && !geom && toolBox.getTools().find(function (t) {\n return 'addPart' === t.getId();\n });\n\n // check if layer is single geometry. Need to show and change behaviour\n if (addPartTool && !Geometry.isMultiGeometry(_layer.getGeometryType())) {\n addPartTool.visible = true;\n }\n\n // add geometry when vector layer feature has no geometry\n if (addPartTool) {\n //get workflow\n var op = addPartTool.getOperator();\n var _w = new _workflow.Workflow({\n type: 'drawgeometry',\n helpMessage: 'editing.workflow.steps.draw_geometry',\n runOnce: true, // need to run once time\n steps: [new _workflows.AddFeatureStep({\n add: false,\n steps: {\n addfeature: {\n description: 'editing.workflow.steps.draw_geometry'\n }\n },\n onRun: function onRun(_ref12) {\n var inputs = _ref12.inputs,\n context = _ref12.context;\n\n _w.emit('settoolsoftool', [{\n type: 'snap',\n options: {\n layerId: inputs.layer.getId(),\n source: inputs.layer.getEditingLayer().getSource(),\n active: true\n }\n }, {\n type: 'measure',\n options: {\n active: false\n }\n }]);\n _w.emit('active', ['snap']);\n },\n onStop: function onStop() {\n return _w.emit('deactive', ['snap', 'measure']);\n }\n }),\n // add part to multi geometries\n new _step.Step({ run: _addPartToMultigeometries.addPartToMultigeometries })],\n registerEscKeyEvent: true\n });\n\n addPartTool.setOperator(_w);\n\n _this3.subscribe('closeeditingpanel', function () {\n addPartTool.setOperator(op);\n addPartTool.visible = Geometry.isMultiGeometry(_layer.getGeometryType());\n });\n }\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editnopickmapfeatureattributesworkflow.js@v3.7.1 */\n w = new _workflow.Workflow({\n type: 'editnopickmapfeatureattributes',\n runOnce: true,\n helpMessage: 'editing.tools.update_feature',\n steps: [new _workflows.OpenFormStep()]\n });\n\n yield (0, _promisify.promisify)(w.start({\n inputs: { layer: _layer, features: [_feature] },\n context: { session: session }\n }));\n\n yield (0, _promisify.promisify)(session.save());\n\n _this3.saveChange();\n } catch (e) {\n console.warn(e);\n session.rollback();\n } finally {\n w.stop();\n }\n }));\n\n this.config.name = this.config.name || \"plugins.editing.editing_data\";\n\n this.addToolGroup({ position: 0, title: 'EDITING' });\n this.addTools({\n action: this.showEditingPanel,\n offline: false,\n icon: 'pencil'\n }, { position: 0, title: 'EDITING' });\n });\n\n function _setupGUI() {\n return _ref9.apply(this, arguments);\n }\n\n return _setupGUI;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Get session\n *\n * @param layerId\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref13.layerId;\n\n return this.getToolBoxById(layerId).getSession();\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n *\n * @param layerId\n *\n * @returns Feature in editing\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getFeature',\n value: function getFeature() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref14.layerId;\n\n return this.getToolBoxById(layerId).getActiveTool().getLayer().features[0];\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Subscribe handler function on event\n *\n * @param event\n * @param { Function } fnc\n *\n * @returns { Function } function\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'subscribe',\n value: function subscribe(event, fnc) {\n if (!this.state.subscribers[event]) {\n this.state.subscribers[event] = [];\n }\n if (!this.state.subscribers[event].find(function (subscribe) {\n return fnc === subscribe;\n })) {\n this.state.subscribers[event].push(fnc);\n }\n return fnc;\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.8\n * \n * Unsubscribe handler function on event\n *\n * @param event\n * @param fnc\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'unsubscribe',\n value: function unsubscribe(event, fnc) {\n this.state.subscribers[event] = this.state.subscribers[event].filter(function (sub) {\n return fnc !== sub;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param event\n * @param options\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'fireEvent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* (event) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.state.subscribers[event]) {\n this.state.subscribers[event].forEach(function (fnc) {\n var response = fnc(options);\n if (response && response.once) {\n _this4.unsubscribe(event, fnc);\n }\n });\n }\n });\n\n function fireEvent(_x5) {\n return _ref15.apply(this, arguments);\n }\n\n return fireEvent;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Undo method\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undo',\n value: function undo() {\n var _this5 = this;\n\n var session = this.state.toolboxselected.getSession();\n var layerId = session.getId();\n var sessionItems = session.getLastHistoryState().items;\n\n //update unique values fields after undo\n this.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: 'undo'\n });\n\n var undoItems = session.undo();\n //update unique values of relations after undo\n this.undoRedoRelationUniqueFieldValues({\n relationSessionItems: undoItems,\n action: 'undo'\n });\n\n // undo relations\n Object.entries(undoItems).forEach(function (_ref16) {\n var _ref17 = _slicedToArray(_ref16, 2),\n toolboxId = _ref17[0],\n items = _ref17[1];\n\n _this5.getToolBoxById(toolboxId).getSession().undo(items);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'redo',\n value: function redo() {\n var _this6 = this;\n\n var session = this.state.toolboxselected.getSession();\n var layerId = session.getId();\n var sessionItems = session.getLastHistoryState().items;\n //update unique values fields after redo\n this.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: 'redo'\n });\n var redoItems = session.redo();\n //update unique values of relations after redo\n this.undoRedoRelationUniqueFieldValues({\n relationSessionItems: redoItems,\n action: 'redo'\n });\n\n // redo relations\n Object.entries(redoItems).forEach(function (_ref18) {\n var _ref19 = _slicedToArray(_ref18, 2),\n toolboxId = _ref19[0],\n items = _ref19[1];\n\n _this6.getToolBoxById(toolboxId).getSession().redo(items);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer(id) {\n return this.state.editableLayers[id].getEditingLayer();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param toolbox\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addToolBox',\n value: function addToolBox(toolbox) {\n this.state._toolboxes.push(toolbox);\n this.state.sessions[toolbox.getId()] = toolbox.getSession(); // add session\n this.state.toolboxes.push(toolbox.state);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } handler\n * @param handler.type\n * @param handler.id\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'runEventHandler',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref21.type,\n id = _ref21.id;\n\n if (this.state.events[type] && this.state.events[type][id]) {\n yield Promise.allSettled(this.state.events[type][id].map(function (fnc) {\n return fnc();\n }));\n }\n });\n\n function runEventHandler() {\n return _ref20.apply(this, arguments);\n }\n\n return runEventHandler;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Reset default values\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'resetDefault',\n value: function resetDefault() {\n this.state.saveConfig = {\n mode: \"default\", // default, autosave\n modal: false,\n messages: undefined, // object to set a custom message\n cb: {\n done: function done() {}, // function Called after save\n error: function error() {} // function called affect commit error\n }\n };\n GUI.getService('map').disableClickMapControls(false);\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Reset default toolbox state modified by other plugin\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'resetAPIDefault',\n value: function resetAPIDefault() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$plugin = _ref22.plugin,\n plugin = _ref22$plugin === undefined ? true : _ref22$plugin,\n _ref22$toolboxes = _ref22.toolboxes,\n toolboxes = _ref22$toolboxes === undefined ? true : _ref22$toolboxes;\n\n if (toolboxes) {\n this.getToolBoxes().forEach(function (tb) {\n return tb.resetDefault();\n });\n }\n if (plugin) {\n this.resetDefault();\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return Object.values(this.state.editableLayers);\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.state.editableLayers[id];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } id\n *\n * @returns {*}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getToolBoxById',\n value: function getToolBoxById(id) {\n return this.state._toolboxes.find(function (tb) {\n return id === tb.getId();\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Get layer session by id (layer id is the same of session)\n *\n * @param id\n *\n * @returns {*}\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\n\n }, {\n key: 'getSessionById',\n value: function getSessionById(id) {\n return this.state.sessions[id];\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Method to apply filter editing contsraint to toolbox editing\n * Apply filter editing contsraint to toolbox editing\n *\n * @param constraints\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setApplicationEditingConstraints',\n value: function setApplicationEditingConstraints() {\n var _this7 = this;\n\n var constraints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { showToolboxesExcluded: true, toolboxes: {} };\n\n this.state.constraints = _extends({}, this.state.constraints, constraints);\n\n var toolboxes = constraints.toolboxes,\n showToolboxesExcluded = constraints.showToolboxesExcluded;\n\n var toolboxIds = Object.keys(toolboxes);\n if (false === showToolboxesExcluded) {\n this.state.toolboxes.forEach(function (t) {\n return t.show = toolboxIds.includes(t.id);\n });\n }\n toolboxIds.forEach(function (id) {\n return _this7.getToolBoxById(id).setEditingConstraints(toolboxes[id]);\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getToolBoxes',\n value: function getToolBoxes() {\n return this.state._toolboxes;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @returns {*|{}}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'getEditableLayers',\n value: function getEditableLayers() {\n return this.state.editableLayers;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Stop editing\n *\n * @returns { Promise }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'stop',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var commitpromises = this.state._toolboxes.filter(function (t) {\n return t.getSession().getHistory().state.commit;\n }) // check if temp changes are waiting to save on server\n .map(function (toolbox) {\n return _this8.commit({ toolbox: toolbox, modal: true });\n });\n try {\n yield (0, _promisify.promisify)($.when.apply(this, commitpromises));\n } catch (e) {\n console.warn(e);\n }\n\n this.state._toolboxes.forEach(function (t) {\n return t.stop();\n });\n\n this.state.toolboxselected = null;\n this.state.message = null;\n\n //reset unique values\n Object.keys(this.state.uniqueFieldsValues).forEach(function (id) {\n return _this8.state.uniqueFieldsValues[id] = {};\n });\n\n GUI.getService('map').refreshMap();\n });\n\n function stop() {\n return _ref23.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Function called very single change saved temporary\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'saveChange',\n value: function () {\n var _ref24 = _asyncToGenerator(function* () {\n if ('autosave' === this.state.saveConfig.mode) {\n return this.commit({ modal: false }); // set to not show a modal ask window\n }\n });\n\n function saveChange() {\n return _ref24.apply(this, arguments);\n }\n\n return saveChange;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Commit and save changes on server persistently\n *\n * @param { Object } commit\n * @param commit.toolbox\n * @param commit.commitItems\n * @param commit.messages\n * @param commit.done\n * @param { boolean } commit.modal\n * @param { boolean } commit.close\n *\n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'commit',\n value: function commit() {\n var _this10 = this;\n\n var _ref25 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n toolbox = _ref25.toolbox,\n commitItems = _ref25.commitItems,\n _ref25$modal = _ref25.modal,\n modal = _ref25$modal === undefined ? true : _ref25$modal,\n _ref25$close = _ref25.close,\n close = _ref25$close === undefined ? false : _ref25$close;\n\n var messages = Object.assign({ success: { message: \"plugins.editing.messages.saved\", autoclose: true }, error: {} }, this.state.saveConfig.messages || {});\n toolbox = toolbox || this.state.toolboxselected;\n var layer = toolbox.getLayer();\n var items = commitItems;\n commitItems = commitItems || toolbox.getSession().getCommitItems();\n var online = ApplicationState.online;\n var has_changes = [].concat(_toConsumableArray(commitItems.add || []), _toConsumableArray(commitItems.delete || []), _toConsumableArray(commitItems.update || []), _toConsumableArray(Object.keys(commitItems.relations || {}))).length;\n var workflow = void 0,\n dialog = void 0,\n serverError = void 0;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when there is nothing to save\n if (!has_changes) {\n GUI.showUserMessage({ type: 'info', message: 'Nothing to save', autoclose: true, closable: false });\n return toolbox;\n }\n\n try {\n\n // show commit modal window\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 */\n if (modal) {\n workflow = new _workflow.Workflow({\n type: 'commitfeatures',\n steps: [\n // confirm step\n new _step.Step({\n run: function run(inputs) {\n var _this9 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var dialog = GUI.dialog.dialog({\n message: inputs.message,\n title: tPlugin(\"editing.messages.commit_feature\") + ': \"' + inputs.layer.getName() + '\"',\n buttons: _extends({\n SAVE: { className: \"btn-success\", callback: function callback() {\n resolve(inputs);\n },\n label: t(\"save\") },\n CANCEL: { className: \"btn-danger\", callback: function callback() {\n reject({ cancel: true });\n },\n label: t(inputs.close ? \"exitnosave\" : \"annul\") }\n }, inputs.close ? { CLOSEMODAL: { className: \"btn-primary\", callback: function callback() {\n dialog.modal('hide');\n },\n label: t(\"annul\") } } : {})\n });\n if (inputs.features) {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: promise(), inputs: inputs, style: _this9.selectStyle });\n }\n }));\n }\n })]\n });\n //need to get to confirm or cancel choose from modal\n try {\n yield (0, _promisify.promisify)(workflow.start({\n inputs: {\n close: close,\n layer: layer,\n message: new (Vue.extend(require('./components/Changes.vue')))({\n propsData: {\n commits: commitItems,\n layer: layer\n } }).$mount().$el\n }\n }));\n yield (0, _promisify.promisify)(workflow.stop());\n } catch (e) {\n console.warn(e);\n // In the case of pressed cancel button to commit features modal\n if (e && e.cancel) {\n return Promise.reject(e);\n }\n //need to be set server Error\n serverError = true;\n }\n\n //in case of online application\n if (online) {\n dialog = GUI.dialog.dialog({\n message: '

\\n ' + tPlugin('editing.messages.saving') + '\\n

',\n closeButton: false\n });\n }\n }\n\n var data = !online && _defineProperty({}, toolbox.getSession().getId(), commitItems);\n //get current offline editing changes\n var changes = !online && JSON.parse(window.localStorage.getItem('EDITING_CHANGES') || null);\n\n // handle offline changes\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 */\n Object.keys(changes || {}).forEach(function (layerId) {\n var currLayerId = Object.keys(data)[0];\n\n // check if previous changes are made in the same layer or in relationlayer of current\n var current = null;\n\n if (data[layerId]) {\n current = data;\n } else if (data[currLayerId].relations[layerId]) {\n current = data[currLayerId].relations;\n }\n\n // check if in the last changes\n var relationsIds = !current && Object.keys(changes[layerId].relations || {});\n var has_relations = !current && relationsIds.length > 0;\n var GIVE_ME_A_NAME = !current && has_relations && relationsIds.includes(currLayerId);\n\n // apply changes\n if (current || GIVE_ME_A_NAME) {\n var id = current ? layerId : currLayerId;\n var curr = current ? current : data;\n var prev = current ? changes : changes[layerId].relations;\n curr[id].add = [].concat(_toConsumableArray(curr[id].add), _toConsumableArray(curr[id].add));\n curr[id].delete = [].concat(_toConsumableArray(curr[id].delete), _toConsumableArray(curr[id].delete));\n\n (prev[id].update || []).filter(function (update) {\n return !curr[id].update.find(function (u) {\n return u.id === update.id;\n });\n }).forEach(function (update) {\n return curr[id].update.unshift(update);\n });\n\n (prev[id].lockids || []).filter(function (lock) {\n return !curr[id].lockids.find(function (l) {\n return l.featureid === lock.featureid;\n });\n }).forEach(function (lock) {\n return curr[id].update.unshift(lock);\n });\n }\n\n if (GIVE_ME_A_NAME) {\n changes[layerId].relations[currLayerId] = data[currLayerId];\n data = changes;\n }\n if (!current && !has_relations) {\n data[layerId] = changes[layerId];\n }\n });\n\n if (!online) {\n\n GUI.showUserMessage({\n type: 'success',\n message: \"plugins.editing.messages.saved_local\",\n autoclose: true\n });\n //clear history because it saved on browser\n toolbox.getSession().clearHistory();\n }\n\n try {\n // check if the application is online\n var _ref28 = online ? yield (0, _promisify.promisify)(toolbox.getSession().commit({ items: items || commitItems, __esPromise: true })) : {},\n commit = _ref28.commit,\n response = _ref28.response;\n\n //check if is online and there are some commit items\n\n\n var online2 = online && commit;\n\n var result = online2 && response.result;\n\n if (result && messages && messages.success) {\n // hide saving dialog\n if (dialog) {\n dialog.modal('hide');\n }\n\n //Show save user message\n GUI.showUserMessage({\n type: 'success',\n message: messages.success.message || \"plugins.editing.messages.saved\",\n duration: 2000,\n autoclose: undefined === messages.success.autoclose ? true : messages.success.autoclose\n });\n }\n\n // In the case of vector layer need to refresh map commit changes\n if (result && Layer.LayerTypes.VECTOR === layer.getType()) {\n GUI.getService('map').refreshMap({ force: true });\n }\n\n if (online) {\n _this10.state.saveConfig.cb.done(toolbox);\n }\n\n // add items when close editing to result to show changes\n var layerId = result && toolbox.getId();\n\n if (layerId) {\n _this10.state.featuresOnClose[layerId] = _this10.state.featuresOnClose[layerId] || new Set();\n [].concat(_toConsumableArray(response.response.new.map(function (n) {\n return n.id;\n })), _toConsumableArray(commit.update.map(function (u) {\n return u.id;\n }))).forEach(function (fid) {\n return _this10.state.featuresOnClose[layerId].add(fid);\n });\n }\n\n // @since 3.7.2 - click on save all disk icon (editing form relation)\n if (result) {\n _this10.emit('commit', response.response);\n }\n\n // the result is false. It was done a commit, but an error occurs\n if (online2 && !result) {\n serverError = true;\n throw response;\n }\n } catch (e) {\n console.warn(e);\n if (online) {\n serverError = true;\n throw e;\n }\n }\n } catch (e) {\n console.warn(e);\n\n // hide saving dialog\n if (dialog) {\n dialog.modal('hide');\n }\n\n // rollback\n //@TODO check if it is usefull\n if (modal) {\n try {\n yield _rollback(commitItems.relations);\n } catch (e) {\n console.warn(e);\n }\n }\n\n // parse server error\n if (serverError || modal) {\n var message = online ? messages.error.message || new serverErrorParser({ error: e.errors || e || {} }).parse({ type: 'String' }) : e;\n\n GUI.showUserMessage({\n type: 'alert',\n message: message,\n textMessage: online ? !messages.error.message : true,\n autoclose: online ? undefined !== messages.error.autoclose ? messages.error.autoclose : false : false\n });\n\n _this10.state.saveConfig.cb.error(toolbox, message);\n }\n\n return Promise.reject(toolbox);\n }\n return toolbox;\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param { string } opts.layerId\n * @param { Array } opts.sessionItems\n * @param opts.action\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undoRedoLayerUniqueFieldValues',\n value: function undoRedoLayerUniqueFieldValues(_ref29) {\n var _this11 = this;\n\n var layerId = _ref29.layerId,\n _ref29$sessionItems = _ref29.sessionItems,\n sessionItems = _ref29$sessionItems === undefined ? [] : _ref29$sessionItems,\n action = _ref29.action;\n\n\n // if not set\n if (undefined === this.state.uniqueFieldsValues[layerId]) {\n return;\n }\n\n sessionItems.forEach(function (item) {\n\n Object.keys(_this11.state.uniqueFieldsValues[layerId]).forEach(function (name) {\n //name is the name of field\n //check if change is an update [oldVal, newValue]\n var is_array = Array.isArray(item);\n var oldVal = void 0,\n newVal = void 0;\n if (is_array) {\n // 0 = old value feature, 1 = new value feature\n var has_change = item[1].feature.get(name) != item[0].feature.get(name);\n // update feature that contains \"new\" and \"old\" values of feature\n oldVal = has_change ? action === 'undo' ? item[1].feature.get(name) : item[0].feature.get(name) : undefined;\n newVal = has_change ? action === 'undo' ? item[0].feature.get(name) : item[1].feature.get(name) : undefined;\n } else {\n oldVal = 'add' === item.feature.getState() ? item.feature.get(name) : undefined;\n newVal = 'delete' === item.feature.getState() ? item.feature.get(name) : undefined;\n }\n // delete layer unique field value\n if (undefined !== oldVal) {\n _this11.state.uniqueFieldsValues[layerId][name].delete(oldVal);\n }\n // add layer unique field value\n if (undefined !== newVal) {\n _this11.state.uniqueFieldsValues[layerId][name].add(newVal);\n }\n });\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.relationSessionItems\n * @param opts.action\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'undoRedoRelationUniqueFieldValues',\n value: function undoRedoRelationUniqueFieldValues(_ref30) {\n var _this12 = this;\n\n var relationSessionItems = _ref30.relationSessionItems,\n action = _ref30.action;\n\n Object.entries(relationSessionItems).forEach(function (_ref31) {\n var _ref32 = _slicedToArray(_ref31, 2),\n layerId = _ref32[0],\n _ref32$ = _ref32[1],\n sessionItems = _ref32$.own,\n relationSessionItems = _ref32$.dependencies;\n\n //undo/redo unique field of layer\n _this12.undoRedoLayerUniqueFieldValues({\n layerId: layerId,\n sessionItems: sessionItems,\n action: action\n });\n //undo/redo unique field of relations\n _this12.undoRedoRelationUniqueFieldValues({\n relationSessionItems: relationSessionItems,\n action: action\n });\n });\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Stop editing on layerId\n *\n * @param layerId\n * @param options\n *\n * @returns { Promise }\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref33 = _asyncToGenerator(function* (layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (0, _promisify.promisify)(this.getToolBoxById(layerId).stop(options));\n });\n\n function stopEditing(_x11) {\n return _ref33.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Start editing API\n *\n * @param layerId\n * @param { Object } options\n * @param { boolean } [options.selected=true]\n * @param { boolean } [options.disablemapcontrols=false]\n * @param { boolean } [options.showselectlayers=true]\n * @param { string } [options.title]\n * @param data\n *\n *\n * @returns { Promise }\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'startEditing',\n value: function () {\n var _ref34 = _asyncToGenerator(function* (layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n options.selected = undefined === options.selected ? true : options.selected;\n options.showselectlayers = undefined === options.showselectlayers ? true : options.showselectlayers;\n options.disablemapcontrols = undefined === options.disablemapcontrols ? false : options.showselectlayers;\n // get toolbox related to layer id\n var toolbox = this.getToolBoxById(layerId);\n // set show select layers input visibility\n this.state.showselectlayers = options.showselectlayers;\n // skip if toolbox doesn't exist\n if (!toolbox) {\n return Promise.reject();\n }\n // set selected\n toolbox.setSelected(options.selected);\n // set seletcted toolbox\n if (options.selected) {\n this.state.toolboxselected = toolbox;\n }\n\n //set toolbox title if provide\n if (options.title) {\n toolbox.setTitle(options.title);\n }\n\n // start editing toolbox (options contain also a filter type)\n data = yield (0, _promisify.promisify)(toolbox.start(options));\n // disablemapcontrols in conflict\n if (options.disablemapcontrols) {\n GUI.getService('map').disableClickMapControls(true);\n }\n // opts contain information about start editing has features loaded\n return data ? { toolbox: toolbox, data: data } : toolbox;\n });\n\n function startEditing(_x14) {\n return _ref34.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Add Feature\n *\n * @param { Object } opts\n * @param opts.layerId\n * @param opts.feature\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'addLayerFeature',\n value: function addLayerFeature() {\n var _this13 = this;\n\n var _ref35 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref35.layerId,\n feature = _ref35.feature;\n\n // skip when mandatory params are missing\n if ([feature, layerId].includes(undefined)) {\n return Promise.reject();\n }\n return new Promise(function () {\n var _ref36 = _asyncToGenerator(function* (resolve, reject) {\n var layer = _this13.getLayerById(layerId);\n // get session\n var session = _this13.getSessionById(layerId);\n // exclude an eventual attribute pk (primary key) not editable (mean autoincrement)\n var attributes = layer.getEditingFields().filter(function (attr) {\n return !(attr.pk && !attr.editable);\n });\n // start session (get no features but set layer in editing)\n session.start({\n filter: {\n nofeatures: true, // no feature\n nofeatures_field: attributes[0].name // get the first field in editing form\n },\n editing: true\n });\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/easyaddfeatureworkflow.js@v3.7.1 */\n // create workflow\n var workflow = new _workflow.Workflow({\n type: 'addfeature',\n steps: [new _workflows.OpenFormStep({\n push: true,\n showgoback: false,\n saveAll: false\n })]\n });\n\n var stop = function stop(cb) {\n workflow.stop();\n session.stop();\n return cb();\n };\n\n try {\n //check if feature has property of layer\n attributes.forEach(function (a) {\n if (undefined === feature.get(a.name)) {\n feature.set(a.name, null);\n }\n });\n\n try {\n //set feature as g3w feature\n feature = new Feature({ feature: feature, properties: attributes.map(function (a) {\n return a.name;\n }) });\n //set new\n feature.setTemporaryId();\n\n // add to session and source as new feature\n session.pushAdd(layerId, feature, false);\n layer.getEditingLayer().getSource().addFeature(feature);\n //start workflow\n yield (0, _promisify.promisify)(workflow.start({\n inputs: { layer: layer, features: [feature] },\n context: { session: session }\n }));\n\n session.save();\n\n try {\n yield (0, _promisify.promisify)(_this13.commit({ modal: false, toolbox: _this13.getToolBoxById(layerId) }));\n stop(resolve);\n } catch (e) {\n console.warn(e);\n stop(reject);\n }\n } catch (e) {\n console.warn(e);\n stop(reject);\n }\n } catch (e) {\n console.warn(e);\n reject();\n }\n });\n\n return function (_x16, _x17) {\n return _ref36.apply(this, arguments);\n };\n }());\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } save\n * @param save.mode - default or autosave\n * @param save.cb - object contain done/error two functions\n * @param save.modal - Boolean true or false to show to ask\n * @param save.messages - object success or error\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setSaveConfig',\n value: function setSaveConfig() {\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$mode = _ref37.mode,\n mode = _ref37$mode === undefined ? 'default' : _ref37$mode,\n _ref37$cb = _ref37.cb,\n cb = _ref37$cb === undefined ? {} : _ref37$cb,\n _ref37$modal = _ref37.modal,\n modal = _ref37$modal === undefined ? false : _ref37$modal,\n messages = _ref37.messages;\n\n Object.assign(this.state.saveConfig, { mode: mode, modal: modal, messages: messages, cb: _extends({}, this.state.saveConfig.cb, cb) });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8 \n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'addFormComponents',\n value: function addFormComponents() {\n var _ref38 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref38.layerId,\n _ref38$components = _ref38.components,\n components = _ref38$components === undefined ? [] : _ref38$components;\n\n this.state.formComponents[layerId] = (this.state.formComponents[layerId] || []).concat(components);\n }\n\n /**\n * [API Method] ORIGINAL SOURCE: g3w-client-plugin-editing/api/index.js@v3.7.1\n *\n * Show editing panel\n *\n * @param options\n * @param options.toolboxes\n *\n * @since g3w-client-plugin-editing@v3.7.2\n */\n\n }, {\n key: 'showPanel',\n value: function showPanel() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.toolboxes && Array.isArray(options.toolboxes)) {\n this.getToolBoxes().forEach(function (tb) {\n return tb.setShow(options.toolboxes.includes(tb.getId()));\n });\n }\n this.showEditingPanel(options);\n }\n\n /**\n * Show editing panel toolbars\n * \n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/editing.js.js@v3.6\n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/panel.js.js@v3.6\n */\n\n }, {\n key: 'showEditingPanel',\n value: function showEditingPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n //need to filter visible\n if (this.getLayers().filter(function (l) {\n return l.config.editing.visible;\n }).length > 0) {\n this.state.panel = new Panel(_extends({}, opts, {\n id: \"editing-panel\",\n title: opts.title || \"plugins.editing.editing_data\",\n internalPanel: new (Vue.extend(require('./components/Editing.vue')))({\n service: this,\n resourcesurl: opts.resourcesUrl || GUI.getResourcesUrl(),\n showcommitbar: undefined !== opts.showcommitbar ? opts.showcommitbar : true\n })\n }));\n GUI.showPanel(this.state.panel);\n\n if (!this.state.show_errors && this.state.layers_in_error) {\n GUI.showUserMessage({ type: 'warning', message: 'plugins.editing.errors.some_layers', closable: true });\n this.state.show_errors = true;\n }\n } else {\n GUI.showUserMessage({ type: 'alert', message: 'plugins.editing.errors.no_layers' });\n }\n return this.state.panel;\n }\n }, {\n key: 'hideEditingPanel',\n value: function hideEditingPanel() {\n if (null !== this.state.panel) {\n GUI.closePanel();\n this.state.panel = null;\n }\n }\n }, {\n key: 'unload',\n value: function unload() {\n this.hideEditingPanel();\n\n if (this.config.visible) {\n this.removeTools();\n }\n\n this.state.unwatchLayout();\n MapLayersStoreRegistry.removeLayersStore(MapLayersStoreRegistry.getLayersStore('editing'));\n _toolbox.ToolBox.clear();\n // turn off events\n GUI.getService('map').off('mapcontrol:toggled', this.state.onMapControlToggled);\n // unregister query result action\n GUI.getService('queryresults').un('editFeature', this.state.editFeatureKey);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'setCurrentLayout',\n value: function setCurrentLayout() {\n ApplicationService.setCurrentLayout(this.getName());\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'resetCurrentLayout',\n value: function resetCurrentLayout() {\n ApplicationService.setCurrentLayout(this.state.currentLayout);\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.1\n */\n\n }, {\n key: 'getActiveTool',\n value: function getActiveTool() {\n return this.getToolBoxes().filter(function (t) {\n return t.getActiveTool();\n })[0];\n }\n }]);\n\n return _class;\n}(Plugin))();\n\n},{\"./components/Changes.vue\":2,\"./components/Editing.vue\":5,\"./g3wsdk\":13,\"./g3wsdk/workflow/step\":14,\"./g3wsdk/workflow/workflow\":15,\"./i18n\":20,\"./toolboxes/toolbox\":27,\"./utils/addPartToMultigeometries\":28,\"./utils/createFeature\":38,\"./utils/getEditingLayerById\":42,\"./utils/promisify\":58,\"./utils/setAndUnsetSelectedFeaturesStyle\":59,\"./workflows\":65}],26:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 * @see https://openlayers.org/en/v5.3.0/apidoc/module-ol_interaction_Pointer.html\n */\nvar PickFeaturesInteraction = exports.PickFeaturesInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeaturesInteraction, _ol$interaction$Point);\n\n function PickFeaturesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeaturesInteraction);\n\n var features = []; // picked features\n\n var featuresAtPixel = function featuresAtPixel() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n pixel = _ref.pixel,\n map = _ref.map;\n\n return map.getFeaturesAtPixel(pixel, {\n layerFilter: function layerFilter(l) {\n return opts.layer === l;\n },\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n };\n\n return _possibleConstructorReturn(this, (PickFeaturesInteraction.__proto__ || Object.getPrototypeOf(PickFeaturesInteraction)).call(this, {\n handleDownEvent: function handleDownEvent(e) {\n features = featuresAtPixel(e);\n return features;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (features && features.length > 0) {\n this.dispatchEvent({ type: 'picked', features: features, coordinate: e.coordinate, layer: opts.layer });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = featuresAtPixel(e) ? 'pointer' : '';\n }\n }));\n }\n\n return PickFeaturesInteraction;\n}(ol.interaction.Pointer);\n\n},{}],27:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ToolBox = 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 _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 _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 _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nvar _createEditingDataOptions = require('../utils/createEditingDataOptions');\n\nvar _setLayerUniqueFieldValues = require('../utils/setLayerUniqueFieldValues');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _chooseFeature = require('../utils/chooseFeature');\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getNotEditableFieldsNoPkValues = require('../utils/getNotEditableFieldsNoPkValues');\n\nvar _getDeltaXY = require('../utils/getDeltaXY');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _convertToGeometry = require('../utils/convertToGeometry');\n\nvar _addTableFeature = require('../utils/addTableFeature');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _getRelationsInEditingByFeature = require('../utils/getRelationsInEditingByFeature');\n\nvar _isPointOnVertex = require('../utils/isPointOnVertex');\n\nvar _handleSplitFeature = require('../utils/handleSplitFeature');\n\nvar _addPartToMultigeometries = require('../utils/addPartToMultigeometries');\n\nvar _checkSessionItems = require('../utils/checkSessionItems');\n\nvar _promisify = require('../utils/promisify');\n\nvar _unlinkRelation = require('../utils/unlinkRelation');\n\nvar _splitFeatures = require('../utils/splitFeatures');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _dissolve = require('../utils/dissolve');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _workflows = require('../workflows');\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\nObject.entries({\n Workflow: _workflow.Workflow,\n OpenFormStep: _workflows.OpenFormStep,\n SelectElementsStep: _workflows.SelectElementsStep,\n PickFeatureStep: _workflows.PickFeatureStep,\n MoveFeatureStep: _workflows.MoveFeatureStep,\n ModifyGeometryVertexStep: _workflows.ModifyGeometryVertexStep,\n OpenTableStep: _workflows.OpenTableStep,\n AddFeatureStep: _workflows.AddFeatureStep\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 GEOMETRY_TYPES = g3wsdk.constant.GEOMETRY_TYPES;\nvar _g3wsdk$core = g3wsdk.core,\n ApplicationState = _g3wsdk$core.ApplicationState,\n G3WObject = _g3wsdk$core.G3WObject;\nvar ProjectsRegistry = g3wsdk.core.project.ProjectsRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar removeZValueToOLFeatureGeometry = g3wsdk.core.geoutils.Geometry.removeZValueToOLFeatureGeometry;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar _g3wsdk$core$utils = g3wsdk.core.utils,\n debounce = _g3wsdk$core$utils.debounce,\n toRawType = _g3wsdk$core$utils.toRawType;\nvar GUI = g3wsdk.gui.GUI;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n getScaleFromResolution = _g3wsdk$ol$utils.getScaleFromResolution,\n getResolutionFromScale = _g3wsdk$ol$utils.getResolutionFromScale;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin/toolboxes/toolsfactory.js@v3.7.1\n */\n\nvar ToolBox = exports.ToolBox = function (_G3WObject) {\n _inherits(ToolBox, _G3WObject);\n\n function ToolBox(layer) {\n var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n _classCallCheck(this, ToolBox);\n\n var _this = _possibleConstructorReturn(this, (ToolBox.__proto__ || Object.getPrototypeOf(ToolBox)).call(this));\n\n var is_vector = [undefined, Layer.LayerTypes.VECTOR].includes(layer.getType());\n var geometryType = is_vector && layer.getGeometryType();\n var is_point = is_vector && Geometry.isPointGeometryType(geometryType);\n var is_line = is_vector && Geometry.isLineGeometryType(geometryType);\n var is_poly = is_vector && Geometry.isPolygonGeometryType(geometryType);\n var is_table = Layer.LayerTypes.TABLE === layer.getType();\n var isMultiGeometry = geometryType && Geometry.isMultiGeometry(geometryType);\n var iconGeometry = is_vector && (is_point ? 'Point' : is_line ? 'Line' : 'Polygon');\n\n _this._start = false;\n\n /** constraint loading features to a filter set */\n _this.constraints = { filter: null, show: null, tools: [] };\n\n /** reactive state of history */\n _this._constrains = { commit: false, undo: false, redo: false };\n\n /**\n * Array of states of a layer in editing\n * {\n * _states: [\n * {\n * id: unique key\n * state: [state] // example: history contsins features state\n * // array because a tool can apply changes to more than one features at time (split di una feature)\n * },\n * {\n * id: unique key\n * state: [state]\n * },\n * ]\n * ....\n *\n * _current: unique key // usefult to undo redo\n *\n *\n */\n _this._states = [];\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._history = {\n id: layer.getId(),\n state: new Proxy({}, { get: function get(_, prop) {\n return _this._constrains[prop];\n } }),\n add: _this.__add.bind(_this),\n undo: _this.__undo.bind(_this),\n clear: _this.__clearHistory.bind(_this),\n redo: _this.__redo.bind(_this),\n getState: _this.__getState.bind(_this),\n getLastState: _this.__getLastHistoryState.bind(_this),\n commit: _this.__commit.bind(_this)\n };\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n */\n _this._session = Object.assign(new G3WObject({ setters: {\n start: function start() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_this.__startSession(options));\n },\n stop: function stop() {\n return (0, _promisify.$promisify)(_this.__stopSession());\n },\n getFeatures: function getFeatures() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_this.__getFeatures(options));\n },\n saveChangesOnServer: function saveChangesOnServer(commitItems) {\n return _this.__saveChangesOnServer(commitItems);\n }\n } }), {\n _history: _this._history,\n state: new Proxy({}, { get: function get(_, prop) {\n return _this.state.editing.session[prop];\n } }),\n getId: function getId() {\n return layer.getId();\n },\n getLastHistoryState: _this.__getLastHistoryState.bind(_this),\n isStarted: _this.__isStarted.bind(_this),\n getHistory: _this.__getHistory.bind(_this),\n getEditor: _this.__getEditor.bind(_this),\n push: _this.__push.bind(_this),\n pushDelete: _this.__pushDelete.bind(_this),\n save: _this.__save.bind(_this),\n pushAdd: _this.__pushAdd.bind(_this),\n pushUpdate: _this.__pushUpdate.bind(_this),\n rollback: _this.__rollback.bind(_this),\n rollbackDependecies: _this.__rollbackDependecies.bind(_this),\n undo: _this.__undoSession.bind(_this),\n redo: _this.__redoSession.bind(_this),\n getCommitItems: _this.__getCommitItems.bind(_this),\n commit: _this.save.bind(_this),\n clear: _this.__clearSession.bind(_this),\n clearHistory: _this.__clearHistory.bind(_this)\n });\n\n // register this session on session registry\n ToolBox._sessions[layer.getId()] = _this;\n\n /** @type { 'create' | 'update_attributes' | 'update_geometry' | delete' | undefined } undefined means all possible tools base on type */\n var capabilities = layer.getEditingCapabilities() || [];\n\n _this.state = {\n layer: layer,\n id: layer.getId(),\n changingtools: false, // whether to show tools during change phase\n show: layer.config.editing.visible, // whether to show the toolbox if we need to filtered\n color: layer.getColor() || 'blue',\n title: ' ' + layer.getTitle() || \"Edit Layer\",\n customTitle: false,\n loading: false,\n enabled: false,\n toolboxheader: true,\n startstopediting: true,\n message: null,\n toolmessages: { help: null },\n toolsoftool: [],\n selected: false,\n activetool: null,\n editing: {\n session: {\n id: new Proxy({}, { get: function get() {\n return _this.state.id;\n } }),\n started: false,\n getfeatures: false,\n /** current state of history (useful for undo /redo) */\n current: null,\n /** temporary change not save on history */\n changes: []\n },\n history: _this._history.state,\n on: false,\n dependencies: dependencies,\n relations: Object.values(layer.isFather() && dependencies.length ? layer.getRelations().getRelations() : {}),\n father: layer.isFather(),\n canEdit: true\n },\n /** @since g3w-client-plugin-editing@v3.7.0 store key events setters */\n _unregisterStartSettersEventsKey: [],\n _getFeaturesOption: {},\n _layerType: layer.getType() || Layer.LayerTypes.VECTOR,\n _enabledtools: undefined,\n _disabledtools: undefined,\n _constraints: layer.getEditingConstrains() || {},\n _tools: [\n // Add Feature\n is_vector && capabilities.includes('add_feature') && {\n id: 'addfeature',\n type: ['add_feature'],\n name: 'editing.tools.add_feature',\n icon: 'add' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addfeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addfeature',\n steps: [new _workflows.AddFeatureStep({ layer: layer, tools: ['snap', 'measure'] }), new _workflows.OpenFormStep({ layer: layer })]\n })\n },\n // Edit Attributes Feature\n is_vector && capabilities.includes('change_attr_feature') && {\n id: 'editattributes',\n type: ['change_attr_feature'],\n name: 'editing.tools.update_feature',\n icon: 'editAttributes.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editfeatureattributesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n helpMessage: 'editing.tools.update_feature',\n type: 'editfeatureattributes',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.OpenFormStep()]\n })\n },\n // Delete Feature\n is_vector && capabilities.includes('delete_feature') && {\n id: 'deletefeature',\n type: ['delete_feature'],\n name: 'editing.tools.delete_feature',\n icon: 'delete' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/deletefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'deletefeature',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }),\n // delete feature\n new _step.Step({\n help: \"editing.steps.help.double_click_delete\",\n run: function run(inputs, context) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var layerId = inputs.layer.getId();\n var feature = inputs.features[0];\n\n // get all relations of the current editing layer that are in editing\n // and filter relations\n // get relation layer id that are in relation with layerId (current layer in editing)\n // get fields of relation layer that are in relation with layerId\n // Exclude relation child layer that has at least one\n // editing field required because when unlink relation feature from\n // delete father, when try to commit update relation, we receive an error\n // due missing value /null to required field.\n var relations = (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: inputs.layer.getRelations() ? inputs.layer.getRelations().getArray() : []\n }).filter(function (relation) {\n return (0, _getEditingLayerById.getEditingLayerById)((0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation })).getEditingFields() //get editing field of relation layer\n .filter(function (f) {\n return (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ relation: relation, layerId: (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation }) }).ownField.includes(f.name);\n }) //filter only relation fields\n .every(function (f) {\n return !f.validate.required;\n });\n } // check required\n );\n\n // promise return features relations and add to relation layer child\n if (relations.length > 0) {\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(layerId, { feature: feature, relations: relations });\n }\n\n inputs.features = [feature];\n\n // Unlink relation features related to layer id\n (0, _getRelationsInEditingByFeature.getRelationsInEditingByFeature)({ layerId: layerId, relations: relations, feature: feature }).forEach(function (_ref4) {\n var relation = _ref4.relation,\n relations = _ref4.relations;\n\n relations.forEach(function (r) {\n return (0, _unlinkRelation.unlinkRelation)({ layerId: layerId, relation: relation, relations: relations, index: 0, dialog: false });\n });\n });\n\n context.session.pushDelete(layerId, feature);\n\n return inputs;\n }));\n }\n }),\n // confirm step\n new _step.Step({\n run: function run(inputs) {\n var _this2 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var editingLayer = inputs.layer.getEditingLayer();\n var feature = inputs.features[0];\n var layerId = inputs.layer.getId();\n var promise = new Promise(function (resolve, reject) {\n GUI.dialog.confirm('

' + tPlugin('editing.messages.delete_feature') + '

' + '
' + (inputs.layer.getChildren().length && (0, _getRelationsInEditing.getRelationsInEditing)({ layerId: layerId, relations: inputs.layer.getRelations().getArray() }).length ? tPlugin('editing.messages.delete_feature_relations') : '') + '
', function (result) {\n if (!result) {\n reject(inputs);\n return;\n }\n editingLayer.getSource().removeFeature(feature);\n // Remove unique values from unique fields of a layer (when deleting a feature)\n var fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[layerId];\n if (fields) {\n Object.keys(feature.getProperties()).filter(function (f) {\n return undefined !== fields[f];\n }).forEach(function (f) {\n return fields[f].delete(feature.get(f));\n });\n }\n resolve(inputs);\n });\n });\n\n if (inputs.features) {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({\n promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })),\n inputs: inputs,\n style: _this2.selectStyle\n });\n }\n return promise;\n }));\n }\n })]\n })\n },\n // Edit vertex Feature\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'movevertex',\n type: ['change_feature'],\n name: \"editing.tools.update_vertex\",\n icon: \"moveVertex.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/modifygeometryvertexworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'modifygeometryvertex',\n helpMessage: 'editing.tools.update_vertex',\n steps: [new _workflows.PickFeatureStep({ layer: layer }), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.ModifyGeometryVertexStep({ tools: ['snap', 'measure'] })]\n })\n },\n // Edit Attributes to Multi features\n is_vector && capabilities.includes('change_attr_feature') && {\n id: 'editmultiattributes',\n type: ['change_attr_feature'],\n name: \"editing.tools.update_multi_features\",\n icon: \"multiEditAttributes.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/editmultifeatureattributesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'editmultiattributes',\n helpMessage: 'editing.tools.update_multi_features',\n registerEscKeyEvent: true,\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n type: 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectDrawBoxAtLeast2Feature' : 'selectMultiPointSHIFTAtLeast2Feature'),\n buttonnext: {\n disabled: true,\n condition: function condition(_ref7) {\n var _ref7$features = _ref7.features,\n features = _ref7$features === undefined ? [] : _ref7$features;\n return features.length < 2;\n },\n done: function done() {\n _workflow.Workflow.Stack.getCurrent().clearUserMessagesSteps();\n }\n },\n dynamic: 0,\n done: false\n }\n }\n }), new _workflows.OpenFormStep({ multi: true })]\n })\n },\n // Move Feature\n is_vector && capabilities.includes('change_feature') && {\n id: 'movefeature',\n type: ['change_feature'],\n name: 'editing.tools.move_feature',\n icon: 'move' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/movefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'movefeature',\n helpMessage: 'editing.tools.move_feature',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }), new _workflows.MoveFeatureStep()]\n })\n },\n // Copy Feature from another layer\n function () {\n var layers = [];\n return is_vector && capabilities.includes('add_feature') && {\n id: 'copyfeaturesfromotherlayer',\n type: ['add_feature'],\n name: \"editing.tools.pastefeaturesfromotherlayers\",\n icon: \"pasteFeaturesFromOtherLayers.png\",\n enable: function () {\n var catalogService = GUI.getService('catalog');\n var layerId = layer.getId();\n var geometryType = layer.getGeometryType();\n var data = {\n bool: true,\n tool: undefined\n };\n CatalogLayersStoresRegistry.getLayers({\n GEOLAYER: true,\n BASELAYER: false\n });\n // check selected feature layers\n var updatelayers = function updatelayers() {\n var checkGeometry = function checkGeometry(type) {\n return type && (0, _isSameBaseGeometryType.isSameBaseGeometryType)(geometryType, type) && (geometryType === type || Geometry.isMultiGeometry(geometryType) || !Geometry.isMultiGeometry(type));\n };\n layers = [].concat(_toConsumableArray(CatalogLayersStoresRegistry.getLayers({ GEOLAYER: true, BASELAYER: false }).filter(function (l) {\n return layerId !== l.getId() && checkGeometry(l.getGeometryType());\n })), _toConsumableArray(catalogService.getExternalLayers({ type: 'vector' }).filter(function (l) {\n return checkGeometry(l.geometryType);\n }))).map(function (l, i) {\n return {\n id: (l.state || { id: l.id }).id,\n name: (l.state || { name: l.name }).name,\n external: l.external || false,\n selected: 0 === i\n };\n });\n return data.tool.enabled = layers.length > 0;\n };\n return function (_ref8) {\n var bool = _ref8.bool,\n _ref8$tool = _ref8.tool,\n tool = _ref8$tool === undefined ? {} : _ref8$tool;\n\n data.tool = tool;\n data.bool = bool;\n catalogService.onafter('addExternalLayer', updatelayers);\n catalogService.onafter('removeExternalLayer', updatelayers);\n return updatelayers();\n };\n }(),\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/copyfeaturesfromotherlayerworkflow.js@v3.7.1 */\n op: function () {\n var openFormStep = new _workflows.OpenFormStep({ layer: layer, help: 'editing.steps.help.copy' });\n return new _workflow.Workflow({\n layer: layer,\n type: 'copyfeaturesfromotherlayer',\n runOnce: true,\n steps: [new _step.Step({\n layer: layer,\n help: 'editing.steps.help.draw_new_feature',\n run: function run(inputs, context) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var originalLayer = inputs.layer;\n var geometryType = originalLayer.getGeometryType();\n var layerId = originalLayer.getId();\n //get attributes/properties from current layer in editing\n var attributes = originalLayer.getEditingFields().filter(function (a) {\n return !a.pk;\n });\n var session = context.session;\n var editingLayer = originalLayer.getEditingLayer();\n var source = editingLayer.getSource();\n //set reactive\n var vueInstance = new (Vue.extend(require('../components/CopyFeaturesFromOtherLayers.vue')))({ layers: layers });\n var message = vueInstance.$mount().$el;\n GUI.showModalDialog({\n title: tPlugin('editing.relation.copy_feature_from_other_layer'),\n className: 'modal-left',\n closeButton: false,\n message: message,\n buttons: {\n cancel: {\n label: 'Cancel',\n className: 'btn-danger',\n callback: function callback() {\n reject();\n }\n },\n ok: {\n label: 'Ok',\n className: 'btn-success',\n callback: function () {\n var _ref9 = _asyncToGenerator(function* () {\n try {\n //get selected layer\n var _layer = layers.find(function (l) {\n return l.selected;\n });\n var feature = yield (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield new Promise(function () {\n var _ref11 = _asyncToGenerator(function* (resolve) {\n _this3.addInteraction(_layer.external ? new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: GUI.getService('map').getLayerById(_layer.id) }) : new g3wsdk.ol.interactions.PickCoordinatesInteraction(), {\n 'picked': function () {\n var _ref12 = _asyncToGenerator(function* (e) {\n try {\n resolve((0, _convertToGeometry.convertToGeometry)(_layer.external ? e.features // external layer\n : ((yield DataRouterService.getData('query:coordinates', { // TOC/PROJECT layer\n inputs: {\n coordinates: e.coordinate,\n query_point_tolerance: ProjectsRegistry.getCurrentProject().getQueryPointTolerance(),\n layerIds: [_layer.id],\n multilayers: false\n },\n outputs: null\n })).data[0] || { features: [] }).features, geometryType));\n } catch (e) {\n console.warn(e);\n }\n });\n\n function picked(_x5) {\n return _ref12.apply(this, arguments);\n }\n\n return picked;\n }()\n });\n });\n\n return function (_x4) {\n return _ref11.apply(this, arguments);\n };\n }());\n\n var _feature = void 0;\n\n try {\n _feature = features.length > 1 ? yield (0, _promisify.promisify)((0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs })) : features[0];\n } catch (e) {\n console.warn(e);\n }\n\n if (_feature) {\n var _feature2 = new Feature({\n feature: _feature,\n properties: attributes.map(function (a) {\n return a.name;\n })\n });\n\n _feature2.setTemporaryId();\n return _feature2;\n }\n\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n closable: false,\n autoclose: true\n });\n\n return Promise.reject();\n }));\n\n //@TODO check better way\n //Set undefined property to null otherwise on commit\n // property are lost\n attributes.forEach(function (_ref13) {\n var name = _ref13.name;\n\n if (undefined === feature.get(name)) {\n feature.set(name, null);\n }\n });\n\n originalLayer.getEditingNotEditableFields().find(function (field) {\n if (originalLayer.isPkField(field)) {\n feature.set(field, null);\n }\n });\n //remove eventually Z Values\n removeZValueToOLFeatureGeometry({ feature: feature });\n feature.setTemporaryId();\n source.addFeature(feature);\n session.pushAdd(layerId, feature, false);\n inputs.features.push(feature);\n _this3.fireEvent('addfeature', feature);\n resolve(inputs);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n function callback() {\n return _ref9.apply(this, arguments);\n }\n\n return callback;\n }()\n }\n }\n }).on('hide.bs.modal', function () {\n return vueInstance.$destroy();\n }); //destroy vue instance after dialog is a closed\n //hide user message step\n }));\n }\n }), openFormStep],\n registerEscKeyEvent: true\n });\n }()\n };\n }(),\n // Copy Feature from layer\n is_vector && capabilities.includes('add_feature') && {\n id: 'copyfeatures',\n type: ['add_feature'],\n name: \"editing.tools.copy\",\n icon: 'copy' + iconGeometry + '.png',\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/copyfeaturesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'copyfeatures',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n help: 'editing.steps.help.copy',\n type: ApplicationState.ismobile ? 'single' : 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectPoint' : 'selectPointSHIFT'),\n done: false\n }\n }\n }, true),\n // get vertex\n layer.getGeometryType().includes('Point') ? undefined : new _step.Step({\n layer: layer,\n help: 'editing.steps.help.select',\n steps: {\n from: {\n description: 'editing.workflow.steps.selectStartVertex',\n done: false\n }\n },\n run: function run(inputs) {\n var _this4 = this;\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var promise = new Promise(function (resolve, reject) {\n _this4.resolve = resolve;\n if (0 === inputs.features.length) {\n return reject('no feature');\n }\n _this4.addInteraction(new ol.interaction.Draw({ type: 'Point', condition: function condition(e) {\n return inputs.features.some(function (f) {\n return (0, _isPointOnVertex.isPointOnVertex)({ feature: f, coordinates: e.coordinate });\n });\n } }), {\n 'drawend': function drawend(e) {\n inputs.coordinates = e.feature.getGeometry().getCoordinates();\n _this4.setUserMessageStepDone('from');\n resolve(inputs);\n }\n });\n _this4.addInteraction(new ol.interaction.Snap({ edge: false, features: new ol.Collection(inputs.features) }));\n });\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this4.selectStyle });\n return promise;\n }));\n },\n stop: function stop() {\n /** @since g3w-client-plugin-editing@v3.8.0 */\n //Always resolve promise (in case of a press esc key)\n this.resolve(true);\n this.resolve = null;\n }\n }),\n // move elements\n new _step.Step({\n layer: layer,\n help: \"editing.steps.help.select_vertex_to_paste\",\n steps: {\n to: {\n description: 'editing.workflow.steps.selectToPaste',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var layer = inputs.layer,\n features = inputs.features,\n coordinates = inputs.coordinates;\n\n var source = layer.getEditingLayer().getSource();\n var layerId = layer.getId();\n var session = context.session;\n var promise = new Promise(function (resolve, reject) {\n _this5.addInteraction(new ol.interaction.Draw({ type: 'Point', features: new ol.Collection() }), {\n 'drawend': function drawend(evt) {\n var _evt$feature$getGeome = evt.feature.getGeometry().getCoordinates(),\n _evt$feature$getGeome2 = _slicedToArray(_evt$feature$getGeome, 2),\n x = _evt$feature$getGeome2[0],\n y = _evt$feature$getGeome2[1];\n\n var deltaXY = coordinates ? (0, _getDeltaXY.getDeltaXY)({ x: x, y: y, coordinates: coordinates }) : null;\n var featuresLength = features.length;\n var promisesDefaultEvaluation = [];\n\n var _loop = function _loop(i) {\n var feature = (0, _cloneFeature.cloneFeature)(features[i], layer);\n if (deltaXY) {\n feature.getGeometry().translate(deltaXY.x, deltaXY.y);\n } else {\n var _coordinates = feature.getGeometry().getCoordinates();\n var _deltaXY = (0, _getDeltaXY.getDeltaXY)({ x: x, y: y, coordinates: _coordinates });\n feature.getGeometry().translate(_deltaXY.x, _deltaXY.y);\n }\n // set media fields to null\n layer.getEditingMediaFields({}).forEach(function (f) {\n return feature.set(f, null);\n });\n /**\n * evaluated geometry expression\n */\n promisesDefaultEvaluation.push((0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }));\n };\n\n for (var i = 0; i < featuresLength; i++) {\n _loop(i);\n }\n Promise.allSettled(promisesDefaultEvaluation).then(function (promises) {\n return promises.forEach(function (_ref17) {\n var status = _ref17.status,\n feature = _ref17.value;\n\n\n /**\n * @todo improve client core to handle this situation on session.pushAdd not copy pk field not editable only\n */\n var noteditablefieldsvalues = (0, _getNotEditableFieldsNoPkValues.getNotEditableFieldsNoPkValues)({ layer: layer, feature: feature });\n var newFeature = session.pushAdd(layerId, feature);\n // after pushAdd need to set not edit\n if (Object.entries(noteditablefieldsvalues).length) {\n Object.entries(noteditablefieldsvalues).forEach(function (_ref18) {\n var _ref19 = _slicedToArray(_ref18, 2),\n field = _ref19[0],\n value = _ref19[1];\n\n return newFeature.set(field, value);\n });\n }\n\n //need to add to editing layer source newFeature\n source.addFeature(newFeature);\n\n inputs.features.push(newFeature);\n });\n }).finally(function () {\n _this5.setUserMessageStepDone('to');\n resolve(inputs);\n });\n }\n });\n\n _this5.addInteraction(new ol.interaction.Snap({ source: source, edge: false }));\n });\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this5.selectStyle });\n return promise;\n }));\n }\n })].filter(Boolean),\n registerEscKeyEvent: true\n })\n },\n // Add part to MultiGeometry Feature\n is_vector && capabilities.includes('add_feature') && capabilities.includes('change_feature') && {\n id: 'addPart',\n type: ['add_feature', 'change_feature'],\n name: \"editing.tools.addpart\",\n icon: \"addPart.png\",\n visible: isMultiGeometry,\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addparttomultigeometriesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addparttomultigeometries',\n helpMessage: 'editing.tools.addpart',\n runOnce: true,\n steps: [new _workflows.PickFeatureStep({\n steps: {\n select: {\n description: 'editing.workflow.steps.select',\n done: false\n }\n }\n }), new _step.Step({\n run: _chooseFeature.chooseFeature,\n help: 'editing.steps.help.select_element'\n }), new _workflows.AddFeatureStep({\n layer: layer,\n help: 'editing.steps.help.select_element',\n add: false,\n steps: {\n addfeature: {\n description: 'editing.workflow.steps.draw_part',\n done: false\n }\n },\n tools: ['snap', 'measure']\n }),\n // add part to multi geometries\n new _step.Step({\n layer: layer,\n help: 'editing.steps.help.select_element',\n run: _addPartToMultigeometries.addPartToMultigeometries\n })],\n registerEscKeyEvent: true\n })\n },\n // Remove part from MultiGeometry Feature\n is_vector && capabilities.includes('change_feature') && {\n id: 'deletePart',\n type: ['change_feature'],\n name: \"editing.tools.deletepart\",\n icon: \"deletePart.png\",\n visible: isMultiGeometry,\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/deletepartfrommultigeometriesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'deletepartfrommultigeometries',\n steps: [new _workflows.PickFeatureStep(), new _step.Step({ run: _chooseFeature.chooseFeature }),\n // delete part from multi geometries\n new _step.Step({\n layer: layer,\n run: function run(inputs, context) {\n var _this6 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var originaLayer = inputs.layer;\n var editingLayer = inputs.layer.getEditingLayer();\n var layerId = originaLayer.getId();\n var session = context.session;\n var features = inputs.features,\n coordinate = inputs.coordinate;\n\n var feature = features[0];\n var originalFeature = feature.clone();\n var geometry = feature.getGeometry();\n var geometries = [];\n\n // ensure single geometry\n switch (geometry.getType()) {\n case GEOMETRY_TYPES.MULTIPOLYGON:\n geometries = geometry.getPolygons();break;\n case GEOMETRY_TYPES.MULTILINE:\n geometries = geometry.getLineStrings();break;\n case GEOMETRY_TYPES.MULTILINESTRING:\n geometries = geometry.getLineStrings();break;\n case GEOMETRY_TYPES.MULTIPOINT:\n geometries = geometry.getPoints();break;\n default:\n console.warn('invalid geometry type', geometry.getType());break;\n }\n\n var source = new ol.source.Vector({ features: geometries.map(function (geometry) {\n return new ol.Feature(geometry);\n }) });\n var map = _this6.getMap();\n var pixel = map.getPixelFromCoordinate(coordinate);\n var tempLayer = new ol.layer.Vector({\n source: source,\n style: editingLayer.getStyle()\n });\n\n map.addLayer(tempLayer);\n\n map.once('postrender', function () {\n var found = false;\n //need to call map.forEachFeatureAtPixel and not this.forEachFeatureAtPixel\n //because we use arrow function, and it referred this to outside context\n map.forEachFeatureAtPixel(pixel, function (_feature) {\n if (!found) {\n source.removeFeature(_feature);\n if (source.getFeatures().length) {\n var _geometries = source.getFeatures().map(function (f) {\n return f.getGeometry();\n });\n var type = _geometries[0] && _geometries[0].getType();\n feature.setGeometry(type && new ol.geom['Multi' + type](_geometries.map(function (g) {\n return g.getCoordinates();\n })) // ensures multi geometry\n );\n /**\n * evaluated geometry expression\n */\n (0, _evaluateExpressionFields.evaluateExpressionFields)({\n inputs: inputs,\n context: context,\n feature: feature\n }).finally(function () {\n session.pushUpdate(layerId, feature, originalFeature);\n resolve(inputs);\n });\n /**\n * end of evaluated\n */\n } else {\n editingLayer.getSource().removeFeature(feature);\n session.pushDelete(layerId, feature);\n resolve(inputs);\n }\n found = true;\n }\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === tempLayer;\n },\n\n hitTolerance: 1\n });\n //need to call map.forEachFeatureAtPixel and not this.forEachFeatureAtPixel\n //because we use arrow function, and it referred this to outside context\n map.removeLayer(tempLayer);\n tempLayer = null;\n });\n }));\n }\n })],\n helpMessage: 'editing.tools.deletepart'\n })\n },\n // Split Feature\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'splitfeature',\n type: ['change_feature'],\n name: \"editing.tools.split\",\n icon: \"splitFeatures.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/splitfeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'splitfeature',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n help: 'editing.steps.help.split',\n type: ApplicationState.ismobile ? 'single' : 'multiple',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectPoint' : 'selectPointSHIFT'),\n done: false\n }\n }\n }, true),\n // split feature\n new _step.Step({\n layer: layer,\n help: '',\n steps: {\n draw_line: {\n description: 'editing.workflow.steps.draw_split_line',\n done: false\n }\n },\n run: function run(inputs, context) {\n var _this7 = this;\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var source = inputs.layer.getEditingLayer().getSource();\n var promise = new Promise(function (resolve, reject) {\n _this7.addInteraction(new ol.interaction.Draw({\n type: 'LineString',\n features: new ol.Collection(),\n freehandCondition: ol.events.condition.never\n }), {\n 'drawend': function () {\n var _ref22 = _asyncToGenerator(function* (e) {\n var isSplitted = false;\n var splittedGeometries = (0, _splitFeatures.splitFeatures)(inputs.features, e.feature);\n var splittedGeometriesLength = splittedGeometries.length;\n\n var _loop2 = function* _loop2(i) {\n if (splittedGeometries[i].geometries.length > 1) {\n isSplitted = true;\n yield (0, _handleSplitFeature.handleSplitFeature)({\n context: context,\n inputs: inputs,\n feature: inputs.features.find(function (f) {\n return f.getUid() === splittedGeometries[i].uid;\n }),\n splittedGeometries: splittedGeometries[i].geometries,\n session: context.session\n });\n }\n };\n\n for (var i = 0; i < splittedGeometriesLength; i++) {\n yield* _loop2(i);\n }\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (isSplitted ? resolve : reject)(inputs);\n //need to set timeout promise, because at the end of the workflow all user messages are cleared\n yield new Promise(function (r) {\n return setTimeout(r, 600);\n });\n GUI.showUserMessage({\n type: isSplitted ? 'success' : 'warning',\n message: isSplitted ? 'plugins.editing.messages.splitted' : 'plugins.editing.messages.nosplittedfeature',\n autoclose: true\n });\n });\n\n function drawend(_x6) {\n return _ref22.apply(this, arguments);\n }\n\n return drawend;\n }()\n });\n\n _this7.addInteraction(new ol.interaction.Snap({ source: source, edge: true }));\n });\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n return yield promise;\n } catch (e) {\n console.warn(e);return Promise.reject(e);\n }\n })), inputs: inputs, style: _this7.selectStyle });\n\n return promise;\n }));\n }\n })],\n registerEscKeyEvent: true\n })\n },\n // Merge features in one\n (is_line || is_poly) && capabilities.includes('change_feature') && {\n id: 'mergefeatures',\n type: ['change_feature'],\n name: \"editing.tools.merge\",\n icon: \"mergeFeatures.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/mergefeaturesworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'mergefeatures',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n type: 'bbox',\n help: 'editing.steps.help.merge',\n steps: {\n select: {\n description: 'editing.workflow.steps.' + (ApplicationState.ismobile ? 'selectDrawBox' : 'selectSHIFT'),\n done: false\n }\n }\n }, true),\n // merge features\n new _step.Step({\n layer: layer,\n help: 'editing.steps.help.merge',\n steps: {\n choose: {\n description: 'editing.workflow.steps.merge',\n done: false\n }\n },\n run: function run(inputs, context) {\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var layer = inputs.layer,\n features = inputs.features;\n\n var editingLayer = layer.getEditingLayer();\n var source = editingLayer.getSource();\n var layerId = layer.getId();\n var session = context.session;\n\n if (features.length < 2) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.select_min_2_features',\n autoclose: true\n });\n reject();\n } else {\n (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: inputs }).then(function () {\n var _ref24 = _asyncToGenerator(function* (feature) {\n var index = features.findIndex(function (_feature) {\n return feature === _feature;\n });\n var originalFeature = feature.clone();\n var newFeature = (0, _dissolve.dissolve)({ features: features, index: index });\n\n if (newFeature) {\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: newFeature });\n } catch (e) {\n console.warn(e);\n }\n session.pushUpdate(layerId, newFeature, originalFeature);\n features.filter(function (_feature) {\n return _feature !== feature;\n }).forEach(function (deleteFeature) {\n session.pushDelete(layerId, deleteFeature);\n source.removeFeature(deleteFeature);\n });\n inputs.features = [feature];\n resolve(inputs);\n } else {\n GUI.showUserMessage({\n type: 'warning',\n message: 'plugins.editing.messages.no_feature_selected',\n autoclose: true\n });\n reject();\n }\n });\n\n return function (_x7) {\n return _ref24.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.warn(e);\n reject();\n });\n }\n }));\n }\n })],\n registerEscKeyEvent: true\n })\n },\n // Copy Features from external layer\n (is_line || is_poly) && capabilities.includes('add_feature') && {\n id: 'copyfeaturefromexternallayer',\n type: ['add_feature'],\n name: \"editing.tools.copyfeaturefromexternallayer\",\n icon: \"copyPolygonFromFeature.png\",\n visible: function visible(tool) {\n var map = GUI.getService('map');\n var type = _this.getLayer().getGeometryType();\n var has_same_geom = function has_same_geom(layer) {\n // check if tool is visible and the layer is a Vector\n var features = 'VECTOR' === layer.getType() && layer.getSource().getFeatures();\n return features && features.length ? (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), type) : true;\n };\n map.onbefore('loadExternalLayer', function (layer) {\n return !tool.visible && (tool.visible = has_same_geom(layer));\n });\n map.onafter('unloadExternalLayer', function (layer) {\n var features = tool.visible && 'VECTOR' === layer.getType() && layer.getSource().getFeatures();\n if (features && features.length && (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), type)) {\n tool.visible = map.getExternalLayers().find(function (l) {\n return undefined !== has_same_geom(l);\n });\n }\n });\n return false;\n },\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addfeaturefrommapvectorlayersworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addfeaturefrommapvectorlayers',\n runOnce: true,\n steps: [new _workflows.SelectElementsStep({\n layer: layer,\n type: 'external',\n help: 'editing.steps.help.copy'\n }, false), new _workflows.OpenFormStep({\n layer: layer,\n help: 'editing.steps.help.copy'\n })],\n registerEscKeyEvent: true\n })\n },\n // Add Table feature (alphanumerical layer - No geometry)\n is_table && capabilities.includes('add_feature') && {\n id: 'addfeature',\n type: ['add_feature'],\n name: \"editing.tools.add_feature\",\n icon: \"addTableRow.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/addtablefeatureworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'addtablefeature',\n steps: [new _step.Step({ help: 'editing.steps.help.new', run: _addTableFeature.addTableFeature }), new _workflows.OpenFormStep()]\n })\n },\n // Edit Table feature (alphanumerical layer - No geometry)\n is_table && capabilities.includes('delete_feature') && capabilities.includes('change_attr_feature') && {\n id: 'edittable',\n type: ['delete_feature', 'change_attr_feature'],\n name: \"editing.tools.update_feature\",\n icon: \"editAttributes.png\",\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/edittableworkflow.js@v3.7.1 */\n op: new _workflow.Workflow({\n layer: layer,\n type: 'edittable',\n backbuttonlabel: 'plugins.editing.form.buttons.save_and_back_table',\n runOnce: true,\n steps: [new _workflows.OpenTableStep()]\n })\n }].filter(Boolean).map(function (tool) {\n return Object.assign(new G3WObject(), tool);\n })\n };\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n */\n _this.state._tools.forEach(function (tool) {\n Object.assign(tool, {\n disabledtoolsoftools: [],\n enabled: false,\n active: false,\n message: null,\n messages: tool.op.getMessages(),\n visible: tool.visible instanceof Function ? tool.visible(tool) : undefined !== tool.visible ? tool.visible : true,\n state: new Proxy({}, { get: function get(_, prop) {\n return tool[prop];\n }, set: function set(_, prop, value) {\n tool[prop] = value;return true;\n } }),\n start: _this._startTool.bind(_this, tool),\n stop: _this._stopTool.bind(_this, tool),\n getId: function getId() {\n return tool.id;\n },\n getOperator: function getOperator() {\n return tool.op;\n },\n setOperator: function setOperator(op) {\n return tool.op = op;\n }\n });\n });\n\n Object.assign(_this.state, {\n tools: _this.state._tools,\n /** original value of state in case of custom changes */\n originalState: {\n title: _this.state.title,\n toolsoftool: [].concat(_toConsumableArray(_this.state.toolsoftool))\n }\n });\n\n // BACKOMP v3.x\n _this.originalState = _this.state.originalState;\n\n //event features\n _this._getFeaturesEvent = { event: null, fnc: null };\n\n // @since v3.8.0 constraint messages to show\n _this.messages = {\n //set message of scale constraint\n constraint: {\n scale: ('' + tPlugin('editing.messages.constraints.enable_editing') + _this.state._constraints.scale).toUpperCase()\n }\n\n //@since 3.8.0 Need to store Promise resolve when start toolbox but non editing is enabled (scale constraint, etc..)\n };_this.startResolve = null;\n\n //@since 3.8.0 Store ol keys event start when we are in editing\n _this._olStartKeysEvent = [];\n\n //@since 3.8.1 store all unwatches\n _this.unwatches = [];\n return _this;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } layerId\n *\n */\n\n\n _createClass(ToolBox, [{\n key: '_stopSessionChildren',\n value: function _stopSessionChildren(layerId) {\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n var layer = service.getLayerById(layerId);\n (0, _getRelationsInEditing.getRelationsInEditing)({\n layerId: layerId,\n relations: layer.getRelations() ? layer.getRelations().getArray() : []\n }).filter(function (relation) {\n return relation.getFather() === layerId;\n }).forEach(function (relation) {\n var relationId = (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation });\n // In case of no editing is started (click on pencil of relation layer) need to stop (unlock) features\n if (!service.getToolBoxById(relationId).inEditing()) {\n service.state.sessions[relationId].stop();\n }\n });\n }\n\n /**\n * @returns toolbox state\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @param bool\n */\n\n }, {\n key: 'setShow',\n value: function setShow() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.show = bool;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getLayer',\n value: function getLayer() {\n return this.state.layer;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.state.editing.father;\n }\n\n /**\n * @returns { Array } parent and child layers\n */\n\n }, {\n key: 'getDependencies',\n value: function getDependencies() {\n return this.state.editing.dependencies;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'hasDependencies',\n value: function hasDependencies() {\n return this.state.editing.dependencies.length > 0;\n }\n\n /**\n * Create getFeatures options\n * \n * @param filter\n */\n\n }, {\n key: 'setFeaturesOptions',\n value: function setFeaturesOptions() {\n var _ref25 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref25.filter;\n\n if (filter) {\n // in case of no features filter request check if no features_filed is present otherwise it get first field\n if (filter.nofeatures) {\n filter.nofeatures_field = filter.nofeatures_field || this.state.layer.getEditingFields()[0].name;\n }\n this.state._getFeaturesOption = {\n filter: filter,\n editing: true,\n registerEvents: false\n };\n // in case of constraint attribute set the filter as constraint\n if (filter.constraint) {\n this.constraintFeatureFilter = filter;\n }\n } else {\n this.state._getFeaturesOption = (0, _createEditingDataOptions.createEditingDataOptions)(Layer.LayerTypes.TABLE === this.state._layerType ? 'all' : 'bbox', { layerId: this.getId() });\n }\n }\n\n /**\n * @param constraints\n */\n\n }, {\n key: 'setEditingConstraints',\n value: function setEditingConstraints() {\n var _this8 = this;\n\n var constraints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n Object.keys(constraints).forEach(function (c) {\n return _this8.constraints[c] = constraints[c];\n });\n }\n\n /**\n * @since 3.8.0 Handle scale constraint\n * @sto stop true when called from stop method\n * @private\n */\n\n }, {\n key: '_handleScaleConstraint',\n value: function _handleScaleConstraint() {\n var _this9 = this;\n\n var stop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // get features from server or wait to start\n var map = GUI.getService('map').getMap();\n\n this.state.editing.canEdit = getScaleFromResolution(map.getView().getResolution()) <= this.state._constraints.scale;\n\n //check if start method is called\n var in_editing = this._start || this.startResolve;\n\n var showZoomCursor = !stop && this.state.selected && !this.state.editing.canEdit;\n\n var control = GUI.getService('map').getCurrentToggledMapControl();\n\n if (control && control.cursorClass && (stop || in_editing)) {\n control.setMouseCursor(!showZoomCursor);\n }\n\n map.getViewport().classList.toggle('ol-zoom-in', showZoomCursor);\n\n // check if selected → hide modal\n if (stop || !this.state.selected || !in_editing) {\n GUI.setModal(false);\n return;\n }\n\n if (this.state.editing.canEdit && this.startResolve) {\n this.startResolve();\n }\n\n // async show message because another toolbox can be unselected before\n setTimeout(function () {\n return GUI.setModal(!_this9.state.editing.canEdit, _this9.messages.constraint.scale);\n });\n }\n\n /**\n *\n * Start editing\n * @param options\n * @return {*}\n */\n //added option object to start method to have a control by other plugin how\n\n }, {\n key: 'start',\n value: function start() {\n var _this10 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref26 = _asyncToGenerator(function* (resolve, reject) {\n var id = _this10.getId();\n var applicationConstraint = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.constraints.toolboxes[id];\n var _options$toolboxheade = options.toolboxheader,\n toolboxheader = _options$toolboxheade === undefined ? true : _options$toolboxheade,\n _options$startstopedi = options.startstopediting,\n startstopediting = _options$startstopedi === undefined ? true : _options$startstopedi,\n _options$changingtool = options.changingtools,\n changingtools = _options$changingtool === undefined ? false : _options$changingtool,\n tools = options.tools,\n filter = options.filter;\n\n\n _this10.state.changingtools = changingtools;\n\n if (tools) {\n _this10.setEnablesDisablesTools(tools);\n }\n\n _this10.state.toolboxheader = toolboxheader;\n _this10.state.startstopediting = startstopediting;\n\n filter = applicationConstraint && applicationConstraint.filter || _this10.constraints.filter || filter;\n\n //register lock features to show a message\n var unKeyLock = _this10.state.layer.getFeaturesStore().onceafter('featuresLockedByOtherUser', function () {\n GUI.showUserMessage({\n type: 'warning',\n subtitle: _this10.state.layer.getName().toUpperCase(),\n message: 'plugins.editing.messages.featureslockbyotheruser'\n });\n });\n\n //add featuresLockedByOtherUser setter\n _this10.state._unregisterStartSettersEventsKey.push(function () {\n return _this10.state.layer.getFeaturesStore().un('featuresLockedByOtherUser', unKeyLock);\n });\n\n // check if can we edit based on scale contraint (vector layer)\n if (_this10.state._constraints.scale) {\n\n yield new Promise(function (resolve) {\n //set as resolve handler to resolve waiting get features from server\n _this10.startResolve = resolve;\n //call scale constraint handler\n _this10._handleScaleConstraint();\n\n var map = GUI.getService('map');\n\n // click to fit zoom scale constraint\n _this10._olStartKeysEvent.push(map.getMap().on('click', function (e) {\n if (_this10.state.selected && !_this10.state.editing.canEdit) {\n map.goToRes(e.coordinate, getResolutionFromScale(_this10.state._constraints.scale, GUI.getService('map').getMapUnits()));\n }\n }));\n\n // if click on start toolbox can edit\n if (_this10.state.editing.canEdit) {\n resolve();\n }\n });\n }\n\n //reset start startResolve promise reolve function\n _this10.startResolve = null;\n // set filterOptions\n _this10.setFeaturesOptions({ filter: filter });\n\n var handlerAfterSessionGetFeatures = function () {\n var _ref27 = _asyncToGenerator(function* (promise) {\n _this10.emit('start-editing');\n //set unique fields values\n yield (0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(_this10.getId());\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'start-editing', id: id });\n try {\n var features = yield (0, _promisify.promisify)(promise);\n _this10.stopLoading();\n _this10.setEditing(true);\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'get-features-editing', id: id, options: { features: features } });\n resolve({ features: features });\n } catch (e) {\n console.warn(e);\n GUI.notify.error(e.message);\n yield g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').runEventHandler({ type: 'error-editing', id: id, error: e });\n _this10.stop();\n _this10.stopLoading();\n reject(e);\n }\n });\n\n return function handlerAfterSessionGetFeatures(_x15) {\n return _ref27.apply(this, arguments);\n };\n }();\n\n var is_started = !!_this10.__isStarted();\n\n //@TODO need to explain better\n var GIVE_ME_A_NAME = ApplicationState.ismobile // is mobile\n && GUI.getService('map').isMapHidden() // map is not visible (content 100%)\n && Layer.LayerTypes.VECTOR === _this10.state._layerType // is vector\n ;\n\n if (!is_started && GIVE_ME_A_NAME) {\n _this10.setEditing(true);\n GUI.getService('map').onceafter('setHidden', function () {\n setTimeout(_asyncToGenerator(function* () {\n _this10._start = true;\n _this10.startLoading();\n _this10.setFeaturesOptions({ filter: filter });\n try {\n handlerAfterSessionGetFeatures((yield (0, _promisify.promisify)(_this10._session.start(_this10.state._getFeaturesOption))));\n } catch (e) {\n console.warn(e);\n _this10.setEditing(false);\n }\n }), 300);\n });\n }\n\n /** @TODO merge the following condtions? */\n if (!is_started && !GIVE_ME_A_NAME) {\n _this10._start = true;\n _this10.startLoading();\n _this10._session.start(_this10.state._getFeaturesOption).then(handlerAfterSessionGetFeatures);\n }\n\n if (is_started && !_this10._start) {\n _this10.startLoading();\n _this10._session.getFeatures(_this10.state._getFeaturesOption).then(handlerAfterSessionGetFeatures);\n _this10._start = true;\n }\n\n if (is_started) {\n _this10.setEditing(true);\n }\n });\n\n return function (_x13, _x14) {\n return _ref26.apply(this, arguments);\n };\n }()));\n }\n }, {\n key: 'startLoading',\n\n\n /**\n *\n */\n value: function startLoading() {\n this.state.loading = true;\n }\n\n /**\n *\n */\n\n }, {\n key: 'stopLoading',\n value: function stopLoading() {\n this.state.loading = false;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n var _this11 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this11.disableCanEditEvent) {\n _this11.disableCanEditEvent();\n }\n\n _this11.state._unregisterStartSettersEventsKey.forEach(function (fnc) {\n return fnc();\n });\n _this11.state._unregisterStartSettersEventsKey = [];\n\n _this11._olStartKeysEvent.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n _this11._olStartKeysEvent.splice(0);\n\n _this11.unwatches.forEach(function (uw) {\n return uw();\n });\n _this11.unwatches.splice(0);\n\n //eventually reset start resolve feature waiting promise\n _this11.startResolve = null;\n //set start to false\n _this11._start = false;\n _this11.state.editing.on = false;\n\n if (_this11.state._constraints.scale) {\n _this11._handleScaleConstraint(true);\n }\n\n var is_started = !!_this11.__isStarted();\n\n if (!is_started) {\n return true;\n }\n\n if (!ApplicationState.online) {\n return;\n }\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n var layerId = _this11.state.id;\n\n // Check if father relation is editing and has commit feature\n var fathersInEditing = service.getLayerById(layerId).getFathers().filter(function (id) {\n var toolbox = service.getToolBoxById(id);\n if (toolbox && toolbox.inEditing() && toolbox.isDirty()) {\n //get a temporary relations object and check if layerId has some changes\n return Object.keys(toolbox.getSession().getCommitItems() || {}).find(function (id) {\n return layerId === id;\n });\n }\n });\n\n if (fathersInEditing.length > 0) {\n _this11.stopActiveTool();\n _this11.enableTools(false);\n _this11.clearToolboxMessages();\n // unregister get features event\n if (Layer.LayerTypes.VECTOR === _this11.state._layerType) {\n GUI.getService('map').getMap().un(_this11._getFeaturesEvent.event, _this11._getFeaturesEvent.fnc);\n }\n _this11._stopSessionChildren(_this11.state.id);\n // clear layer unique field values\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this11.getId()] = {};\n return;\n }\n\n try {\n yield (0, _promisify.promisify)(_this11._session.stop());\n _this11.state.enabled = false;\n _this11.stopLoading();\n _this11.state._getFeaturesOption = {};\n _this11.stopActiveTool();\n _this11.enableTools(false);\n _this11.clearToolboxMessages();\n _this11.emit('stop-editing');\n // clear layer unique field values\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.uniqueFieldsValues[_this11.getId()] = {};\n return true;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Commit changes on server (save)\n * \n * @param opts.ids\n * @param opts.items\n * @param opts.relations\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: 'save',\n value: function save() {\n var _this12 = this;\n\n var _ref30 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref30$ids = _ref30.ids,\n ids = _ref30$ids === undefined ? null : _ref30$ids,\n items = _ref30.items,\n _ref30$relations = _ref30.relations,\n relations = _ref30$relations === undefined ? true : _ref30$relations,\n _ref30$__esPromise = _ref30.__esPromise,\n __esPromise = _ref30$__esPromise === undefined ? false : _ref30$__esPromise;\n\n return (0, _promisify.$promisify)(new Promise(function () {\n var _ref31 = _asyncToGenerator(function* (resolve, reject) {\n var commit = void 0; // committed items\n\n // skip when ..\n //@TODO Check if deprecated\n if (ids) {\n commit = _this12.__commit(ids);\n _this12.__clearHistory(ids);\n return resolve(commit);\n }\n\n commit = items || _this12.__getCommitItems(_this12.__commit());\n\n if (!relations) {\n commit.relations = {};\n }\n\n _this12.state.layer.getEditor().commit(commit).then(function (response) {\n\n // skip when response is null or undefined and response.result is false\n if (!(response && response.result)) {\n reject(response);\n return;\n }\n\n var _response$response$ne = response.response.new_relations,\n new_relations = _response$response$ne === undefined ? {} : _response$response$ne; // check if new relations are saved on server\n\n // sync server data with local data\n\n for (var id in new_relations) {\n var toolbox = ToolBox.get(id);\n toolbox.getSession().getEditor().applyCommitResponse({ // apply commit response to current editing relation layer\n response: new_relations[id],\n result: true\n });\n }\n\n _this12.__clearHistory();\n\n /**\n * @since v3.9.0\n * After commit get new unique values\n */\n _this12._session.saveChangesOnServer(commit);\n\n // ES6 promises only accept a single response\n if (__esPromise) {\n resolve({ commit: commit, response: response });\n } else {\n resolve(commit, response);\n }\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x17, _x18) {\n return _ref31.apply(this, arguments);\n };\n }()));\n }\n\n /**\n * @returns {*|{}}\n */\n\n }, {\n key: 'getEditingConstraints',\n value: function getEditingConstraints() {\n return this.state._constraints;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'canEdit',\n value: function canEdit() {\n return this.state.editing.canEdit;\n }\n\n /**\n * @param message\n */\n\n }, {\n key: 'setMessage',\n value: function setMessage(message) {\n this.state.message = message;\n }\n\n /**\n * @returns {null}\n */\n\n }, {\n key: 'getMessage',\n value: function getMessage() {\n return this.state.message;\n }\n\n /**\n *\n */\n\n }, {\n key: 'clearMessage',\n value: function clearMessage() {\n this.setMessage(null);\n }\n\n /**\n *\n */\n\n }, {\n key: 'clearToolboxMessages',\n value: function clearToolboxMessages() {\n this.state.toolmessages.help = null;\n this.clearMessage();\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.state.id;\n }\n\n /**\n * @returns {string}\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.state.title;\n }\n\n /**\n * @param title\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(title) {\n this.state.customTitle = true;\n this.state.title = title;\n }\n\n /**\n * @returns {string}\n */\n\n }, {\n key: 'getColor',\n value: function getColor() {\n return this.state.color;\n }\n\n /**\n * Enable toolbox\n * \n * @param bool\n */\n\n }, {\n key: 'setEditing',\n value: function setEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.setEnable(bool);\n this.state.editing.on = bool;\n this.enableTools(bool);\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'inEditing',\n value: function inEditing() {\n return this.state.editing.on;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return this.state.enabled;\n }\n\n /**\n * @param bool\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'setEnable',\n value: function setEnable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.enabled = bool;\n return this.state.enabled;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isLoading',\n value: function isLoading() {\n return this.state.loading;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'isDirty',\n value: function isDirty() {\n return this.state.editing.history.commit;\n }\n\n /**\n * @returns {boolean}\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param bool\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected() {\n var _this13 = this;\n\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selected = bool;\n //Check if layer has a scale constraint\n if (this.state._constraints.scale) {\n var map = GUI.getService('map').getMap();\n //run handle scale contraint handler function\n this._handleScaleConstraint();\n\n //IN CASE START EDITING AND CAN EDIT NEED TO DISPATCH EVENT MOVE END MAP\n if (this._start && this.state.canEdit) {\n map.dispatchEvent({ type: this._getFeaturesEvent.event, target: map });\n }\n //SELECTED AND NOT REGISTER MAP CHANGE RESOLUTION\n if (this.state.selected && !this.keyChangeResolution) {\n this.keyChangeResolution = map.getView().on('change:resolution', function () {\n return _this13._handleScaleConstraint();\n });\n }\n\n //NOT SELECTED AND REGISTER MAP CHANGE RESOLUTION, NEED TO REMOVE CHANGE RESOLUTION CHECK\n if (!this.state.selected && this.keyChangeResolution) {\n ol.Observable.unByKey(this.keyChangeResolution);\n this.keyChangeResolution = null;\n }\n }\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getTools',\n value: function getTools() {\n return this.state._tools;\n }\n\n /**\n * @param toolId\n * \n * @returns {*|number|bigint|T|T} tool by id\n */\n\n }, {\n key: 'getToolById',\n value: function getToolById(toolId) {\n return this.state._tools.find(function (tool) {\n return toolId === tool.getId();\n });\n }\n\n /**\n * @param toolId\n */\n\n }, {\n key: 'setEnableTool',\n value: function setEnableTool(toolId) {\n this.state._tools.find(function (tool) {\n return tool.getId() === toolId;\n }).state.enabled = true;\n }\n\n /**\n * Set tools bases on add\n * editing_constraints : true // follow the tools related toi editing conttraints configuration\n * \n * @see g3w-client-plugin-sispi-worksite\n */\n\n }, {\n key: 'setAddEnableTools',\n value: function setAddEnableTools() {\n var _ref32 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref32$tools = _ref32.tools,\n tools = _ref32$tools === undefined ? {} : _ref32$tools,\n _ref32$options = _ref32.options,\n options = _ref32$options === undefined ? { editing_constraints: true } : _ref32$options;\n\n var _options$editing_cons = options.editing_constraints,\n editing_constraints = _options$editing_cons === undefined ? false : _options$editing_cons;\n\n\n this.setEnablesDisablesTools({\n enabled: this.state._tools.filter(function (tool) {\n return editing_constraints ? tool.type.includes('add_feature') : ['addfeature', 'editattributes', 'movefeature', 'movevertex'].includes(tool.getId());\n }).map(function (tool) {\n return { id: tool.getId(), options: tools[tool.getId()] };\n })\n });\n\n this.enableTools(true);\n }\n\n /**\n * Set tools bases on update\n * \n * @see g3w-client-plugin-sispi-worksite\n */\n\n }, {\n key: 'setUpdateEnableTools',\n value: function setUpdateEnableTools(_ref33) {\n var _ref33$tools = _ref33.tools,\n tools = _ref33$tools === undefined ? {} : _ref33$tools,\n _ref33$excludetools = _ref33.excludetools,\n excludetools = _ref33$excludetools === undefined ? [] : _ref33$excludetools,\n _ref33$options = _ref33.options,\n options = _ref33$options === undefined ? { editing_constraints: true } : _ref33$options;\n var _options$editing_cons2 = options.editing_constraints,\n editing_constraints = _options$editing_cons2 === undefined ? false : _options$editing_cons2;\n\n var UPDATEONEFEATUREONLYTOOLSID = ['editattributes', 'movefeature', 'movevertex'];\n var update_tools = this.state._tools.filter(function (tool) {\n // exclude\n if (excludetools.includes(tool.getId())) {\n return false;\n }\n return editing_constraints ? tool.type.find(function (type) {\n return type === 'change_feature' || type === 'change_attr_feature';\n }) : UPDATEONEFEATUREONLYTOOLSID.includes(tool.getId());\n }).map(function (tool) {\n var id = tool.getId();\n return { id: id, options: tools[id] };\n });\n\n this.setEnablesDisablesTools({ enabled: update_tools });\n this.enableTools(true);\n }\n\n /**\n * Set enable tools\n *\n * @param tools\n */\n\n }, {\n key: 'setEnablesDisablesTools',\n value: function setEnablesDisablesTools(tools) {\n var _this14 = this;\n\n if (tools) {\n this.state.changingtools = true;\n // Check if tools is an array\n var _tools$enabled = tools.enabled,\n enableTools = _tools$enabled === undefined ? [] : _tools$enabled,\n _tools$disabled = tools.disabled,\n disableTools = _tools$disabled === undefined ? [] : _tools$disabled;\n\n\n var toolsId = enableTools.length ? [] : this.state._tools.map(function (tool) {\n return tool.getId();\n });\n\n enableTools.forEach(function (_ref34) {\n var id = _ref34.id,\n _ref34$options = _ref34.options,\n options = _ref34$options === undefined ? {} : _ref34$options;\n\n //check if id of tool passed as argument is right\n var tool = _this14.getToolById(id);\n if (tool) {\n var _options$active = options.active,\n active = _options$active === undefined ? false : _options$active;\n // set tool options\n\n tool.messages = options.messages || tool.messages;\n tool.visible = undefined !== options.visible ? options.visible : true;\n tool.enabled = undefined !== options.enabled ? options.enabled : false;\n tool.disabledtoolsoftools = undefined !== options.disabledtoolsoftools ? options.disabledtoolsoftools : [];\n if (tool.visible) {\n toolsId.push(id);\n }\n if (active) {\n _this14.setActiveTool(tool);\n }\n if (_this14.state._enabledtools === undefined) {\n _this14.state._enabledtools = [];\n }\n _this14.state._enabledtools.push(tool);\n }\n });\n //disabled and visible\n disableTools.forEach(function (_ref35) {\n var id = _ref35.id,\n options = _ref35.options;\n\n var tool = _this14.getToolById(id);\n if (tool) {\n if (_this14.state._disabledtools === undefined) {\n _this14.state._disabledtools = [];\n }\n _this14.state._disabledtools.push(id);\n //add it toi visible tools\n toolsId.push(id);\n }\n });\n //set not visible all remain\n this.state._tools.forEach(function (tool) {\n return !toolsId.includes(tool.getId()) && (tool.visible = false);\n });\n this.state.changingtools = false;\n }\n }\n }, {\n key: 'enableTools',\n\n\n /**\n * @param {*} bool whehter enable all tools\n */\n value: function enableTools() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var tools = this.state._enabledtools || this.state._tools;\n var disabledtools = this.state._disabledtools || [];\n tools.forEach(function (tool) {\n var enabled = undefined !== tool.enable ? tool.enable : bool;\n tool.enabled = bool && disabledtools.length ? disabledtools.indexOf(tool.getId()) === -1 : toRawType(enabled) === 'Boolean' ? enabled : enabled({ bool: bool, tool: tool });\n if (!bool) {\n tool.active = bool;\n }\n });\n }\n\n /**\n * @param tool\n */\n\n }, {\n key: 'setActiveTool',\n value: function setActiveTool(tool) {\n var _this15 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n yield (0, _promisify.promisify)(_this15.stopActiveTool(tool));\n\n _this15.state.toolsoftool.splice(0);\n _this15.state.activetool = tool;\n\n var workflow = tool.getOperator();\n\n if (workflow) {\n // filter eventually disable tools of tools\n workflow.once('settoolsoftool', function (ts) {\n var _state$toolsoftool;\n\n return (_state$toolsoftool = _this15.state.toolsoftool).push.apply(_state$toolsoftool, _toConsumableArray((ts || []).filter(function (t) {\n return !tool.disabledtoolsoftools.includes(t.type);\n })));\n });\n workflow.once('start', function (ts) {\n return _this15.state.toolsoftool.forEach(function (t) {\n return (ts || []).includes(t.type) && (t.options.active = true);\n });\n });\n workflow.once('stop', function (ts) {\n return _this15._deactivetools(tool, ts);\n });\n workflow.once('reject', function (ts) {\n return _this15._deactivetools(tool, ts);\n });\n }\n\n tool.start();\n\n // set tool messages\n var messages = _this15.state.activetool.getOperator().getHelpMessage() || _this15.state.activetool.getOperator().getRunningStep() ? _this15.state.activetool.messages : null;\n _this15.state.toolmessages.help = messages && messages.help || null;\n } catch (e) {\n console.warn(e);\n }\n }));\n }\n\n /**\n * @since g3w-client-plugin-editing@v3.8.0 \n */\n\n }, {\n key: '_deactivetools',\n value: function _deactivetools(tool) {\n var tools = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n // in case of deactivate tool and current active tool, it was clicked\n if (tool === this.state.activetool) {\n this.state.activetool = null;\n this.state.toolsoftool.splice(0);\n }\n this.state.toolsoftool.forEach(function (t) {\n return tools.includes(t.type) && (t.options.active = false);\n });\n }\n\n /**\n * @returns {null}\n */\n\n }, {\n key: 'getActiveTool',\n value: function getActiveTool() {\n return this.state.activetool;\n }\n\n /**\n * @param tool\n * \n * @returns {*}\n */\n\n }, {\n key: 'stopActiveTool',\n value: function stopActiveTool(tool) {\n var _this16 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var activeTool = _this16.getActiveTool();\n if (tool && (!activeTool || tool === activeTool)) {\n tool.removeAllListeners();\n return;\n }\n\n try {\n //Need to check if is there active tool\n if (activeTool) {\n activeTool.removeAllListeners();\n yield (0, _promisify.promisify)(activeTool.stop(true));\n }\n _this16.state.toolsoftool.splice(0);\n _this16.state.toolmessages.help = null;\n _this16.state.activetool = null;\n } catch (e) {\n console.warn(e);\n }\n }));\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getSession',\n value: function getSession() {\n return this._session;\n }\n\n /**\n * @returns {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this.state.layer.getEditor();\n }\n\n /**\n * Reset default values\n */\n\n }, {\n key: 'resetDefault',\n value: function resetDefault() {\n this.state.title = this.state.originalState.title;\n this.state.toolboxheader = true;\n this.state.startstopediting = true;\n this.constraints = {\n filter: null,\n show: null,\n tools: []\n };\n\n if (this.state._enabledtools) {\n this.state._enabledtools = undefined;\n this.enableTools();\n this.state._tools.forEach(function (tool) {\n tool.visible = true;\n tool.enabled = false;\n tool.messages = tool.op.getMessages();\n tool.disabledtoolsoftools = []; //reset disabled tools eventually set by other\n });\n }\n this.state._disabledtools = null;\n /** since 3.9.0 set show based on visibile porpety of config editing object setting*/\n this.state.show = this.state.layer.config.editing.visible;\n //need to set selected false\n this.state.selected = false;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @param uniqueId\n * @param items\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__add',\n value: function __add(uniqueId, items) {\n var _this17 = this;\n\n //state object is an array of feature/features changed in a transaction\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n // before insert an item into the history\n // check if are at last state step (no redo was done)\n // If we are in the middle of undo, delete all changes\n // in the history from the current \"state\" so if it\n // can create a new history\n if (null === _this17.state.editing.session.current) {\n _this17._states = [{ id: uniqueId, items: items }];\n } else {\n if (_this17._states.length > 0 && _this17.state.editing.session.current < _this17._states.at(-1).id) {\n _this17._states = _this17._states.filter(function (s) {\n return s.id <= _this17.state.editing.session.current;\n });\n }\n _this17._states.push({ id: uniqueId, items: items });\n }\n\n _this17.state.editing.session.current = uniqueId;\n // set internal state\n _this17.__canUndo();\n _this17.__canCommit();\n _this17.__canRedo();\n // return unique id key\n // it can be used in save relation\n resolve(uniqueId);\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * undo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undo',\n value: function __undo() {\n var _this18 = this;\n\n var items = void 0;\n if (this.state.editing.session.current === this._states[0].id) {\n this.state.editing.session.current = null;\n items = this._states[0].items;\n } else {\n this._states.find(function (state, idx) {\n if (state.id === _this18.state.editing.session.current) {\n items = _this18._states[idx].items;\n _this18.state.editing.session.current = _this18._states[idx - 1].id;\n return true;\n }\n });\n }\n items = (0, _checkSessionItems.checkSessionItems)(this._history.id, items, 0);\n // set internal state\n this.__canUndo();\n this.__canCommit();\n this.__canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * redo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redo',\n value: function __redo() {\n var _this19 = this;\n\n var items = void 0;\n // if not set get first state\n if (!this.state.editing.session.current) {\n items = this._states[0].items;\n // set current to first\n this.state.editing.session.current = this._states[0].id;\n } else {\n this._states.find(function (state, idx) {\n if (_this19.state.editing.session.current === state.id) {\n _this19.state.editing.session.current = _this19._states[idx + 1].id;\n items = _this19._states[idx + 1].items;\n return true;\n }\n });\n }\n items = (0, _checkSessionItems.checkSessionItems)(this._history.id, items, 1);\n // set internal state\n this.__canUndo();\n this.__canCommit();\n this.__canRedo();\n return items;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param id\n * \n * @returns {T}\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getState',\n value: function __getState(id) {\n return this._states.find(function (s) {\n return s.id === id;\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * @returns { boolean } true if we can commit\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canCommit',\n value: function __canCommit() {\n var checkCommitItems = this.__commit();\n var canCommit = false;\n for (var layerId in checkCommitItems) {\n var commitItem = checkCommitItems[layerId];\n canCommit = canCommit || commitItem.length > 0;\n }\n this._constrains.commit = canCommit;\n return this._constrains.commit;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canUdo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canUndo',\n value: function __canUndo() {\n var _this20 = this;\n\n var currentStateIndex = null;\n if (this.state.editing.session.current && this._states.length) {\n this._states.forEach(function (state, idx) {\n if (_this20.state.editing.session.current === state.id) {\n currentStateIndex = idx;\n return false;\n }\n });\n };\n var steps = this._states.length - 1 - currentStateIndex;\n this._constrains.undo = null !== this.state.editing.session.current && steps < 10; // 10 = maximum \"buffer history\" lenght for undo/redo\n return this._constrains.undo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * canRedo method\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__canRedo',\n value: function __canRedo() {\n this._constrains.redo = this._states.at(-1) && this._states.at(-1).id != this.state.editing.session.current || null === this.state.editing.session.current && this._states.length > 0;\n return this._constrains.redo;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n *\n * get all changes to send to server (mandare al server)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__commit',\n value: function __commit() {\n var _this21 = this;\n\n var commitItems = {};\n var statesToCommit = this._states.filter(function (s) {\n return s.id <= _this21.state.editing.session.current;\n });\n statesToCommit.forEach(function (state) {\n state.items.forEach(function (item) {\n var add = true;\n if (Array.isArray(item)) {\n item = item[1];\n }\n if (commitItems[item.layerId]) {\n commitItems[item.layerId].forEach(function (commitItem, index) {\n // check if already inserted feature\n if (commitItem.getUid() === item.feature.getUid()) {\n if (item.feature.isNew() && !commitItem.isDeleted() && item.feature.isUpdated()) {\n var _item = item.feature.clone();\n _item.add();\n commitItems[item.layerId][index] = _item;\n } else if (item.feature.isNew() && item.feature.isDeleted()) {\n commitItems[item.layerId].splice(index, 1);\n } else if (item.feature.isUpdated() || item.feature.isDeleted()) {\n commitItems[item.layerId][index] = item.feature;\n }\n add = false;\n return false;\n }\n });\n }\n if (add) {\n var _feature3 = item.feature;\n var layerId = item.layerId;\n if (!(!_feature3.isNew() && _feature3.isAdded())) {\n if (!commitItems[layerId]) {\n commitItems[layerId] = [];\n }\n commitItems[layerId].push(_feature3);\n }\n }\n });\n });\n return commitItems;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @returns {*|null}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getLastHistoryState',\n value: function __getLastHistoryState() {\n return this._states.at(-1) || null;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__isStarted',\n value: function __isStarted() {\n return this.state.editing.session.started;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getHistory',\n value: function __getHistory() {\n return this._history;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getEditor',\n value: function __getEditor() {\n return this.state.layer.getEditor();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary features that will be added with save method\n * \n * @param { { layerId: string, feature: * } } NewFeat \n * @param { { layerId: string, feature: * } } OldFeat\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__push',\n value: function __push(newFeat, oldFeat) {\n this.state.editing.session.changes.push(oldFeat ? [oldFeat, newFeat] : newFeat); // check is set old (edit)\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Delete temporary feature\n * \n * @param layerId\n * @param feature\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushDelete',\n value: function __pushDelete(layerId, feature) {\n this.__push({ layerId: layerId, feature: feature.delete() });\n return feature;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Save temporary changes to the layer in history instance and feature store\n * \n * @param options\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__save',\n value: function __save() {\n var _this22 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // fill history\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n // add temporary modify to history\n if (_this22.state.editing.session.changes.length) {\n var uniqueId = options.id || Date.now();\n yield (0, _promisify.promisify)(_this22.__add(uniqueId, _this22.state.editing.session.changes));\n // clear to temporary changes\n _this22.state.editing.session.changes = [];\n // resolve if unique id\n return uniqueId;\n }\n return null;\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary feature\n * \n * @param layerId \n * @param feature \n * @param removeNotEditableProperties\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushAdd',\n value: function __pushAdd(layerId, feature) {\n var removeNotEditableProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n /**\n * @TODO check if it need to deprecate it. All properties are need\n * Please take care of this to understand\n * In case of removeNotEditableProperties true, remove not editable field\n * from feature properties\n */\n var editor = layerId === this.state.layer.getId() ? this.state.layer.getEditor() : ToolBox.get(layerId).getSession().getEditor();\n\n // remove not editable proprierties from feature\n if (removeNotEditableProperties) {\n (editor.getLayer().getEditingNotEditableFields() || []).forEach(function (f) {\n return feature.unset([f]);\n });\n }\n\n var newFeature = feature.clone();\n\n this.__push({ layerId: layerId, feature: newFeature.add() });\n\n return newFeature;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Add temporary feature changes\n * \n * @param layerId\n * @param newFeature\n * @param oldFeature\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__pushUpdate',\n value: function __pushUpdate(layerId, newFeature, oldFeature) {\n // get index of temporary changes\n var is_new = newFeature.isNew();\n var i = is_new && this.state.editing.session.changes.findIndex(function (c) {\n return layerId === c.layerId && c.feature.getId() === newFeature.getId();\n });\n\n // in case of new feature\n if (is_new && i >= 0) {\n var _feature4 = newFeature.clone();\n _feature4.add();\n this.state.editing.session.changes[i].feature = _feature4;\n return;\n }\n\n this.__push({ layerId: layerId, feature: newFeature.update() }, { layerId: layerId, feature: oldFeature.update() });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n *\n * @param changes\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__rollback',\n value: function __rollback(changes) {\n var _this23 = this;\n\n // skip when..\n if (changes) {\n return this.state.layer.getEditor().rollback(changes);\n }\n\n // Handle temporary changes of layer\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var id = _this23.state.layer.getId();\n changes = { own: [], dependencies: {} };\n\n _this23.state.editing.session.changes.forEach(function (c) {\n var change = Array.isArray(c) ? c[0] : c;\n if (change.layerId === id) {\n changes.own.push(change);\n } else {\n changes.dependencies[change.layerId] = changes.dependencies[change.layerId] || [];\n // FILO\n changes.dependencies[change.layerId].unshift(change);\n }\n });\n\n try {\n yield (0, _promisify.promisify)(_this23.state.layer.getEditor().rollback(changes.own));\n for (var _id in changes.dependencies) {\n ToolBox.get(_id).getSession().rollback(changes.dependencies[_id]);\n }\n return changes.dependencies;\n } catch (e) {\n console.warn(e);\n } finally {\n _this23.state.editing.session.changes = [];\n }\n }));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Rollback child changes of current session\n * \n * @param ids [array of child layer id]\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__rollbackDependecies',\n value: function __rollbackDependecies() {\n var _this24 = this;\n\n var ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n ids.forEach(function (id) {\n var changes = [];\n _this24.state.editing.session.changes = _this24.state.editing.session.changes.filter(function (temporarychange) {\n if (temporarychange.layerId === id) {\n changes.push(temporarychange);\n return false;\n }\n });\n if (changes.length) {\n ToolBox.get(id).getSession().rollback(changes);\n }\n });\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n *\n * undo method\n * \n * @param items\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__undoSession',\n value: function __undoSession(items) {\n items = items || this.__undo();\n this.state.layer.getEditor().setChanges(items.own, true);\n this.__canCommit();\n return items.dependencies;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * redo method\n * \n * @param items\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__redoSession',\n value: function __redoSession(items) {\n items = items || this.__redo();\n this.state.layer.getEditor().setChanges(items.own, true);\n this.__canCommit();\n return items.dependencies;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Serialize commit\n * \n * @returns {{ add: *[], update: *[], relations: {}, delete: *[] }} JSON Object for a commit body send to server\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__getCommitItems',\n value: function __getCommitItems() {\n var _this25 = this;\n\n var itemsToCommit = this.__commit();\n var id = this.state.layer.getId();\n var state = void 0;\n var layer = void 0;\n var commitObj = {\n add: [], // features to add\n update: [], // features to update\n delete: [], // features to delete\n relations: {} // relation features\n };\n // key is a layer id that has changes to apply\n for (var key in itemsToCommit) {\n var isRelation = false; //set relation to false\n var items = itemsToCommit[key];\n // case key (layer id) is not equal to id (current layer id on editing)\n if (key !== id) {\n isRelation = true; //set true because these changes belong to features relation items\n var sessionRelation = ToolBox.get(key).getSession();\n //check lock ids of relation layer\n var lockids = sessionRelation ? sessionRelation.getEditor().getLockIds() : [];\n //create a relations object\n commitObj.relations[key] = {\n lockids: lockids,\n add: [],\n update: [],\n delete: [],\n relations: {} //@since v3.7.1\n };\n layer = commitObj.relations[key];\n } else {\n layer = commitObj;\n }\n\n items.forEach(function (item) {\n //check state of feature item\n state = item.getState();\n var GeoJSONFormat = new ol.format.GeoJSON();\n // item needs to be deleted\n if ('delete' === state) {\n //check if is new. If is new mean is not present on server\n //so no need to say to server to delete it\n if (!item.isNew()) {\n layer.delete.push(item.getId());\n }\n return;\n }\n //convert feature to json ex. {geometry:{tye: 'Point'}, properties:{}.....}\n var itemObj = GeoJSONFormat.writeFeatureObject(item);\n //get properties\n var childs_properties = item.getProperties();\n for (var p in itemObj.properties) {\n // in case the value of property is an object\n if (itemObj.properties[p] && _typeof(itemObj.properties[p]) === 'object' && itemObj.properties[p].constructor === Object) {\n //need to get value from value attribute object\n itemObj.properties[p] = itemObj.properties[p].value;\n }\n // @TODO explain when this condition happen\n if (undefined === itemObj.properties[p] && childs_properties[p]) {\n itemObj.properties[p] = childs_properties[p];\n }\n }\n // in case of add it have to remove not editable properties\n layer[item.isNew() ? 'add' : item.getState()].push(itemObj);\n });\n // check in case of no edit remove relation key\n if (isRelation && layer.add.length === 0 //no relation features to add\n && layer.update.length === 0 //no relation features to update\n && layer.delete.length === 0 //no relation features to delete\n ) {\n delete commitObj.relations[key];\n }\n }\n // Remove deep relations from current layer (commitObj) that are not relative to that layer\n var relations = Object.keys(commitObj.relations || {});\n relations.filter(function (id) {\n return undefined === _this25.state.layer.getEditor().getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild();\n });\n }) // child relations\n .map(function (id) {\n commitObj.relations[ToolBox.get(id).getSession().getEditor().getLayer().getRelations().getArray().find(function (r) {\n return id === r.getChild() && commitObj.relations[r.getFather()];\n }) // parent relation layer\n .getFather()].relations[id] = commitObj.relations[id];\n return id;\n }).forEach(function (id) {\n return delete commitObj.relations[id];\n });\n\n return commitObj;\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/session.js@v3.9.1\n * \n * Clear all things bind to session\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__clearSession',\n value: function __clearSession() {\n this._allfeatures = false;\n this.state.editing.session.started = false;\n this.state.editing.session.getfeatures = false;\n this.__clearHistory();\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * @param ids since g3w-client-plugin-editing@v3.8.0\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '__clearHistory',\n value: function __clearHistory(ids) {\n var _this26 = this;\n\n if (ids) {\n this._states.forEach(function (state, idx) {\n if (ids.indexOf(state.id) !== -1) {\n if (_this26.state.editing.session.current && _this26.state.editing.session.current === state.id()) {\n _this26.__undo();\n }\n _this26._states.splice(idx, 1);\n }\n });\n } else {\n // clear all\n this._states = [];\n this.state.editing.session.current = null;\n this._constrains.commit = false;\n this._constrains.redo = false;\n this._constrains.undo = false;\n }\n }\n\n /**\n * Start session\n */\n\n }, {\n key: '__startSession',\n value: function () {\n var _ref40 = _asyncToGenerator(function* () {\n var _this27 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var features = yield (0, _promisify.promisify)(this.state.layer.getEditor().start(options));\n this.state.editing.session.started = true;\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n if (!options.registerEvents) {\n return;\n }\n this.state._getFeaturesOption = options;\n // register get features event (only in case filter bbox)\n if (Layer.LayerTypes.VECTOR === this.state._layerType && this.state._getFeaturesOption.filter.bbox) {\n var fnc = function fnc() {\n if (\n //added ApplicationState.online\n ApplicationState.online && _this27.state.editing.canEdit && _this27.state.selected //need to be selected\n && 0 === GUI.getContentLength()) {\n _this27.state._getFeaturesOption.filter.bbox = GUI.getService('map').getMapBBOX();\n _this27.state.loading = true;\n _this27._session.getFeatures(_this27.state._getFeaturesOption).then(function (promise) {\n return promise.then(function () {\n return _this27.state.loading = false;\n });\n });\n }\n };\n this._getFeaturesEvent.event = 'moveend';\n this._getFeaturesEvent.fnc = debounce(fnc, 300);\n this._olStartKeysEvent.push(GUI.getService('map').getMap().on('moveend', this._getFeaturesEvent.fnc));\n if (GUI.getContentLength()) {\n GUI.once('closecontent', function () {\n var map = GUI.getService('map').getMap();\n setTimeout(function () {\n map.dispatchEvent({ type: _this27._getFeaturesEvent.event, target: map });\n });\n });\n }\n }\n }\n });\n\n function __startSession() {\n return _ref40.apply(this, arguments);\n }\n\n return __startSession;\n }()\n\n /**\n * Stop session\n */\n\n }, {\n key: '__stopSession',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n try {\n if (this.state.editing.session.started || this.state.editing.session.getfeatures) {\n yield (0, _promisify.promisify)(this.state.layer.getEditor().stop());\n this.__clearSession();\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n if (!this.inEditing()) {\n return;\n }\n if (ApplicationState.online) {\n this._stopSessionChildren(this.state.id);\n }\n // unregister get features event\n if (this.state._getFeaturesOption.registerEvents && Layer.LayerTypes.VECTOR === this.state._layerType) {\n GUI.getService('map').getMap().un(this._getFeaturesEvent.event, this._getFeaturesEvent.fnc);\n }\n }\n });\n\n function __stopSession() {\n return _ref41.apply(this, arguments);\n }\n\n return __stopSession;\n }()\n\n /**\n * Get features from server (by editor)\n */\n\n }, {\n key: '__getFeatures',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this._allfeatures) {\n this._allfeatures = !options.filter;\n var features = yield (0, _promisify.promisify)(this.state.layer.getEditor().getFeatures(options));\n this.state.editing.session.getfeatures = true;\n return features;\n }\n return [];\n });\n\n function __getFeatures() {\n return _ref42.apply(this, arguments);\n }\n\n return __getFeatures;\n }()\n\n /**\n * Hook to get informed that are saved on server\n * Get unique id for each commited layer/relation\n */\n\n }, {\n key: '__saveChangesOnServer',\n value: function () {\n var _ref43 = _asyncToGenerator(function* (commit) {\n var promises = [(0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(this.getId())];\n var relationsId = [];\n var addRelationId = function addRelationId() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n Object.entries(relations).forEach(function (_ref44) {\n var _ref45 = _slicedToArray(_ref44, 2),\n id = _ref45[0],\n commit = _ref45[1];\n\n relationsId.push(id);\n addRelationId(commit.relations);\n });\n };\n addRelationId(commit.relations);\n relationsId.forEach(function (id) {\n return promises.push((0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(id));\n });\n\n yield Promise.allSettled(promises);\n });\n\n function __saveChangesOnServer(_x30) {\n return _ref43.apply(this, arguments);\n }\n\n return __saveChangesOnServer;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_startTool',\n value: function _startTool(tool) {\n var _this28 = this;\n\n if (tool.getOperator()) {\n tool.active = true;\n setTimeout(_asyncToGenerator(function* () {\n return yield _this28._startOp(tool, {\n inputs: { layer: _this28.getLayer(), features: [] },\n context: { session: _this28._session }\n }, !!GUI.getService('map').isMapHidden());\n })); // prevent rendering change state\n }\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_startOp',\n value: function () {\n var _ref47 = _asyncToGenerator(function* (tool, options, hideSidebar) {\n // reset features\n options.inputs.features = [];\n\n if (hideSidebar) {\n GUI.hideSidebar();\n }\n\n try {\n yield (0, _promisify.promisify)(tool.op.start(options));\n yield (0, _promisify.promisify)(this._session.save());\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').saveChange(); // after save temp change check if editing service has a autosave\n } catch (e) {\n console.warn(e);\n if (hideSidebar) {\n GUI.showSidebar();\n }\n this._session.rollback();\n } finally {\n if (!tool.getOperator().runOnce && Layer.LayerTypes.TABLE !== this.getLayer().getType()) {\n yield this._startOp(tool, options, hideSidebar);\n } else {\n tool.stop();\n }\n }\n });\n\n function _startOp(_x32, _x33, _x34) {\n return _ref47.apply(this, arguments);\n }\n\n return _startOp;\n }()\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/toolboxes/tool.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n }, {\n key: '_stopTool',\n value: function _stopTool(tool) {\n var _this29 = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (!tool.getOperator()) {\n tool.emit('stop', { session: _this29._session });\n return;\n }\n try {\n yield (0, _promisify.promisify)(tool.getOperator().stop(force));\n } catch (e) {\n console.warn(e);\n _this29._session.rollback();\n } finally {\n tool.active = false;\n tool.emit('stop', { session: _this29._session });\n }\n }));\n }\n }]);\n\n return ToolBox;\n}(G3WObject);\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/store/sessions.js@v3.9.1\n *\n * Store editing sessions\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n\n\nToolBox._sessions = {};\nToolBox.get = function (id) {\n return ToolBox._sessions[id];\n};\nToolBox.clear = function () {\n return Object.keys(sessions).forEach(function (id) {\n return delete ToolBox._sessions[id];\n });\n};\n\n},{\"../components/CopyFeaturesFromOtherLayers.vue\":4,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addPartToMultigeometries\":28,\"../utils/addTableFeature\":30,\"../utils/checkSessionItems\":32,\"../utils/chooseFeature\":33,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/cloneFeature\":35,\"../utils/convertToGeometry\":36,\"../utils/createEditingDataOptions\":37,\"../utils/dissolve\":39,\"../utils/evaluateExpressionFields\":40,\"../utils/getDeltaXY\":41,\"../utils/getEditingLayerById\":42,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getNotEditableFieldsNoPkValues\":46,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/getRelationsInEditing\":51,\"../utils/getRelationsInEditingByFeature\":52,\"../utils/handleSplitFeature\":54,\"../utils/isPointOnVertex\":55,\"../utils/isSameBaseGeometryType\":56,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/setLayerUniqueFieldValues\":61,\"../utils/splitFeatures\":62,\"../utils/unlinkRelation\":63,\"../workflows\":65}],28:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addPartToMultigeometries = addPartToMultigeometries;\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _promisify = require('./promisify');\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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addparttomultigeometriestask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addparttomultigeometriesstep.js@v3.7.1\n * \n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addPartToMultigeometries(inputs, context) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var feature = void 0;\n var originalFeature = void 0;\n\n // add part\n if (inputs.features.length > 1) {\n feature = inputs.features[0];\n var geometry = feature.getGeometry();\n originalFeature = feature.clone();\n geometry.setCoordinates([].concat(_toConsumableArray(geometry.getCoordinates()), _toConsumableArray(inputs.features[1].getGeometry().getCoordinates())));\n } else {\n feature = inputs.layer.getEditingLayer().getSource().getFeatures()[0];\n originalFeature = feature.clone();\n feature.setGeometry(inputs.features[0].getGeometry());\n }\n\n // evaluated geometry expression\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n context.session.pushUpdate(inputs.layer.getId(), feature, originalFeature);\n\n inputs.features = [feature];\n return inputs;\n }));\n}\n\n},{\"../utils/evaluateExpressionFields\":40,\"./promisify\":58}],29:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addRemoveToMultipleSelectFeatures = addRemoveToMultipleSelectFeatures;\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/selectelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/selectelementsstep.js@v3.7.1\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addRemoveToMultipleSelectFeatures(features, inputs, selected, task) {\n (features || []).forEach(function (f) {\n var selIndex = selected.indexOf(f);\n if (selIndex < 0) {\n task._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)([f]);\n selected.push(f);\n } else {\n selected.splice(selIndex, 1);\n f.setStyle(task._originalStyle);\n }\n inputs.features = selected;\n });\n\n var steps = task.getSteps();\n var buttonnext = steps.select.buttonnext;\n\n buttonnext.disabled = buttonnext.condition ? buttonnext.condition({ features: selected }) : 0 === selected.length;\n\n if (undefined !== steps.select.dynamic) {\n steps.select.dynamic = selected.length;\n }\n}\n\n},{\"../utils/setFeaturesSelectedStyle\":60}],30:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addTableFeature = addTableFeature;\n\nvar _promisify = require('./promisify');\n\n/**\n * \n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addtablefeaturestep.js@v3.7.1\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction addTableFeature(inputs, context) {\n var feature = inputs.features.length > 0 ? inputs.features[inputs.features.length - 1] : inputs.layer.createNewFeature();\n\n feature.setTemporaryId();\n\n inputs.layer.getEditingLayer().getEditingSource().addFeature(feature);\n\n context.session.pushAdd(inputs.layer.getId(), feature, false);\n\n inputs.features.push(feature);\n\n context.get_default_value = true;\n\n return (0, _promisify.$promisify)(Promise.resolve(inputs, context));\n}\n\n},{\"./promisify\":58}],31:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param feature\n * @param coordinates\n *\n * @returns { boolean }\n */\nfunction areCoordinatesEqual(_ref) {\n var feature = _ref.feature,\n coordinates = _ref.coordinates;\n\n //get geometry from feature\n var geometry = feature.getGeometry();\n var type = geometry.getType();\n var coords = function coords(c1, c2) {\n return g3wsdk.core.geoutils.areCoordinatesEqual(c1, c2);\n }; // whether element have same coordinates\n\n switch (type) {\n case 'Polygon':\n case 'MultiLineString':\n coordinates = _.flatMap(coordinates);\n return _.flatMap(geometry.getCoordinates()).every(function (c, i) {\n return coords(c, coordinates[i]);\n });\n\n case 'LineString':\n case 'MultiPoint':\n return geometry.getCoordinates().every(function (c, i) {\n return coords(c, coordinates[i]);\n });\n\n case 'MultiPolygon':\n // in case of add part or remove part\n if (coordinates.length !== geometry.getPolygons().length) {\n return false;\n }\n return geometry.getPolygons().some(function (poly, i) {\n var _coords = _.flatMap(coordinates[i]);\n return _.flatMap(poly.getCoordinates()).every(function (c, i) {\n return coords(c, _coords[i]);\n });\n });\n\n case 'Point':\n return coords(coordinates, geometry.getCoordinates());\n\n default:\n return false;\n }\n}\n\n},{}],32:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSessionItems = checkSessionItems;\n/**\n * ORIGINAL SOURCE: g3w-client/src/core/editing/history.js@v3.9.1\n * \n * check if was done an update (update are array contains two items, old and new value)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction checkSessionItems(historyId, items, action) {\n /**\n * action: \n * 0: undo;\n * 1: redo;\n **/\n var newItems = {\n own: [], //array of changes of layer of the current session\n dependencies: {} // dependencies\n };\n\n items.forEach(function (item) {\n if (Array.isArray(item)) {\n item = item[action];\n }\n // check if belong to session\n if (historyId === item.layerId) {\n newItems.own.push(item);\n } else {\n newItems.dependencies[item.layerId] = newItems.dependencies[item.layerId] || {\n own: [],\n dependencies: {}\n };\n newItems.dependencies[item.layerId].own.push(item);\n }\n });\n\n return newItems;\n}\n\n},{}],33:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.chooseFeature = chooseFeature;\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _promisify = require('../utils/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 * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/choosefeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/choosefeaturestep.js@v3.7.1\n * \n * @returns jQuery promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction chooseFeature(inputs) {\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n try {\n if (1 !== inputs.features.length) {\n var feature = yield (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: inputs.features, inputs: inputs });\n inputs.features = [feature];\n }\n return inputs;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n }));\n}\n\n},{\"../utils/chooseFeatureFromFeatures\":34,\"../utils/promisify\":58}],34:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.chooseFeatureFromFeatures = chooseFeatureFromFeatures;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/g3w-editing-components/choosefeaturetoedit.js@v3.6\n * \n * @since g3w-client-plugin-editing@v3.5.13\n */\n\nfunction chooseFeatureFromFeatures(_ref) {\n var _ref$features = _ref.features,\n features = _ref$features === undefined ? [] : _ref$features,\n inputs = _ref.inputs;\n\n return new Promise(function (resolve, reject) {\n\n var feature = [];\n\n var comp = new (Vue.extend(require('../components/ChooseFeatureToEdit.vue')))({\n features: Array.isArray(features) ? features : [],\n feature: feature,\n attributes: inputs.layer.getEditingFields().map(function (_ref2) {\n var name = _ref2.name,\n label = _ref2.label;\n return { name: name, label: label };\n })\n });\n\n var dialog = g3wsdk.gui.GUI.showModalDialog({\n title: tPlugin('editing.modal.tools.copyfeaturefromprojectlayer.title'),\n className: 'modal-left',\n closeButton: false,\n message: comp.$mount().$el,\n buttons: {\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n reject();\n }\n },\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n resolve(feature[0]);\n }\n }\n }\n });\n\n dialog.find('button.btn-success').prop('disabled', true);\n\n comp.$watch('feature', function (feature) {\n return dialog.find('button.btn-success').prop('disabled', null === feature);\n });\n });\n}\n\n},{\"../components/ChooseFeatureToEdit.vue\":3}],35:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneFeature = cloneFeature;\n/**\n * Clone a feature by Primary Key\n * \n * @param { Feature } feature to be cloned\n * @param { TableLayer } layer from which obtain the primary key field\n * \n * @returns { Feature }\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nfunction cloneFeature(feature, layer) {\n var clone = feature.cloneNew();\n //check if layer has a primary key as field\n var pk = layer && layer.getEditingFields().find(function (f) {\n return f.pk;\n }); // get PK field (of value-relation widget?)\n /**\n * In case of layer has a primary key field and is not editabe,\n * clone feature need to set pk value to null to avoid conflict\n * with already pk field value store on server*/\n if (pk && false === pk.editable) {\n clone.set(pk.name, null);\n }\n return clone;\n}\n\n},{}],36:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertToGeometry = convertToGeometry;\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar convertSingleMultiGeometry = g3wsdk.core.geoutils.convertSingleMultiGeometry;\nvar _g3wsdk$core$geoutils = g3wsdk.core.geoutils.Geometry,\n is3DGeometry = _g3wsdk$core$geoutils.is3DGeometry,\n removeZValueToOLFeatureGeometry = _g3wsdk$core$geoutils.removeZValueToOLFeatureGeometry,\n addZValueToOLFeatureGeometry = _g3wsdk$core$geoutils.addZValueToOLFeatureGeometry;\nvar isMultiGeometry = g3wsdk.core.geoutils.Geometry.isMultiGeometry;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param { Array } features to be converted (eg. Polygon)\n * @param { string } geometryType target geometry type (eg. MultiPolygon)\n *\n * @returns { Array } converted features\n */\n\nfunction convertToGeometry() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var geometryType = arguments[1];\n\n return (features || []).flatMap(function (f) {\n var type = f.getGeometry() && f.getGeometry().getType();\n\n // ensure 3D coords\n if (type && !is3DGeometry(geometryType)) {\n removeZValueToOLFeatureGeometry({ feature: f });\n } else if (type && is3DGeometry(geometryType)) {\n addZValueToOLFeatureGeometry({ feature: f, geometryType: geometryType });\n }\n\n // same geometry\n if (geometryType === type) {\n return f;\n }\n\n // convert single → multi\n if ((0, _isSameBaseGeometryType.isSameBaseGeometryType)(type, geometryType) && (isMultiGeometry(geometryType) || !isMultiGeometry(type))) {\n var cloned = f.clone();\n cloned.__layerId = f.__layerId;\n cloned.setGeometry(convertSingleMultiGeometry(f.getGeometry(), geometryType));\n return cloned;\n }\n\n // skip → invalid conversion (eg. Point → Polygon)\n return [];\n });\n}\n\n},{\"../utils/isSameBaseGeometryType\":56}],37:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createEditingDataOptions = createEditingDataOptions;\nvar GUI = g3wsdk.gui.GUI;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { 'all' | 'bbox' | 'field' | 'fid' | '1:1' } filterType\n * @param { Object } options\n * @param options.feature\n * @param options.relation\n * @param options.field\n * @param options.layerId\n * @param options.operator\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction createEditingDataOptions() {\n var filterType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = void 0;\n\n switch (filterType) {\n\n case 'all':\n filter = undefined;\n break;\n\n case 'bbox':\n filter = { bbox: GUI.getService('map').getMapBBOX() };\n break;\n\n case 'field':\n filter = {\n field: { field: options.field, type: 'editing' }\n };\n break;\n\n case 'fid':\n if ('not' !== options.operator) {\n // get relations of current feature\n filter = {\n fid: {\n fid: options.feature.getId(),\n layer: { id: options.layerId },\n type: 'editing',\n relation: options.relation.state,\n formatter: 0 // 0 = retrieve stored value\n }\n };\n }\n break;\n\n // relation 1:1\n case '1:1':\n filter = {\n field: options.relation.getChildField()[0] + '|eq|' + options.feature.get(options.relation.getFatherField()[0]),\n type: 'editing'\n };\n break;\n\n }\n\n return {\n registerEvents: true, // usefult to get register vent on toolbox example mapmoveend\n editing: true,\n filter: filter\n };\n}\n\n},{}],38:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFeature = createFeature;\nvar Feature = g3wsdk.core.layer.features.Feature;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Create a new feature\n *\n * @param layerId\n * @param options.geometry.type\n * @param options.geometry.coordinates\n *\n * @returns { Feature }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction createFeature(layerId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var feature = new Feature();\n\n if (options.geometry) {\n feature.setGeometry(new ol.geom[options.geometry.type](options.geometry.coordinates));\n }\n\n feature.setProperties(options.properties);\n feature.setTemporaryId();\n\n var toolbox = this.getToolBoxById(layerId);\n var editingLayer = toolbox.getLayer().getEditingLayer();\n var session = toolbox.getSession();\n\n editingLayer.getSource().addFeature(feature);\n session.pushAdd(layerId, feature, false);\n\n return feature;\n}\n\n},{}],39:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dissolve = dissolve;\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/dissolve.js@v3.10.2\n * \n * @param { Object } opts \n * @param { Array } opts.features\n * @param { number } opts.index\n * @param { boolean } opts.clone\n * \n * @returns dissolved feature\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\nfunction dissolve() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$features = _ref.features,\n features = _ref$features === undefined ? [] : _ref$features,\n _ref$index = _ref.index,\n index = _ref$index === undefined ? 0 : _ref$index,\n _ref$clone = _ref.clone,\n clone = _ref$clone === undefined ? false : _ref$clone;\n\n var parser = new jsts.io.OL3Parser();\n var featuresLength = features.length;\n\n /** In case no features to dissolve */\n if (0 === featuresLength) {\n return null;\n }\n\n /** In the case of single feature, return feature */\n if (1 === featuresLength) {\n return features[0];\n }\n\n var jstsdissolvedFeatureGeometry = void 0;\n\n var baseFeature = clone ? features[index].clone() : features[index];\n var baseFeatureGeometry = baseFeature.getGeometry();\n var baseFeatureGeometryType = baseFeatureGeometry.getType();\n\n // check if it can build a LineString\n if ('LineString' === baseFeatureGeometryType) {\n var lineMerger = new jsts.operation.linemerge.LineMerger();\n for (var i = 0; i < featuresLength; i++) {\n lineMerger.addLineString(new jsts.geom.GeometryFactory().createLineString(parser.read(features[i].getGeometry()).getCoordinates()));\n }\n var mergedLineString = lineMerger.getMergedLineStrings();\n jstsdissolvedFeatureGeometry = 1 === mergedLineString.size() ? mergedLineString.toArray()[0] : null;\n }\n\n if ('LineString' !== baseFeatureGeometryType) {\n jstsdissolvedFeatureGeometry = parser.read(baseFeatureGeometry);\n for (var _i = 0; _i < featuresLength; _i++) {\n if (index !== _i) {\n jstsdissolvedFeatureGeometry = jstsdissolvedFeatureGeometry.union(parser.read(features[_i].getGeometry()));\n }\n }\n }\n\n /** In case of no dissolved geometry */\n if (!jstsdissolvedFeatureGeometry) {\n return null;\n }\n\n var dissolvedFeatureGeometry = parser.write(jstsdissolvedFeatureGeometry);\n var dissolvedFeatureGeometryType = dissolvedFeatureGeometry.getType();\n var dissolvedFeatureGeometryCoordinates = dissolvedFeatureGeometryType === baseFeatureGeometryType ? dissolvedFeatureGeometry.getCoordinates() : -1 !== baseFeatureGeometryType.indexOf('Multi') && dissolvedFeatureGeometryType === baseFeatureGeometryType.replace('Multi', '') ? [dissolvedFeatureGeometry.getCoordinates()] : null;\n\n /** In case of null feature dissolved coordinates */\n if (null === dissolvedFeatureGeometryCoordinates) {\n return null;\n }\n\n baseFeature.getGeometry().setCoordinates(dissolvedFeatureGeometryCoordinates);\n\n return baseFeature;\n}\n\n},{}],40:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.evaluateExpressionFields = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param expression.inputs.layer\n * @param expression.context.excludeFields\n * @param expression.context.get_default_value\n * @param expression.feature\n *\n * @returns {Promise}\n *\n * @since g3w-client-plugin-editing@v3.5.14\n */\nvar evaluateExpressionFields = exports.evaluateExpressionFields = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n inputs = _ref2.inputs,\n context = _ref2.context,\n feature = _ref2.feature;\n\n var promises = []; // promises from expression evaluation\n\n inputs.layer.getFieldsWithValues(feature, {\n exclude: context.excludeFields,\n get_default_value: undefined !== context.get_default_value ? context.get_default_value : false\n }).forEach(function (field) {\n\n // default expression\n if (field.input.options.default_expression && (field.input.options.default_expression.apply_on_update || feature.isNew())) {\n promises.push(new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n try {\n yield g3wsdk.core.input.inputService.handleDefaultExpressionFormInput({\n field: field,\n feature: feature,\n qgs_layer_id: inputs.layer.getId(),\n parentData: (0, _getParentFormData.getParentFormData)()\n });\n feature.set(field.name, field.value);\n resolve(feature);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n }\n\n // filter expression\n if (field.input.options.filter_expression) {\n promises.push(new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n try {\n yield g3wsdk.core.input.inputService.handleFilterExpressionFormInput({\n field: field,\n feature: feature,\n qgs_layer_id: inputs.layer.getId(),\n parentData: (0, _getParentFormData.getParentFormData)()\n });\n feature.set(field.name, field.value);\n resolve(feature);\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n\n return function (_x4, _x5) {\n return _ref4.apply(this, arguments);\n };\n }()));\n }\n });\n\n yield Promise.allSettled(promises);\n\n return feature;\n });\n\n return function evaluateExpressionFields() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _getParentFormData = require('./getParentFormData');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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},{\"./getParentFormData\":47}],41:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDeltaXY = getDeltaXY;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/moveelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/movelementsstep.js@v3.7.1\n *\n * @param { Object } delta\n * @param delta.x\n * @param delta.y\n * @param delta.coordinates\n * \n * @returns {{ x: number, y: number }}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getDeltaXY() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n x = _ref.x,\n y = _ref.y,\n coordinates = _ref.coordinates;\n\n var coords = _getCoordinates(coordinates);\n return {\n x: x - coords.x,\n y: y - coords.y\n };\n}\n\nfunction _getCoordinates(coords) {\n return Array.isArray(coords[0]) ? _getCoordinates(coords[0]) : {\n x: coords[0],\n y: coords[1]\n };\n}\n\n},{}],42:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEditingLayerById = getEditingLayerById;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getEditingLayerById(layerId) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId);\n}\n\n},{}],43:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFeatureTableFieldValue = getFeatureTableFieldValue;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Finalize \"formatter\" value for any kind of field\n *\n * @param { string } opts.layerId\n * @param {ol.Feature} opts.feature\n * @param { string } opts.property\n *\n * @returns (field.key) or (field.value)\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nfunction getFeatureTableFieldValue() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n feature = _ref.feature,\n property = _ref.property;\n\n // get editable fields\n var fields = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId).config.editing.fields;\n\n // get field value (raw)\n\n var value = feature.get(property);\n\n // get key-value fields implicated into: https://github.com/g3w-suite/g3w-client-plugin-editing/pull/64\n var values = null !== value && (fields.filter(function (f) {\n return ['select_autocomplete', 'select'].includes(f.input.type);\n }) || []).reduce(function (kv, field) {\n kv[field.name] = field.input.options.values;return kv;\n }, {});\n\n // get the last key-value feature add to\n var kv_field = values && values[property] && values[property].find(function (kv) {\n return value == kv.value;\n });\n\n // return key for key-values fields (raw field value otherwise)\n return kv_field ? kv_field.key : value;\n}\n\n},{}],44:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormFields = getFormFields;\n/** Sort an array of strings (alphabetical order) */\nvar sortAlphabeticallyArray = function sortAlphabeticallyArray(arr) {\n return arr.sort(function (a, b) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n });\n};\n\n/* Sort an array of numbers (natural order) */\nvar sortNumericArray = function sortNumericArray(arr) {\n var ascending = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return arr.sort(function (a, b) {\n return ascending ? a - b : b - a;\n });\n};\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Get form fields\n *\n * @param form.inputs.layer\n * @param form.inputs.features\n * @param form.context.excludeFields\n * @param form.context.get_default_value\n * @param form.isChild - whether is child form (ie. belongs to relation)\n * @param form.multi - in case of multi editing set all fields to null\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getFormFields() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n inputs = _ref.inputs,\n context = _ref.context,\n feature = _ref.feature,\n multi = _ref.multi;\n\n //editing service\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n // current form layerId// unique values by feature field\n var layerId = inputs.layer.getId();\n\n var fields = inputs.layer.getFieldsWithValues( // editing fields with values (in case of update)\n feature, {\n exclude: context.excludeFields, // add exclude fields\n get_default_value: undefined === context.get_default_value ? false : context.get_default_value\n });\n\n //Loop through fields\n var unique_values = fields\n //check if field is a unique field. Exclude pk not edittable\n .filter(function (f) {\n return !(f.pk && false === f.editable) && ('unique' === f.input.type || f.validate.unique);\n }).map(function (field) {\n return {\n field: field, // feature field\n _value: feature.get(field.name) // feature current field value\n };\n });\n\n //Loop through unique fields\n unique_values.forEach(function (_ref2) {\n var _value = _ref2._value,\n field = _ref2.field;\n\n //get current stored unique values for field\n var current_values = service.state.uniqueFieldsValues[layerId][field.name] || new Set([]);\n //filter null value otherwise sort function gets an error\n var values = Array.from(current_values).filter(function (v) {\n return null !== v;\n });\n //NEED TO ADD ALWAYS CURRENT VALUE\n field.input.options.values = (['integer', 'float', 'bigint'].includes(field.type) ? sortNumericArray : sortAlphabeticallyArray)(values);\n if (current_values.has(null)) {\n field.input.options.values.unshift(null);\n }\n\n // convert \"current\" values to string (when not null or undefined)\n current_values.forEach(function (v) {\n return field.validate.exclude_values.add(![null, undefined].includes(v) ? '' + v : v);\n });\n\n // remove current value from exclude_values\n field.validate.exclude_values.delete('' + _value);\n });\n\n // skip when no fields are unique in multi features change form attribute\n if (0 === unique_values.length) {\n return _handleMulti(fields, multi);\n }\n\n // Listen to event method after close/save form\n var savedfeatureFnc = function savedfeatureFnc() {\n unique_values.forEach(function (_ref3) {\n var _value = _ref3._value,\n field = _ref3.field;\n\n // initial value is the same that current field vale (no changed)\n if (_value === field.value) {\n return;\n }\n // layer form\n if (service.state.uniqueFieldsValues[layerId][field.name]) {\n // change layer unique field values\n var values = service.state.uniqueFieldsValues[layerId][field.name];\n //If changed, delete it from _value\n values.delete(_value);\n //aff new one to value list unique field\n values.add(field.value);\n }\n });\n\n return { once: true };\n };\n\n //event when insert/edit form button is pressed\n service.subscribe('savedfeature_' + layerId, savedfeatureFnc);\n //event when close form layer\n service.subscribe('closeform_' + layerId, function () {\n //unsubscribe event\n service.unsubscribe('savedfeature_' + layerId, savedfeatureFnc);\n return { once: true };\n });\n\n return _handleMulti(fields, multi);\n}\n\nfunction _handleMulti(fields, multi) {\n if (multi) {\n fields = fields.map(function (field) {\n var f = JSON.parse(JSON.stringify(field));\n f.value = null;\n f._value = null; // @since v3.9.0 Fix update form field: Set the same value of value\n f.forceNull = true;\n f.validate.required = false; //set false because all features have already required field filled\n return f;\n }).filter(function (f) {\n return !f.pk;\n });\n }\n\n return fields;\n}\n\n},{}],45:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLayersDependencyFeatures = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { string } layerId\n * @param opts\n *\n * @returns { Promise[]> }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar getLayersDependencyFeatures = exports.getLayersDependencyFeatures = function () {\n var _ref = _asyncToGenerator(function* (layerId) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n\n var layer = service.getLayerById(layerId);\n var relations = opts.relations || layer.getChildren().length && layer.getRelations() && (0, _getRelationsInEditing.getRelationsInEditing)({ layerId: layerId, relations: layer.getRelations().getArray().filter(function (r) {\n return r.getFather() === layerId;\n }) }) || [];\n\n var response = void 0;\n\n try {\n response = yield Promise.all(relations.map(function () {\n var _ref2 = _asyncToGenerator(function* (relation) {\n\n if (relation.setLoading) {\n relation.setLoading(true);\n } else {\n relation.loading = true;\n }\n\n var id = (0, _getRelationId.getRelationId)({ layerId: layerId, relation: relation });\n\n opts.relation = relation;\n opts.layerId = layerId;\n opts.filterType = 'ONE' === (relation.getType ? relation.getType() : relation.type) ? '1:1' : opts.filterType; // In a case of relation 1:1\n var filterType = opts.filterType || 'fid';\n var options = (0, _createEditingDataOptions.createEditingDataOptions)(filterType, opts);\n var session = service.state.sessions[id];\n var online = ApplicationState.online && session;\n var toolbox = service.getToolBoxById(id);\n\n // getLayersDependencyFeaturesFromSource\n\n opts.operator = undefined !== opts.operator ? opts.operator : 'eq';\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: id, relation: relation }),\n ownField = _getRelationFieldsFro.ownField,\n relationField = _getRelationFieldsFro.relationField;\n\n var features = service.getLayerById(layerId).readEditingFeatures();\n var featureValues = relationField.map(function (field) {\n return opts.feature.get(field);\n });\n\n // try to get feature from source without a server request\n var find = (!ApplicationState.online || !session || session.isStarted()) && 'eq' === opts.operator && ownField.every(function (field, i) {\n return features.find(function (f) {\n return featureValues[i] == f.get(field);\n });\n });\n\n toolbox.startLoading();\n\n try {\n if (online && !session.isStarted()) {\n yield (0, _promisify.promisify)(session.start(options)); // start session and get features\n } else if (online && !find) {\n yield (0, _promisify.promisify)(session.getFeatures(options)); // request features from server\n }\n } catch (promise) {\n try {\n yield (0, _promisify.promisify)(promise);\n } catch (e) {\n console.warn(e, promise);\n }\n }\n\n toolbox.stopLoading();\n\n return id;\n });\n\n return function (_x3) {\n return _ref2.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n }\n\n // at the end se loading false\n relations.forEach(function (relation) {\n if (relation.setLoading) {\n relation.setLoading(false);\n } else {\n relation.loading = false;\n }\n });\n\n return response;\n });\n\n return function getLayersDependencyFeatures(_x2) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _promisify = require('../utils/promisify');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _getRelationId = require('../utils/getRelationId');\n\nvar _getRelationsInEditing = require('../utils/getRelationsInEditing');\n\nvar _createEditingDataOptions = require('../utils/createEditingDataOptions');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 ApplicationState = g3wsdk.core.ApplicationState;\n\n},{\"../utils/createEditingDataOptions\":37,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/getRelationId\":50,\"../utils/getRelationsInEditing\":51,\"../utils/promisify\":58}],46:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getNotEditableFieldsNoPkValues = getNotEditableFieldsNoPkValues;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param layer,\n * @param feature\n *\n * @returns Array of fields\n */\nfunction getNotEditableFieldsNoPkValues(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature;\n\n return layer.getEditingNotEditableFields().reduce(function (fields, field) {\n fields[field] = layer.isPkField(field) ? null : feature.get(field); // NB: Primary Key fields need to be `null`\n return fields;\n }, {});\n}\n\n},{}],47:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getParentFormData = getParentFormData;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @returns { undefined | { feature: * , qgs_layer_id: * } }\n */\nfunction getParentFormData() {\n // skip when ..\n if (!(_workflow.Workflow.Stack.getLength() > 1)) {\n return;\n }\n\n var _Workflow$Stack$getPa = _workflow.Workflow.Stack.getParent().getInputs(),\n features = _Workflow$Stack$getPa.features,\n layer = _Workflow$Stack$getPa.layer,\n _Workflow$Stack$getPa2 = _Workflow$Stack$getPa.fields,\n fields = _Workflow$Stack$getPa2 === undefined ? [] : _Workflow$Stack$getPa2;\n\n // in the case of temporary fields (setted by form) set temporary value to feature (cloned) parent\n\n\n var feature = features[features.length - 1].clone();\n\n fields.forEach(function (_ref) {\n var name = _ref.name,\n value = _ref.value;\n feature.set(name, value);\n });\n\n return {\n feature: feature,\n qgs_layer_id: layer.getId()\n };\n}\n\n},{\"../g3wsdk/workflow/workflow\":15}],48:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelation1_1ChildFeature = undefined;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * @param { Object } opts\n * @param opts.relation\n * @param opts.fatherFormRelationField\n * \n * @returns {Promise<{feature: *, locked: boolean}>}\n * \n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar getRelation1_1ChildFeature = exports.getRelation1_1ChildFeature = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var relation = _ref.relation,\n fatherFormRelationField = _ref.fatherFormRelationField;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n var fatherLayerId = relation.getFather();\n var childLayerId = relation.getChild(); // get relation child layer id\n var childField = relation.getChildField()[0];\n\n // lock feature false\n var locked = false;\n var feature = service.getLayerById(childLayerId).getEditingSource().readFeatures().find(function (f) {\n return fatherFormRelationField.value === f.get(childField);\n });\n\n //get feature from server and lock\n if (undefined === feature) {\n\n var childFeatureStore = service.getLayerById(childLayerId).getFeaturesStore();\n\n var unByKey = childFeatureStore.oncebefore('featuresLockedByOtherUser', function (features) {\n return feature = features[0];\n });\n\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(fatherLayerId, {\n feature: new ol.Feature(_defineProperty({}, fatherFormRelationField.name, fatherFormRelationField.value)),\n relations: [relation]\n });\n\n //remove listener\n childFeatureStore.un('featuresLockedByOtherUser', unByKey);\n\n //in case of no locked check feature on a source\n if (undefined === feature) {\n\n feature = service.getLayerById(childLayerId).getEditingSource().readFeatures().find(function (f) {\n return fatherFormRelationField.value === f.get(childField);\n });\n }\n }\n\n //not find on source need to check if exist\n if (undefined === feature) {\n\n try {\n var layer = CatalogLayersStoresRegistry.getLayerById(childLayerId);\n\n var _ref4 = yield DataRouterService.getData('search:features', { // get feature of relation layer based on value of relation field\n inputs: {\n layer: layer,\n formatter: 0,\n filter: g3wsdk.core.utils.createFilterFormInputs({\n layer: layer,\n search_endpoint: 'api',\n inputs: [{ attribute: childField, value: fatherFormRelationField.value }]\n }),\n search_endpoint: 'api'\n },\n outputs: false\n }),\n data = _ref4.data;\n\n if (data && data[0] && 1 === data[0].features.length) {\n // NB: length == 1, due to 1:1 relation type\n //locked\n locked = true;\n feature = data[0].features[0];\n }\n } catch (e) {\n console.warn(e);\n }\n }\n\n //return\n return {\n feature: feature, //feature search\n locked: locked //locked status\n };\n });\n\n return function getRelation1_1ChildFeature(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\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 CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\nvar DataRouterService = g3wsdk.core.data.DataRouterService;\n\n},{\"../utils/getLayersDependencyFeatures\":45}],49:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationFieldsFromRelation = getRelationFieldsFromRelation;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Based on layerId and relation, extract field of relation.\n * ownField are array of fields related to relation and belong to layerId\n * relationField area array of fields related to relation thar belong to other layer in relation with layerId\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relation\n *\n * @returns {{ ownField: [], relationField: [] }} `ownField` and `relationField` are Arrays since g3w-client-plugin-editing@v3.7.0\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationFieldsFromRelation() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n relation = _ref.relation;\n\n /** @type { string } */\n var childId = relation.getChild ? relation.getChild() : relation.child;\n /** @type { Boolean } whether is a child */\n var isChild = childId !== layerId;\n /** @type { Array } of fields */\n var _fatherField = relation.getFatherField ? relation.getFatherField() : relation.fatherField;\n /** @type { Array } of fields */\n var _childField = relation.getChildField ? relation.getChildField() : relation.childField;\n\n return {\n ownField: isChild ? _fatherField : _childField,\n relationField: isChild ? _childField : _fatherField\n };\n}\n\n},{}],50:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationId = getRelationId;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relation\n *\n * @returns the layer id of the other layer that is in relation with layerId\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationId() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n relation = _ref.relation;\n\n var fatherId = relation.getFather ? relation.getFather() : relation.father;\n var childId = relation.getChild ? relation.getChild() : relation.child;\n\n return layerId === fatherId ? childId : fatherId;\n}\n\n},{}],51:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationsInEditing = getRelationsInEditing;\n\nvar _getRelationId = require('../utils/getRelationId');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relations\n *\n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationsInEditing(_ref) {\n var layerId = _ref.layerId,\n _ref$relations = _ref.relations,\n relations = _ref$relations === undefined ? [] : _ref$relations;\n\n return relations.filter(function (r) {\n return g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getToolBoxById((0, _getRelationId.getRelationId)({ layerId: layerId, relation: r }));\n });\n}\n\n},{\"../utils/getRelationId\":50}],52:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRelationsInEditingByFeature = getRelationsInEditingByFeature;\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * \n * Get Relation in editing\n *\n * @param { Object } opts\n * @param opts.layerId\n * @param opts.relations\n * @param opts.feature\n *\n * @returns { Array }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction getRelationsInEditingByFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref.layerId,\n _ref$relations = _ref.relations,\n relations = _ref$relations === undefined ? [] : _ref$relations,\n feature = _ref.feature;\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n var relationsinediting = [];\n var relationinediting = void 0;\n relations.forEach(function (relation) {\n var child = relation.getChild ? relation.getChild() : relation.child;\n var father = relation.getFatherField ? relation.getFatherField() : relation.fatherField;\n var relationLayerId = child === layerId ? father : child; // get relation LayerId\n //check if the layer is editable\n if (service.getLayerById(relationLayerId)) {\n var layer = service.getToolBoxById(relationLayerId).getLayer();\n var fatherLayer = service.getLayerById(relation.getFather ? relation.getFather() : relation.father);\n\n var _getRelationFieldsFro = (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ layerId: relationLayerId, relation: relation }),\n ownField = _getRelationFieldsFro.ownField,\n relationField = _getRelationFieldsFro.relationField;\n // get features of relation child layers\n // Loop relation fields\n // In case of new feature, need to check if field is pk field\n\n\n var values = relationField.map(function (field) {\n return feature.isNew() && fatherLayer.isPkField(field) ? feature.getId() : feature.get(field);\n });\n\n relationinediting = {\n relation: relation.getState(),\n // get relation attributes by feature\n relations: service.getLayerById(relationLayerId).readEditingFeatures().filter(function (feature) {\n return ownField.every(function (field, i) {\n return feature.get(field) == values[i];\n });\n }) // get relations by feature\n .map(function (relation) {\n return {\n fields: layer.getFieldsWithValues(relation, { relation: true }),\n id: relation.getId(),\n select: false /** @since v3.9.0 Used to set relation select or not **/\n };\n })\n };\n relationinediting.validate = { valid: true };\n relationsinediting.push(relationinediting);\n }\n });\n return relationsinediting;\n}\n\n},{\"../utils/getRelationFieldsFromRelation\":49}],53:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Handle layer relation 1:1 features related to feature\n *\n * @param opts.layerId Root layerId\n * @param opts.features Array of update/new features belong to Root layer\n * @param opts.fields Array of form fields father\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar handleRelation1_1LayerFields = exports.handleRelation1_1LayerFields = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n _ref2$features = _ref2.features,\n features = _ref2$features === undefined ? [] : _ref2$features,\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === undefined ? [] : _ref2$fields,\n task = _ref2.task;\n\n // skip when no features\n if (features.length === 0) {\n return;\n }\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n\n // Get layer relation 1:1\n var promises = CatalogLayersStoresRegistry.getLayerById(layerId).getRelations().getArray().filter(function (relation) {\n return 'ONE' === relation.getType();\n }).map(function (relation) {\n return new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve) {\n // skip when layer is not a father layer (1:1 relation)\n if (layerId !== relation.getFather()) {\n resolve();\n return;\n }\n var fatherField = relation.getFatherField()[0];\n var value = features[0].get(fatherField);\n\n //no set father field value. No set\n if (null === value) {\n resolve();\n return;\n }\n\n // check if child relation layer is editable (in editing)\n var childLayerId = relation.getChild();\n var childField = relation.getChildField()[0];\n var source = service.getLayerById(childLayerId).getEditingSource();\n var childFeature = void 0; // original child feature\n var newChild = void 0; //eventually child feature cloned with changes\n\n //check if child feature is already added to\n childFeature = source.readFeatures().find(function (f) {\n return f.get(childField) === value;\n });\n\n var fieldsUpdated = undefined !== service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }).find(function (_ref4) {\n var name = _ref4.name;\n return fields.find(function (f) {\n return name == f.name;\n }).update;\n });\n\n var isNewChildFeature = undefined === childFeature;\n\n //check if fields related to child are changed\n if (fieldsUpdated) {\n //Check if we need to create a new child feature\n if (isNewChildFeature) {\n //create feature for child layer\n childFeature = new g3wsdk.core.layer.features.Feature();\n childFeature.setTemporaryId();\n // set name attribute to `null`\n CatalogLayersStoresRegistry.getLayerById(childLayerId).getEditingFields().forEach(function (field) {\n return childFeature.set(field.name, null);\n });\n //set father field value\n childFeature.set(childField, fields.find(function (f) {\n return fatherField === f.name;\n }).value);\n //add feature to a child source\n source.addFeature(childFeature);\n //new feature and child feature are the same\n newChild = childFeature;\n } else {\n //is update\n if (childFeature) {\n //clone child Feature so all changes apply by father is set to clone new feature\n newChild = childFeature.clone();\n }\n }\n\n //check if there is a childFeature to save\n if (childFeature) {\n // Loop editable only field of father layerId when\n // a child relation (1:1) is bind to the current feature\n var editiableRelatedFieldChild = service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId() && f.editable;\n });\n\n editiableRelatedFieldChild.forEach(function (field) {\n return newChild.set(field.name.replace(relation.getPrefix(), ''), features[0].get(field.name));\n });\n\n // add relation new relation\n if (isNewChildFeature) {\n\n // check if father field is a Pk (Primary key) if feature is new\n if (service.getLayerById(layerId).isPkField(fatherField)) {\n childFeature.set(childField, features[0].getId()); // set temporary\n }\n\n //if new need to add to session\n task.getContext().session.pushAdd(childLayerId, newChild, false);\n } else {\n //need to update source child feature\n source.updateFeature(newChild);\n //need to update\n task.getContext().session.pushUpdate(childLayerId, newChild, childFeature);\n }\n }\n }\n\n resolve();\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n });\n\n yield Promise.allSettled(promises);\n });\n\n return function handleRelation1_1LayerFields() {\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\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{}],54:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleSplitFeature = 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: g3w-client-plugin-editing/workflows/steps/tasks/splitfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/splitfeaturestep.js@v3.7.1\n *\n * @param feature\n * @param inputs\n * @param context\n * @param splittedGeometries\n * \n * @returns {Promise<*[]>}\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar handleSplitFeature = exports.handleSplitFeature = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref2.feature,\n inputs = _ref2.inputs,\n context = _ref2.context,\n _ref2$splittedGeometr = _ref2.splittedGeometries,\n splittedGeometries = _ref2$splittedGeometr === undefined ? [] : _ref2$splittedGeometr;\n\n var newFeatures = [];\n var layer = inputs.layer;\n\n var session = context.session;\n var source = layer.getEditingLayer().getSource();\n var layerId = layer.getId();\n var oriFeature = feature.clone();\n inputs.features = splittedGeometries.length ? [] : inputs.features;\n var splittedGeometriesLength = splittedGeometries.length;\n\n for (var index = 0; index < splittedGeometriesLength; index++) {\n var splittedGeometry = splittedGeometries[index];\n if (0 === index) {\n /**\n * check geometry evaluated expression\n */\n feature.setGeometry(splittedGeometry);\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n session.pushUpdate(layerId, feature, oriFeature);\n } else {\n yield* function* () {\n var newFeature = (0, _cloneFeature.cloneFeature)(oriFeature, layer);\n newFeature.setGeometry(splittedGeometry);\n\n // set media fields to null\n layer.getEditingMediaFields({}).forEach(function (f) {\n return newFeature.set(f, null);\n });\n\n feature = new Feature({ feature: newFeature });\n\n feature.setTemporaryId();\n\n // evaluate geometry expression\n try {\n yield (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature });\n } catch (e) {\n console.warn(e);\n }\n\n /**\n * @todo improve client core to handle this situation on sesssion.pushAdd not copy pk field not editable only\n */\n var noteditablefieldsvalues = (0, _getNotEditableFieldsNoPkValues.getNotEditableFieldsNoPkValues)({ layer: layer, feature: feature });\n\n if (Object.entries(noteditablefieldsvalues).length) {\n var _newFeature = session.pushAdd(layerId, feature);\n Object.entries(noteditablefieldsvalues).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n field = _ref4[0],\n value = _ref4[1];\n\n return _newFeature.set(field, value);\n });\n newFeatures.push(_newFeature);\n //need to add features with no editable fields on layers source\n source.addFeature(_newFeature);\n } else {\n newFeatures.push(session.pushAdd(layerId, feature));\n //add feature to source\n source.addFeature(feature);\n }\n }();\n }\n inputs.features.push(feature);\n }\n\n return newFeatures;\n });\n\n return function handleSplitFeature() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _cloneFeature = require('../utils/cloneFeature');\n\nvar _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getNotEditableFieldsNoPkValues = require('../utils/getNotEditableFieldsNoPkValues');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 Feature = g3wsdk.core.layer.features.Feature;\n\n},{\"../utils/cloneFeature\":35,\"../utils/evaluateExpressionFields\":40,\"../utils/getNotEditableFieldsNoPkValues\":46}],55:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointOnVertex = isPointOnVertex;\n/**\n * @param feature\n * @param coordinates\n *\n * @returns { boolean }\n */\nfunction isPointOnVertex(_ref) {\n var feature = _ref.feature,\n coordinates = _ref.coordinates;\n\n var geometry = feature.getGeometry();\n var type = geometry.getType();\n var coords = function coords(c) {\n return g3wsdk.core.geoutils.areCoordinatesEqual(coordinates, c);\n }; // whether element have same coordinates\n\n switch (type) {\n case 'Polygon':\n case 'MultiLineString':\n return _.flatMap(geometry.getCoordinates()).some(coords);\n\n case 'LineString':\n case 'MultiPoint':\n return geometry.getCoordinates().some(coords);\n\n case 'MultiPolygon':\n return geometry.getPolygons().some(function (poly) {\n return _.flatMap(poly.getCoordinates()).some(coords);\n });\n\n case 'Point':\n return g3wsdk.core.geoutils.areCoordinatesEqual(coordinates, geometry.getCoordinates());\n\n default:\n return false;\n }\n}\n\n},{}],56:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isSameBaseGeometryType = isSameBaseGeometryType;\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/isSameBaseGeometryType.js@v3.10.2\n * \n * @param { string } geometryType1\n * @param { string } geometryType2\n * \n * @returns { boolean } whether two geometry typeshave same geometry type or have in common tha same base geometry type:\n * \n * @example Compare \n * ```\n * Point <--> Point => true\n * MultiPoint <--> Point => true\n * Point <--> Polygon => false\n * ```\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\nfunction isSameBaseGeometryType(a, b) {\n return a.replace('Multi', '') === b.replace('Multi', '');\n}\n\n},{}],57:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.listenRelation1_1FieldChange = 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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Listen changes on 1:1 relation fields (get child values from child layer)\n *\n * @param opts.layerId Current editing layer id\n * @param opts.fields Array of form fields of current editing layer\n *\n * @returns Array of watch function event to remove listen\n *\n * @since g3w-client-plugin-editing@v3.7.0\n */\nvar listenRelation1_1FieldChange = exports.listenRelation1_1FieldChange = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n _ref2$fields = _ref2.fields,\n fields = _ref2$fields === undefined ? [] : _ref2$fields;\n\n var unwatches = []; // unwatches field value (event change)\n\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n\n var ONE = CatalogLayersStoresRegistry.getLayerById(layerId).getRelations().getArray().filter(function (r) {\n return 'ONE' === r.getType();\n });\n\n // get all relations 1:1 of current layer\n\n var _loop = function* _loop(relation) {\n\n var childLayerId = relation.getChild(); // get relation child layer id\n var fatherField = relation.getFatherField();\n var relationLockFeatures = {}; //store value\n\n // NB:\n // need to check if editable when opening form task\n // Not set this condition because maybe i ca be used this method\n // on a move task or other when current fatherFormRelationField, related to 1:1 relation\n // it can be changed by default expression or in another way not only with form\n var fatherFormRelationField = fields.find(function (f) {\n return fatherField.includes(f.name);\n }); // get father layer field (for each relation)\n // skip when not relation field and not layer child is in editing\n if (!(fatherFormRelationField && service.getLayerById(childLayerId))) {\n return {\n v: void 0\n };\n }\n\n //store original editable property of fields relation to child layer relation\n var editableRelatedFatherChild = service.getLayerById(relation.getFather()).getEditingFields().filter(function (f) {\n return f.vectorjoin_id && f.vectorjoin_id === relation.getId();\n }).reduce(function (accumulator, field) {\n var formField = fields.find(function (f) {\n return f.name === field.name;\n });\n accumulator[formField.name] = formField.editable;\n return accumulator;\n }, {});\n\n fatherFormRelationField.input.options.loading.state = 'loading'; // show input bar loader\n\n //get feature from a child layer source\n relationLockFeatures[fatherFormRelationField.value] = yield (0, _getRelation1_1ChildFeature.getRelation1_1ChildFeature)({\n relation: relation,\n fatherFormRelationField: fatherFormRelationField\n });\n\n fatherFormRelationField.input.options.loading.state = null; // show input bar loader\n\n //if locked need to set editable to false\n //can update child\n if (relationLockFeatures[fatherFormRelationField.value].locked) {\n Object.keys(editableRelatedFatherChild).forEach(function (fn) {\n return fields.find(function (f) {\n return fn === f.name;\n }).editable = false;\n });\n }\n\n //if not feature is on source child layer, it means it locked or not exist on a server need to check\n\n // listen for relation field changes (vue watcher)\n unwatches.push(_eventbus.VM.$watch(function () {\n return fatherFormRelationField.value;\n }, function () {\n var _ref3 = _asyncToGenerator(function* (value) {\n\n // skip empty values\n if (!value) {\n fatherFormRelationField.input.options.loading.state = null;\n fatherFormRelationField.editable = true;\n return;\n }\n\n fatherFormRelationField.editable = false; // disable edit\n fatherFormRelationField.input.options.loading.state = 'loading'; // show input bar loader\n\n if (undefined === relationLockFeatures[fatherFormRelationField.value]) {\n //get feature from a child layer source\n try {\n\n relationLockFeatures[fatherFormRelationField.value] = yield (0, _getRelation1_1ChildFeature.getRelation1_1ChildFeature)({\n relation: relation,\n fatherFormRelationField: fatherFormRelationField\n });\n } catch (e) {\n console.warn(e);\n }\n }\n\n var _relationLockFeatures = relationLockFeatures[fatherFormRelationField.value],\n feature = _relationLockFeatures.feature,\n locked = _relationLockFeatures.locked;\n\n\n Object.keys(editableRelatedFatherChild).forEach(function (fn) {\n var field = fields.find(function (f) {\n return fn === f.name;\n });\n //set editable property\n field.editable = locked ? false : editableRelatedFatherChild[fn];\n //need to check if feature is new and not locked ot not present on a source\n field.value = feature ? feature.get(field.name.replace(relation.getPrefix(), '')) : null;\n });\n\n // reset edit state\n fatherFormRelationField.input.options.loading.state = null;\n fatherFormRelationField.editable = true;\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }()));\n };\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = ONE[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var relation = _step.value;\n\n var _ret = yield* _loop(relation);\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\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 unwatches;\n });\n\n return function listenRelation1_1FieldChange() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _eventbus = require('../eventbus');\n\nvar _getRelation1_1ChildFeature = require('./getRelation1_1ChildFeature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (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 CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{\"../eventbus\":11,\"./getRelation1_1ChildFeature\":48}],58:[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.warn(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],59:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setAndUnsetSelectedFeaturesStyle = setAndUnsetSelectedFeaturesStyle;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _promisify = require('../utils/promisify');\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\nvar Layer = g3wsdk.core.layer.Layer;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Method that set selected style to current editing features and\n * reset original style when workflow (tool) is done.\n * \n * @param promise jQuery promise\n * @param { Object } inputs\n * @param { ol.style.Style } style\n */\n\nfunction setAndUnsetSelectedFeaturesStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n promise = _ref.promise,\n inputs = _ref.inputs,\n style = _ref.style;\n\n /** @FIXME temporary add in order to fix issue on pending promise (but which issue ?) */\n var layer = inputs.layer,\n _inputs$features = inputs.features,\n features = _inputs$features === undefined ? [] : _inputs$features;\n\n /**\n * @TODO if coming from relation ( Workflow.Stack.getLength() > 1 )\n * no need setTimeout because we already it has selected style\n * so original is the same selected. In case of current layer\n * need to wait.\n */\n\n var selectOriginalStyleHandle = function selectOriginalStyleHandle() {\n var originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features, style);\n (0, _promisify.promisify)(promise).finally(function () {\n features.flat().forEach(function (f) {\n return f.setStyle(originalStyle);\n });\n });\n };\n\n var is_vector = Layer.LayerTypes.VECTOR === layer.getType();\n var is_single = _workflow.Workflow.Stack.getLength();\n\n if (is_vector && is_single) {\n setTimeout(function () {\n return selectOriginalStyleHandle();\n });\n } else if (is_vector) {\n selectOriginalStyleHandle();\n }\n}\n\n},{\"../g3wsdk/workflow/workflow\":15,\"../utils/promisify\":58,\"../utils/setFeaturesSelectedStyle\":60}],60:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setFeaturesSelectedStyle = setFeaturesSelectedStyle;\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Get selected style from \"extracted\" original feature style \n * \n * @param feature\n * \n * @returns {{ originalStyle: *, selectedStyle: * }} selected style based on a geometry type\n */\nfunction getSelectedStyle(feature) {\n return {\n originalStyle: feature.getStyle(),\n selectedStyle: feature.getGeometry() ? g3wsdk.core.geoutils.createSelectedStyle({ geometryType: feature.getGeometry().getType() }) : feature.getStyle()\n };\n}\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/tasks/editingtask.js@v3.7.1\n * \n * Set selected style to feature and return original feature style\n * \n * @param { Array } features\n * @param { ol.style.Style } style @since 3.8.0 custom select style\n * \n * @returns { ol.style.Style }\n */\nfunction setFeaturesSelectedStyle() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var style = arguments[1];\n\n if (features.length > 0) {\n // copy feature from other layers when selecting multiple features\n var arr = features.flat(); // flat nested features\n\n var _getSelectedStyle = getSelectedStyle(arr[0]),\n originalStyle = _getSelectedStyle.originalStyle,\n selectedStyle = _getSelectedStyle.selectedStyle;\n\n arr.forEach(function (f) {\n return f.setStyle(style || selectedStyle);\n });\n\n return originalStyle;\n }\n}\n\n},{}],61:[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\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/editingservice.js@v3.7.8\n * Method to get unique values of unique input values from server\n * It's called\n * - When toolbox start (parent layer and relation)\n * - After commit to server (to get fresh new data)\n * \n * @param { string } layerId\n *\n * @returns { Promise<*> }\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nvar setLayerUniqueFieldValues = exports.setLayerUniqueFieldValues = function () {\n var _ref = _asyncToGenerator(function* (layerId) {\n var service = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing'); //get editing service\n yield new Promise(function (resolve, reject) {\n var layer = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').getLayerById(layerId);\n //get all values for unique field\n layer.getWidgetData({\n type: 'unique',\n fields: Object.values(layer.getEditingFields()\n //filter field that is unique and not yet set unique values\n .filter(function (f) {\n return !(f.pk && false === f.editable) && ('unique' === f.input.type || f.validate.unique);\n })).map(function (f) {\n return f.name;\n }).join()\n }).then(function (response) {\n Object.entries(response.data || {}).forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n name = _ref3[0],\n values = _ref3[1];\n\n service.state.uniqueFieldsValues[layerId][name] = new Set(values);\n });\n\n resolve(service.state.uniqueFieldsValues[layerId][name]);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n return service.state.uniqueFieldsValues[layerId];\n });\n\n return function setLayerUniqueFieldValues(_x) {\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\nvar CatalogLayersStoresRegistry = g3wsdk.core.catalog.CatalogLayersStoresRegistry;\n\n},{}],62:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.splitFeatures = splitFeatures;\nvar splitFeature = g3wsdk.core.geoutils.splitFeature;\n\n/**\n * ORIGINAL SOURCE: g3w-client/src/utils/splitFeatures.js@v3.10.2\n * \n * @param { Object } opts\n * @param { Array } opts.features\n * @param opts.splitfeature\n * \n * @returns { Array } splittered geometries\n * \n * @since g3w-client-plugin-editing@v3.9.0\n */\n\nfunction splitFeatures(features, splitfeature) {\n return (features || []).reduce(function (a, f) {\n var geometries = splitFeature({ splitfeature: splitfeature, feature: f });\n if (geometries.length > 1) {\n a.push({ uid: f.getUid(), geometries: geometries });\n }\n return a;\n }, []);\n}\n\n},{}],63:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.unlinkRelation = unlinkRelation;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _getRelationFieldsFromRelation = require('../utils/getRelationFieldsFromRelation');\n\nvar _updateWorkflows = require('./updateWorkflows');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _promisify = require('../utils/promisify');\n\nvar GUI = g3wsdk.gui.GUI;\nvar tPlugin = g3wsdk.core.i18n.tPlugin;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/relationservice.js@v3.7.1\n * \n * Unlink relation\n * @param layerId\n * @param relation\n * @param relations\n * @param index\n * @param dialog\n * \n * @returns JQuery Promise\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\n\nfunction unlinkRelation(_ref) {\n var layerId = _ref.layerId,\n relation = _ref.relation,\n relations = _ref.relations,\n index = _ref.index,\n _ref$dialog = _ref.dialog,\n dialog = _ref$dialog === undefined ? true : _ref$dialog;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n var unlink = function unlink() {\n var id = layerId === relation.child ? relation.father : relation.child; // relation layer id\n var feature = (0, _getEditingLayerById.getEditingLayerById)(id).getEditingSource().getFeatureById(relations[index].id);\n var originalRelation = feature.clone();\n // loop on ownField (Array field child relation)\n (0, _getRelationFieldsFromRelation.getRelationFieldsFromRelation)({ relation: relation, layerId: id }).ownField.forEach(function (f) {\n return feature.set(f, null);\n });\n _workflow.Workflow.Stack.getCurrent().getSession().pushUpdate(id, feature, originalRelation);\n relations.splice(index, 1);\n (0, _updateWorkflows.updateWorkflows)();\n resolve(true);\n };\n if (dialog) {\n GUI.dialog.confirm(tPlugin(\"editing.messages.unlink_relation\"), function (result) {\n return result ? unlink() : d.reject(false);\n });\n } else {\n unlink();\n }\n }));\n}\n\n},{\"../g3wsdk/workflow/workflow\":15,\"../utils/getEditingLayerById\":42,\"../utils/getRelationFieldsFromRelation\":49,\"../utils/promisify\":58,\"./updateWorkflows\":64}],64:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.updateWorkflows = updateWorkflows;\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/relationservice.js@v3.7.1\n * \n * force parent workflow form service\n * update only when workflow has service (form service)\n * \n * @since g3w-client-plugin-editing@v3.8.0\n */\nfunction updateWorkflows() {\n _workflow.Workflow.Stack._workflows.filter(function (w) {\n return w.getContextService();\n }).forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n}\n\n},{\"../g3wsdk/workflow/workflow\":15}],65:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SelectElementsStep = exports.PickFeatureStep = exports.OpenTableStep = exports.OpenFormStep = exports.MoveFeatureStep = exports.ModifyGeometryVertexStep = exports.AddFeatureStep = 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 _evaluateExpressionFields = require('../utils/evaluateExpressionFields');\n\nvar _getParentFormData = require('../utils/getParentFormData');\n\nvar _setFeaturesSelectedStyle = require('../utils/setFeaturesSelectedStyle');\n\nvar _setAndUnsetSelectedFeaturesStyle = require('../utils/setAndUnsetSelectedFeaturesStyle');\n\nvar _getFormFields = require('../utils/getFormFields');\n\nvar _chooseFeatureFromFeatures = require('../utils/chooseFeatureFromFeatures');\n\nvar _handleRelation1_1LayerFields = require('../utils/handleRelation1_1LayerFields');\n\nvar _listenRelation1_1FieldChange = require('../utils/listenRelation1_1FieldChange');\n\nvar _getLayersDependencyFeatures = require('../utils/getLayersDependencyFeatures');\n\nvar _getEditingLayerById = require('../utils/getEditingLayerById');\n\nvar _setLayerUniqueFieldValues = require('../utils/setLayerUniqueFieldValues');\n\nvar _getRelationsInEditingByFeature = require('../utils/getRelationsInEditingByFeature');\n\nvar _getFeatureTableFieldValue = require('../utils/getFeatureTableFieldValue');\n\nvar _addRemoveToMultipleSelectFeatures = require('../utils/addRemoveToMultipleSelectFeatures');\n\nvar _promisify = require('../utils/promisify');\n\nvar _isSameBaseGeometryType = require('../utils/isSameBaseGeometryType');\n\nvar _pickfeaturesinteraction = require('../interactions/pickfeaturesinteraction');\n\nvar _workflow = require('../g3wsdk/workflow/workflow');\n\nvar _step = require('../g3wsdk/workflow/step');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _g3wsdk$core = g3wsdk.core,\n G3WObject = _g3wsdk$core.G3WObject,\n ApplicationState = _g3wsdk$core.ApplicationState;\nvar Geometry = g3wsdk.core.geoutils.Geometry;\nvar convertSingleMultiGeometry = g3wsdk.core.geoutils.convertSingleMultiGeometry;\nvar removeZValueToOLFeatureGeometry = g3wsdk.core.geoutils.Geometry.removeZValueToOLFeatureGeometry;\nvar Layer = g3wsdk.core.layer.Layer;\nvar Feature = g3wsdk.core.layer.features.Feature;\nvar GUI = g3wsdk.gui.GUI;\nvar Component = g3wsdk.gui.vue.Component;\nvar FormService = g3wsdk.gui.vue.services.FormService;\nvar _g3wsdk$ol$interactio = g3wsdk.ol.interactions.measure,\n AreaInteraction = _g3wsdk$ol$interactio.AreaInteraction,\n LengthInteraction = _g3wsdk$ol$interactio.LengthInteraction;\nvar _g3wsdk$ol$utils = g3wsdk.ol.utils,\n createMeasureTooltip = _g3wsdk$ol$utils.createMeasureTooltip,\n removeMeasureTooltip = _g3wsdk$ol$utils.removeMeasureTooltip;\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/addfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/addfeaturestep.js@v3.7.1\n */\n\nvar AddFeatureStep = exports.AddFeatureStep = function (_Step) {\n _inherits(AddFeatureStep, _Step);\n\n function AddFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, AddFeatureStep);\n\n options.help = \"editing.steps.help.draw_new_feature\";\n\n var _this = _possibleConstructorReturn(this, (AddFeatureStep.__proto__ || Object.getPrototypeOf(AddFeatureStep)).call(this, options));\n\n _this._add = undefined === options.add ? true : options.add;\n\n _this.drawInteraction;\n\n _this.measeureInteraction;\n\n _this.drawingFeature;\n\n _this._snap = false === options.snap ? false : true;\n\n /**\n * Handle tasks that stops after `run(inputs, context)` promise (or if ESC key is pressed)\n *\n * @since g3w-client-plugin-editing@v3.8.0\n */\n _this._stopPromise;\n\n /**\n *\n * @param e event\n * @returns {boolean|void}\n * @private\n * callback of pressing esc to remove last point drawed\n */\n _this._delKeyRemoveLastPoint = function (e) {\n return 46 === e.keyCode && _this.removeLastPoint();\n };\n\n return _this;\n }\n\n _createClass(AddFeatureStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this2 = this;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n //create promise to listen to pass to setAndUnsetSelectedFeaturesStyle\n var promise = new Promise(function (r) {\n return _this2.resolve = r;\n });\n\n var layerId = inputs.layer.getId();\n\n // Skip when a layer type is vector\n if (Layer.LayerTypes.VECTOR !== inputs.layer.getType()) {\n return;\n }\n\n /** @since g3w-client-plugin-editing@v3.8.0 */\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this2.selectStyle });\n\n var originalGeometryType = inputs.layer.getEditingGeometryType();\n\n _this2.geometryType = Geometry.getOLGeometry(originalGeometryType);\n\n var source = inputs.layer.getEditingLayer().getSource();\n var attributes = inputs.layer.getEditingFields();\n\n _this2.drawInteraction = _this2.addInteraction(new ol.interaction.Draw({\n type: _this2.geometryType,\n source: new ol.source.Vector(),\n condition: _this2._options.condition || function () {\n return true;\n },\n freehandCondition: ol.events.condition.never,\n finishCondition: _this2._options.finishCondition || function () {\n return true;\n }\n }), {\n 'drawstart': function drawstart(_ref) {\n var feature = _ref.feature;\n\n _this2.drawingFeature = feature;\n document.addEventListener('keydown', _this2._delKeyRemoveLastPoint);\n },\n 'drawend': function drawend(e) {\n var feature = void 0;\n if (_this2._add) {\n attributes.forEach(function (attr) {\n return e.feature.set(attr.name, null);\n });\n feature = new Feature({ feature: e.feature });\n feature.setTemporaryId();\n source.addFeature(feature);\n context.session.pushAdd(layerId, feature, false);\n } else {\n feature = e.feature;\n }\n // set Z values based on layer Geometry\n if (Geometry.is3DGeometry(originalGeometryType)) {\n feature = Geometry.addZValueToOLFeatureGeometry({ feature: feature, geometryType: originalGeometryType });\n }\n\n inputs.features.push(feature);\n _this2.getContext().get_default_value = true;\n _this2.fireEvent('addfeature', feature); // emit event to get from subscribers\n resolve(inputs);\n }\n });\n\n _this2.drawInteraction.setActive(true);\n }));\n }\n\n /**\n * Method to add Measure\n */\n\n }, {\n key: 'addMeasureInteraction',\n value: function addMeasureInteraction() {\n var is_line = Geometry.isLineGeometryType(this.geometryType);\n var is_poly = Geometry.isPolygonGeometryType(this.geometryType);\n\n //Skip in case geometry is not Line or Polygon\n if (!is_line && !is_poly) {\n return;\n }\n\n this.measureInteraction = this.addInteraction(new (is_line ? LengthInteraction : AreaInteraction)({\n projection: GUI.getService('map').getProjection(),\n drawColor: 'transparent',\n feature: this.drawingFeature\n }));\n\n this.measureInteraction.setActive(true);\n }\n\n /**\n * Remove Measure Interaction\n */\n\n }, {\n key: 'removeMeasureInteraction',\n value: function removeMeasureInteraction() {\n if (this.measureInteraction) {\n this.measureInteraction.clear();\n this.removeInteraction(this.measureInteraction);\n this.measureInteraction = null;\n }\n }\n\n /**\n * Removed last point/vertex draw\n */\n\n }, {\n key: 'removeLastPoint',\n value: function removeLastPoint() {\n try {\n if (this.drawInteraction) {\n this.drawInteraction.removeLastPoint();\n }\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.removeInteraction(this.drawInteraction);\n this.removeMeasureInteraction();\n this.resolve(true);\n\n this.drawInteraction = null;\n this.drawingFeature = null;\n this.resolve = null;\n\n document.removeEventListener('keydown', this._delKeyRemoveLastPoint);\n\n return true;\n }\n }]);\n\n return AddFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/modifygeometryvertextask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/modifygeometryvertexstep.js@v3.7.1\n */\n\n\nvar ModifyGeometryVertexStep = exports.ModifyGeometryVertexStep = function (_Step2) {\n _inherits(ModifyGeometryVertexStep, _Step2);\n\n function ModifyGeometryVertexStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ModifyGeometryVertexStep);\n\n options.snap = undefined !== options.snap ? options.snap : true;\n options.help = \"editing.steps.help.edit_feature_vertex\";\n\n var _this3 = _possibleConstructorReturn(this, (ModifyGeometryVertexStep.__proto__ || Object.getPrototypeOf(ModifyGeometryVertexStep)).call(this, options));\n\n _this3._originalStyle = null;\n\n _this3._feature = null;\n\n _this3.tooltip;\n return _this3;\n }\n\n _createClass(ModifyGeometryVertexStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this4 = this;\n\n var newFeature = void 0,\n originalFeature = void 0;\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var layerId = inputs.layer.getId();\n var feature = _this4._feature = inputs.features[0];\n _this4._originalStyle = inputs.layer.getEditingLayer().getStyle();\n feature.setStyle(function () {\n return [new ol.style.Style({\n image: new ol.style.Circle({ radius: 5, fill: null, stroke: new ol.style.Stroke({ color: 'orange', width: 2 }) }),\n geometry: function geometry(feature) {\n return new ol.geom.MultiPoint( // in the case of multipolygon geometry\n Geometry.isPolygonGeometryType(inputs.layer.getGeometryType()) && Geometry.isMultiGeometry(inputs.layer.getGeometryType()) ? feature.getGeometry().getCoordinates()[0][0] : feature.getGeometry().getCoordinates()[0]);\n }\n }), new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'yellow', width: 4 }) })];\n });\n _this4._modifyInteraction = _this4.addInteraction(new ol.interaction.Modify({\n features: new ol.Collection(inputs.features),\n deleteCondition: _this4._options.deleteCondition\n }), {\n 'modifystart': function modifystart(e) {\n originalFeature = e.features.getArray()[0].clone();\n },\n 'modifyend': function modifyend(e) {\n var feature = e.features.getArray()[0];\n if (feature.getGeometry().getExtent() !== originalFeature.getGeometry().getExtent()) {\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n newFeature = feature.clone();\n context.session.pushUpdate(layerId, newFeature, originalFeature);\n inputs.features.push(newFeature);\n resolve(inputs);\n });\n }\n }\n });\n }));\n }\n }, {\n key: 'addMeasureInteraction',\n value: function addMeasureInteraction() {\n var _this5 = this;\n\n this._modifyInteraction.on('modifystart', function (e) {\n _this5.tooltip = createMeasureTooltip({ map: _this5.getMap(), feature: e.features.getArray()[0] });\n });\n }\n }, {\n key: 'removeMeasureInteraction',\n value: function removeMeasureInteraction() {\n if (this.tooltip) {\n removeMeasureTooltip(_extends({ map: this.getMap() }, this.tooltip));\n }\n this.tooltip = null;\n }\n }, {\n key: 'stop',\n value: function stop() {\n this._feature.setStyle(this._originalStyle);\n return true;\n }\n }]);\n\n return ModifyGeometryVertexStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/movefeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/movefeaturestep.js@v3.7.1\n */\n\n\nvar MoveFeatureStep = exports.MoveFeatureStep = function (_Step3) {\n _inherits(MoveFeatureStep, _Step3);\n\n function MoveFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MoveFeatureStep);\n\n options.help = \"editing.steps.help.move\";\n\n var _this6 = _possibleConstructorReturn(this, (MoveFeatureStep.__proto__ || Object.getPrototypeOf(MoveFeatureStep)).call(this, options));\n\n _this6.drawInteraction = null;\n _this6.promise; // need to be set here in case of picked features\n return _this6;\n }\n\n _createClass(MoveFeatureStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this7 = this;\n\n /** Need two different promises: One for stop() method and clean-selected feature,\n * and another one for a run task. If we use the same promise, when stop a task without move feature,\n * this.promise.resolve(), it fires also thenable method listens to resolve promise of a run task,\n * that call stop task method.*/\n return (0, _promisify.$promisify)(new Promise(function (resolve) {\n var promise = new Promise(function (r) {\n return _this7.resolve = r;\n });\n var layerId = inputs.layer.getId();\n var originalFeature = null;\n _this7.changeKey = null;\n var isGeometryChange = false; // changed if geometry is changed\n\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this7.selectStyle });\n\n _this7.addInteraction(new ol.interaction.Translate({\n features: new ol.Collection(inputs.features),\n hitTolerance: isMobile && isMobile.any ? 10 : 0 }), {\n 'translatestart': function translatestart(e) {\n var feature = e.features.getArray()[0];\n _this7.changeKey = feature.once('change', function () {\n return isGeometryChange = true;\n });\n originalFeature = feature.clone();\n },\n 'translateend': function translateend(e) {\n ol.Observable.unByKey(_this7.changeKey);\n var feature = e.features.getArray()[0];\n if (isGeometryChange) {\n // evaluated geometry expression\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n context.session.pushUpdate(layerId, feature.clone(), originalFeature);\n resolve(inputs);\n });\n } else {\n resolve(inputs);\n }\n }\n });\n }));\n }\n }, {\n key: 'stop',\n value: function stop() {\n this.resolve(true);\n this.resolve = null;\n this.changeKey = null;\n }\n }]);\n\n return MoveFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/openformtask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/openformstep.js@v3.7.1\n */\n\n\nvar OpenFormStep = exports.OpenFormStep = function (_Step4) {\n _inherits(OpenFormStep, _Step4);\n\n function OpenFormStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OpenFormStep);\n\n options.help = \"editing.steps.help.insert_attributes_feature\";\n\n /**\n * Show saveAll button\n *\n * @since v3.7\n */\n var _this8 = _possibleConstructorReturn(this, (OpenFormStep.__proto__ || Object.getPrototypeOf(OpenFormStep)).call(this, options));\n\n _this8._saveAll = false === options.saveAll ? options.saveAll : _asyncToGenerator(function* () {});\n\n /**\n * Whether it can handle multi edit features\n */\n _this8._multi = options.multi || false;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8.layerId;\n\n /**\n * whether form is coming from parent table component\n */\n _this8._isContentChild = false;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8._features;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8._originalFeatures;\n\n /**\n * @FIXME set a default value + add description\n */\n _this8.promise;\n\n /**\n * @since g3w-client-plugin-editing@v3.7.0\n */\n _this8._unwatchs = [];\n\n return _this8;\n }\n\n /**\n * @since v3.7\n * @param bool\n */\n\n\n _createClass(OpenFormStep, [{\n key: 'updateMulti',\n value: function updateMulti() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this._multi = bool;\n }\n\n /**\n * @param inputs\n * @param context\n *\n * @returns {*}\n */\n\n }, {\n key: 'run',\n value: function run(inputs, context) {\n var _this9 = this;\n\n var promise = new Promise(function () {\n var _ref3 = _asyncToGenerator(function* (resolve, reject) {\n _this9._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n _this9.layerId = inputs.layer.getId();\n\n GUI.setLoadingContent(false);\n\n GUI.getService('map').disableClickMapControls(true);\n\n if (!_this9._multi && Array.isArray(inputs.features[inputs.features.length - 1])) {\n resolve();\n return;\n }\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').setCurrentLayout();\n\n var layerName = inputs.layer.getName();\n _this9._features = _this9._multi ? inputs.features : [inputs.features[inputs.features.length - 1]];\n _this9._originalFeatures = _this9._features.map(function (f) {\n return f.clone();\n });\n\n // create a child relation feature set a father relation field value\n if (_this9._isContentChild) {\n context.fatherValue = context.fatherValue || []; // are array\n (context.fatherField || []).forEach(function (field, i) {\n _this9._features[0].set(field, context.fatherValue[i]);\n _this9._originalFeatures[0].set(field, context.fatherValue[i]);\n });\n }\n\n var fields = (0, _getFormFields.getFormFields)({\n inputs: inputs,\n context: context,\n feature: _this9._features[0],\n isChild: _this9._isContentChild,\n multi: _this9._multi\n });\n\n // set fields. Useful getParentFormData\n _workflow.Workflow.Stack.getCurrent().setInput({ key: 'fields', value: fields });\n\n // whether disable relations editing (ref: \"editmultiattributes\")\n var feature = !_this9._multi && inputs.features && inputs.features[inputs.features.length - 1];\n var layerId = !_this9._multi && inputs.layer.getId();\n\n // @since g3w-client-plugin-editing@v3.7.2\n // skip relations that don't have a form structure\n if (feature && !feature.isNew() && inputs.layer.getLayerEditingFormStructure()) {\n yield (0, _getLayersDependencyFeatures.getLayersDependencyFeatures)(inputs.layer.getId(), {\n // @since g3w-client-plugin-editin@v3.7.0\n relations: inputs.layer.getRelations().getArray().filter(function (r) {\n return inputs.layer.getId() === r.getFather() && // get only child relation features of current editing layer\n (0, _getEditingLayerById.getEditingLayerById)(r.getChild()) && // child layer is in editing\n 'ONE' !== r.getType();\n } // exclude ONE relation (Join 1:1)\n ),\n feature: feature,\n filterType: 'fid'\n });\n }\n\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/form/editingform.js@v3.7.8 */\n /** ORIGINAL SOURCE: g3w-client-plugin-editing/form/editingformservice.js@v3.7.8 */\n var formService = GUI.showForm({\n feature: _this9._originalFeatures[0],\n title: \"plugins.editing.editing_attributes\",\n name: layerName,\n crumb: { title: layerName },\n id: 'form_' + layerName,\n dataid: layerName,\n layer: inputs.layer,\n isnew: _this9._originalFeatures.length > 1 ? false : _this9._originalFeatures[0].isNew(), // specify if is a new feature\n parentData: (0, _getParentFormData.getParentFormData)(),\n fields: fields,\n context_inputs: _this9._multi ? false : { context: context, inputs: inputs },\n formStructure: inputs.layer.hasFormStructure() && inputs.layer.getLayerEditingFormStructure() || undefined,\n modal: true,\n push: _this9._options.push || _this9._isContentChild, /** @since v3.7 force push content on top without clear previous content */\n showgoback: undefined !== _this9._options.showgoback ? _this9._options.showgoback : !_this9._isContentChild, /** @since v3.7 force show back button */\n /** @TODO make it straightforward: `headerComponent` vs `buttons` ? */\n headerComponent: _this9._saveAll && {\n template: /* html */'\\n
\\n \\n \\n \\n \\n \\n
',\n name: 'Saveall',\n /** @TODO figure out who populate these props (ie. core client code?) */\n props: { update: { type: Boolean }, valid: { type: Boolean } },\n data: function data() {\n return {\n enabled: _workflow.Workflow.Stack._workflows.slice(0, _workflow.Workflow.Stack.getLength() - 1).every(function (w) {\n var valid = (w.getContext().service instanceof FormService ? w.getContext().service.getState() : {}).valid;\n return valid || undefined === valid;\n })\n };\n },\n\n computed: {\n /** @returns {boolean} whether disable save all button (eg. when parent or current form is not valid/ updated) */\n disabled: function disabled() {\n return !this.enabled || !(this.valid && this.update);\n }\n },\n methods: {\n saveAll: function () {\n var _ref4 = _asyncToGenerator(function* () {\n //Set loading content\n GUI.setLoadingContent(true);\n //Disable form\n GUI.disableContent(true);\n yield Promise.allSettled([].concat(_toConsumableArray(_workflow.Workflow.Stack._workflows)).reverse().filter(function (w) {\n return \"function\" === typeof w.getLastStep()._saveAll;\n }) // need to filter only workflow that\n .map(function (w) {\n return new Promise(function () {\n var _ref5 = _asyncToGenerator(function* (resolve) {\n var task = w.getLastStep();\n var fields = w.getContext().service.state.fields.filter(function (f) {\n return task._multi ? null !== f.value : true;\n });\n // skip when no fields\n if (0 === fields.length) {\n return;\n }\n yield _workflow.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies();\n task._features.forEach(function (f) {\n return task.getInputs().layer.setFieldsWithValues(f, fields);\n });\n var newFeatures = task._features.map(function (f) {\n return f.clone();\n });\n //Is a relation form\n if (task._isContentChild) {\n task.getInputs().relationFeatures = { newFeatures: newFeatures, originalFeatures: task._originalFeatures };\n }\n yield task.fireEvent('saveform', { newFeatures: newFeatures, originalFeatures: task._originalFeatures });\n newFeatures.forEach(function (f, i) {\n return task.getContext().session.pushUpdate(task.layerId, f, task._originalFeatures[i]);\n });\n yield (0, _handleRelation1_1LayerFields.handleRelation1_1LayerFields)({ layerId: task.layerId, features: newFeatures, fields: fields, task: task });\n task.fireEvent('savedfeature', newFeatures); // called after saved\n task.fireEvent('savedfeature_' + task.layerId, newFeatures); // called after saved using layerId\n task.getContext().session.save();\n return resolve();\n });\n\n return function (_x8) {\n return _ref5.apply(this, arguments);\n };\n }());\n }));\n try {\n yield (0, _promisify.promisify)(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').service.commit({ modal: false }));\n [].concat(_toConsumableArray(_workflow.Workflow.Stack._workflows)).reverse().filter(function (w) {\n return \"function\" === typeof w.getLastStep()._saveAll;\n }).forEach(function (w) {\n var service = w.getContext().service; //form service\n //need to set update form false because already saved on server\n service.setUpdate(false, { force: false });\n var feature = service.feature;\n // Check if the feature is new.\n // In this case, after commit, need to set new to false, and force update to false.\n if (feature.isNew()) {\n feature.state.new = false;\n service.force.update = false;\n }\n Object.entries(w.getInputs().layer.getEditingSource().readFeatures().find(function (f) {\n return f.getUid() === feature.getUid();\n }) //Find current form editing feature by unique id of feature uid\n .getProperties() //get properties\n ).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n k = _ref7[0],\n v = _ref7[1];\n\n var field = service.getFields().find(function (f) {\n return k === f.name;\n });\n //if field exists (geometry field is discarded)\n if (field) {\n field.value = field._value = v;\n }\n });\n });\n } catch (e) {\n console.warn(e);\n }\n //set loading content false\n GUI.setLoadingContent(false);\n //enable form\n GUI.disableContent(false);\n });\n\n function saveAll() {\n return _ref4.apply(this, arguments);\n }\n\n return saveAll;\n }()\n }\n },\n buttons: [{\n id: 'save',\n title: _this9._isContentChild ? _workflow.Workflow.Stack.getParent().getBackButtonLabel() || \"plugins.editing.form.buttons.save_and_back\" // get custom back label from parent\n : \"plugins.editing.form.buttons.save\",\n type: \"save\",\n class: \"btn-success\",\n // save features\n cbk: function () {\n var _ref8 = _asyncToGenerator(function* (fields) {\n fields = _this9._multi ? fields.filter(function (f) {\n return null !== f.value;\n }) : fields;\n\n // skip when no fields\n if (0 === fields.length) {\n GUI.setModal(false);\n resolve(inputs);\n return;\n }\n\n var newFeatures = [];\n\n // @since 3.5.15\n GUI.setLoadingContent(true);\n GUI.disableContent(true);\n\n yield _workflow.Workflow.Stack.getCurrent().getContextService().saveDefaultExpressionFieldsNotDependencies();\n\n GUI.setLoadingContent(false);\n GUI.disableContent(false);\n\n _this9._features.forEach(function (f) {\n inputs.layer.setFieldsWithValues(f, fields);\n newFeatures.push(f.clone());\n });\n\n if (_this9._isContentChild) {\n inputs.relationFeatures = {\n newFeatures: newFeatures,\n originalFeatures: _this9._originalFeatures\n };\n }\n\n yield _this9.fireEvent('saveform', { newFeatures: newFeatures, originalFeatures: _this9._originalFeatures });\n\n newFeatures.forEach(function (f, i) {\n return context.session.pushUpdate(_this9.layerId, f, _this9._originalFeatures[i]);\n });\n\n // check and handle if layer has relation 1:1\n yield (0, _handleRelation1_1LayerFields.handleRelation1_1LayerFields)({\n layerId: _this9.layerId,\n features: newFeatures,\n fields: fields,\n task: _this9\n });\n\n GUI.setModal(false);\n\n _this9.fireEvent('savedfeature', newFeatures); // called after saved\n _this9.fireEvent('savedfeature_' + _this9.layerId, newFeatures); // called after saved using layerId\n // In case of save of child it means that child is updated so also parent\n if (_this9._isContentChild) {\n _workflow.Workflow.Stack.getParents().forEach(function (w) {\n return w.getContextService().setUpdate(true, { force: true });\n });\n }\n //@TODO add field unique new value id not set\n resolve(inputs);\n });\n\n function cbk(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return cbk;\n }()\n }, {\n id: 'cancel',\n title: \"plugins.editing.form.buttons.cancel\",\n type: \"cancel\",\n class: \"btn-danger\",\n /// buttons in case of change\n eventButtons: {\n update: {\n false: {\n id: 'close',\n title: \"close\",\n type: \"cancel\",\n class: \"btn-danger\"\n }\n }\n },\n cbk: function cbk() {\n if (!_this9._isContentChild) {\n GUI.setModal(false);\n _this9.fireEvent('cancelform', inputs.features); // fire event cancel form to emit to subscrivers\n }\n reject(inputs);\n }\n }]\n });\n\n // Overwrite click on relation.\n // Open FormRelation.vue component\n formService.handleRelation = function () {\n var _ref9 = _asyncToGenerator(function* (e) {\n // Skip when multi editing features\n // It is not possible to manage relationss when we edit multi-features\n if (_this9._multi) {\n GUI.showUserMessage({ type: 'info', message: 'plugins.editing.errors.editing_multiple_relations', duration: 3000, autoclose: true });\n return;\n }\n GUI.setLoadingContent(true);\n //set unique values for relation layer based on unique fields\n //@TODO need a find a way to call once and not every time we open a relation\n yield (0, _setLayerUniqueFieldValues.setLayerUniqueFieldValues)(inputs.layer.getRelationById(e.relation.name).getChild());\n formService.setCurrentComponentById(e.relation.name);\n GUI.setLoadingContent(false);\n });\n\n return function (_x10) {\n return _ref9.apply(this, arguments);\n };\n }();\n\n formService.addComponents([].concat(_toConsumableArray(g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').state.formComponents[layerId] || []), _toConsumableArray((0, _getRelationsInEditingByFeature.getRelationsInEditingByFeature)({\n layerId: layerId,\n relations: _this9._multi ? [] : inputs.layer.getRelations().getArray().filter(function (r) {\n return r.getType() !== 'ONE' && r.getFather() === layerId;\n }),\n feature: _this9._multi ? false : inputs.features[inputs.features.length - 1]\n }).map(function (_ref10) {\n var relation = _ref10.relation,\n relations = _ref10.relations;\n return {\n title: \"plugins.editing.edit_relation\",\n name: relation.name,\n id: relation.id,\n header: false, // hide a header form\n component: Vue.extend({\n mixins: [require('../components/FormRelation.vue')],\n name: 'relation_' + Date.now(),\n data: function data() {\n return { layerId: layerId, relation: relation, relations: relations };\n }\n })\n };\n }))));\n\n // fire openform event\n _this9.fireEvent('openform', {\n layerId: _this9.layerId,\n session: context.session,\n feature: _this9._originalFeature,\n formService: formService\n });\n\n // set context service to form Service in case of a single task (i.e., no workflow)\n if (_workflow.Workflow.Stack.getCurrent()) {\n _workflow.Workflow.Stack.getCurrent().setContextService(formService);\n }\n\n //listen eventually field relation 1:1 changes value\n (0, _listenRelation1_1FieldChange.listenRelation1_1FieldChange)({ layerId: _this9.layerId, fields: fields }).then(function (d) {\n return _this9._unwatchs = d;\n });\n\n _this9.disableSidebar(true);\n });\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this9.selectStyle });\n return promise;\n }));\n }\n\n /**\n *\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n this.disableSidebar(false);\n\n //Check if form coming from the parent table component\n var is_parent_table = false === this._isContentChild || // no child workflow\n\n // case edit feature of a table (edit layer alphanumeric)\n 2 === _workflow.Workflow.Stack.getLength() && //open features table\n _workflow.Workflow.Stack.getParent().isType('edittable');\n\n // when the last feature of features is Array\n // and is resolved without setting form service\n // Ex. copy multiple features from another layer\n if (is_parent_table) {\n GUI.getService('map').disableClickMapControls(false);\n }\n\n var contextService = is_parent_table && _workflow.Workflow.Stack.getCurrent().getContextService();\n\n // force update parent form update\n if (contextService && false === this._isContentChild) {\n contextService.setUpdate(false, { force: false });\n }\n\n GUI.closeForm({ pop: this.push || this._isContentChild });\n\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').resetCurrentLayout();\n\n this.fireEvent('closeform');\n this.fireEvent('closeform_' + this.layerId);\n\n this.layerId = null;\n this._unwatchs.forEach(function (unwatch) {\n return unwatch();\n });\n this._unwatchs = [];\n }\n }]);\n\n return OpenFormStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/opentabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/opentablestep.js@v3.7.1\n */\n\n\nvar OpenTableStep = exports.OpenTableStep = function (_Step5) {\n _inherits(OpenTableStep, _Step5);\n\n function OpenTableStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, OpenTableStep);\n\n options.help = \"editing.steps.help.edit_table\";\n\n return _possibleConstructorReturn(this, (OpenTableStep.__proto__ || Object.getPrototypeOf(OpenTableStep)).call(this, options));\n }\n\n /**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/opentabletask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/services/tableservice.js@v3.7.8\n *\n * @param inputs\n * @param context\n *\n * @returns {*}\n */\n\n\n _createClass(OpenTableStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this11 = this;\n\n // set current plugin layout (right content)\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').setCurrentLayout();\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n _this11._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n var features = inputs.layer.readEditingFeatures() || [];\n var headers = (inputs.layer.getEditingFields() || []).filter(function (h) {\n return features.length ? Object.keys(features[0].getProperties()).includes(h.name) : true;\n });\n _this11._isContentChild = _workflow.Workflow.Stack.getLength() > 1;\n var excludeFields = _this11._isContentChild ? context.excludeFields || [] : [];\n var service = Object.assign(new G3WObject(), {\n state: {\n inputs: inputs,\n context: context,\n promise: { resolve: resolve, reject: reject },\n headers: headers, // column names\n features: features,\n rows: features.length > 0\n // ordered properties\n ? (excludeFields.length > 0 ? features.filter(function (feat) {\n return !excludeFields.reduce(function (a, f, i) {\n return a && context.fatherValue[i] === '' + feat.get(f);\n }, true);\n }) : features).map(function (f) {\n return headers.map(function (h) {\n return h.name;\n }).reduce(function (props, header) {\n var _Object$assign;\n\n return Object.assign(props, (_Object$assign = {}, _defineProperty(_Object$assign, header, (0, _getFeatureTableFieldValue.getFeatureTableFieldValue)({ layerId: inputs.layer.getId(), feature: f, property: header })), _defineProperty(_Object$assign, '__gis3w_feature_uid', f.getUid()), _Object$assign));\n }, {});\n })\n // features already bind to parent feature\n : features,\n title: '' + inputs.layer.getName() || 'Link relation',\n isrelation: _this11._isContentChild,\n capabilities: inputs.layer.getEditingCapabilities(),\n layerId: inputs.layer.getId(),\n workflow: null\n }\n });\n\n GUI.showContent({\n content: new Component({\n title: '' + inputs.layer.getName(),\n push: _this11._isContentChild,\n service: service,\n state: service.state,\n internalComponent: new (Vue.extend(require('../components/Table.vue')))({ service: service })\n }),\n push: _this11._isContentChild,\n showgoback: false,\n closable: false\n });\n }));\n }\n\n /**\n *\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n this.disableSidebar(false);\n GUI[this._isContentChild ? 'popContent' : 'closeContent']();\n //reset the current plugin layout (right content) to application\n g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing').resetCurrentLayout();\n }\n }]);\n\n return OpenTableStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/pickfeaturetask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/pickfeaturestep.js@v3.7.1\n */\n\n\nvar PickFeatureStep = exports.PickFeatureStep = function (_Step6) {\n _inherits(PickFeatureStep, _Step6);\n\n function PickFeatureStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureStep);\n\n options.help = \"editing.steps.help.pick_feature\";\n options.highlight = options.highlight || false;\n options.multi = options.multi || false;\n return _possibleConstructorReturn(this, (PickFeatureStep.__proto__ || Object.getPrototypeOf(PickFeatureStep)).call(this, options));\n }\n\n _createClass(PickFeatureStep, [{\n key: 'run',\n value: function run(inputs) {\n var _this13 = this;\n\n var promise = new Promise(function (resolve) {\n _this13.addInteraction(new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: inputs.layer.getEditingLayer() }), {\n 'picked': function picked(e) {\n if (0 === inputs.features.length) {\n inputs.features = e.features;\n inputs.coordinate = e.coordinate;\n }\n if (_this13._steps) {\n _this13.setUserMessageStepDone('select');\n }\n resolve(inputs);\n }\n });\n });\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n (0, _setAndUnsetSelectedFeaturesStyle.setAndUnsetSelectedFeaturesStyle)({ promise: (0, _promisify.$promisify)(promise), inputs: inputs, style: _this13.selectStyle });\n return promise;\n }));\n }\n }]);\n\n return PickFeatureStep;\n}(_step.Step);\n\n/**\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/tasks/selectelementstask.js@v3.7.1\n * ORIGINAL SOURCE: g3w-client-plugin-editing/workflows/steps/selectelementsstep.js@v3.7.1\n */\n\n\nvar SelectElementsStep = exports.SelectElementsStep = function (_Step7) {\n _inherits(SelectElementsStep, _Step7);\n\n function SelectElementsStep() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var chain = arguments[1];\n\n _classCallCheck(this, SelectElementsStep);\n\n options.help = options.help || \"editing.steps.help.select_elements\";\n\n var _this14 = _possibleConstructorReturn(this, (SelectElementsStep.__proto__ || Object.getPrototypeOf(SelectElementsStep)).call(this, options));\n\n _this14._selectInteractions = [];\n _this14.multipleselectfeatures = [];\n _this14._originalStyle;\n _this14._vectorLayer;\n\n if (chain) {\n _this14.on('run', function () {\n _this14.emit('next-step', g3wsdk.core.i18n.tPlugin(\"editing.steps.help.select_elements\"));\n });\n }\n return _this14;\n }\n\n /**\n *\n * @param inputs\n * @param context\n * @returns {*}\n */\n\n\n _createClass(SelectElementsStep, [{\n key: 'run',\n value: function run(inputs, context) {\n var _this15 = this;\n\n var layer = inputs.layer;\n var type = this._options.type || 'bbox'; // 'single' 'bbox' 'multiple';\n var buttonnext = 'multiple' === type && !!this._steps.select.buttonnext;\n\n return (0, _promisify.$promisify)(new Promise(function (resolve, reject) {\n var _selectInteractions;\n\n if (buttonnext) {\n //check if it has already done handler function;\n var done = _this15._steps.select.buttonnext.done;\n\n _this15._steps.select.buttonnext.done = function () {\n if (done && done instanceof Function) {\n done();\n }\n resolve(inputs);\n };\n }\n\n var interactions = {};\n\n // add single select interaction\n if (['single', 'multiple'].includes(type)) {\n interactions.single = new _pickfeaturesinteraction.PickFeaturesInteraction({ layer: layer.getEditingLayer() });\n interactions.single.on('picked', function () {\n var _ref14 = _asyncToGenerator(function* (_ref13) {\n var features = _ref13.features;\n\n var feature = void 0;\n if (features.length > 1) {\n try {\n feature = yield (0, _chooseFeatureFromFeatures.chooseFeatureFromFeatures)({ features: features, inputs: _this15.getInputs() });\n } catch (e) {\n console.warn(e);\n }\n } else {\n feature = features[0];\n }\n\n if (feature) {\n inputs.features = [feature];\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)([feature], inputs, _this15.multipleselectfeatures, _this15);\n } else {\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(inputs.features);\n\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n\n resolve(inputs);\n }\n }\n });\n\n return function (_x14) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n\n // add multiple select interactions\n if (['multiple', 'bbox'].includes(type) && ApplicationState.ismobile) {\n _this15._vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector({}) });\n _this15.getMap().addLayer(_this15._vectorLayer);\n\n interactions.multi = new ol.interaction.Draw({ type: 'Circle', source: _this15._vectorLayer.getSource(), geometryFunction: ol.interaction.Draw.createBox() });\n\n interactions.multi.on('drawend', function (e) {\n var features = layer.getEditingLayer().getSource().getFeaturesInExtent(e.feature.getGeometry().getExtent());\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)(features, inputs, _this15.multipleselectfeatures, _this15);\n } else {\n if (features.length > 0) {\n inputs.features = features;\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features);\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n setTimeout(function () {\n return resolve(inputs);\n }, 500);\n } else {\n reject();\n }\n }\n });\n }\n\n if (['multiple', 'bbox'].includes(type) && !ApplicationState.ismobile) {\n interactions.dragbox = new ol.interaction.DragBox({ condition: ol.events.condition.shiftKeyOnly });\n\n interactions.dragbox.on('boxend', function () {\n var features = [];\n var extent = interactions.dragbox.getGeometry().getExtent();\n\n //https://openlayers.org/en/v5.3.0/apidoc/module-ol_source_Cluster-Cluster.html#forEachFeatureIntersectingExtent\n layer.getEditingLayer().getSource().forEachFeatureIntersectingExtent(extent, function (f) {\n features.push(f);\n });\n\n if (buttonnext) {\n (0, _addRemoveToMultipleSelectFeatures.addRemoveToMultipleSelectFeatures)(features, inputs, _this15.multipleselectfeatures, _this15);\n } else {\n if (features.length > 0) {\n inputs.features = features;\n _this15._originalStyle = (0, _setFeaturesSelectedStyle.setFeaturesSelectedStyle)(features);\n\n if (_this15._steps) {\n _this15.setUserMessageStepDone('select');\n }\n\n resolve(inputs);\n } else {\n reject();\n }\n }\n });\n }\n\n // pick feature from external layer added to map\n if ('external' === type) {\n var geometryType = layer.getGeometryType();\n var layerId = layer.getId();\n var source = layer.getEditingLayer().getSource();\n\n var _getContext = _this15.getContext(),\n session = _getContext.session;\n\n interactions.external = new _pickfeaturesinteraction.PickFeaturesInteraction({\n layers: GUI.getService('map').getExternalLayers()\n // filter external layer only vector - Exclude the\n // same base geometry\n .filter(function (l) {\n var features = 'VECTOR' == l.getType() && l.getSource().getFeatures();\n if (features.length > 0) {\n return (0, _isSameBaseGeometryType.isSameBaseGeometryType)(features[0].getGeometry().getType(), geometryType);\n }\n return true;\n })\n });\n interactions.external.on('picked', function (e) {\n if (!(e.features.length > 0)) {\n reject();\n return;\n }\n var attributes = layer.getEditingFields();\n var geometry = e.features[0].getGeometry();\n if (geometryType !== geometry.getType()) {\n e.feature.setGeometry(convertSingleMultiGeometry(geometry, geometryType));\n }\n var feature = new Feature({\n feature: e.feature,\n properties: attributes.map(function (attr) {\n // set media attribute to null or attribute belong to layer but not present o feature copied\n if (attr.pk || 'media' === attr.input.type || undefined === e.feature.get(attr.name)) {\n e.feature.set(attr.name, null);\n }\n return attr.name;\n })\n });\n\n // evaluate Geometry Expression\n (0, _evaluateExpressionFields.evaluateExpressionFields)({ inputs: inputs, context: context, feature: feature }).finally(function () {\n removeZValueToOLFeatureGeometry({ feature: feature }); // remove eventually Z Values\n feature.setTemporaryId();\n source.addFeature(feature);\n session.pushAdd(layerId, feature, false);\n inputs.features.push(feature);\n resolve(inputs);\n });\n });\n }\n\n Object.values(interactions).forEach(function (i) {\n return _this15.addInteraction(i);\n });\n (_selectInteractions = _this15._selectInteractions).push.apply(_selectInteractions, _toConsumableArray(Object.values(interactions)));\n }));\n }\n }, {\n key: 'stop',\n value: function stop() {\n var _this16 = this;\n\n this._selectInteractions.forEach(function (i) {\n return _this16.removeInteraction(i);\n });\n\n if (this._vectorLayer) {\n this.getMap().removeLayer(this._vectorLayer);\n }\n // reset selected\n this.getInputs().features.forEach(function (f) {\n return f.setStyle(_this16._originalStyle);\n });\n\n this._originalStyle = null;\n this._vectorLayer = null;\n this._selectInteractions = [];\n this.multipleselectfeatures = [];\n }\n }]);\n\n return SelectElementsStep;\n}(_step.Step);\n\n},{\"../components/FormRelation.vue\":6,\"../components/Table.vue\":7,\"../g3wsdk/workflow/step\":14,\"../g3wsdk/workflow/workflow\":15,\"../interactions/pickfeaturesinteraction\":26,\"../utils/addRemoveToMultipleSelectFeatures\":29,\"../utils/chooseFeatureFromFeatures\":34,\"../utils/evaluateExpressionFields\":40,\"../utils/getEditingLayerById\":42,\"../utils/getFeatureTableFieldValue\":43,\"../utils/getFormFields\":44,\"../utils/getLayersDependencyFeatures\":45,\"../utils/getParentFormData\":47,\"../utils/getRelationsInEditingByFeature\":52,\"../utils/handleRelation1_1LayerFields\":53,\"../utils/isSameBaseGeometryType\":56,\"../utils/listenRelation1_1FieldChange\":57,\"../utils/promisify\":58,\"../utils/setAndUnsetSelectedFeaturesStyle\":59,\"../utils/setFeaturesSelectedStyle\":60,\"../utils/setLayerUniqueFieldValues\":61}],66:[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},{}]},{},[25]);\n"],"names":["plugins","window","initConfig","group","Object","assign","version","hash","branch","r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","inserted","cache","noop","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","2","_ref","_areCoordinatesEqual","_getFeatureTableFieldValue","_asyncToGenerator","fn","gen","apply","this","arguments","Promise","resolve","reject","step","key","arg","info","value","error","done","then","err","defineProperty","default","name","props","commits","type","required","layer","relation","Boolean","data","features","readFeatures","efeatures","readEditingFeatures","methods","getFormattedValue","feat","get","getFlatCoordinates","getFeatureTableFieldValue","layerId","getId","feature","property","getValue","item","getFeature","getEditingValue","getEditingFeature","hasValue","efeat","id","_this","find","_this2","getType","getGeometry","isEdited","includes","undefined","areCoordinatesEqual","coordinates","getCoordinates","getAttrs","entries","getProperties","sort","b","getLayerById","g3wsdk","core","plugin","PluginsRegistry","getPlugin","service","mounted","$refs","filter","d","forEach","innerHTML","__esModule","__vue__options__","options","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","staticStyle","font-weight","margin","_v","_s","getName","_e","_l","keys","ref","refInFor","relations","attrs","add","update","delete","staticRenderFns","_scopeId","../utils/areCoordinatesEqual","../utils/getFeatureTableFieldValue","vueify/lib/insert-css","3","GUI","gui","$options","selectFeature","splice","push","getAttributesFeature","properties","attributes","map","attribute","label","zoomToFeature","getService","zoomToFeatures","highlight","duration","closeContent","index","on","click","$event","stopPropagation","for","class","g3wtemplate","font","4","layers","l","selected","watch","_id","domProps","5","_slicedToArray","_Toolbox","_promisify","_ref13","_ref9","_ref8","_ref7","_ref6","_ref5","ApplicationState","ApplicationService","CatalogLayersStoresRegistry","DataRouterService","arr","Array","isArray","Symbol","iterator","sliceIterator","_arr","_n","_d","_i","next","TypeError","_Toolbox2","obj","_g3wsdk$core","catalog","state","resourcesurl","showcommitbar","saving","layersInEditing","editingButtonsEnabled","selectedlayers","editinglayers","getEditableLayers","_ref2","config","editing","visible","_ref3","_ref4","title","getTitle","activetool","components","toolbox","transitions","addremovetransition","updateFilterLayers","_selectedlayers","$","selectlayers","val","trigger","updateLayersInEditing","bool","undo","canUndo","redo","canRedo","commit","toolboxId","canCommit","getToolBoxById","modal","always","startToolBox","online","getDependencies","isDirty","yield","commit_dirty","start","_x2","stopToolBox","history","promisify","stop","control","getToolBoxes","getMapControlByType","isToggled","toggle","_x3","startTool","toolId","_this3","enabled","stopTool","setActiveTool","getToolById","_x4","_x5","stopActiveTool","selectToolBox","isSelected","setSelected","clearMessage","toolboxselected","_x6","_this4","hasDependencies","concat","editor","getEditor","getEditingSource","setFeatures","clone","getSession","getHistory","clear","_x7","_enableEditingButtons","checkOfflineChanges","_this5","_ref10","_ref10$modal","_ref10$unlock","unlock","promises","layerIds","changes","JSON","parse","localStorage","getItem","setTimeout","_layerId","commitItems","when","setItem","computed","saveConfig","mode","fireEvent","django_admin_url","user","is_superuser","URL","baseurl","filemanager_url","onbeforeunload","getElementsByClassName","classList","has_layers","_ref12","is_commit","is_selected","setShow","created","_this6","appState","unByKeys","owner","setter","onafter","catch","notify","open","getLayers","EDITABLE","setInEditing","beforeDestroy","_this7","layerIdChanges","off","_ref14","un","featuresOnClose","inputs","fids","formatter","promise","arr2","from","getData","outputs","show","loading","resetDefault","message","height","showselectlayers","multiple","editinglayer","setselectedtoolbox","starttoolbox","stoptoolbox","setactivetool","stopactivetool","on-editing","update-filter-layers","href","target","../utils/promisify","./Toolbox.vue","6","_extends","_workflow2","_step","_setAndUnsetSelectedFeaturesStyle","_getRelationFieldsFromRelation","_getLayersDependencyFeatures","_getEditingLayerById","_convertToGeometry","_addTableFeature","_updateWorkflows","_getRelationId","_chooseFeatureFromFeatures","_isSameBaseGeometryType","_pickfeaturesinteraction","_eventbus","_workflows","_ref33","_unlinkRelation","_ref18","_ref15","ProjectsRegistry","Geometry","Layer","Feature","toRawType","FormService","fieldsMixin","resizeMixin","PickFeatureInteraction","PickCoordinatesInteraction","SELECTED_STYLES","_defineProperty","enumerable","configurable","writable","_toConsumableArray","unlinkRelation","source","prototype","hasOwnProperty","project","geoutils","i18n","tPlugin","utils","vue","services","_g3wsdk$gui$vue$Mixin","Mixins","mediaMixin","_g3wsdk$ol$interactio","ol","interactions","Workflow","Step","OpenFormStep","OpenTableStep","AddFeatureStep","ModifyGeometryVertexStep","MoveFeatureStep","color","Point","style","Style","image","Circle","radius","fill","Fill","MultiPoint","Linestring","stroke","Stroke","width","MultiLinestring","Polygon","MultiPolygon","mixins","show_vector_tools","disabled","copylayerid","copyFeatureLayers","active","placeholdersearch","getResourcesUrl","resize","table","$el","display","relation_body","querySelector","offsetHeight","relation_header_title","relation_header_tools","isVectorRelation","relation_vector_tools","relationsTable","columns","adjust","copyFeatureFromOtherLayer","external","is_vector","isGeoLayer","runAddRelationWorkflow","workflow","_add_link_workflow","selectandcopy","copyLayer","isVector","help","closeVectorTools","$nextTick","addVectorRelation","LayerTypes","VECTOR","_layerType","updateSelectRelations","selectall","some","select","editAttributesRelations","steps","multi","_createWorkflowOptions","getLayer","getFeatureById","addRelationAndLink","relationAttributesSubset","fields","flatMap","indexOf","_createDataTable","relationTable","DataTable","autoWidth","columnDefs","orderable","targets","destroy","order","pageLength","responsive","scrollCollapse","scrollResize","scrollX","hide","search","draw","destroyTable","updateTable","updateNewRelationId","_new_relations_ids","clientid","newrelation","tools","ts","split","replace","onCommit","_ref11","_ref11$new_relations","new_relations","relationLayer","getEditingLayerById","child","new","getRelationFeatureValue","featureId","_relationLayerId","enableDOMElements","querySelectorAll","contains","remove","addTools","capabilities","Vue","observable","icon","getTools","isPointGeometryType","getGeometryType","tool","getOperator","flat","relationtool","VM","relationfeature","selectStyle","setAndUnsetSelectedFeaturesStyle","dialog","confirm","res","unique_fields","Stack","getCurrent","pushDelete","uniqueFieldsValues","Set","removeFeature","isNew","w","getUid","getContextService","updateWorkflows","getFieldsWithValues","rf","currentRelationFeatureId","setModal","_workflow","movevertex","movefeature","unwatch","$watch","unbindEscKeyUp","bindEscKeyUp","getParents","setUpdate","force","_this8","_ref16","_ref16$isVector","hideContent","_options$context","context","fatherField","fatherValue","relationField","getRelationFieldsFromRelation","_relations","keyRelationFeatureChange","_outputs$relationFeat","relationFeatures","newFeatures","originalFeatures","setRelationFieldValue","_ref17","field","newFeature","set","parentFeature","updateFeature","session","pushUpdate","getParent","editable","evt","Observable","unByKey","_relations2","rollbackDependecies","linkRelation","getRelationFeatures","getLayersDependencyFeatures","_this9","operator","filterType","link","_getRelationFieldsFro2","ownField","excludeFeatures","reduce","accumulator","rField","values","getCurrentFeature","response","showContent","linked","beforeRun","originalRelation","rel","_ref20","_ref21","findIndex","rF","warning","closeUserMessage","toString","_this10","parentLayer","parentWorkflow","pk","isPkField","isEditingFieldEditable","father","getInputs","parent","excludeFields","_ref22","_ref23","_ref24","every","relationsLength","fieldrequired","_this11","isFieldRequired","show_add_link","_","beforeCreate","delayType","geometryType","_this12","self","bind","QUERYABLE","GEOLAYER","isSameBaseGeometryType","isMultiGeometry","getExternalLayers","getSource","getFeatures","toLowerCase","localeCompare","addExternalLayerKey","_ref26","_type","externalLayer","loadEventuallyRelationValuesForInputs","getEditingCapabilities","_Layer$LayerTypes$TAB","TABLE","backbuttonlabel","run","addTableFeature","_ref27","_this13","$promisify","editingLayer","getEditingLayer","_ref28","_ref29","addInteraction","picked","_x12","_x13","addStep","description","setUserMessageStepDone","registerEscKeyEvent","_this14","_ref31","_feature","_ref32","PickFeaturesInteraction","convertToGeometry","coordinate","query_point_tolerance","getCurrentProject","getQueryPointTolerance","multilayers","_x17","_x16","chooseFeatureFromFeatures","getEditingFields","attr","setTemporaryId","addFeature","pushAdd","showUserMessage","closable","autoclose","activated","mapExtent","getMapBBOX","runEventHandler","getRelationId","component","deactivated","zoomToExtent","margin-bottom","margin-left","toUpperCase","placeholder","modifiers","create","src","align","align-self","padding","checked","change","padding-top","$$i","$$a","$$el","$$c","$set","slice","_obj","toggled","aria-hidden","isMedia","getMediaType","mime_type","pop","getFieldType","../eventbus","../g3wsdk/workflow/step","../g3wsdk/workflow/workflow","../interactions/pickfeaturesinteraction","../utils/addTableFeature","../utils/chooseFeatureFromFeatures","../utils/convertToGeometry","../utils/getEditingLayerById","../utils/getLayersDependencyFeatures","../utils/getRelationFieldsFromRelation","../utils/getRelationId","../utils/isSameBaseGeometryType","../utils/setAndUnsetSelectedFeaturesStyle","../utils/updateWorkflows","../workflows","7","_typeof","_cloneFeature","_getRelationsInEditing","Media_Field","constructor","Fields","media_field","g3w-media","dataTable","showTool","cap","outerHeight","showValue","headers","h","isMediaField","header","input","save","isrelation","_linkFeatures","cancel","deleteFeature","uid","element","relationinediting","getChildren","getRelationsInEditing","getRelations","getArray","result","rows","row","_x","copyFeature","cloneFeature","__gis3w_feature_uid","setDataTable","editFeature","_feature2","linkFeature","addindex","disableSideBar","max-width","margin-right","../utils/cloneFeature","../utils/getRelationsInEditing","8","getResolutionFromScale","snapInteraction","helpmessage","snapAll","editDisabled","startstopediting","hasRelations","dependencies","changingtools","canEdit","showtoolsoftool","toolsoftool","isLayerReady","ready","toolboxCursor","get_tool_title","language","$emit","fitZoomToScale","goToRes","getCenter","_constraints","scale","getMapUnits","toggleEditing","toggleTool","toggleFilterByRelation","_initSnap","snapFeatures","Collection","snapEvents","snapToolboxes","snapUnwatches","activeSnapInteraction","checkedAll","removeInteraction","extend","olKey","getFeaturesCollection","addSnapFeatures","settersAndKeys","addFeatures","onbefore","getState","setShowSnapAll","_unloadSnap","event","showSnapAll","interaction","Snap","state.activetool","messages","state.editing.on","state.toolsoftool","newTools","oldTools","onChange","mobile","isMobile","toolboxactive","geolayer","background","pull-right","g3w-icon-toggled","panel-body","cursor","preventDefault","9","completeStep","buttonnext","dynamic","getFontClass","10","Session","ChangesManager","_createClass","Constructor","protoProps","staticProps","defineProperties","descriptor","Flow","_classCallCheck","instance","Queque","task","tasks","reverse","shift","counter","queques","end","micro","Deferred","getContext","getSteps","runStep","runMicroTasks","setMessages","getLength","onDone","fail","onError","clearQueques","isRunning","base","inherit","G3WObject","Actions","fnc","opposite","execute","object","items","_g3wsdk$core$G3WObjec","_inherits","subClass","superClass","ReferenceError","__proto__","getPrototypeOf","setters","_editor","started","getfeatures","_allfeatures","saveChangesOnServer","maxSteps","current","_states","_constrains","_history","Proxy","prop","__add","getRelationStates","__getRelationStates","insertState","__insertState","removeState","deleteState","removeStates","removeChangesFromHistory","insertStates","__insertStates","__undo","clearHistory","__redo","setItemsFeatureIds","__setItemsFeatureIds","__getState","getFirstState","__getFirstState","getLastState","getLastHistoryState","getCurrentState","__getCurrentState","getCurrentStateIndex","__getCurrentStateIndex","__canCommit","__canUndo","__canRedo","__commit","register","setPrototypeOf","historyId","action","newItems","own","stateId","s","Registry","unregister","uniqueId","Date","now","setProperties","removeNotEditableProperties","getEditingNotEditableFields","unset","oldFeature","is_new","ids","getCommitItems","states","newFeat","oldFeat","revert","rollback","unshift","temporarychange","setChanges","itemsToCommit","commitObj","lockids","isRelation","sessionRelation","getLockIds","GeoJSONFormat","format","GeoJSON","itemObj","writeFeatureObject","childs_properties","getChild","getFather","_ref4$layerId","MapLayersStoresRegistry","is3DGeometry","geometry","set3DGeometryType","_ref5$ids","_ref5$relations","_ref5$__esPromise","__esPromise","_response$response$ne","applyCommitResponse","idx","getLastStateId","relationStates","_state","_this15","_checkSessionItems","_this16","_this17","unsetnewid","setId","_this18","currentState","_this19","currentStateIndex","checkCommitItems","commitItem","_this20","isDeleted","isUpdated","_item","isAdded","sessions","_sessions","setSession","getSessions","../../utils/promisify","11","12","_toolbox","_possibleConstructorReturn","FeaturesStore","OlFeaturesStore","_features","dispatchEvent","removeAt","insertAt","opts","Editor","_featuresstore","_layer","_ref5$","ToolBox","rFeature","ff","childField","clearState","addLockIds","new_lockids","_commit","relationId","getRelationByFatherChildren","getFatherField","getChildField","_started","_filter","bbox","getFeaturesStore","resetEditingSource","doRequest","is_cached","extent","containsExtent","../../toolboxes/toolbox","13","_editor2","_deprecated","constant","DEFAULT_EDITING_CAPABILITIES","SessionsRegistry","Task","WorkflowsStack","../deprecated","./editing/editor","./workflow/step","./workflow/workflow","14","_options","_run","_stop","_inputs","_context","_outputs","running","usermessagesteps","escKeyPressEventHandler","setSteps","onRun","onStop","_tools","root","events","getMap","_pointerMoveCursor","getTargetElement","forEachFeatureAtPixel","pixel","_steps","setUserMessageSteps","_isContentChild","saveChange","callback","unbind","escKeyUpHandler","setInputs","setContext","_workflow$_toolsoftoo","toolsOfTools","snap","measure","removeMeasureInteraction","_toolsoftool","emit","__stop","MESSAGES","15","_promise","_child","_stackIndex","runOnce","_messages","_userMessageSteps","setUserMessagesSteps","helpMessage","_stepIndex","messagesSteps","getUserMessageSteps","addChild","getStackIndex","clearUserMessagesSteps","__run","isChild","position","size","hooks","body","clearMessages","_x8","_x9","_ref5$tools","setToolsOfTools","feats","keyCode","workflows","getFirst","getLast","getAt","../../components/UserMessage.vue","./step","16","close_editing_panel","errors","no_layers","some_layers","editing_changes","editing_data","editing_attributes","edit_relation","back_to_relations","no_relations_found","relation_data","relation_already_added","list_of_relations_feature","tooltip","edit_layer","edit","copy","pastefeaturesfromotherlayers","addpart","deletepart","merge","add_feature","delete_feature","move_feature","update_vertex","update_feature","update_multi_features","update_multi_features_relations","copyfeaturefromexternallayer","snapall","select_elements","select_element","edit_table","draw_new_feature","action_confirm","double_click_delete","edit_feature_vertex","move","select_feature_to_relation","show_edit_feature_form","pick_feature","insert_attributes_feature","draw_part","draw_geometry","selectSHIFT","selectDrawBox","selectDrawBoxAtLeast2Feature","selectPoint","selectPointSHIFT","selectMultiPointSHIFT","selectMultiPointSHIFTAtLeast2Feature","copyCTRL","selectStartVertex","selectToPaste","draw_split_line","featureslockbyotheruser","splitted","nosplittedfeature","press_esc","offline","delete_feature_relations","unlink_relation","commit_feature","toolbox_has_relation","saved","saved_local","loading_data","constraints","enable_editing","pdf","header_relation","header_add","header_update_delete","loading_table_data","copy_and_paste_from_other_layer_mandatory_fields","no_feature_selected","select_min_2_features","draw_or_copy","copy_feature_from_other_layer","form","tooltips","back_to_father","add_relation","link_relation","open_relation_tools","buttons","save_and_back","save_and_back_table","copyfeaturefromotherlayer","edit_attributes","copyfeaturefromprojectlayer","17","editing_multiple_relations","filter_by_relation","toolbox_has_no_geometry","18","19","20","_it2","_interopRequireDefault","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","21","save_table","22","23","24","25","_ref39","_rollback","allSettled","_ref40","_ref46","_ref45","_ref43","_ref41","_ref41$","del","_ref41$$relations","has_features","_ref42","_x23","_ref44","XHR","url","getUrl","params","vector","at","setGeometry","_x24","_x25","_i18n","_i18n2","_createFeature","_addPartToMultigeometries","G3W_FID","_g3wsdk$core$i18n","_g3wsdk$core$layer","LayersStore","MapLayersStoreRegistry","_g3wsdk$core$plugin","Plugin","PluginService","_g3wsdk$core$utils","Panel","serverErrorParser","parsers","Server","_g3wsdk$ol$utils","getScaleFromResolution","_ref34","_class","fontClasses","className","toolboxes","_toolboxes","layers_in_error","formComponents","subscribers","showToolboxesExcluded","cb","editableLayers","start-editing","show-relation-editing","start_editing","before","after","show_errors","editFeatureKey","panel","currentLayout","getCurrentLayoutName","unwatchLayout","layout","__current","layoutName","onMapControlToggled","isClickMap","getActiveTool","setService","subscribe","unsubscribe","addToolBox","resetAPIDefault","getSessionById","setApplicationEditingConstraints","undoRedoLayerUniqueFieldValues","undoRedoRelationUniqueFieldValues","stopEditing","startEditing","addLayerFeature","_init","setHookLoading","setApi","api","addNewFeature","createFeature","commitChanges","getMapService","updateLayerFeature","deleteLayerFeature","hidePanel","hideEditingPanel","showPanel","setSaveConfig","addFormComponents","addLayersStore","queryable","TOC_ORDER","getLayerForEditing","vectorurl","project_type","status","filter_expression","usecompleter","layer_id","has_filter","filter_fields","relation_reference","_options$values","getFilterData","fformatter","_options$values2","_response","getDataTable","ordering","orderbyvalue","fatherId","isChildEditable","vectorjoin_id","getColor","setColor","getLayersStore","addLayers","getFathers","isReady","_setupGUI","setReady","registerPlugin","gid","fid","tb","showEditingPanel","once","toolBox","getEditingConstraints","units","parseInt","getView","getResolution","setResolution","geom","addPartTool","op","_w","zoomToGeometry","addfeature","addPartToMultigeometries","setOperator","addToolGroup","sub","sessionItems","undoItems","relationSessionItems","redoItems","_ref19","disableClickMapControls","_ref22$plugin","_ref22$toolboxes","toolboxIds","setEditingConstraints","commitpromises","refreshMap","_ref25","_ref25$modal","_ref25$close","close","success","has_changes","serverError","SAVE","CANCEL","CLOSEMODAL","propsData","$mount","closeButton","curr","prev","currLayerId","relationsIds","has_relations","GIVE_ME_A_NAME","lock","featureid","online2","textMessage","_ref29$sessionItems","has_change","oldVal","newVal","_ref30","_ref32$","_x11","disablemapcontrols","setTitle","_x14","_ref36","_ref35","nofeatures","nofeatures_field","showgoback","saveAll","_ref37","_ref37$mode","_ref37$cb","_ref37$modal","_ref38","_ref38$components","internalPanel","resourcesUrl","closePanel","removeTools","removeLayersStore","setCurrentLayout","./components/Changes.vue","./components/Editing.vue","./g3wsdk","./g3wsdk/workflow/step","./g3wsdk/workflow/workflow","./i18n","./toolboxes/toolbox","./utils/addPartToMultigeometries","./utils/createFeature","./utils/getEditingLayerById","./utils/promisify","./utils/setAndUnsetSelectedFeaturesStyle","./workflows","26","_ol$interaction$Point","featuresAtPixel","getFeaturesAtPixel","layerFilter","hitTolerance","any","handleDownEvent","handleUpEvent","handleMoveEvent","Pointer","27","_createEditingDataOptions","_setLayerUniqueFieldValues","_chooseFeature","_evaluateExpressionFields","_getNotEditableFieldsNoPkValues","_getDeltaXY","_getRelationsInEditingByFeature","_isPointOnVertex","_handleSplitFeature","_splitFeatures","_dissolve","SelectElementsStep","PickFeatureStep","GEOMETRY_TYPES","removeZValueToOLFeatureGeometry","debounce","_ref47","is_line","is_poly","is_table","iconGeometry","is_point","isLineGeometryType","isPolygonGeometryType","_start","__clearHistory","__getLastHistoryState","_session","__startSession","__stopSession","__getFeatures","__saveChangesOnServer","isStarted","__isStarted","__getHistory","__getEditor","__push","__pushDelete","__save","__pushAdd","__pushUpdate","__rollback","__rollbackDependecies","__undoSession","__redoSession","__getCommitItems","__clearSession","customTitle","toolboxheader","toolmessages","isFather","_unregisterStartSettersEventsKey","_getFeaturesOption","_enabledtools","_disabledtools","getEditingConstrains","chooseFeature","validate","getRelationsInEditingByFeature","ismobile","condition","_ref7$features","enable","updatelayers","checkGeometry","BASELAYER","catalogService","_ref8$tool","openFormStep","originalLayer","vueInstance","showModalDialog","ok","$destroy","Draw","isPointOnVertex","drawend","edge","to","_evt$feature$getGeome","_evt$feature$getGeome2","x","y","deltaXY","getDeltaXY","featuresLength","promisesDefaultEvaluation","translate","_coordinates","_deltaXY","getEditingMediaFields","evaluateExpressionFields","noteditablefieldsvalues","getNotEditableFieldsNoPkValues","finally","originaLayer","originalFeature","geometries","MULTIPOLYGON","getPolygons","MULTILINE","MULTILINESTRING","getLineStrings","MULTIPOINT","getPoints","Vector","getPixelFromCoordinate","tempLayer","getStyle","addLayer","found","_geometries","g","removeLayer","draw_line","freehandCondition","never","isSplitted","splittedGeometries","splitFeatures","splittedGeometriesLength","handleSplitFeature","choose","dissolve","has_same_geom","disabledtoolsoftools","getMessages","Function","_startTool","_stopTool","originalState","_getFeaturesEvent","constraint","startResolve","_olStartKeysEvent","unwatches","inEditing","registerEvents","constraintFeatureFilter","createEditingDataOptions","in_editing","showZoomCursor","getCurrentToggledMapControl","cursorClass","setMouseCursor","getViewport","applicationConstraint","_options$toolboxheade","_options$startstopedi","_options$changingtool","unKeyLock","setEnablesDisablesTools","onceafter","subtitle","handlerAfterSessionGetFeatures","_handleScaleConstraint","setFeaturesOptions","setLayerUniqueFieldValues","stopLoading","setEditing","_x15","is_started","isMapHidden","startLoading","disableCanEditEvent","k","uw","enableTools","clearToolboxMessages","_stopSessionChildren","_ref30$ids","_ref30$relations","_ref30$__esPromise","_x18","setMessage","setEnable","keyChangeResolution","_ref32$tools","_ref32$options","_options$editing_cons","editing_constraints","_ref33$tools","_ref33$excludetools","excludetools","_ref33$options","_options$editing_cons2","UPDATEONEFEATUREONLYTOOLSID","update_tools","toolsId","_tools$enabled","disableTools","_tools$disabled","_ref34$options","_options$active","disabledtools","_state$toolsoftool","_deactivetools","getHelpMessage","getRunningStep","activeTool","removeAllListeners","checkSessionItems","_this21","_feature3","_this22","_feature4","_this23","_this24","_this25","_this26","_this27","getContentLength","relationsId","addRelationId","_x30","_this28","_startOp","hideSidebar","showSidebar","_x32","_x33","_x34","_this29","../components/CopyFeaturesFromOtherLayers.vue","../utils/addPartToMultigeometries","../utils/checkSessionItems","../utils/chooseFeature","../utils/createEditingDataOptions","../utils/dissolve","../utils/evaluateExpressionFields","../utils/getDeltaXY","../utils/getNotEditableFieldsNoPkValues","../utils/getRelationsInEditingByFeature","../utils/handleSplitFeature","../utils/isPointOnVertex","../utils/setLayerUniqueFieldValues","../utils/splitFeatures","../utils/unlinkRelation","28","setCoordinates","./promisify","29","addRemoveToMultipleSelectFeatures","selIndex","_originalStyle","_setFeaturesSelectedStyle","setFeaturesSelectedStyle","setStyle","../utils/setFeaturesSelectedStyle","30","createNewFeature","get_default_value","31","coords","c1","c2","poly","_coords","32","33","34","_ref$features","comp","../components/ChooseFeatureToEdit.vue","35","cloneNew","36","addZValueToOLFeatureGeometry","cloned","__layerId","convertSingleMultiGeometry","_g3wsdk$core$geoutils","37","38","39","_ref$index","_ref$clone","parser","jsts","io","OL3Parser","jstsdissolvedFeatureGeometry","baseFeature","baseFeatureGeometry","baseFeatureGeometryType","lineMerger","operation","linemerge","LineMerger","addLineString","GeometryFactory","createLineString","read","mergedLineString","getMergedLineStrings","toArray","union","dissolvedFeatureGeometry","write","dissolvedFeatureGeometryType","dissolvedFeatureGeometryCoordinates","40","exclude","default_expression","apply_on_update","inputService","handleDefaultExpressionFormInput","qgs_layer_id","parentData","_getParentFormData","getParentFormData","handleFilterExpressionFormInput","./getParentFormData","41","_getCoordinates","42","43","kv","kv_field","44","getFormFields","savedfeatureFnc","unique_values","unique","_value","current_values","v","sortNumericArray","sortAlphabeticallyArray","has","exclude_values","_handleMulti","sensitivity","ascending","stringify","forceNull","45","all","setLoading","_getRelationFieldsFro","featureValues","46","47","_Workflow$Stack$getPa","_Workflow$Stack$getPa2","48","getRelation1_1ChildFeature","childFeatureStore","fatherFormRelationField","fatherLayerId","childLayerId","locked","oncebefore","createFilterFormInputs","search_endpoint","49","_fatherField","_childField","50","childId","51","_ref$relations","52","relationsinediting","fatherLayer","relationLayerId","valid","53","handleRelation1_1LayerFields","_ref2$features","_ref2$fields","newChild","childFeature","fieldsUpdated","isNewChildFeature","getPrefix","54","_ref2$splittedGeometr","oriFeature","splittedGeometry","_newFeature","55","56","57","listenRelation1_1FieldChange","ONE","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_ret","relationLockFeatures","editableRelatedFatherChild","formField","_getRelation1_1ChildFeature","_relationLockFeatures","return","./getRelation1_1ChildFeature","58","console","59","selectOriginalStyleHandle","originalStyle","_inputs$features","is_single","60","_getSelectedStyle","selectedStyle","createSelectedStyle","61","getWidgetData","join","62","splitfeature","splitFeature","63","_ref$dialog","unlink","./updateWorkflows","64","65","_getFormFields","_handleRelation1_1LayerFields","_listenRelation1_1FieldChange","_addRemoveToMultipleSelectFeatures","Component","AreaInteraction","LengthInteraction","createMeasureTooltip","removeMeasureTooltip","originalGeometryType","getEditingGeometryType","getOLGeometry","drawInteraction","finishCondition","drawstart","drawingFeature","addEventListener","_delKeyRemoveLastPoint","_add","setActive","measureInteraction","projection","getProjection","drawColor","removeLastPoint","removeEventListener","_snap","_modifyInteraction","Modify","deleteCondition","modifystart","modifyend","getExtent","isGeometryChange","changeKey","Translate","translatestart","translateend","_multi","layerName","formService","setLoadingContent","_originalFeatures","setInput","getLayerEditingFormStructure","showForm","crumb","dataid","isnew","context_inputs","formStructure","hasFormStructure","headerComponent","_saveAll","template","disableContent","getLastStep","saveDefaultExpressionFieldsNotDependencies","setFieldsWithValues","getFields","getBackButtonLabel","cbk","eventButtons","false","handleRelation","getRelationById","setCurrentComponentById","_x10","addComponents","_originalFeature","setContextService","_unwatchs","disableSidebar","is_parent_table","isType","contextService","closeForm","resetCurrentLayout","_Object$assign","content","internalComponent","_selectInteractions","single","multipleselectfeatures","_vectorLayer","geometryFunction","createBox","getFeaturesInExtent","dragbox","DragBox","shiftKeyOnly","forEachFeatureIntersectingExtent","chain","../components/FormRelation.vue","../components/Table.vue","../utils/addRemoveToMultipleSelectFeatures","../utils/getFormFields","../utils/getParentFormData","../utils/handleRelation1_1LayerFields","../utils/listenRelation1_1FieldChange","66"],"mappings":"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"} \ No newline at end of file