@openremote/or-map 1.15.1 → 1.15.2
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/umd/index.bundle.js +1 -1
- package/dist/umd/index.bundle.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.orbundle.js +2 -2
- package/dist/umd/index.orbundle.js.map +1 -1
- package/lib/mapwidget.d.ts.map +1 -1
- package/lib/mapwidget.js +1 -1
- package/lib/mapwidget.js.map +1 -1
- package/package.json +7 -6
- package/stories/map.stories.ts +106 -0
package/lib/mapwidget.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapwidget.d.ts","sourceRoot":"","sources":["../src/mapwidget.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mapwidget.d.ts","sourceRoot":"","sources":["../src/mapwidget.ts"],"names":[],"mappings":"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"}
|
package/lib/mapwidget.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let pkey;var __awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))(function(o,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function n(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(a,n)}l((i=i.apply(e,t||[])).next())})};import e,{DefaultColor4 as t}from"@openremote/core";import s,{GeolocateControl as i,Marker as o,NavigationControl as r}from"maplibre-gl";import a from"@maplibre/maplibre-gl-geocoder";import"@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css";import n from"lodash.debounce";import{OrMapClickedEvent as l,OrMapGeocoderChangeEvent as h,OrMapLoadedEvent as _,OrMapLongPressEvent as d,OrMapMarkersChangedEvent as c}from"./index";import{getLatLngBounds as p,getLngLat as m,getMarkerIconAndColorFromAssetType as u,isWebglSupported as g}from"./util";import{isMapboxURL as y,transformMapboxUrl as v}from"./util/mapbox-url";import{OrClusterMarker as G}from"./markers/or-cluster-marker";let mapboxJsStyles=require("mapbox.js/dist/mapbox.css"),maplibreGlStyles=require("maplibre-gl/dist/maplibre-gl.css"),maplibreGeoCoderStyles=require("@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css"),metersToPixelsAtMaxZoom=(e,t)=>e/.075/Math.cos(t*Math.PI/180);export class MapWidget{constructor(e,t,s,i=!1,o=!1,r=!0,a=!0,n){this._loaded=!1,this._markersJs=new Map,this._markersGl=new Map,this._geoJsonSources=[],this._geoJsonLayers=new Map,this._showGeoCodingControl=!1,this._showBoundaryBox=!1,this._useZoomControls=!0,this._showGeoJson=!0,this._clickHandlers=new Map,this._pointsMap={type:"FeatureCollection",features:[]},this._assetTypeColors={},this._cachedMarkers={},this._markersOnScreen={},this._assetsOnScreen={},this._type=e,this._styleParent=t,this._mapContainer=s,this._showGeoCodingControl=i,this._showBoundaryBox=o,this._useZoomControls=r,this._showGeoJson=a,this._clusterConfig=n}setCenter(e){switch(this._center=m(e),this._type){case"RASTER":if(this._mapJs){let e=m(this._center)||(this._viewSettings?m(this._viewSettings.center):void 0);e&&this._mapJs.setView(e,void 0,{pan:{animate:!1},zoom:{animate:!1}})}break;case"VECTOR":this._mapGl&&this._center&&this._mapGl.setCenter(this._center)}return this}flyTo(e,t){switch(this._type){case"RASTER":this._mapJs;break;case"VECTOR":e||(e=this._center?this._center:this._viewSettings?this._viewSettings.center:void 0),t||(t=this._zoom?this._zoom:this._viewSettings&&this._viewSettings.zoom?this._viewSettings.zoom:void 0),this._mapGl?e&&this._mapGl.flyTo({center:e,zoom:t}):(this._center=e,this._zoom=t)}return this}resize(){switch(this._type){case"RASTER":this._mapJs;break;case"VECTOR":this._mapGl&&this._mapGl.resize()}return this}setZoom(e){switch(this._zoom=e,this._type){case"RASTER":this._mapJs&&this._zoom&&this._mapJs.setZoom(this._zoom,{animate:!1});break;case"VECTOR":this._mapGl&&this._zoom&&this._mapGl.setZoom(this._zoom)}return this}setControls(e){return this._controls=e,this._mapGl&&(this._controls?this._controls.forEach(e=>{Array.isArray(e)?this._mapGl.addControl(e[0],e[1]):this._mapGl.addControl(e)}):this._mapGl.addControl(new r)),this}setGeoJson(e){var t;return this._geoJsonConfig=e,this._mapGl&&(this._geoJsonConfig?this._loadGeoJSON(this._geoJsonConfig):this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson)),this}loadViewSettings(){return __awaiter(this,void 0,void 0,function*(){var t;let s=("RASTER"===this._type?yield e.rest.api.MapResource.getSettingsJs():yield e.rest.api.MapResource.getSettings()).data;if(s.override)return s.override;let i=e.displayRealm||"default";return this._viewSettings=s.options?s.options[i]?s.options[i]:s.options.default:null,this._viewSettings&&(this._mapGl&&(this._mapGl.setMinZoom(this._viewSettings.minZoom),this._mapGl.setMaxZoom(this._viewSettings.maxZoom),this._viewSettings.bounds&&this._mapGl.setMaxBounds(this._viewSettings.bounds),this._geoJsonConfig?yield this._loadGeoJSON(this._geoJsonConfig):yield this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson)),this._center?this.setCenter(this._center):this.setCenter(this._viewSettings.center)),s})}build(){return __awaiter(this,void 0,void 0,function*(){var t;if(!this._loaded){if("RASTER"===this._type){let e,t=document.createElement("style");t.id="mapboxJsStyle",t.textContent=mapboxJsStyles,this._styleParent.appendChild(t);let s=yield this.loadViewSettings();if(this._viewSettings){if((e={}).zoom=this._viewSettings.zoom?this._viewSettings.zoom+1:void 0,this._useZoomControls&&(e.maxZoom=this._viewSettings.maxZoom?this._viewSettings.maxZoom-1:void 0,e.minZoom=this._viewSettings.minZoom?this._viewSettings.minZoom+1:void 0),e.boxZoom=this._viewSettings.boxZoom,this._viewSettings.bounds&&(e.maxBounds=p(this._viewSettings.bounds)),this._viewSettings.center){let t=m(this._viewSettings.center);e.center=t?L.latLng(t.lat,t.lng):void 0}if(this._center){let t=m(this._center);e.center=t?L.latLng(t.lat,t.lng):void 0}this._zoom&&(e.zoom=this._zoom+1)}if(this._mapJs=L.mapbox.map(this._mapContainer,s,e),this._mapJs.on("click",e=>{this._onMapClick(e.latlng)}),e&&e.maxBounds){let t=this._mapJs.getBoundsZoom(e.maxBounds,!0);(!e.minZoom||e.minZoom<t)&&this._mapJs.setMinZoom(t)}}else{let o=document.createElement("style");o.id="maplibreGlStyle",o.textContent=maplibreGlStyles,this._styleParent.appendChild(o),(o=document.createElement("style")).id="maplibreGeoCoderStyles",o.textContent=maplibreGeoCoderStyles,this._styleParent.appendChild(o);let l=yield import("maplibre-gl"),h=yield this.loadViewSettings(),_={attributionControl:{compact:!0},container:this._mapContainer,style:h,transformRequest:(t,s)=>(pkey||(pkey=new URL(t).searchParams.get("access_token")||""),y(t))?v(t,pkey,s):{headers:new URL(window.origin).hostname===new URL(t).hostname?{Authorization:e.getAuthorizationHeader()}:{},url:t}};if(this._viewSettings&&(this._useZoomControls&&(_.maxZoom=this._viewSettings.maxZoom,_.minZoom=this._viewSettings.minZoom),this._viewSettings.bounds&&!this._showBoundaryBox&&(_.maxBounds=this._viewSettings.bounds),_.boxZoom=this._viewSettings.boxZoom,_.zoom=this._viewSettings.zoom,_.center=this._viewSettings.center),this._center=this._center||(this._viewSettings?this._viewSettings.center:void 0),_.center=this._center,this._zoom&&(_.zoom=this._zoom),!g())return void console.warn("WebGL is not supported in this environment. The map cannot be initialized.");this._mapGl=new l.Map(_),yield this._styleLoaded(),this._mapGl.on("click",e=>{this._onMapClick(e.lngLat)}),this._mapGl.on("dblclick",e=>{this._onMapClick(e.lngLat,!0)}),this._showGeoCodingControl&&this._viewSettings&&this._viewSettings.geocodeUrl&&(this._geocoder=new a({forwardGeocode:this._forwardGeocode.bind(this),reverseGeocode:this._reverseGeocode},{maplibregl:s,showResultsWhileTyping:!0}),this._geocoder._onKeyDown=n(e=>{if(27===e.keyCode&&this._geocoder.options.clearAndBlurOnEsc)return this._geocoder._clear(e),this._geocoder._inputEl.blur();var t=this._geocoder._inputEl.value||e.key;if(!t)return this._geocoder.fresh=!0,9!==e.keyCode&&this._geocoder.clear(e),this._geocoder._clearEl.style.display="none";if(!e.metaKey&&-1===[9,27,37,39,38,40].indexOf(e.keyCode)){if(13===e.keyCode)if(this._geocoder.options.showResultsWhileTyping){this._geocoder.options.showResultMarkers&&this._geocoder._fitBoundsForMarkers(),this._geocoder._inputEl.value=this._geocoder._typeahead.query,this._geocoder.lastSelected=null,this._geocoder._typeahead.selected=null;return}else this._geocoder._typeahead.list.selectingListItem||this._geocoder._geocode(t);t.length>=this._geocoder.options.minLength&&this._geocoder.options.showResultsWhileTyping&&this._geocoder._geocode(t)}},300),this._mapGl.addControl(this._geocoder,"top-left"),this._geocoder._inputEl.addEventListener("change",()=>{var e=this._geocoder._typeahead.selected;this._onGeocodeChange(e)})),this._controls?this._controls.forEach(e=>{Array.isArray(e)?this._mapGl.addControl(e[0],e[1]):this._mapGl.addControl(e)}):(this._mapGl.addControl(new r),this._mapGl.addControl(new i({positionOptions:{enableHighAccuracy:!0},showAccuracyCircle:!0,showUserLocation:!0}))),this._geoJsonConfig?yield this._loadGeoJSON(this._geoJsonConfig):yield this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson),this._initLongPressEvent(),this._mapGl.on("load",()=>__awaiter(this,void 0,void 0,function*(){return yield this.load()}))}this._mapContainer.dispatchEvent(new _),this._loaded=!0,this.createBoundaryBox()}})}_styleLoaded(){return new Promise(e=>{this._mapGl&&this._mapGl.once("style.load",e)})}load(){return __awaiter(this,void 0,void 0,function*(){var e,t,s,i,o,r;this._mapGl&&this._loaded?(this._mapGl.getSource("mapPoints")&&(this._mapGl.getLayer("unclustered-point")&&this._mapGl.removeLayer("unclustered-point"),this._mapGl.getLayer("clusters")&&this._mapGl.removeLayer("clusters"),this._mapGl.getLayer("cluster-count")&&this._mapGl.removeLayer("cluster-count"),this._mapGl.removeSource("mapPoints")),this._mapGl.addSource("mapPoints",{type:"geojson",cluster:null==(t=null==(e=this._clusterConfig)?void 0:e.cluster)||t,clusterRadius:null!=(i=null==(s=this._clusterConfig)?void 0:s.clusterRadius)?i:180,clusterMaxZoom:null!=(r=null==(o=this._clusterConfig)?void 0:o.clusterMaxZoom)?r:17,data:this._pointsMap,clusterProperties:Object.fromEntries(Object.keys(this._assetTypeColors).map(e=>[e,["+",["case",["==",["get","assetType"],e],1,0]]]))}),this._mapGl.getLayer("unclustered-point")||this._mapGl.addLayer({id:"unclustered-point",type:"circle",source:"mapPoints",filter:["!",["has","point_count"]],paint:{"circle-radius":0}}),this._mapGl.on("data",e=>__awaiter(this,void 0,void 0,function*(){!this._mapGl||"mapPoints"===e.sourceId&&e.isSourceLoaded&&(this._mapGl.off("move",()=>this._updateMarkers()),this._mapGl.off("moveend",()=>this._updateMarkers()),this._mapGl.on("move",n(()=>this._updateMarkers())),this._mapGl.on("moveend",()=>this._updateMarkers()),this._updateMarkers())}))):console.warn("MapLibre Map not initialized!")})}unload(){this._mapGl&&(this._mapGl.remove(),this._mapGl=void 0),this._mapJs&&(this._mapJs.remove(),this._mapJs=void 0)}_onMapClick(e,t=!1){this._mapContainer.dispatchEvent(new l(e,t))}_loadGeoJSON(e){return __awaiter(this,void 0,void 0,function*(){if(this._geoJsonLayers.size>0&&(this._geoJsonLayers.forEach((e,t)=>this._mapGl.removeLayer(t)),this._geoJsonLayers=new Map),this._geoJsonSources.length>0&&(this._geoJsonSources.forEach(e=>this._mapGl.removeSource(e)),this._geoJsonSources=[]),this._showGeoJson&&e)if("FeatureCollection"==e.source.type){let t=this.groupSourcesByGeometryType(e.source);null==t||t.forEach((e,t)=>{let s=this.addGeoJSONSource({type:"geojson",data:{type:"FeatureCollection",features:e}});s&&this.addGeoJSONLayer(t,s.sourceId)})}else if("Feature"==e.source.type){let t=this.addGeoJSONSource(e.source);t&&this.addGeoJSONLayer(t.source.type,t.sourceId)}else console.error("Could not create layer since source type is neither 'FeatureCollection' nor 'Feature'.")})}groupSourcesByGeometryType(e){let t=new Map;return e.features.forEach(e=>{let s=t.get(e.geometry.type);void 0==s&&(s=[]),s.push(e),t.set(e.geometry.type,s)}),t}addGeoJSONSource(e){if(!this._mapGl)return void console.error("mapGl instance not found!");let t=Date.now()+"-"+(this._geoJsonSources.length+1);return this._mapGl.addSource(t,e),this._geoJsonSources.push(t),{source:e,sourceId:t}}addGeoJSONLayer(e,s){if(!this._mapGl)return void console.error("mapGl instance not found!");let i=s+"-"+e;if(void 0==this._geoJsonLayers.get(i)){let o=getComputedStyle(this._mapContainer).getPropertyValue("--or-app-color4");(void 0==o||0==o.length)&&(o=t);let r={id:i,source:s};switch(e){case"Point":case"MultiPoint":r.type="circle",r.paint={"circle-radius":12,"circle-color":o},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);break;case"LineString":case"MultiLineString":r.type="line",r.paint={"line-color":o,"line-width":4},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);break;case"Polygon":case"MultiPolygon":{r.type="fill",r.paint={"fill-color":o,"fill-opacity":.3},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);let e=i+"-outline",t={id:e,source:s,type:"line",paint:{"line-color":o,"line-width":2}};this._geoJsonLayers.set(e,t),this._mapGl.addLayer(t);break}case"GeometryCollection":return void console.error("GeometryCollection GeoJSON is not implemented yet!")}}}addMarker(e){e.hasPosition()&&this._updateMarkerElement(e,!0)}_updateMarkers(){if(!this._mapGl)return;let e={},t=this._mapGl.querySourceFeatures("mapPoints");for(let i of t){if(!i.properties.id)continue;let t=i.properties.id,o=i.geometry.coordinates,r=this._cachedMarkers[t];if(!r){let e=document.createElement("div");r=this._cachedMarkers[t]=new s.Marker({element:e}).setLngLat(o)}e[t]=r,this._markersOnScreen[t]||(r.addTo(this._mapGl),this._assetsOnScreen[t]=JSON.parse(i.properties.asset))}for(let i of t){if(!i.properties.cluster)continue;let t=i.properties.cluster_id,[o,r]=i.geometry.coordinates,a=this._cachedMarkers[t];if(!a){let e=Object.entries(i.properties).filter(([e])=>this._assetTypeColors.hasOwnProperty(e)).map(([e,t])=>[e,this._assetTypeColors[e],t]);a=this._cachedMarkers[t]=new s.Marker({element:new G(e,t,o,r,this._mapGl)}).setLngLat([o,r])}e[t]=a,this._markersOnScreen[t]||a.addTo(this._mapGl)}for(let t in this._markersOnScreen){let s=e[t];(!s||s._element instanceof G&&!s._element.hasTypes(Object.keys(this._assetTypeColors)))&&(this._markersOnScreen[t].remove(),delete this._assetsOnScreen[t])}this._markersOnScreen=e,this._mapContainer.dispatchEvent(new c(Object.values(this._assetsOnScreen)))}addAssetMarker(e,t,s,i,o,r){var a;this._assetTypeColors[s]=null==(a=u(s))?void 0:a.color,this._pointsMap.features.push({type:"Feature",properties:{name:t,id:e,assetType:s,asset:r},geometry:{type:"Point",coordinates:[i,o]}})}cleanUpAssetMarkers(){this._assetTypeColors={},this._pointsMap={type:"FeatureCollection",features:[]}}removeMarker(e){this._removeMarkerRadius(e),this._updateMarkerElement(e,!1)}onMarkerChanged(e,t){if(this._loaded)switch(t){case"lat":case"lng":case"radius":e.hasPosition()?e._actualMarkerElement?this._updateMarkerPosition(e):this._updateMarkerElement(e,!0):e._actualMarkerElement&&this._updateMarkerElement(e,!1)}}_updateMarkerPosition(e){switch(this._type){case"RASTER":let t=this._markersJs.get(e);t&&t.setLatLng([e.lat,e.lng]);break;case"VECTOR":let s=this._markersGl.get(e);s&&s.setLngLat([e.lng,e.lat])}this._createMarkerRadius(e)}_updateMarkerElement(e,t){switch(this._type){case"RASTER":let s=this._markersJs.get(e);if(s&&(this._removeMarkerClickHandler(e,e.markerContainer),e._actualMarkerElement=void 0,s.removeFrom(this._mapJs),this._markersJs.delete(e)),t){let t=e._createMarkerElement();if(t){let i=L.divIcon({html:t.outerHTML,className:"or-marker-raster"});(s=L.marker([e.lat,e.lng],{icon:i,clickable:e.interactive})).addTo(this._mapJs),e._actualMarkerElement=s.getElement()?s.getElement().firstElementChild:void 0,e.interactive&&this._addMarkerClickHandler(e,e.markerContainer),this._markersJs.set(e,s)}e.radius&&this._createMarkerRadius(e)}break;case"VECTOR":let i=this._markersGl.get(e);if(i&&(e._actualMarkerElement=void 0,this._removeMarkerClickHandler(e,i.getElement()),i.remove(),this._markersGl.delete(e)),t){let t=e._createMarkerElement();t&&(i=new o({element:t,anchor:"top-left"}).setLngLat([e.lng,e.lat]).addTo(this._mapGl),this._markersGl.set(e,i),e._actualMarkerElement=i.getElement(),e.interactive&&this._addMarkerClickHandler(e,i.getElement())),e.radius&&this._createMarkerRadius(e)}}}_removeMarkerRadius(e){this._mapGl&&this._loaded&&e.radius&&e.lat&&e.lng&&this._mapGl.getSource("circleData")&&(this._mapGl.removeLayer("marker-radius-circle"),this._mapGl.removeSource("circleData"))}_createMarkerRadius(e){this._mapGl&&this._loaded&&e.radius&&e.lat&&e.lng&&(this._removeMarkerRadius(e),this._mapGl.addSource("circleData",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[e.lng,e.lat]},properties:{title:"You Found Me"}}]}}),this._mapGl.addLayer({id:"marker-radius-circle",type:"circle",source:"circleData",paint:{"circle-radius":["interpolate",["linear"],["zoom"],0,0,20,metersToPixelsAtMaxZoom(e.radius,e.lat)],"circle-color":"red","circle-opacity":.3}}))}createBoundaryBox(e=[]){var t,s;if(this._mapGl&&this._loaded&&this._showBoundaryBox&&(null==(t=this._viewSettings)?void 0:t.bounds)){this._mapGl.getSource("bounds")&&(this._mapGl.removeLayer("bounds"),this._mapGl.removeSource("bounds")),4!==e.length&&(e=null==(s=this._viewSettings)?void 0:s.bounds.toString().split(","));var i=[[[e[0],e[3]],[e[2],e[3]],[e[2],e[1]],[e[0],e[1]],[e[0],e[3]]]];this._mapGl.fitBounds([parseFloat(e[0])+.01,parseFloat(e[1])-.01,parseFloat(e[2])-.01,parseFloat(e[3])+.01]),this._mapGl.addSource("bounds",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:i}}}),this._mapGl.addLayer({id:"bounds",type:"fill",source:"bounds",paint:{"fill-color":"#FF0000","fill-opacity":.4}})}}_addMarkerClickHandler(e,t){if(t){let s=t=>{t.stopPropagation(),e._onClick(t)};this._clickHandlers.set(e,s),t.addEventListener("click",s)}}_removeMarkerClickHandler(e,t){let s=this._clickHandlers.get(e);s&&t&&(t.removeEventListener("click",s),this._clickHandlers.delete(e))}_forwardGeocode(e){return __awaiter(this,void 0,void 0,function*(){let t=[];try{let s=this._viewSettings.geocodeUrl+"/search?q="+e.query+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(s);for(let e of(yield i.json()).features){let s=[e.bbox[0]+(e.bbox[2]-e.bbox[0])/2,e.bbox[1]+(e.bbox[3]-e.bbox[1])/2],i={type:"Feature",geometry:{type:"Point",coordinates:s},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:s};t.push(i)}}catch(e){console.error(`Failed to forwardGeocode with error: ${e}`)}return{features:t}})}_reverseGeocode(e){return __awaiter(this,void 0,void 0,function*(){let t=[];try{let s=this._viewSettings.geocodeUrl+"/reverse?lat="+e.lat+"&lon="+e.lon+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(s);for(let e of(yield i.json()).features){let s=[e.bbox[0]+(e.bbox[2]-e.bbox[0])/2,e.bbox[1]+(e.bbox[3]-e.bbox[1])/2],i={type:"Feature",geometry:{type:"Point",coordinates:s},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:s};t.push(i)}}catch(e){console.error(`Failed to reverseGeocode with error: ${e}`)}return{features:t}})}_initLongPressEvent(){if(this._mapGl){let e,t,s=()=>{e&&clearTimeout(e),e=null};this._mapGl.on("touchstart",s=>{s.originalEvent.touches.length>1||(t=s.lngLat,e=setTimeout(()=>{this._onLongPress(t)},500))}),this._mapGl.on("mousedown",s=>{e||(t=s.lngLat,e=setTimeout(()=>{this._onLongPress(t),e=null},500))}),this._mapGl.on("dragstart",s),this._mapGl.on("mouseup",s),this._mapGl.on("touchend",s),this._mapGl.on("touchcancel",s),this._mapGl.on("touchmove",s),this._mapGl.on("moveend",s),this._mapGl.on("gesturestart",s),this._mapGl.on("gesturechange",s),this._mapGl.on("gestureend",s)}}_onLongPress(e){this._mapContainer.dispatchEvent(new d(e))}_onGeocodeChange(e){this._mapContainer.dispatchEvent(new h(e))}}
|
|
1
|
+
let pkey;var __awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))(function(o,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function n(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(a,n)}l((i=i.apply(e,t||[])).next())})};import e,{DefaultColor4 as t}from"@openremote/core";import s,{GeolocateControl as i,Marker as o,NavigationControl as r}from"maplibre-gl";import a from"@maplibre/maplibre-gl-geocoder";import"@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css";import n from"lodash.debounce";import{OrMapClickedEvent as l,OrMapGeocoderChangeEvent as h,OrMapLoadedEvent as c,OrMapLongPressEvent as _,OrMapMarkersChangedEvent as d}from"./index";import{getLatLngBounds as p,getLngLat as m,getMarkerIconAndColorFromAssetType as u,isWebglSupported as g}from"./util";import{isMapboxURL as y,transformMapboxUrl as v}from"./util/mapbox-url";import{OrClusterMarker as G}from"./markers/or-cluster-marker";let mapboxJsStyles=require("mapbox.js/dist/mapbox.css"),maplibreGlStyles=require("maplibre-gl/dist/maplibre-gl.css"),maplibreGeoCoderStyles=require("@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css"),metersToPixelsAtMaxZoom=(e,t)=>e/.075/Math.cos(t*Math.PI/180);export class MapWidget{constructor(e,t,s,i=!1,o=!1,r=!0,a=!0,n){this._loaded=!1,this._markersJs=new Map,this._markersGl=new Map,this._geoJsonSources=[],this._geoJsonLayers=new Map,this._showGeoCodingControl=!1,this._showBoundaryBox=!1,this._useZoomControls=!0,this._showGeoJson=!0,this._clickHandlers=new Map,this._pointsMap={type:"FeatureCollection",features:[]},this._assetTypeColors={},this._cachedMarkers={},this._markersOnScreen={},this._assetsOnScreen={},this._type=e,this._styleParent=t,this._mapContainer=s,this._showGeoCodingControl=i,this._showBoundaryBox=o,this._useZoomControls=r,this._showGeoJson=a,this._clusterConfig=n}setCenter(e){switch(this._center=m(e),this._type){case"RASTER":if(this._mapJs){let e=m(this._center)||(this._viewSettings?m(this._viewSettings.center):void 0);e&&this._mapJs.setView(e,void 0,{pan:{animate:!1},zoom:{animate:!1}})}break;case"VECTOR":this._mapGl&&this._center&&this._mapGl.setCenter(this._center)}return this}flyTo(e,t){switch(this._type){case"RASTER":this._mapJs;break;case"VECTOR":e||(e=this._center?this._center:this._viewSettings?this._viewSettings.center:void 0),t||(t=this._zoom?this._zoom:this._viewSettings&&this._viewSettings.zoom?this._viewSettings.zoom:void 0),this._mapGl?e&&this._mapGl.flyTo({center:e,zoom:t}):(this._center=e,this._zoom=t)}return this}resize(){switch(this._type){case"RASTER":this._mapJs;break;case"VECTOR":this._mapGl&&this._mapGl.resize()}return this}setZoom(e){switch(this._zoom=e,this._type){case"RASTER":this._mapJs&&this._zoom&&this._mapJs.setZoom(this._zoom,{animate:!1});break;case"VECTOR":this._mapGl&&this._zoom&&this._mapGl.setZoom(this._zoom)}return this}setControls(e){return this._controls=e,this._mapGl&&(this._controls?this._controls.forEach(e=>{Array.isArray(e)?this._mapGl.addControl(e[0],e[1]):this._mapGl.addControl(e)}):this._mapGl.addControl(new r)),this}setGeoJson(e){var t;return this._geoJsonConfig=e,this._mapGl&&(this._geoJsonConfig?this._loadGeoJSON(this._geoJsonConfig):this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson)),this}loadViewSettings(){return __awaiter(this,void 0,void 0,function*(){var t;let s=("RASTER"===this._type?yield e.rest.api.MapResource.getSettingsJs():yield e.rest.api.MapResource.getSettings()).data;if(s.override)return s.override;let i=e.displayRealm||"default";return this._viewSettings=s.options?s.options[i]?s.options[i]:s.options.default:null,this._viewSettings&&(this._mapGl&&(this._mapGl.setMinZoom(this._viewSettings.minZoom),this._mapGl.setMaxZoom(this._viewSettings.maxZoom),this._viewSettings.bounds&&this._mapGl.setMaxBounds(this._viewSettings.bounds),this._geoJsonConfig?yield this._loadGeoJSON(this._geoJsonConfig):yield this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson)),this._center?this.setCenter(this._center):this.setCenter(this._viewSettings.center)),s})}build(){return __awaiter(this,void 0,void 0,function*(){var t;if(!this._loaded){if("RASTER"===this._type){let e,t=document.createElement("style");t.id="mapboxJsStyle",t.textContent=mapboxJsStyles,this._styleParent.appendChild(t);let s=yield this.loadViewSettings();if(this._viewSettings){if((e={}).zoom=this._viewSettings.zoom?this._viewSettings.zoom+1:void 0,this._useZoomControls&&(e.maxZoom=this._viewSettings.maxZoom?this._viewSettings.maxZoom-1:void 0,e.minZoom=this._viewSettings.minZoom?this._viewSettings.minZoom+1:void 0),e.boxZoom=this._viewSettings.boxZoom,this._viewSettings.bounds&&(e.maxBounds=p(this._viewSettings.bounds)),this._viewSettings.center){let t=m(this._viewSettings.center);e.center=t?L.latLng(t.lat,t.lng):void 0}if(this._center){let t=m(this._center);e.center=t?L.latLng(t.lat,t.lng):void 0}this._zoom&&(e.zoom=this._zoom+1)}if(this._mapJs=L.mapbox.map(this._mapContainer,s,e),this._mapJs.on("click",e=>{this._onMapClick(e.latlng)}),e&&e.maxBounds){let t=this._mapJs.getBoundsZoom(e.maxBounds,!0);(!e.minZoom||e.minZoom<t)&&this._mapJs.setMinZoom(t)}}else{let o=document.createElement("style");o.id="maplibreGlStyle",o.textContent=maplibreGlStyles,this._styleParent.appendChild(o),(o=document.createElement("style")).id="maplibreGeoCoderStyles",o.textContent=maplibreGeoCoderStyles,this._styleParent.appendChild(o);let l=yield import("maplibre-gl"),h=yield this.loadViewSettings(),c={attributionControl:{compact:!0},container:this._mapContainer,style:h,transformRequest:(t,s)=>(pkey||(pkey=new URL(t).searchParams.get("access_token")||""),y(t))?v(t,pkey,s):{headers:new URL(window.origin).hostname===new URL(t).hostname?{Authorization:e.getAuthorizationHeader()}:{},url:t}};if(this._viewSettings&&(this._useZoomControls&&(c.maxZoom=this._viewSettings.maxZoom,c.minZoom=this._viewSettings.minZoom),this._viewSettings.bounds&&!this._showBoundaryBox&&(c.maxBounds=this._viewSettings.bounds),c.boxZoom=this._viewSettings.boxZoom,c.zoom=this._viewSettings.zoom,c.center=this._viewSettings.center),this._center=this._center||(this._viewSettings?this._viewSettings.center:void 0),c.center=this._center,this._zoom&&(c.zoom=this._zoom),!g())return void console.warn("WebGL is not supported in this environment. The map cannot be initialized.");this._mapGl=new l.Map(c),yield this._styleLoaded(),this._mapGl.on("click",e=>{this._onMapClick(e.lngLat)}),this._mapGl.on("dblclick",e=>{this._onMapClick(e.lngLat,!0)}),this._showGeoCodingControl&&this._viewSettings&&this._viewSettings.geocodeUrl&&(this._geocoder=new a({forwardGeocode:this._forwardGeocode.bind(this),reverseGeocode:this._reverseGeocode},{maplibregl:s,showResultsWhileTyping:!0}),this._geocoder._onKeyDown=n(e=>{if(27===e.keyCode&&this._geocoder.options.clearAndBlurOnEsc)return this._geocoder._clear(e),this._geocoder._inputEl.blur();var t=this._geocoder._inputEl.value||e.key;if(!t)return this._geocoder.fresh=!0,9!==e.keyCode&&this._geocoder.clear(e),this._geocoder._clearEl.style.display="none";if(!e.metaKey&&-1===[9,27,37,39,38,40].indexOf(e.keyCode)){if(13===e.keyCode)if(this._geocoder.options.showResultsWhileTyping){this._geocoder.options.showResultMarkers&&this._geocoder._fitBoundsForMarkers(),this._geocoder._inputEl.value=this._geocoder._typeahead.query,this._geocoder.lastSelected=null,this._geocoder._typeahead.selected=null;return}else this._geocoder._typeahead.list.selectingListItem||this._geocoder._geocode(t);t.length>=this._geocoder.options.minLength&&this._geocoder.options.showResultsWhileTyping&&this._geocoder._geocode(t)}},300),this._mapGl.addControl(this._geocoder,"top-left"),this._geocoder._inputEl.addEventListener("change",()=>{var e=this._geocoder._typeahead.selected;this._onGeocodeChange(e)})),this._controls?this._controls.forEach(e=>{Array.isArray(e)?this._mapGl.addControl(e[0],e[1]):this._mapGl.addControl(e)}):(this._mapGl.addControl(new r),this._mapGl.addControl(new i({positionOptions:{enableHighAccuracy:!0},showAccuracyCircle:!0,showUserLocation:!0}))),this._geoJsonConfig?yield this._loadGeoJSON(this._geoJsonConfig):yield this._loadGeoJSON(null==(t=this._viewSettings)?void 0:t.geoJson),this._initLongPressEvent(),this._mapGl.on("load",()=>__awaiter(this,void 0,void 0,function*(){return yield this.load()}))}this._mapContainer.dispatchEvent(new c),this._loaded=!0,this.createBoundaryBox()}})}_styleLoaded(){return new Promise(e=>{this._mapGl&&this._mapGl.once("style.load",e)})}load(){return __awaiter(this,void 0,void 0,function*(){var e,t,s,i,o,r;this._mapGl&&this._loaded?(this._mapGl.getSource("mapPoints")&&(this._mapGl.getLayer("unclustered-point")&&this._mapGl.removeLayer("unclustered-point"),this._mapGl.getLayer("clusters")&&this._mapGl.removeLayer("clusters"),this._mapGl.getLayer("cluster-count")&&this._mapGl.removeLayer("cluster-count"),this._mapGl.removeSource("mapPoints")),this._mapGl.addSource("mapPoints",{type:"geojson",cluster:null==(t=null==(e=this._clusterConfig)?void 0:e.cluster)||t,clusterRadius:null!=(i=null==(s=this._clusterConfig)?void 0:s.clusterRadius)?i:180,clusterMaxZoom:null!=(r=null==(o=this._clusterConfig)?void 0:o.clusterMaxZoom)?r:17,data:this._pointsMap,clusterProperties:Object.fromEntries(Object.keys(this._assetTypeColors).map(e=>[e,["+",["case",["==",["get","assetType"],e],1,0]]]))}),this._mapGl.getLayer("unclustered-point")||this._mapGl.addLayer({id:"unclustered-point",type:"circle",source:"mapPoints",filter:["!",["has","point_count"]],paint:{"circle-radius":0}}),this._mapGl.on("data",e=>__awaiter(this,void 0,void 0,function*(){!this._mapGl||"mapPoints"===e.sourceId&&e.isSourceLoaded&&(this._mapGl.off("move",()=>this._updateMarkers()),this._mapGl.off("moveend",()=>this._updateMarkers()),this._mapGl.on("move",n(()=>this._updateMarkers())),this._mapGl.on("moveend",()=>this._updateMarkers()),this._updateMarkers())}))):console.warn("MapLibre Map not initialized!")})}unload(){this._mapGl&&(this._mapGl.remove(),this._mapGl=void 0),this._mapJs&&(this._mapJs.remove(),this._mapJs=void 0)}_onMapClick(e,t=!1){this._mapContainer.dispatchEvent(new l(e,t))}_loadGeoJSON(e){return __awaiter(this,void 0,void 0,function*(){if(this._geoJsonLayers.size>0&&(this._geoJsonLayers.forEach((e,t)=>this._mapGl.removeLayer(t)),this._geoJsonLayers=new Map),this._geoJsonSources.length>0&&(this._geoJsonSources.forEach(e=>this._mapGl.removeSource(e)),this._geoJsonSources=[]),this._showGeoJson&&e)if("FeatureCollection"==e.source.type){let t=this.groupSourcesByGeometryType(e.source);null==t||t.forEach((e,t)=>{let s=this.addGeoJSONSource({type:"geojson",data:{type:"FeatureCollection",features:e}});s&&this.addGeoJSONLayer(t,s.sourceId)})}else if("Feature"==e.source.type){let t=this.addGeoJSONSource(e.source);t&&this.addGeoJSONLayer(t.source.type,t.sourceId)}else console.error("Could not create layer since source type is neither 'FeatureCollection' nor 'Feature'.")})}groupSourcesByGeometryType(e){let t=new Map;return e.features.forEach(e=>{let s=t.get(e.geometry.type);void 0==s&&(s=[]),s.push(e),t.set(e.geometry.type,s)}),t}addGeoJSONSource(e){if(!this._mapGl)return void console.error("mapGl instance not found!");let t=Date.now()+"-"+(this._geoJsonSources.length+1);return this._mapGl.addSource(t,e),this._geoJsonSources.push(t),{source:e,sourceId:t}}addGeoJSONLayer(e,s){if(!this._mapGl)return void console.error("mapGl instance not found!");let i=s+"-"+e;if(void 0==this._geoJsonLayers.get(i)){let o=getComputedStyle(this._mapContainer).getPropertyValue("--or-app-color4");(void 0==o||0==o.length)&&(o=t);let r={id:i,source:s};switch(e){case"Point":case"MultiPoint":r.type="circle",r.paint={"circle-radius":12,"circle-color":o},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);break;case"LineString":case"MultiLineString":r.type="line",r.paint={"line-color":o,"line-width":4},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);break;case"Polygon":case"MultiPolygon":{r.type="fill",r.paint={"fill-color":o,"fill-opacity":.3},this._geoJsonLayers.set(i,r),this._mapGl.addLayer(r);let e=i+"-outline",t={id:e,source:s,type:"line",paint:{"line-color":o,"line-width":2}};this._geoJsonLayers.set(e,t),this._mapGl.addLayer(t);break}case"GeometryCollection":return void console.error("GeometryCollection GeoJSON is not implemented yet!")}}}addMarker(e){e.hasPosition()&&this._updateMarkerElement(e,!0)}_updateMarkers(){if(!this._mapGl)return;let e={},t=this._mapGl.querySourceFeatures("mapPoints");for(let i of t){if(!i.properties.id)continue;let t=i.properties.id,o=i.geometry.coordinates,r=this._cachedMarkers[t];if(!r){let e=document.createElement("div");r=this._cachedMarkers[t]=new s.Marker({element:e}).setLngLat(o)}e[t]=r,this._markersOnScreen[t]||(r.addTo(this._mapGl),this._assetsOnScreen[t]=JSON.parse(i.properties.asset))}for(let i of t){if(!i.properties.cluster)continue;let t=i.properties.cluster_id,[o,r]=i.geometry.coordinates,a=this._cachedMarkers[t];if(!a){let e=Object.entries(i.properties).filter(([e])=>this._assetTypeColors.hasOwnProperty(e)).map(([e,t])=>[e,this._assetTypeColors[e],t]);a=this._cachedMarkers[t]=new s.Marker({element:new G(e,t,o,r,this._mapGl)}).setLngLat([o,r])}e[t]=a,this._markersOnScreen[t]||a.addTo(this._mapGl)}for(let t in this._markersOnScreen){let s=e[t];(!s||s._element instanceof G&&!s._element.hasTypes(Object.keys(this._assetTypeColors)))&&(this._markersOnScreen[t].remove(),delete this._assetsOnScreen[t])}this._markersOnScreen=e,this._mapContainer.dispatchEvent(new d(Object.values(this._assetsOnScreen)))}addAssetMarker(e,t,s,i,o,r){var a;this._assetTypeColors[s]=null==(a=u(s))?void 0:a.color,this._pointsMap.features.push({type:"Feature",properties:{name:t,id:e,assetType:s,asset:r},geometry:{type:"Point",coordinates:[i,o]}})}cleanUpAssetMarkers(){this._assetTypeColors={},this._pointsMap={type:"FeatureCollection",features:[]}}removeMarker(e){this._removeMarkerRadius(e),this._updateMarkerElement(e,!1)}onMarkerChanged(e,t){if(this._loaded)switch(t){case"lat":case"lng":case"radius":e.hasPosition()?e._actualMarkerElement?this._updateMarkerPosition(e):this._updateMarkerElement(e,!0):e._actualMarkerElement&&this._updateMarkerElement(e,!1)}}_updateMarkerPosition(e){switch(this._type){case"RASTER":let t=this._markersJs.get(e);t&&t.setLatLng([e.lat,e.lng]);break;case"VECTOR":let s=this._markersGl.get(e);s&&s.setLngLat([e.lng,e.lat])}this._createMarkerRadius(e)}_updateMarkerElement(e,t){switch(this._type){case"RASTER":let s=this._markersJs.get(e);if(s&&(this._removeMarkerClickHandler(e,e.markerContainer),e._actualMarkerElement=void 0,s.removeFrom(this._mapJs),this._markersJs.delete(e)),t){let t=e._createMarkerElement();if(t){let i=L.divIcon({html:t.outerHTML,className:"or-marker-raster"});(s=L.marker([e.lat,e.lng],{icon:i,clickable:e.interactive})).addTo(this._mapJs),e._actualMarkerElement=s.getElement()?s.getElement().firstElementChild:void 0,e.interactive&&this._addMarkerClickHandler(e,e.markerContainer),this._markersJs.set(e,s)}e.radius&&this._createMarkerRadius(e)}break;case"VECTOR":let i=this._markersGl.get(e);if(i&&(e._actualMarkerElement=void 0,this._removeMarkerClickHandler(e,i.getElement()),i.remove(),this._markersGl.delete(e)),t){let t=e._createMarkerElement();t&&(i=new o({element:t,anchor:"top-left"}).setLngLat([e.lng,e.lat]).addTo(this._mapGl),this._markersGl.set(e,i),e._actualMarkerElement=i.getElement(),e.interactive&&this._addMarkerClickHandler(e,i.getElement())),e.radius&&this._createMarkerRadius(e)}}}_removeMarkerRadius(e){this._mapGl&&this._loaded&&e.radius&&e.lat&&e.lng&&this._mapGl.getSource("circleData")&&(this._mapGl.removeLayer("marker-radius-circle"),this._mapGl.removeSource("circleData"))}_createMarkerRadius(e){this._mapGl&&this._loaded&&e.radius&&e.lat&&e.lng&&(this._removeMarkerRadius(e),this._mapGl.addSource("circleData",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[e.lng,e.lat]},properties:{}}]}}),this._mapGl.addLayer({id:"marker-radius-circle",type:"circle",source:"circleData",paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],0,0,20,metersToPixelsAtMaxZoom(e.radius,e.lat)],"circle-color":"red","circle-opacity":.3,"circle-pitch-alignment":"map"}}))}createBoundaryBox(e=[]){var t,s;if(this._mapGl&&this._loaded&&this._showBoundaryBox&&(null==(t=this._viewSettings)?void 0:t.bounds)){this._mapGl.getSource("bounds")&&(this._mapGl.removeLayer("bounds"),this._mapGl.removeSource("bounds")),4!==e.length&&(e=null==(s=this._viewSettings)?void 0:s.bounds.toString().split(","));var i=[[[e[0],e[3]],[e[2],e[3]],[e[2],e[1]],[e[0],e[1]],[e[0],e[3]]]];this._mapGl.fitBounds([parseFloat(e[0])+.01,parseFloat(e[1])-.01,parseFloat(e[2])-.01,parseFloat(e[3])+.01]),this._mapGl.addSource("bounds",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:i}}}),this._mapGl.addLayer({id:"bounds",type:"fill",source:"bounds",paint:{"fill-color":"#FF0000","fill-opacity":.4}})}}_addMarkerClickHandler(e,t){if(t){let s=t=>{t.stopPropagation(),e._onClick(t)};this._clickHandlers.set(e,s),t.addEventListener("click",s)}}_removeMarkerClickHandler(e,t){let s=this._clickHandlers.get(e);s&&t&&(t.removeEventListener("click",s),this._clickHandlers.delete(e))}_forwardGeocode(e){return __awaiter(this,void 0,void 0,function*(){let t=[];try{let s=this._viewSettings.geocodeUrl+"/search?q="+e.query+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(s);for(let e of(yield i.json()).features){let s=[e.bbox[0]+(e.bbox[2]-e.bbox[0])/2,e.bbox[1]+(e.bbox[3]-e.bbox[1])/2],i={type:"Feature",geometry:{type:"Point",coordinates:s},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:s};t.push(i)}}catch(e){console.error(`Failed to forwardGeocode with error: ${e}`)}return{features:t}})}_reverseGeocode(e){return __awaiter(this,void 0,void 0,function*(){let t=[];try{let s=this._viewSettings.geocodeUrl+"/reverse?lat="+e.lat+"&lon="+e.lon+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(s);for(let e of(yield i.json()).features){let s=[e.bbox[0]+(e.bbox[2]-e.bbox[0])/2,e.bbox[1]+(e.bbox[3]-e.bbox[1])/2],i={type:"Feature",geometry:{type:"Point",coordinates:s},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:s};t.push(i)}}catch(e){console.error(`Failed to reverseGeocode with error: ${e}`)}return{features:t}})}_initLongPressEvent(){if(this._mapGl){let e,t,s=()=>{e&&clearTimeout(e),e=null};this._mapGl.on("touchstart",s=>{s.originalEvent.touches.length>1||(t=s.lngLat,e=setTimeout(()=>{this._onLongPress(t)},500))}),this._mapGl.on("mousedown",s=>{e||(t=s.lngLat,e=setTimeout(()=>{this._onLongPress(t),e=null},500))}),this._mapGl.on("dragstart",s),this._mapGl.on("mouseup",s),this._mapGl.on("touchend",s),this._mapGl.on("touchcancel",s),this._mapGl.on("touchmove",s),this._mapGl.on("moveend",s),this._mapGl.on("gesturestart",s),this._mapGl.on("gesturechange",s),this._mapGl.on("gestureend",s)}}_onLongPress(e){this._mapContainer.dispatchEvent(new _(e))}_onGeocodeChange(e){this._mapContainer.dispatchEvent(new h(e))}}
|
package/lib/mapwidget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapwidget.js","sourceRoot":"","sources":["../src/mapwidget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapwidget.js","sourceRoot":"","sources":["../src/mapwidget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openremote/or-map",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.2",
|
|
4
4
|
"description": "Displays s vector or raster map",
|
|
5
5
|
"customElements": "custom-elements.json",
|
|
6
6
|
"main": "dist/umd/index.bundle.js",
|
|
@@ -20,14 +20,15 @@
|
|
|
20
20
|
"prepack": "npx rspack"
|
|
21
21
|
},
|
|
22
22
|
"author": "OpenRemote",
|
|
23
|
+
"repository": "https://github.com/openremote/openremote",
|
|
23
24
|
"license": "AGPL-3.0-or-later",
|
|
24
25
|
"dependencies": {
|
|
25
26
|
"@maplibre/maplibre-gl-geocoder": "^1.5.0",
|
|
26
|
-
"@openremote/core": "1.15.
|
|
27
|
-
"@openremote/model": "1.15.
|
|
28
|
-
"@openremote/or-icon": "1.15.
|
|
29
|
-
"@openremote/or-mwc-components": "1.15.
|
|
30
|
-
"@openremote/or-translate": "1.15.
|
|
27
|
+
"@openremote/core": "1.15.2",
|
|
28
|
+
"@openremote/model": "1.15.2",
|
|
29
|
+
"@openremote/or-icon": "1.15.2",
|
|
30
|
+
"@openremote/or-mwc-components": "1.15.2",
|
|
31
|
+
"@openremote/or-translate": "1.15.2",
|
|
31
32
|
"lit": "^3.3.1",
|
|
32
33
|
"lit-html": "^3.3.1",
|
|
33
34
|
"lodash.debounce": "^4.0.8",
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025, OpenRemote Inc.
|
|
3
|
+
*
|
|
4
|
+
* See the CONTRIBUTORS.txt file in the distribution for a
|
|
5
|
+
* full listing of individual contributors.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Affero General Public License as
|
|
9
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
10
|
+
* License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Affero General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
18
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
20
|
+
import {type Meta, setCustomElementsManifest, type StoryObj} from "@storybook/web-components";
|
|
21
|
+
import {getStorybookHelpers} from "@wc-toolkit/storybook-helpers";;
|
|
22
|
+
import manager from "@openremote/core";
|
|
23
|
+
import {html} from "lit";
|
|
24
|
+
import customElements from "../custom-elements.json" with {type: "json"};
|
|
25
|
+
import packageJson from "../package.json" with {type: "json"};
|
|
26
|
+
import "../src/index";
|
|
27
|
+
import "../src/markers/or-map-marker";
|
|
28
|
+
|
|
29
|
+
const tagName = "or-map";
|
|
30
|
+
type Story = StoryObj;
|
|
31
|
+
setCustomElementsManifest(customElements);
|
|
32
|
+
|
|
33
|
+
const { events, args, argTypes, template } = getStorybookHelpers(tagName);
|
|
34
|
+
|
|
35
|
+
const meta: Meta = {
|
|
36
|
+
title: "Playground/or-map",
|
|
37
|
+
component: tagName,
|
|
38
|
+
args: args,
|
|
39
|
+
argTypes: argTypes,
|
|
40
|
+
render: storyArgs => template(storyArgs),
|
|
41
|
+
excludeStories: /^[a-z].*/,
|
|
42
|
+
parameters: {
|
|
43
|
+
actions: {
|
|
44
|
+
handles: events
|
|
45
|
+
},
|
|
46
|
+
docs: {
|
|
47
|
+
subtitle: `<${tagName}>`,
|
|
48
|
+
description: "Map is a component for displaying geographical maps, with support for custom layers."
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const parameters = {
|
|
54
|
+
docs: {
|
|
55
|
+
story: {
|
|
56
|
+
height: "360px"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const loaders = [
|
|
62
|
+
async storyArgs => ({
|
|
63
|
+
orManager: await loadOrManager()
|
|
64
|
+
})
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
export const Primary: Story = {
|
|
68
|
+
loaders,
|
|
69
|
+
parameters,
|
|
70
|
+
render: (args) => template(args, html`
|
|
71
|
+
<or-map-marker colour="#FF0000" icon="information" lat="51.915767" lng="4.483118" title="Marker"></or-map-marker>
|
|
72
|
+
`)
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const WithRadius: Story = {
|
|
76
|
+
loaders,
|
|
77
|
+
name: "Radius example",
|
|
78
|
+
parameters: {
|
|
79
|
+
...parameters,
|
|
80
|
+
title: "Applying a marker radius",
|
|
81
|
+
summary: "Using the `radius` HTML attribute, you can surround your marker with a circle. For example a radius of 100 meters:",
|
|
82
|
+
},
|
|
83
|
+
render: (args) => template(args, html`
|
|
84
|
+
<or-map-marker colour="#FF0000" icon="information" lat="51.915767" lng="4.483118" radius="100" title="Radius"></or-map-marker>
|
|
85
|
+
`)
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const examples = [WithRadius];
|
|
89
|
+
|
|
90
|
+
export {customElements, packageJson};
|
|
91
|
+
|
|
92
|
+
/* ------------------------------------------------------- */
|
|
93
|
+
/* UTILITY FUNCTIONS */
|
|
94
|
+
/* ------------------------------------------------------- */
|
|
95
|
+
|
|
96
|
+
async function loadOrManager() {
|
|
97
|
+
if(await manager.init({ managerUrl: "http://localhost:8080", realm: "smartcity" })) {
|
|
98
|
+
if(!manager.authenticated) {
|
|
99
|
+
manager.login();
|
|
100
|
+
}
|
|
101
|
+
return manager;
|
|
102
|
+
}
|
|
103
|
+
throw new Error("Manager could not be initialized");
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export default meta;
|