@vidro/map-handler 1.1.16 → 1.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/map-handler.js +1 -1
- package/package.json +1 -1
- package/src/index.js +246 -181
package/dist/map-handler.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VidroMaps=t():e.VidroMaps=t()}(self,(()=>(()=>{"use strict";var e={187:e=>{var t,o="object"==typeof Reflect?Reflect:null,n=o&&"function"==typeof o.apply?o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};t=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(o,n){function r(o){e.removeListener(t,s),n(o)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),o([].slice.call(arguments))}y(e,t,s,{once:!0}),"error"!==t&&function(e,t,o){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function u(e,t,o,n){var r,s,i,u;if(a(o),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),s=e._events),i=s[t]),void 0===i)i=s[t]=o,++e._eventsCount;else if("function"==typeof i?i=s[t]=n?[o,i]:[i,o]:n?i.unshift(o):i.push(o),(r=l(e))>0&&i.length>r&&!i.warned){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,u=c,console&&console.warn&&console.warn(u)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},r=c.bind(n);return r.listener=o,n.wrapFn=r,r}function f(e,t,o){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?o?[r.listener||r]:[r]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(r):m(r,r.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function m(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}function y(e,t,o,n){if("function"==typeof e.on)n.once?e.once(t,o):e.on(t,o);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function r(s){n.once&&e.removeEventListener(t,r),o(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return l(this)},s.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var r="error"===e,s=this._events;if(void 0!==s)r=r&&void 0===s.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var l=s[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var u=l.length,c=m(l,u);for(o=0;o<u;++o)n(c[o],this,t)}return!0},s.prototype.addListener=function(e,t){return u(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return u(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var o,n,r,s,i;if(a(t),void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(r=-1,s=o.length-1;s>=0;s--)if(o[s]===t||o[s].listener===t){i=o[s].listener,r=s;break}if(r<0)return this;0===r?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,r),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,i||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var r,s=Object.keys(o);for(n=0;n<s.length;++n)"removeListener"!==(r=s[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Communicator:()=>v});var e=o(187);function t(e){return t="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},t(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function s(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var o=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(o)?o:String(o)}var a="undefined"==typeof window,l=s((function e(t){var o,n,r,s=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o=this,r=function(e){a||window.top.frames[s.domId].postMessage(e,"*")},(n=i(n="sendMessageToMap"))in o?Object.defineProperty(o,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[n]=r,this.domId="map-frame","string"==typeof t.id&&(this.domId=t.id)}));function u(e){return u="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},u(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}function d(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t,o){return(t=y(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e){var t=function(e,t){if("object"!==u(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!==u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===u(t)?t:String(t)}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,o,n,r=(o=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=p(o);if(n){var r=p(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return d(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),m(f(t=r.call(this)),"onMessageReceived",(function(e){switch(console.log("event arrived to mapHandler",e),e.data.type){case"onZoomChange":t.emitEvent("onZoomChange",e.data.zoom,e.data.domId);break;case"geomAdded":t.emitEvent("geomAdded",e.data.geom_astext,e.data.domId);break;case"layers":t.emitEvent("layers",e.data.layers,e.data.domId);break;case"geoJSONlayers":t.emitEvent("geoJSONlayers",e.data.layers,e.data.domId);break;case"info":t.emitEvent("info",e.data,e.data.domId);break;case"error":t.emitEvent("error",e.data,e.data.domId);break;case"coordinates":t.emitEvent("coordinates",e.data,e.data.domId);break;case"activeLayer":t.emitEvent("activeLayer",e.data,e.data.domId);break;case"geolocation":t.emitEvent("geolocation",e.data,e.data.domId);break;case"WMSInfoAvailable":t.emitEvent("WMSInfoAvailable",e.data,e.data.domId);break;case"giswaterTiledBackgroundDisplayed":t.emitEvent("giswaterTiledBackgroundDisplayed",e.data,e.data.domId);break;case"giswaterTiledBackgroundAvailable":t.emitEvent("giswaterTiledBackgroundAvailable",e.data,e.data.domId);break;case"GiswaterLayerAvailableFilters":t.emitEvent("GiswaterLayerAvailableFilters",e.data,e.data.domId);break;case"loaded":t.emitEvent("loaded",e.data,e.data.domId);break;case"unloaded":t.emitEvent("unloaded",e.data,e.data.domId);break;case"availableWMSLayers":t.emitEvent("availableWMSLayers",e.data.layers,e.data.domId);break;case"layerElements":t.emitEvent("layerElements",e.data,e.data.domId);break;case"getToc":t.emitEvent("getToc",e.data,e.data.domId)}})),m(f(t),"emitEvent",(function(e,o,n){n===t.domId&&(delete o.domId,t.emit(e,o))})),m(f(t),"ZoomIn",(function(){t.com.sendMessageToMap({type:"zoomIn",sessionToken:t.sessionToken})})),m(f(t),"ZoomOut",(function(){t.com.sendMessageToMap({type:"zoomOut",sessionToken:t.sessionToken})})),m(f(t),"AddGeom",(function(e){t.com.sendMessageToMap({type:"AddGeom",geom:e,sessionToken:t.sessionToken})})),m(f(t),"toggleLayer",(function(e,o){void 0===o&&(o={gutter:null,transparent:null,singletile:null}),null!==o.singletile&&"boolean"!=typeof o.singletile&&(o.singletile=null,t.emit("error",{error:"singleTile must be a Boolean"})),""!==o.gutter&&null!==o.gutter&&(isNaN(parseInt(o.gutter))&&(o.gutter=null,t.emit("error",{error:"Gutter must be a number"})),o.singletile&&(o.gutter=null,t.emit("error",{error:"Gutter can only be user with multitile layers; set singletile to false"}))),null!==o.transparent&&"boolean"!=typeof o.transparent&&(o.transparent=null,t.emit("error",{error:"transparent must be a Boolean"})),t.com.sendMessageToMap({type:"toggleLayer",layer:e,gutter:isNaN(parseInt(o.gutter))?null:parseInt(o.gutter),transparent:o.transparent,singletile:o.singletile,sessionToken:t.sessionToken})})),m(f(t),"setActiveLayer",(function(e){t.com.sendMessageToMap({type:"setActiveLayer",layer:e,sessionToken:t.sessionToken})})),m(f(t),"getActiveLayer",(function(){t.com.sendMessageToMap({type:"getActiveLayer",sessionToken:t.sessionToken})})),m(f(t),"loadWMSAvailableLayers",(function(){t.com.sendMessageToMap({type:"loadWMSAvailableLayers",sessionToken:t.sessionToken})})),m(f(t),"clear",(function(){t.com.sendMessageToMap({type:"clear",sessionToken:t.sessionToken})})),m(f(t),"Highlight",(function(e){t.com.sendMessageToMap({type:"highlight",geom:e.geom,zoom:e.zoom,sessionToken:t.sessionToken})})),m(f(t),"zoomToExtent",(function(){t.com.sendMessageToMap({type:"zoomToExtent",sessionToken:t.sessionToken})})),m(f(t),"zoomToCoordinates",(function(e,o,n){isNaN(parseInt(n))||t.com.sendMessageToMap({type:"zoomToCoordinates",sessionToken:t.sessionToken,coordinates:[e,o],zoomLevel:n})})),m(f(t),"infoFromCoordinates",(function(e,o,n,r){var s=void 0===o?null:o,i=void 0!==n&&n?parseInt(n):5,a=void 0===r?"xml":r.toLowerCase();"xml"===a||"json"===a?isNaN(i)?console.error("hitTolerance must be a number"):t.com.sendMessageToMap({type:"infoFromCoordinates",info:e,layer:s,format:a,hitTolerance:i,sessionToken:t.sessionToken}):console.error("Format must be 'xml' or 'json")})),m(f(t),"getElementsFromLayer",(function(e,o,n){var r=void 0===n?"xml":n.toLowerCase();if("xml"===r||"json"===r)if(isNaN(o))console.error("Limit must be a number");else{var s=void 0===e?null:e;t.com.sendMessageToMap({type:"getElementsFromLayer",layer:s,limit:void 0!==o?parseInt(o):100,format:n,sessionToken:t.sessionToken})}else console.error("Format must be 'xml' or 'json")})),m(f(t),"Geolocalize",(function(e){t.com.sendMessageToMap({type:"Geolocalize",toggle:e,sessionToken:t.sessionToken})})),m(f(t),"toggleGiswaterTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleGiswaterTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"reloadDisplayedLayers",(function(){return t.com.sendMessageToMap({type:"reloadDisplayedLayers",sessionToken:t.sessionToken})})),m(f(t),"addGeoJSON",(function(e,o,n){return e?t.com.sendMessageToMap({type:"addGeoJSON",geoJSON:e,options:void 0!==o?o:{fillcolor:null,strokecolor:null},name:n||Math.random().toString(36).substring(7),sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"clearGeoJSON",(function(){return t.com.sendMessageToMap({type:"clearGeoJSON",sessionToken:t.sessionToken})})),m(f(t),"removeGeoJSONLayer",(function(e){return e?t.com.sendMessageToMap({type:"removeGeoJSONLayer",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"setGiswaterFilters",(function(e){var o=e;if(e){if("object"!=u(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setGiswaterFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"getGiswaterLayerAvailableFilters",(function(e){return e?t.com.sendMessageToMap({type:"getGiswaterLayerAvailableFilters",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No layer_name"})})),m(f(t),"getToc",(function(){return t.com.sendMessageToMap({type:"getToc",sessionToken:t.sessionToken})})),m(f(t),"setDebug",(function(e){isNaN(parseInt(e))?console.error("Debug is not a integer"):t.com.sendMessageToMap({type:"setDebug",what:e,sessionToken:t.sessionToken})})),m(f(t),"setCustomColors",(function(e){if("object"===u(e)){if(e.hasOwnProperty("geom_stroke_width")){if(isNaN(parseInt(e.geom_stroke_width)))return void console.error("geom_stroke_width is not an number");e.geom_stroke_width=parseInt(e.geom_stroke_width)}else e.geom_stroke_width=1;if(e.hasOwnProperty("geom_radius")){if(isNaN(parseInt(e.geom_radius)))return void console.error("geom_stroke_width is not an number");e.geom_radius=parseInt(e.geom_radius)}else e.geom_radius=4;e.hasOwnProperty("geom_shape")&&"circle"!==e.geom_shape&&"square"!==e.geom_shape&&(e.geom_shape="circle",console.error("geom_shape must be either 'circle' or 'square'")),t.com.sendMessageToMap({type:"setCustomColors",properties:e,sessionToken:t.sessionToken})}else console.error("properties is not an object")})),m(f(t),"changeBackground",(function(e){return t.com.sendMessageToMap({type:"changeBackground",sessionToken:t.sessionToken,newBackground:e})})),t.domId="map-frame","undefined"==typeof window?d(t):("string"==typeof e.id&&(t.domId=e.id),t.com=new l(e),window.addEventListener("message",(function(e){return t.onMessageReceived(e)})),t.sessionToken=e.sessionToken,t)}return t=s,Object.defineProperty(t,"prototype",{writable:!1}),t}(e.EventEmitter)})(),n})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VidroMaps=t():e.VidroMaps=t()}(self,(()=>(()=>{"use strict";var e={187:e=>{var t,o="object"==typeof Reflect?Reflect:null,n=o&&"function"==typeof o.apply?o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};t=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(o,n){function r(o){e.removeListener(t,s),n(o)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",r),o([].slice.call(arguments))}y(e,t,s,{once:!0}),"error"!==t&&function(e,t,o){"function"==typeof e.on&&y(e,"error",t,{once:!0})}(e,r)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var i=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function l(e,t,o,n){var r,s,i,l;if(a(o),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),s=e._events),i=s[t]),void 0===i)i=s[t]=o,++e._eventsCount;else if("function"==typeof i?i=s[t]=n?[o,i]:[i,o]:n?i.unshift(o):i.push(o),(r=u(e))>0&&i.length>r&&!i.warned){i.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=i.length,l=c,console&&console.warn&&console.warn(l)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},r=c.bind(n);return r.listener=o,n.wrapFn=r,r}function f(e,t,o){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?o?[r.listener||r]:[r]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(r):m(r,r.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function m(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}function y(e,t,o,n){if("function"==typeof e.on)n.once?e.once(t,o):e.on(t,o);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function r(s){n.once&&e.removeEventListener(t,r),o(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var r="error"===e,s=this._events;if(void 0!==s)r=r&&void 0===s.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var a=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw a.context=i,a}var u=s[e];if(void 0===u)return!1;if("function"==typeof u)n(u,this,t);else{var l=u.length,c=m(u,l);for(o=0;o<l;++o)n(c[o],this,t)}return!0},s.prototype.addListener=function(e,t){return l(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return l(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},s.prototype.removeListener=function(e,t){var o,n,r,s,i;if(a(t),void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(r=-1,s=o.length-1;s>=0;s--)if(o[s]===t||o[s].listener===t){i=o[s].listener,r=s;break}if(r<0)return this;0===r?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,r),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,i||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var r,s=Object.keys(o);for(n=0;n<s.length;++n)"removeListener"!==(r=s[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{Communicator:()=>v});var e=o(187);function t(e){return t="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},t(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function s(e,t,o){return t&&r(e.prototype,t),o&&r(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e){var o=function(e,o){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===t(o)?o:String(o)}var a="undefined"==typeof window,u=s((function e(t){var o,n,r,s=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o=this,r=function(e){a||window.top.frames[s.domId].postMessage(e,"*")},(n=i(n="sendMessageToMap"))in o?Object.defineProperty(o,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[n]=r,this.domId="map-frame","string"==typeof t.id&&(this.domId=t.id)}));function l(e){return l="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(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}function d(e,t){if(t&&("object"===l(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return f(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t,o){return(t=y(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e){var t=function(e,t){if("object"!==l(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!==l(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===l(t)?t:String(t)}var v=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(s,e);var t,o,n,r=(o=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=p(o);if(n){var r=p(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return d(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),m(f(t=r.call(this)),"onMessageReceived",(function(e){switch(e.data.type){case"onZoomChange":t.emitEvent("onZoomChange",e.data.zoom,e.data.domId);break;case"geomAdded":t.emitEvent("geomAdded",e.data.geom_astext,e.data.domId);break;case"layers":t.emitEvent("layers",e.data.layers,e.data.domId);break;case"geoJSONlayers":t.emitEvent("geoJSONlayers",e.data.layers,e.data.domId);break;case"info":t.emitEvent("info",e.data,e.data.domId);break;case"error":t.emitEvent("error",e.data,e.data.domId);break;case"coordinates":t.emitEvent("coordinates",e.data,e.data.domId);break;case"activeLayer":t.emitEvent("activeLayer",e.data,e.data.domId);break;case"geolocation":t.emitEvent("geolocation",e.data,e.data.domId);break;case"WMSInfoAvailable":t.emitEvent("WMSInfoAvailable",e.data,e.data.domId);break;case"giswaterTiledBackgroundDisplayed":t.emitEvent("giswaterTiledBackgroundDisplayed",e.data,e.data.domId);break;case"giswaterTiledBackgroundAvailable":t.emitEvent("giswaterTiledBackgroundAvailable",e.data,e.data.domId);break;case"GiswaterLayerAvailableFilters":t.emitEvent("GiswaterLayerAvailableFilters",e.data,e.data.domId);break;case"loaded":t.emitEvent("loaded",e.data,e.data.domId);break;case"unloaded":t.emitEvent("unloaded",e.data,e.data.domId);break;case"availableWMSLayers":t.emitEvent("availableWMSLayers",e.data.layers,e.data.domId);break;case"layerElements":t.emitEvent("layerElements",e.data,e.data.domId);break;case"getToc":t.emitEvent("getToc",e.data,e.data.domId)}})),m(f(t),"emitEvent",(function(e,o,n){n===t.domId&&(delete o.domId,t.emit(e,o))})),m(f(t),"ZoomIn",(function(){t.com.sendMessageToMap({type:"zoomIn",sessionToken:t.sessionToken})})),m(f(t),"ZoomOut",(function(){t.com.sendMessageToMap({type:"zoomOut",sessionToken:t.sessionToken})})),m(f(t),"AddGeom",(function(e){t.com.sendMessageToMap({type:"AddGeom",geom:e,sessionToken:t.sessionToken})})),m(f(t),"toggleLayer",(function(e,o){void 0===o&&(o={gutter:null,transparent:null,singletile:null}),null!==o.singletile&&"boolean"!=typeof o.singletile&&(o.singletile=null,t.emit("error",{error:"singleTile must be a Boolean"})),""!==o.gutter&&null!==o.gutter&&(isNaN(parseInt(o.gutter))&&(o.gutter=null,t.emit("error",{error:"Gutter must be a number"})),o.singletile&&(o.gutter=null,t.emit("error",{error:"Gutter can only be user with multitile layers; set singletile to false"}))),null!==o.transparent&&"boolean"!=typeof o.transparent&&(o.transparent=null,t.emit("error",{error:"transparent must be a Boolean"})),t.com.sendMessageToMap({type:"toggleLayer",layer:e,gutter:isNaN(parseInt(o.gutter))?null:parseInt(o.gutter),transparent:o.transparent,singletile:o.singletile,sessionToken:t.sessionToken})})),m(f(t),"setActiveLayer",(function(e){t.com.sendMessageToMap({type:"setActiveLayer",layer:e,sessionToken:t.sessionToken})})),m(f(t),"getActiveLayer",(function(){t.com.sendMessageToMap({type:"getActiveLayer",sessionToken:t.sessionToken})})),m(f(t),"loadWMSAvailableLayers",(function(){t.com.sendMessageToMap({type:"loadWMSAvailableLayers",sessionToken:t.sessionToken})})),m(f(t),"clear",(function(){t.com.sendMessageToMap({type:"clear",sessionToken:t.sessionToken})})),m(f(t),"Highlight",(function(e){t.com.sendMessageToMap({type:"highlight",geom:e.geom,zoom:e.zoom,sessionToken:t.sessionToken})})),m(f(t),"zoomToExtent",(function(){t.com.sendMessageToMap({type:"zoomToExtent",sessionToken:t.sessionToken})})),m(f(t),"zoomToCoordinates",(function(e,o,n){isNaN(parseInt(n))||t.com.sendMessageToMap({type:"zoomToCoordinates",sessionToken:t.sessionToken,coordinates:[e,o],zoomLevel:n})})),m(f(t),"infoFromCoordinates",(function(e,o,n,r){var s=void 0===o?null:o,i=void 0!==n&&n?parseInt(n):5,a=void 0===r?"xml":r.toLowerCase();"xml"===a||"json"===a?isNaN(i)?console.error("hitTolerance must be a number"):t.com.sendMessageToMap({type:"infoFromCoordinates",info:e,layer:s,format:a,hitTolerance:i,sessionToken:t.sessionToken}):console.error("Format must be 'xml' or 'json")})),m(f(t),"getElementsFromLayer",(function(e,o,n){var r=void 0===n?"xml":n.toLowerCase();if("xml"===r||"json"===r)if(isNaN(o))console.error("Limit must be a number");else{var s=void 0===e?null:e;t.com.sendMessageToMap({type:"getElementsFromLayer",layer:s,limit:void 0!==o?parseInt(o):100,format:n,sessionToken:t.sessionToken})}else console.error("Format must be 'xml' or 'json")})),m(f(t),"Geolocalize",(function(e){t.com.sendMessageToMap({type:"Geolocalize",toggle:e,sessionToken:t.sessionToken})})),m(f(t),"toggleGiswaterTiled",(function(e,o){t.com.sendMessageToMap({type:"toggleGiswaterTiled",toggle:e,tiled:o,sessionToken:t.sessionToken})})),m(f(t),"reloadDisplayedLayers",(function(){return t.com.sendMessageToMap({type:"reloadDisplayedLayers",sessionToken:t.sessionToken})})),m(f(t),"addGeoJSON",(function(e,o,n){return e?t.com.sendMessageToMap({type:"addGeoJSON",geoJSON:e,options:void 0!==o?o:{fillcolor:null,strokecolor:null},name:n||Math.random().toString(36).substring(7),sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"clearGeoJSON",(function(){return t.com.sendMessageToMap({type:"clearGeoJSON",sessionToken:t.sessionToken})})),m(f(t),"removeGeoJSONLayer",(function(e){return e?t.com.sendMessageToMap({type:"removeGeoJSONLayer",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No geoJSON data"})})),m(f(t),"setGiswaterFilters",(function(e){var o=e;if(e){if("object"!=l(e)){e=(e=(e=e.trim()).replace(/^\s+|\s+$/g,"")).replace(/\\/g,"");try{o=JSON.parse(e)}catch(e){return void t.emit("error",{error:"Filters is not a valid JSON"})}}return t.com.sendMessageToMap({type:"setGiswaterFilters",filters:o,sessionToken:t.sessionToken})}t.emit("error",{error:"No filters"})})),m(f(t),"getGiswaterLayerAvailableFilters",(function(e){return e?t.com.sendMessageToMap({type:"getGiswaterLayerAvailableFilters",name:e,sessionToken:t.sessionToken}):void t.emit("error",{error:"No layer_name"})})),m(f(t),"getToc",(function(){return t.com.sendMessageToMap({type:"getToc",sessionToken:t.sessionToken})})),m(f(t),"setDebug",(function(e){isNaN(parseInt(e))?console.error("Debug is not a integer"):t.com.sendMessageToMap({type:"setDebug",what:e,sessionToken:t.sessionToken})})),m(f(t),"setCustomColors",(function(e){if("object"===l(e)){if(e.hasOwnProperty("geom_stroke_width")){if(isNaN(parseInt(e.geom_stroke_width)))return void console.error("geom_stroke_width is not an number");e.geom_stroke_width=parseInt(e.geom_stroke_width)}else e.geom_stroke_width=1;if(e.hasOwnProperty("geom_radius")){if(isNaN(parseInt(e.geom_radius)))return void console.error("geom_stroke_width is not an number");e.geom_radius=parseInt(e.geom_radius)}else e.geom_radius=4;e.hasOwnProperty("geom_shape")&&"circle"!==e.geom_shape&&"square"!==e.geom_shape&&(e.geom_shape="circle",console.error("geom_shape must be either 'circle' or 'square'")),t.com.sendMessageToMap({type:"setCustomColors",properties:e,sessionToken:t.sessionToken})}else console.error("properties is not an object")})),m(f(t),"changeBackground",(function(e){return t.com.sendMessageToMap({type:"changeBackground",sessionToken:t.sessionToken,newBackground:e})})),m(f(t),"initMeasure",(function(e,o){return t.com.sendMessageToMap({type:"initMeasure",sessionToken:t.sessionToken,measure:e,text:o})})),m(f(t),"cancelMeasure",(function(){return t.com.sendMessageToMap({type:"cancelMeasure",sessionToken:t.sessionToken})})),t.domId="map-frame","undefined"==typeof window?d(t):("string"==typeof e.id&&(t.domId=e.id),t.com=new u(e),window.addEventListener("message",(function(e){return t.onMessageReceived(e)})),t.sessionToken=e.sessionToken,t)}return t=s,Object.defineProperty(t,"prototype",{writable:!1}),t}(e.EventEmitter)})(),n})()));
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1,148 +1,192 @@
|
|
|
1
|
-
import { EventEmitter } from "events"
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
2
|
import { iframeCommunicator } from "./shared/iframe-communicator";
|
|
3
3
|
class Communicator extends EventEmitter {
|
|
4
|
-
|
|
5
|
-
constructor(data){
|
|
4
|
+
constructor(data) {
|
|
6
5
|
super();
|
|
7
|
-
this.domId =
|
|
8
|
-
if(typeof window ===
|
|
6
|
+
this.domId = "map-frame";
|
|
7
|
+
if (typeof window === "undefined") {
|
|
9
8
|
return;
|
|
10
|
-
}
|
|
11
|
-
if(typeof data.id==="string"){
|
|
9
|
+
}
|
|
10
|
+
if (typeof data.id === "string") {
|
|
12
11
|
this.domId = data.id;
|
|
13
|
-
}
|
|
14
|
-
this.com = new iframeCommunicator(data)
|
|
15
|
-
window.addEventListener("message", e => this.onMessageReceived(e));
|
|
12
|
+
}
|
|
13
|
+
this.com = new iframeCommunicator(data);
|
|
14
|
+
window.addEventListener("message", (e) => this.onMessageReceived(e));
|
|
16
15
|
this.sessionToken = data.sessionToken;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
onMessageReceived = e => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
case "geomAdded":
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
case "
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
case "
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
case "
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
case "
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
case "
|
|
40
|
-
|
|
41
|
-
|
|
18
|
+
onMessageReceived = (e) => {
|
|
19
|
+
switch (e.data.type) {
|
|
20
|
+
case "onZoomChange":
|
|
21
|
+
this.emitEvent("onZoomChange", e.data.zoom, e.data.domId);
|
|
22
|
+
break;
|
|
23
|
+
case "geomAdded":
|
|
24
|
+
this.emitEvent("geomAdded", e.data.geom_astext, e.data.domId);
|
|
25
|
+
break;
|
|
26
|
+
case "layers":
|
|
27
|
+
this.emitEvent("layers", e.data.layers, e.data.domId);
|
|
28
|
+
break;
|
|
29
|
+
case "geoJSONlayers":
|
|
30
|
+
this.emitEvent("geoJSONlayers", e.data.layers, e.data.domId);
|
|
31
|
+
break;
|
|
32
|
+
case "info":
|
|
33
|
+
this.emitEvent("info", e.data, e.data.domId);
|
|
34
|
+
break;
|
|
35
|
+
case "error":
|
|
36
|
+
this.emitEvent("error", e.data, e.data.domId);
|
|
37
|
+
break;
|
|
38
|
+
case "coordinates":
|
|
39
|
+
this.emitEvent("coordinates", e.data, e.data.domId);
|
|
40
|
+
break;
|
|
41
|
+
case "activeLayer":
|
|
42
|
+
this.emitEvent("activeLayer", e.data, e.data.domId);
|
|
43
|
+
break;
|
|
44
|
+
case "geolocation":
|
|
45
|
+
this.emitEvent("geolocation", e.data, e.data.domId);
|
|
46
|
+
break;
|
|
47
|
+
case "WMSInfoAvailable":
|
|
48
|
+
this.emitEvent("WMSInfoAvailable", e.data, e.data.domId);
|
|
49
|
+
break;
|
|
50
|
+
case "giswaterTiledBackgroundDisplayed":
|
|
51
|
+
this.emitEvent(
|
|
52
|
+
"giswaterTiledBackgroundDisplayed",
|
|
53
|
+
e.data,
|
|
54
|
+
e.data.domId
|
|
55
|
+
);
|
|
56
|
+
break;
|
|
57
|
+
case "giswaterTiledBackgroundAvailable":
|
|
58
|
+
this.emitEvent(
|
|
59
|
+
"giswaterTiledBackgroundAvailable",
|
|
60
|
+
e.data,
|
|
61
|
+
e.data.domId
|
|
62
|
+
);
|
|
63
|
+
break;
|
|
64
|
+
case "GiswaterLayerAvailableFilters":
|
|
65
|
+
this.emitEvent("GiswaterLayerAvailableFilters", e.data, e.data.domId);
|
|
66
|
+
break;
|
|
67
|
+
case "loaded":
|
|
68
|
+
this.emitEvent("loaded", e.data, e.data.domId);
|
|
69
|
+
break;
|
|
70
|
+
case "unloaded":
|
|
71
|
+
this.emitEvent("unloaded", e.data, e.data.domId);
|
|
72
|
+
break;
|
|
73
|
+
case "availableWMSLayers":
|
|
74
|
+
this.emitEvent("availableWMSLayers", e.data.layers, e.data.domId);
|
|
75
|
+
break;
|
|
76
|
+
case "layerElements":
|
|
77
|
+
this.emitEvent("layerElements", e.data, e.data.domId);
|
|
78
|
+
break;
|
|
79
|
+
case "getToc":
|
|
80
|
+
this.emitEvent("getToc", e.data, e.data.domId);
|
|
81
|
+
break;
|
|
82
|
+
//case "getLegend": this.emitEvent("getLegend", e.data,e.data.domId); break;
|
|
42
83
|
}
|
|
43
|
-
|
|
44
|
-
}
|
|
84
|
+
};
|
|
45
85
|
|
|
46
|
-
emitEvent = (type,data,domId)=>{
|
|
47
|
-
if(domId===this.domId){
|
|
86
|
+
emitEvent = (type, data, domId) => {
|
|
87
|
+
if (domId === this.domId) {
|
|
48
88
|
delete data.domId;
|
|
49
|
-
this.emit(type, data);
|
|
89
|
+
this.emit(type, data);
|
|
50
90
|
}
|
|
51
|
-
}
|
|
91
|
+
};
|
|
52
92
|
|
|
53
93
|
ZoomIn = () => {
|
|
54
94
|
this.com.sendMessageToMap({
|
|
55
95
|
type: "zoomIn",
|
|
56
96
|
sessionToken: this.sessionToken,
|
|
57
|
-
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
58
99
|
|
|
59
|
-
}
|
|
60
|
-
|
|
61
100
|
ZoomOut = () => {
|
|
62
101
|
this.com.sendMessageToMap({
|
|
63
102
|
type: "zoomOut",
|
|
64
103
|
sessionToken: this.sessionToken,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
104
|
+
});
|
|
105
|
+
};
|
|
67
106
|
|
|
68
107
|
AddGeom = (geomtype) => {
|
|
69
108
|
this.com.sendMessageToMap({
|
|
70
109
|
type: "AddGeom",
|
|
71
110
|
geom: geomtype,
|
|
72
111
|
sessionToken: this.sessionToken,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
112
|
+
});
|
|
113
|
+
};
|
|
75
114
|
|
|
76
|
-
toggleLayer = (layer,properties) => {
|
|
77
|
-
if(typeof properties===
|
|
115
|
+
toggleLayer = (layer, properties) => {
|
|
116
|
+
if (typeof properties === "undefined") {
|
|
78
117
|
properties = {
|
|
79
118
|
gutter: null,
|
|
80
119
|
transparent: null,
|
|
81
|
-
singletile: null
|
|
120
|
+
singletile: null,
|
|
82
121
|
};
|
|
83
122
|
}
|
|
84
123
|
|
|
85
|
-
if(properties.singletile!==null){
|
|
86
|
-
if(typeof properties.singletile!==
|
|
124
|
+
if (properties.singletile !== null) {
|
|
125
|
+
if (typeof properties.singletile !== "boolean") {
|
|
87
126
|
properties.singletile = null;
|
|
88
|
-
this.emit("error",{error:"singleTile must be a Boolean"});
|
|
127
|
+
this.emit("error", { error: "singleTile must be a Boolean" });
|
|
89
128
|
}
|
|
90
|
-
}
|
|
91
|
-
if(properties.gutter!==
|
|
92
|
-
if(isNaN(parseInt(properties.gutter))){
|
|
129
|
+
}
|
|
130
|
+
if (properties.gutter !== "" && properties.gutter !== null) {
|
|
131
|
+
if (isNaN(parseInt(properties.gutter))) {
|
|
93
132
|
properties.gutter = null;
|
|
94
|
-
this.emit("error",{error:"Gutter must be a number"});
|
|
133
|
+
this.emit("error", { error: "Gutter must be a number" });
|
|
95
134
|
}
|
|
96
|
-
if(properties.singletile){
|
|
135
|
+
if (properties.singletile) {
|
|
97
136
|
properties.gutter = null;
|
|
98
|
-
this.emit("error",{
|
|
137
|
+
this.emit("error", {
|
|
138
|
+
error:
|
|
139
|
+
"Gutter can only be user with multitile layers; set singletile to false",
|
|
140
|
+
});
|
|
99
141
|
}
|
|
100
|
-
}
|
|
142
|
+
}
|
|
101
143
|
|
|
102
|
-
if(properties.transparent!==null){
|
|
103
|
-
|
|
144
|
+
if (properties.transparent !== null) {
|
|
145
|
+
if (typeof properties.transparent !== "boolean") {
|
|
104
146
|
properties.transparent = null;
|
|
105
|
-
this.emit("error",{error:"transparent must be a Boolean"});
|
|
147
|
+
this.emit("error", { error: "transparent must be a Boolean" });
|
|
106
148
|
}
|
|
107
|
-
}
|
|
149
|
+
}
|
|
108
150
|
this.com.sendMessageToMap({
|
|
109
151
|
type: "toggleLayer",
|
|
110
152
|
layer: layer,
|
|
111
|
-
gutter: !isNaN(parseInt(properties.gutter))
|
|
153
|
+
gutter: !isNaN(parseInt(properties.gutter))
|
|
154
|
+
? parseInt(properties.gutter)
|
|
155
|
+
: null,
|
|
112
156
|
transparent: properties.transparent,
|
|
113
157
|
singletile: properties.singletile,
|
|
114
158
|
sessionToken: this.sessionToken,
|
|
115
|
-
});
|
|
116
|
-
}
|
|
159
|
+
});
|
|
160
|
+
};
|
|
117
161
|
|
|
118
162
|
setActiveLayer = (layer) => {
|
|
119
163
|
this.com.sendMessageToMap({
|
|
120
164
|
type: "setActiveLayer",
|
|
121
165
|
layer: layer,
|
|
122
166
|
sessionToken: this.sessionToken,
|
|
123
|
-
});
|
|
124
|
-
}
|
|
167
|
+
});
|
|
168
|
+
};
|
|
125
169
|
|
|
126
170
|
getActiveLayer = () => {
|
|
127
171
|
this.com.sendMessageToMap({
|
|
128
172
|
type: "getActiveLayer",
|
|
129
173
|
sessionToken: this.sessionToken,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
174
|
+
});
|
|
175
|
+
};
|
|
132
176
|
|
|
133
177
|
loadWMSAvailableLayers = () => {
|
|
134
178
|
this.com.sendMessageToMap({
|
|
135
179
|
type: "loadWMSAvailableLayers",
|
|
136
180
|
sessionToken: this.sessionToken,
|
|
137
|
-
});
|
|
138
|
-
}
|
|
181
|
+
});
|
|
182
|
+
};
|
|
139
183
|
|
|
140
184
|
clear = () => {
|
|
141
185
|
this.com.sendMessageToMap({
|
|
142
186
|
type: "clear",
|
|
143
187
|
sessionToken: this.sessionToken,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
188
|
+
});
|
|
189
|
+
};
|
|
146
190
|
|
|
147
191
|
Highlight = (options) => {
|
|
148
192
|
this.com.sendMessageToMap({
|
|
@@ -150,36 +194,39 @@ class Communicator extends EventEmitter {
|
|
|
150
194
|
geom: options.geom,
|
|
151
195
|
zoom: options.zoom,
|
|
152
196
|
sessionToken: this.sessionToken,
|
|
153
|
-
});
|
|
154
|
-
}
|
|
197
|
+
});
|
|
198
|
+
};
|
|
155
199
|
|
|
156
200
|
zoomToExtent = () => {
|
|
157
201
|
this.com.sendMessageToMap({
|
|
158
202
|
type: "zoomToExtent",
|
|
159
203
|
sessionToken: this.sessionToken,
|
|
160
|
-
});
|
|
161
|
-
}
|
|
204
|
+
});
|
|
205
|
+
};
|
|
162
206
|
|
|
163
|
-
zoomToCoordinates= (lat,lon,zoomLevel) => {
|
|
164
|
-
if(!isNaN(parseInt(zoomLevel))){
|
|
207
|
+
zoomToCoordinates = (lat, lon, zoomLevel) => {
|
|
208
|
+
if (!isNaN(parseInt(zoomLevel))) {
|
|
165
209
|
this.com.sendMessageToMap({
|
|
166
210
|
type: "zoomToCoordinates",
|
|
167
211
|
sessionToken: this.sessionToken,
|
|
168
|
-
coordinates:[lat,lon],
|
|
169
|
-
zoomLevel: zoomLevel
|
|
170
|
-
});
|
|
212
|
+
coordinates: [lat, lon],
|
|
213
|
+
zoomLevel: zoomLevel,
|
|
214
|
+
});
|
|
171
215
|
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
infoFromCoordinates = (type,layer,hitTolerance,format) => {
|
|
175
|
-
const _layer =
|
|
176
|
-
const _hitTolerance =
|
|
177
|
-
|
|
178
|
-
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
infoFromCoordinates = (type, layer, hitTolerance, format) => {
|
|
219
|
+
const _layer = typeof layer == "undefined" ? null : layer;
|
|
220
|
+
const _hitTolerance =
|
|
221
|
+
typeof hitTolerance == "undefined" || !hitTolerance
|
|
222
|
+
? 5
|
|
223
|
+
: parseInt(hitTolerance);
|
|
224
|
+
const _format = typeof format == "undefined" ? "xml" : format.toLowerCase();
|
|
225
|
+
if (_format !== "xml" && _format !== "json") {
|
|
179
226
|
console.error("Format must be 'xml' or 'json");
|
|
180
227
|
return;
|
|
181
228
|
}
|
|
182
|
-
if(isNaN(_hitTolerance)){
|
|
229
|
+
if (isNaN(_hitTolerance)) {
|
|
183
230
|
console.error("hitTolerance must be a number");
|
|
184
231
|
return;
|
|
185
232
|
}
|
|
@@ -190,196 +237,214 @@ class Communicator extends EventEmitter {
|
|
|
190
237
|
format: _format,
|
|
191
238
|
hitTolerance: _hitTolerance,
|
|
192
239
|
sessionToken: this.sessionToken,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
240
|
+
});
|
|
241
|
+
};
|
|
195
242
|
|
|
196
|
-
getElementsFromLayer= (layer,limit,format) => {
|
|
197
|
-
const _format =
|
|
198
|
-
if(_format!=="xml" && _format!==
|
|
243
|
+
getElementsFromLayer = (layer, limit, format) => {
|
|
244
|
+
const _format = typeof format == "undefined" ? "xml" : format.toLowerCase();
|
|
245
|
+
if (_format !== "xml" && _format !== "json") {
|
|
199
246
|
console.error("Format must be 'xml' or 'json");
|
|
200
247
|
return;
|
|
201
248
|
}
|
|
202
|
-
if(isNaN(limit)){
|
|
203
|
-
|
|
249
|
+
if (isNaN(limit)) {
|
|
250
|
+
console.error("Limit must be a number");
|
|
204
251
|
return;
|
|
205
252
|
}
|
|
206
|
-
const _layer =
|
|
253
|
+
const _layer = typeof layer == "undefined" ? null : layer;
|
|
207
254
|
this.com.sendMessageToMap({
|
|
208
255
|
type: "getElementsFromLayer",
|
|
209
256
|
layer: _layer,
|
|
210
|
-
limit:
|
|
257
|
+
limit: typeof limit != "undefined" ? parseInt(limit) : 100,
|
|
211
258
|
format: format,
|
|
212
259
|
sessionToken: this.sessionToken,
|
|
213
|
-
});
|
|
214
|
-
}
|
|
260
|
+
});
|
|
261
|
+
};
|
|
215
262
|
|
|
216
263
|
Geolocalize = (toggle) => {
|
|
217
264
|
this.com.sendMessageToMap({
|
|
218
265
|
type: "Geolocalize",
|
|
219
266
|
toggle: toggle,
|
|
220
267
|
sessionToken: this.sessionToken,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
268
|
+
});
|
|
269
|
+
};
|
|
223
270
|
|
|
224
|
-
toggleGiswaterTiled = (toggle,tiled) => {
|
|
271
|
+
toggleGiswaterTiled = (toggle, tiled) => {
|
|
225
272
|
this.com.sendMessageToMap({
|
|
226
273
|
type: "toggleGiswaterTiled",
|
|
227
274
|
toggle: toggle,
|
|
228
275
|
tiled: tiled,
|
|
229
276
|
sessionToken: this.sessionToken,
|
|
230
|
-
});
|
|
231
|
-
}
|
|
277
|
+
});
|
|
278
|
+
};
|
|
232
279
|
|
|
233
|
-
reloadDisplayedLayers = ()=>{
|
|
280
|
+
reloadDisplayedLayers = () => {
|
|
234
281
|
return this.com.sendMessageToMap({
|
|
235
282
|
type: "reloadDisplayedLayers",
|
|
236
283
|
sessionToken: this.sessionToken,
|
|
237
|
-
});
|
|
238
|
-
}
|
|
284
|
+
});
|
|
285
|
+
};
|
|
239
286
|
|
|
240
|
-
addGeoJSON = (geoJSON,options, name)=>{
|
|
241
|
-
if(geoJSON){
|
|
287
|
+
addGeoJSON = (geoJSON, options, name) => {
|
|
288
|
+
if (geoJSON) {
|
|
242
289
|
return this.com.sendMessageToMap({
|
|
243
290
|
type: "addGeoJSON",
|
|
244
291
|
geoJSON: geoJSON,
|
|
245
|
-
options:
|
|
246
|
-
|
|
292
|
+
options:
|
|
293
|
+
typeof options != "undefined"
|
|
294
|
+
? options
|
|
295
|
+
: { fillcolor: null, strokecolor: null },
|
|
296
|
+
name: name ? name : Math.random().toString(36).substring(7),
|
|
247
297
|
sessionToken: this.sessionToken,
|
|
248
|
-
});
|
|
249
|
-
}else{
|
|
250
|
-
this.emit("error",{error:"No geoJSON data"});
|
|
298
|
+
});
|
|
299
|
+
} else {
|
|
300
|
+
this.emit("error", { error: "No geoJSON data" });
|
|
251
301
|
return;
|
|
252
302
|
}
|
|
253
|
-
}
|
|
303
|
+
};
|
|
254
304
|
|
|
255
|
-
|
|
305
|
+
clearGeoJSON = () => {
|
|
256
306
|
return this.com.sendMessageToMap({
|
|
257
307
|
type: "clearGeoJSON",
|
|
258
308
|
sessionToken: this.sessionToken,
|
|
259
|
-
});
|
|
260
|
-
}
|
|
309
|
+
});
|
|
310
|
+
};
|
|
261
311
|
|
|
262
|
-
|
|
263
|
-
if(name){
|
|
312
|
+
removeGeoJSONLayer = (name) => {
|
|
313
|
+
if (name) {
|
|
264
314
|
return this.com.sendMessageToMap({
|
|
265
315
|
type: "removeGeoJSONLayer",
|
|
266
316
|
name: name,
|
|
267
317
|
sessionToken: this.sessionToken,
|
|
268
|
-
});
|
|
269
|
-
}else{
|
|
270
|
-
this.emit("error",{error:"No geoJSON data"});
|
|
318
|
+
});
|
|
319
|
+
} else {
|
|
320
|
+
this.emit("error", { error: "No geoJSON data" });
|
|
271
321
|
return;
|
|
272
322
|
}
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
setGiswaterFilters = (filters)=>{
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
setGiswaterFilters = (filters) => {
|
|
276
326
|
var filtersJson = filters;
|
|
277
|
-
if(filters){
|
|
278
|
-
if(typeof filters!="object"){
|
|
279
|
-
filters = filters.trim()
|
|
280
|
-
filters = filters.replace(/^\s+|\s+$/g,
|
|
281
|
-
filters = filters.replace(/\\/g,
|
|
282
|
-
try{
|
|
283
|
-
filtersJson = JSON.parse(filters);
|
|
284
|
-
}catch(e){
|
|
285
|
-
this.emit("error",{error:"Filters is not a valid JSON"});
|
|
327
|
+
if (filters) {
|
|
328
|
+
if (typeof filters != "object") {
|
|
329
|
+
filters = filters.trim();
|
|
330
|
+
filters = filters.replace(/^\s+|\s+$/g, "");
|
|
331
|
+
filters = filters.replace(/\\/g, "");
|
|
332
|
+
try {
|
|
333
|
+
filtersJson = JSON.parse(filters);
|
|
334
|
+
} catch (e) {
|
|
335
|
+
this.emit("error", { error: "Filters is not a valid JSON" });
|
|
286
336
|
return;
|
|
287
337
|
}
|
|
288
338
|
}
|
|
289
|
-
|
|
339
|
+
|
|
290
340
|
return this.com.sendMessageToMap({
|
|
291
341
|
type: "setGiswaterFilters",
|
|
292
342
|
filters: filtersJson,
|
|
293
343
|
sessionToken: this.sessionToken,
|
|
294
|
-
});
|
|
295
|
-
}else{
|
|
296
|
-
this.emit("error",{error:"No filters"});
|
|
344
|
+
});
|
|
345
|
+
} else {
|
|
346
|
+
this.emit("error", { error: "No filters" });
|
|
297
347
|
return;
|
|
298
348
|
}
|
|
299
|
-
}
|
|
349
|
+
};
|
|
300
350
|
|
|
301
|
-
getGiswaterLayerAvailableFilters = (layer_name)=>{
|
|
302
|
-
if(layer_name){
|
|
303
|
-
|
|
351
|
+
getGiswaterLayerAvailableFilters = (layer_name) => {
|
|
352
|
+
if (layer_name) {
|
|
353
|
+
return this.com.sendMessageToMap({
|
|
304
354
|
type: "getGiswaterLayerAvailableFilters",
|
|
305
355
|
name: layer_name,
|
|
306
356
|
sessionToken: this.sessionToken,
|
|
307
|
-
});
|
|
308
|
-
}else{
|
|
309
|
-
this.emit("error",{error:"No layer_name"});
|
|
357
|
+
});
|
|
358
|
+
} else {
|
|
359
|
+
this.emit("error", { error: "No layer_name" });
|
|
310
360
|
return;
|
|
311
361
|
}
|
|
312
|
-
}
|
|
362
|
+
};
|
|
313
363
|
|
|
314
|
-
getToc = ()=>{
|
|
364
|
+
getToc = () => {
|
|
315
365
|
return this.com.sendMessageToMap({
|
|
316
366
|
type: "getToc",
|
|
317
367
|
sessionToken: this.sessionToken,
|
|
318
|
-
});
|
|
319
|
-
}
|
|
368
|
+
});
|
|
369
|
+
};
|
|
320
370
|
|
|
321
|
-
setDebug = (what) =>{
|
|
322
|
-
if(!isNaN(parseInt(what))){
|
|
371
|
+
setDebug = (what) => {
|
|
372
|
+
if (!isNaN(parseInt(what))) {
|
|
323
373
|
this.com.sendMessageToMap({
|
|
324
374
|
type: "setDebug",
|
|
325
375
|
what: what,
|
|
326
376
|
sessionToken: this.sessionToken,
|
|
327
377
|
});
|
|
328
|
-
}else{
|
|
378
|
+
} else {
|
|
329
379
|
console.error("Debug is not a integer");
|
|
330
380
|
}
|
|
331
|
-
}
|
|
381
|
+
};
|
|
332
382
|
|
|
333
|
-
setCustomColors = (properties)=>{
|
|
383
|
+
setCustomColors = (properties) => {
|
|
334
384
|
//validate data
|
|
335
|
-
if(typeof properties!==
|
|
385
|
+
if (typeof properties !== "object") {
|
|
336
386
|
console.error("properties is not an object");
|
|
337
387
|
return;
|
|
338
388
|
}
|
|
339
|
-
if(properties.hasOwnProperty(
|
|
340
|
-
if(isNaN(parseInt(properties.geom_stroke_width))){
|
|
389
|
+
if (properties.hasOwnProperty("geom_stroke_width")) {
|
|
390
|
+
if (isNaN(parseInt(properties.geom_stroke_width))) {
|
|
341
391
|
console.error("geom_stroke_width is not an number");
|
|
342
392
|
return;
|
|
343
|
-
}else{
|
|
393
|
+
} else {
|
|
344
394
|
properties.geom_stroke_width = parseInt(properties.geom_stroke_width);
|
|
345
395
|
}
|
|
346
|
-
}else{
|
|
396
|
+
} else {
|
|
347
397
|
properties.geom_stroke_width = 1;
|
|
348
398
|
}
|
|
349
|
-
if(properties.hasOwnProperty(
|
|
350
|
-
if(isNaN(parseInt(properties.geom_radius))){
|
|
399
|
+
if (properties.hasOwnProperty("geom_radius")) {
|
|
400
|
+
if (isNaN(parseInt(properties.geom_radius))) {
|
|
351
401
|
console.error("geom_stroke_width is not an number");
|
|
352
402
|
return;
|
|
353
|
-
}else{
|
|
403
|
+
} else {
|
|
354
404
|
properties.geom_radius = parseInt(properties.geom_radius);
|
|
355
405
|
}
|
|
356
|
-
}else{
|
|
406
|
+
} else {
|
|
357
407
|
properties.geom_radius = 4;
|
|
358
408
|
}
|
|
359
409
|
|
|
360
|
-
if(properties.hasOwnProperty(
|
|
361
|
-
if(
|
|
362
|
-
properties.geom_shape
|
|
410
|
+
if (properties.hasOwnProperty("geom_shape")) {
|
|
411
|
+
if (
|
|
412
|
+
properties.geom_shape !== "circle" &&
|
|
413
|
+
properties.geom_shape !== "square"
|
|
414
|
+
) {
|
|
415
|
+
properties.geom_shape = "circle";
|
|
363
416
|
console.error("geom_shape must be either 'circle' or 'square'");
|
|
364
417
|
}
|
|
365
418
|
}
|
|
366
419
|
this.com.sendMessageToMap({
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
420
|
+
type: "setCustomColors",
|
|
421
|
+
properties: properties,
|
|
422
|
+
sessionToken: this.sessionToken,
|
|
370
423
|
});
|
|
371
|
-
}
|
|
424
|
+
};
|
|
372
425
|
|
|
373
|
-
changeBackground = (newBackground)=>{
|
|
426
|
+
changeBackground = (newBackground) => {
|
|
374
427
|
return this.com.sendMessageToMap({
|
|
375
428
|
type: "changeBackground",
|
|
376
429
|
sessionToken: this.sessionToken,
|
|
377
|
-
newBackground: newBackground
|
|
378
|
-
});
|
|
379
|
-
}
|
|
430
|
+
newBackground: newBackground,
|
|
431
|
+
});
|
|
432
|
+
};
|
|
380
433
|
|
|
434
|
+
initMeasure = (measure, text) => {
|
|
435
|
+
return this.com.sendMessageToMap({
|
|
436
|
+
type: "initMeasure",
|
|
437
|
+
sessionToken: this.sessionToken,
|
|
438
|
+
measure,
|
|
439
|
+
text,
|
|
440
|
+
});
|
|
441
|
+
};
|
|
442
|
+
cancelMeasure = () => {
|
|
443
|
+
return this.com.sendMessageToMap({
|
|
444
|
+
type: "cancelMeasure",
|
|
445
|
+
sessionToken: this.sessionToken,
|
|
446
|
+
});
|
|
447
|
+
};
|
|
381
448
|
}
|
|
382
449
|
|
|
383
|
-
export {
|
|
384
|
-
Communicator,
|
|
385
|
-
}
|
|
450
|
+
export { Communicator };
|