UNPKG

qwc2

Version:
11 lines 24.7 kB
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function define(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t)})})}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a)},function(t){invoke("throw",t,i,a)}):e.resolve(h).then(function(t){u.value=t,i(u)},function(t){return invoke("throw",t,i,a)})}a(c.arg)}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r)})}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(_typeof(e)+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this}),define(g,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t["return"]||t["return"]()}finally{if(u)throw o}}}}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _asyncIterator(r){var n,t,o,e=2;for("undefined"!=typeof Symbol&&(t=Symbol.asyncIterator,o=Symbol.iterator);e--;){if(t&&null!=(n=r[t]))return n.call(r);if(o&&null!=(n=r[o]))return new AsyncFromSyncIterator(n.call(r));t="@@asyncIterator",o="@@iterator"}throw new TypeError("Object is not async iterable")}function AsyncFromSyncIterator(r){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var n=r.done;return Promise.resolve(r.value).then(function(r){return{value:r,done:n}})}return AsyncFromSyncIterator=function AsyncFromSyncIterator(r){this.s=r,this.n=r.next},AsyncFromSyncIterator.prototype={s:null,n:null,next:function next(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments))},"return":function _return(r){var n=this.s["return"];return void 0===n?Promise.resolve({value:r,done:!0}):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))},"throw":function _throw(r){var n=this.s["return"];return void 0===n?Promise.reject(r):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))}},new AsyncFromSyncIterator(r)}/** * Copyright 2016-2024 Sourcepole AG * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. */import axios from"axios";import url from"url";import{LayerRole}from"../actions/layers";import StandardApp from"../components/StandardApp";import ConfigUtils from"../utils/ConfigUtils";import LayerUtils from"../utils/LayerUtils";var UrlQuery={};var historyUpdateTimeout=null;var pendingParams={};export var UrlParams={updateParams:function updateParams(dict){var forceLocationUrl=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(ConfigUtils.getConfigProp("omitUrlParameterUpdates")===true){UrlQuery=Object.assign(UrlQuery,dict);var propNames=Object.getOwnPropertyNames(UrlQuery);var _iterator2=_createForOfIteratorHelper(propNames),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var propName=_step2.value;if(UrlQuery[propName]===undefined){delete UrlQuery[propName]}}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}if(!forceLocationUrl){return}}// Delay URL updates to avoid "Too many calls to Location or History APIs within a short timeframe." if(historyUpdateTimeout!==null){clearTimeout(historyUpdateTimeout)}pendingParams=_objectSpread(_objectSpread({},pendingParams),dict);historyUpdateTimeout=setTimeout(function(){var urlObj=url.parse(window.location.href,true);urlObj.query=Object.assign(urlObj.query,pendingParams);var propNames=Object.getOwnPropertyNames(urlObj.query);var _iterator3=_createForOfIteratorHelper(propNames),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _propName=_step3.value;if(urlObj.query[_propName]===undefined){delete urlObj.query[_propName]}}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}delete urlObj.search;history.replaceState({id:urlObj.host},"",url.format(urlObj));historyUpdateTimeout=null;pendingParams={}},250)},getParam:function getParam(key){var urlObj=url.parse(window.location.href,true);if(ConfigUtils.getConfigProp("omitUrlParameterUpdates")===true){var _urlObj$query$key;return(_urlObj$query$key=urlObj.query[key])!==null&&_urlObj$query$key!==void 0?_urlObj$query$key:UrlQuery[key]}else{return urlObj.query[key]}},getParams:function getParams(){var query=url.parse(window.location.href,true).query;if(ConfigUtils.getConfigProp("omitUrlParameterUpdates")===true){return _objectSpread(_objectSpread({},UrlQuery),query)}else{return query}},clear:function clear(){var clearKeys=["k","t","l","bl","bk","c","hc","ic","s","e","crs","st","sp","f","v","v3d","bl3d"];this.updateParams(clearKeys.reduce(function(res,key){return _objectSpread(_objectSpread({},res),{},_defineProperty({},key,undefined))},{}),true)},getFullUrl:function getFullUrl(){if(ConfigUtils.getConfigProp("omitUrlParameterUpdates")===true){var urlObj=url.parse(window.location.href,true);urlObj.query=UrlQuery;delete urlObj.search;return url.format(urlObj)}else{return window.location.href}}};var PermalinkDataHooks={};export function registerPermalinkDataStoreHook(key,storeFn){PermalinkDataHooks[key]=storeFn}export function unregisterPermalinkDataStoreHook(key){delete PermalinkDataHooks[key]}function executePermalinkDataStoreHooks(_x){return _executePermalinkDataStoreHooks.apply(this,arguments)}function _executePermalinkDataStoreHooks(){_executePermalinkDataStoreHooks=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(permalinkState){var _iteratorAbruptCompletion,_didIteratorError,_iteratorError,_iterator,_step,_step$value,key,storeFn;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_iteratorAbruptCompletion=false;_didIteratorError=false;_context.prev=2;_iterator=_asyncIterator(Object.entries(PermalinkDataHooks));case 4:_context.next=6;return _iterator.next();case 6:if(!(_iteratorAbruptCompletion=!(_step=_context.sent).done)){_context.next=14;break}_step$value=_slicedToArray(_step.value,2),key=_step$value[0],storeFn=_step$value[1];_context.next=10;return storeFn();case 10:permalinkState[key]=_context.sent;case 11:_iteratorAbruptCompletion=false;_context.next=4;break;case 14:_context.next=20;break;case 16:_context.prev=16;_context.t0=_context["catch"](2);_didIteratorError=true;_iteratorError=_context.t0;case 20:_context.prev=20;_context.prev=21;if(!(_iteratorAbruptCompletion&&_iterator["return"]!=null)){_context.next=25;break}_context.next=25;return _iterator["return"]();case 25:_context.prev=25;if(!_didIteratorError){_context.next=28;break}throw _iteratorError;case 28:return _context.finish(25);case 29:return _context.finish(20);case 30:case"end":return _context.stop()}},_callee,null,[[2,16,20,30],[21,,25,29]])}));return _executePermalinkDataStoreHooks.apply(this,arguments)}export function generatePermaLink(_x2){return _generatePermaLink.apply(this,arguments)}function _generatePermaLink(){_generatePermaLink=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(callback){var user,permittedGroup,state,fullUrl,permalinkState,exploded,redliningLayers,params,route,_args2=arguments;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:user=_args2.length>1&&_args2[1]!==undefined?_args2[1]:false;permittedGroup=_args2.length>2&&_args2[2]!==undefined?_args2[2]:"";state=StandardApp.store.getState();fullUrl=UrlParams.getFullUrl();if(ConfigUtils.getConfigProp("permalinkServiceUrl")){_context2.next=7;break}callback(fullUrl);return _context2.abrupt("return");case 7:permalinkState={};if(ConfigUtils.getConfigProp("storeAllLayersInPermalink")){permalinkState.layers=state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND})}else{// Only store redlining layers exploded=LayerUtils.explodeLayers(state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND}));redliningLayers=exploded.map(function(entry,idx){return _objectSpread(_objectSpread({},entry),{},{pos:idx})}).filter(function(entry){return entry.layer.role===LayerRole.USERLAYER&&entry.layer.type==="vector"}).map(function(entry){return _objectSpread(_objectSpread({},entry.layer),{},{pos:entry.pos})});permalinkState.layers=redliningLayers}permalinkState.permalinkParams=state.localConfig.permalinkParams;permalinkState.url=fullUrl;params={permitted_group:permittedGroup||null};_context2.next=14;return executePermalinkDataStoreHooks(permalinkState);case 14:route=user?"userpermalink":"createpermalink";axios.post(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/"+route,permalinkState,{params:params}).then(function(response){return callback(response.data.permalink||fullUrl,response.data.expires||null)})["catch"](function(){return callback(fullUrl)});case 16:case"end":return _context2.stop()}},_callee2)}));return _generatePermaLink.apply(this,arguments)}export function resolvePermaLink(initialParams,callback){var key=initialParams.k;var bkey=initialParams.bk;if(key){axios.get(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/resolvepermalink?key="+key).then(function(response){var data=response.data;callback(_objectSpread(_objectSpread(_objectSpread({},initialParams),data.query||{}),data.state.permalinkParams||{}),data.state||{},!!data.query)})["catch"](function(){callback(initialParams,{},false)})}else if(bkey){axios.get(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/"+bkey).then(function(response){var data=response.data;callback(_objectSpread(_objectSpread(_objectSpread({},initialParams),data.query||{}),data.state.permalinkParams||{}),data.state||{},!!data.query)})["catch"](function(){callback(initialParams,{},false)})}else{callback(initialParams,{},true)}}export function resolveBookmark(bookmarkKey,callback){axios.get(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/"+bookmarkKey).then(function(response){var data=response.data;callback(_objectSpread({},data.query||{}),data.state||{},!!data.query)})["catch"](function(){callback(bookmarkKey,{},false)})}export function getUserBookmarks(user,callback){if(user){axios.get(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/").then(function(response){callback(response.data||[])})["catch"](function(){callback([])})}}export function createBookmark(_x3,_x4){return _createBookmark.apply(this,arguments)}function _createBookmark(){_createBookmark=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(description,callback){var state,exploded,bookmarkState,redliningLayers;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(ConfigUtils.getConfigProp("permalinkServiceUrl")){_context3.next=3;break}callback(false);return _context3.abrupt("return");case 3:state=StandardApp.store.getState();// Only store redlining layers exploded=LayerUtils.explodeLayers(state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND}));bookmarkState={};if(ConfigUtils.getConfigProp("storeAllLayersInPermalink")){bookmarkState.layers=state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND})}else{redliningLayers=exploded.map(function(entry,idx){return _objectSpread(_objectSpread({},entry),{},{pos:idx})}).filter(function(entry){return entry.layer.role===LayerRole.USERLAYER&&entry.layer.type==="vector"}).map(function(entry){return _objectSpread(_objectSpread({},entry.layer),{},{pos:entry.pos})});bookmarkState.layers=redliningLayers}bookmarkState.permalinkParams=state.localConfig.permalinkParams;bookmarkState.url=UrlParams.getFullUrl();_context3.next=11;return executePermalinkDataStoreHooks(bookmarkState);case 11:axios.post(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/"+"?description="+description,bookmarkState).then(function(){return callback(true)})["catch"](function(){return callback(false)});case 12:case"end":return _context3.stop()}},_callee3)}));return _createBookmark.apply(this,arguments)}export function updateBookmark(_x5,_x6,_x7){return _updateBookmark.apply(this,arguments)}function _updateBookmark(){_updateBookmark=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(bkey,description,callback){var state,exploded,bookmarkState,redliningLayers;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(ConfigUtils.getConfigProp("permalinkServiceUrl")){_context4.next=3;break}callback(false);return _context4.abrupt("return");case 3:state=StandardApp.store.getState();// Only store redlining layers exploded=LayerUtils.explodeLayers(state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND}));bookmarkState={};if(ConfigUtils.getConfigProp("storeAllLayersInPermalink")){bookmarkState.layers=state.layers.flat.filter(function(layer){return layer.role!==LayerRole.BACKGROUND})}else{redliningLayers=exploded.map(function(entry,idx){return _objectSpread(_objectSpread({},entry),{},{pos:idx})}).filter(function(entry){return entry.layer.role===LayerRole.USERLAYER&&entry.layer.type==="vector"}).map(function(entry){return _objectSpread(_objectSpread({},entry.layer),{},{pos:entry.pos})});bookmarkState.layers=redliningLayers}bookmarkState.permalinkParams=state.localConfig.permalinkParams;bookmarkState.url=UrlParams.getFullUrl();_context4.next=11;return executePermalinkDataStoreHooks(bookmarkState);case 11:axios.put(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/"+bkey+"?description="+description,bookmarkState).then(function(){return callback(true)})["catch"](function(){return callback(false)});case 12:case"end":return _context4.stop()}},_callee4)}));return _updateBookmark.apply(this,arguments)}export function removeBookmark(bkey,callback){if(bkey){axios["delete"](ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/,"")+"/bookmarks/"+bkey).then(function(){callback(true)})["catch"](function(){return callback(false)})}}