@openremote/or-map 1.20.1 → 1.20.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.
Files changed (40) hide show
  1. package/custom-elements-jsx.d.ts +9 -4
  2. package/custom-elements.json +2008 -1008
  3. package/dist/umd/index.bundle.js +69 -69
  4. package/dist/umd/index.bundle.js.map +1 -1
  5. package/dist/umd/index.js +70 -70
  6. package/dist/umd/index.js.map +1 -1
  7. package/dist/umd/index.orbundle.js +64 -64
  8. package/dist/umd/index.orbundle.js.map +1 -1
  9. package/lib/asset-map.d.ts +60 -0
  10. package/lib/asset-map.d.ts.map +1 -0
  11. package/lib/asset-map.js +1 -0
  12. package/lib/asset-map.js.map +1 -0
  13. package/lib/{mapwidget.d.ts → base-map.d.ts} +6 -29
  14. package/lib/base-map.d.ts.map +1 -0
  15. package/lib/base-map.js +1 -0
  16. package/lib/base-map.js.map +1 -0
  17. package/lib/index.d.ts +12 -34
  18. package/lib/index.d.ts.map +1 -1
  19. package/lib/index.js +10 -10
  20. package/lib/index.js.map +1 -1
  21. package/lib/markers/or-cluster-marker.d.ts +7 -4
  22. package/lib/markers/or-cluster-marker.d.ts.map +1 -1
  23. package/lib/markers/or-cluster-marker.js +6 -6
  24. package/lib/markers/or-cluster-marker.js.map +1 -1
  25. package/lib/or-map-legend.d.ts +1 -1
  26. package/lib/or-map-legend.d.ts.map +1 -1
  27. package/lib/or-map-legend.js +6 -6
  28. package/lib/or-map-legend.js.map +1 -1
  29. package/lib/types.d.ts +39 -0
  30. package/lib/types.d.ts.map +1 -0
  31. package/lib/types.js +1 -0
  32. package/lib/types.js.map +1 -0
  33. package/lib/util/index.d.ts +1 -0
  34. package/lib/util/index.d.ts.map +1 -1
  35. package/lib/util/index.js +1 -1
  36. package/lib/util/index.js.map +1 -1
  37. package/package.json +6 -6
  38. package/lib/mapwidget.d.ts.map +0 -1
  39. package/lib/mapwidget.js +0 -1
  40. package/lib/mapwidget.js.map +0 -1
@@ -0,0 +1,60 @@
1
+ import { GeoJSONSource, MapSourceDataEvent, Marker } from "maplibre-gl";
2
+ import { AssetWithLocation, ClusterConfig } from "./types";
3
+ import { BaseMap } from "./base-map";
4
+ import { AttributeEvent } from "@openremote/model";
5
+ /**
6
+ * This class handles where to display asset markers and clusters on the map.
7
+ *
8
+ * Currently, the standard flow to display assets as markers on the map goes as follows:
9
+ *
10
+ * 1. The map page adds assets to the {@link AssetMap}, which computes assets in view and then dispatches {@link OrMapMarkersChangedEvent}.
11
+ * 2. The map page receives the event, renders the received assets as {@link OrMapMarkerAsset} by including them inside the map element's HTML body.
12
+ * 3. The map component then receives either an event from the {@link OrMapMarkerAsset},
13
+ * or when the map component sees a slotted {@link OrMapMarker} was added. From there the {@link OrMapMarker}s are passed to the {@link BaseMap} to be assigned to a MapLibre marker.
14
+ *
15
+ * @todo consider using `this._map.setGlobalStateProperty` for static cluster property
16
+ */
17
+ export declare class AssetMap extends BaseMap {
18
+ private static _clusterProperty;
19
+ protected _assets: Record<string, AssetWithLocation | null>;
20
+ protected _assetTypeColors: Record<string, string>;
21
+ protected _assetsOnScreen: Record<string, AssetWithLocation>;
22
+ protected _cachedClusters: Record<string, Marker>;
23
+ protected _clustersOnScreen: Record<string, Marker>;
24
+ protected _clusterConfig?: ClusterConfig;
25
+ protected _source?: GeoJSONSource;
26
+ protected _onMove: () => void;
27
+ protected _onMoveEnd: (e: any) => void;
28
+ protected _onData: (e: MapSourceDataEvent) => void;
29
+ constructor(styleParent: Node, mapContainer: HTMLElement, showGeoCodingControl?: boolean, showBoundaryBox?: boolean, useZoomControls?: boolean, showGeoJson?: boolean, clusterConfig?: ClusterConfig);
30
+ build(): Promise<void>;
31
+ /**
32
+ * Add an asset as (asset) feature to the map.
33
+ *
34
+ * Use {@link addAssets} instead if adding multiple assets.
35
+ * @param asset The asset to add
36
+ */
37
+ addAsset(asset: AssetWithLocation): void;
38
+ /**
39
+ * Add multiple assets as (asset) features to the map. Optimized for adding multiple assets at once.
40
+ * @param assets The assets to add
41
+ */
42
+ addAssets(assets: AssetWithLocation[]): void;
43
+ updateAttribute(event: AttributeEvent): void;
44
+ removeAssets(ids: string[]): void;
45
+ removeAllAssets(): void;
46
+ /**
47
+ * Initialize asset sources, layers and data events
48
+ */
49
+ private load;
50
+ protected _updateMarkers(): void;
51
+ private _updateAssets;
52
+ private _updateClusters;
53
+ private _getClusterMarker;
54
+ private _hasRequired;
55
+ private _isMissing;
56
+ private _getClusterProperties;
57
+ private static _getClusterPropertyExpression;
58
+ private static _assetToFeature;
59
+ }
60
+ //# sourceMappingURL=asset-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-map.d.ts","sourceRoot":"","sources":["../src/asset-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAIxE;;;;;;;;;;;GAWG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACjC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAe;IAE9C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC,CAAM;IACjE,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACxD,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAM;IAClE,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACvD,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACzD,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IACzC,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC,SAAS,CAAC,OAAO,aAA+B;IAChD,SAAS,CAAC,UAAU,GAAI,GAAG,GAAG,UAU5B;IAEF,SAAS,CAAC,OAAO,GAAI,GAAG,kBAAkB,UAMxC;gBAGE,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,WAAW,EACzB,oBAAoB,UAAQ,EAC5B,eAAe,UAAQ,EACvB,eAAe,UAAO,EACtB,WAAW,UAAO,EAClB,aAAa,CAAC,EAAE,aAAa;IAMlB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;;;;OAKG;IACI,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IAiBxC;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE;IA0BrC,eAAe,CAAC,KAAK,EAAE,cAAc;IAmBrC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE;IAK1B,eAAe;IAKtB;;OAEG;YACW,IAAI;IA+ClB,SAAS,CAAC,cAAc;IAQxB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAI5C,OAAO,CAAC,MAAM,CAAC,eAAe;CAYjC"}
@@ -0,0 +1 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))(function(i,a){function o(e){try{n(r.next(e))}catch(e){a(e)}}function u(e){try{n(r.throw(e))}catch(e){a(e)}}function n(e){var t;e.done?i(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,u)}n((r=r.apply(e,t||[])).next())})};import{Marker as e}from"maplibre-gl";import{BaseMap as t}from"./base-map";import{OrClusterMarker as s}from"./markers/or-cluster-marker";import{getMarkerIconAndColorFromAssetType as r}from"./util";import{OrMapLoadedEvent as i,OrMapMarkersChangedEvent as a}from".";import{Util as o}from"@openremote/core";export class AssetMap extends t{constructor(e,t,r=!1,i=!1,a=!0,o=!0,u){super(e,t,r,i,a,o),this._assets={},this._assetTypeColors={},this._assetsOnScreen={},this._cachedClusters={},this._clustersOnScreen={},this._onMove=()=>this._updateMarkers(),this._onMoveEnd=e=>{requestAnimationFrame(()=>{var t;e.marker instanceof s&&(null==(t=this._clustersOnScreen[e.marker._clusterId])||t.remove()),this._updateMarkers()})},this._onData=e=>{this._map&&e.isSourceLoaded&&"assets"===e.sourceId&&(this._map.on("move",this._onMove),this._map.on("moveend",this._onMoveEnd),this._updateMarkers())},this._clusterConfig=u}build(){let e=Object.create(null,{build:{get:()=>super.build}});return __awaiter(this,void 0,void 0,function*(){return e.build.call(this).then(()=>{var e;null==(e=this._map)||e.on("load",()=>__awaiter(this,void 0,void 0,function*(){return yield this.load()}))})})}addAsset(e){var t;if(!this._source)return;let s=this._map.querySourceFeatures("assets");this._hasRequired(e)&&this._isMissing(e,s)&&(e.type in this._assetTypeColors||(this._assetTypeColors[e.type]=null==(t=r(e.type))?void 0:t.color,this._source.workerOptions.clusterProperties=this._getClusterProperties()),this._assets[e.id]=e,this._source.updateData({add:[AssetMap._assetToFeature(e)]}))}addAssets(e){var t;if(!this._source)return;let s=this._map.querySourceFeatures("assets"),i=e.filter(this._hasRequired);if((null==s?void 0:s.length)&&(i=i.filter(e=>this._isMissing(e,s))),i.length){for(let e of i)e.type in this._assetTypeColors||(this._assetTypeColors[e.type]=null==(t=r(e.type))?void 0:t.color),this._assets[e.id]=e;this._source.workerOptions.clusterProperties=this._getClusterProperties(),this._source.updateData({add:i.map(AssetMap._assetToFeature)})}}updateAttribute(e){var t,s,r,i;let a=null==(t=null==e?void 0:e.ref)?void 0:t.id;if(!this._source||!a||!this._assets[a])return;if(null==e.value&&(null==(s=e.ref)?void 0:s.name)==="location"){this._assets[a]=null,null==(r=this._source)||r.updateData({remove:[a]});return}let u=this._assets[a]=o.updateAsset(structuredClone(this._assets[a]),e),n=u.attributes.location.value,l=Object.entries(AssetMap._assetToFeature(u).properties).map(([e,t])=>({key:e,value:t}));null==(i=this._source)||i.updateData({update:[{id:a,newGeometry:n,addOrUpdateProperties:l}]})}removeAssets(e){var t;for(let t of e)this._assets[t]=null;null==(t=this._source)||t.updateData({remove:e})}removeAllAssets(){var e;this._assets={},null==(e=this._source)||e.updateData({removeAll:!0})}load(){return __awaiter(this,void 0,void 0,function*(){var e,t,s,r,a,o;if(!this._map)return void console.warn("MapLibre Map not initialized!");if(this._loaded)return;this._map.getSource("assets")&&(this._map.getLayer("asset")&&this._map.removeLayer("asset"),this._map.getLayer("cluster")&&this._map.removeLayer("cluster"),this._map.removeSource("assets"));let u={type:"circle",source:"assets",paint:{"circle-radius":0}};this._map.addSource("assets",{type:"geojson",cluster:null==(t=null==(e=this._clusterConfig)?void 0:e.cluster)||t,clusterRadius:null!=(r=null==(s=this._clusterConfig)?void 0:s.clusterRadius)?r:180,clusterMaxZoom:null!=(o=null==(a=this._clusterConfig)?void 0:a.clusterMaxZoom)?o:17,clusterProperties:this._getClusterProperties(),promoteId:"id",data:{type:"FeatureCollection",features:[]}}).addLayer(Object.assign(Object.assign({},u),{id:"cluster",filter:["has","point_count"]})).addLayer(Object.assign(Object.assign({},u),{id:"asset",filter:["!",["has","point_count"]]})),this._source=this._map.getSource("assets"),this._map.on("data",this._onData),this._mapContainer.dispatchEvent(new i),this._loaded=!0})}_updateMarkers(){if(!this._map)return;let e=this._map.querySourceFeatures("assets"),t=this._updateAssets(e);this._updateClusters(e),this._mapContainer.dispatchEvent(new a(t))}_updateAssets(e){let t={};for(let s of e){if(!s.properties.id)continue;let e=s.properties.id;this._assets[e]&&(t[e]=this._assets[e])}for(let e in this._assetsOnScreen)t[e]||delete this._assetsOnScreen[e];return this._assetsOnScreen=t,Object.values(this._assetsOnScreen)}_updateClusters(e){var t,r;let i={};for(let r of e){if(!r.properties.cluster)continue;let e=r.properties.cluster_id,a=null!=(t=this._cachedClusters[e])?t:this._getClusterMarker(r);a._element instanceof s&&!a._element.slicesMatch(r.properties)&&(a.remove(),a=this._getClusterMarker(r).addTo(this._map)),i[e]=a,this._clustersOnScreen[e]||a.addTo(this._map)}for(let e in this._clustersOnScreen)i[e]||null==(r=this._clustersOnScreen[e])||r.remove();this._clustersOnScreen=i}_getClusterMarker(t){let r=t.properties.cluster_id,[i,a]=t.geometry.coordinates,o=Object.entries(t.properties).filter(([e])=>e in this._assetTypeColors).map(([e,t])=>[e,this._assetTypeColors[e],t]);return this._cachedClusters[r]=new e({element:new s(o,r,i,a,this._map)}).setLngLat([i,a])}_hasRequired(e){return!!((null==e?void 0:e.id)&&(null==e?void 0:e.type))}_isMissing(e,t){return!(null==t?void 0:t.some(t=>{var s;return(null==(s=t.properties)?void 0:s.id)===e.id}))}_getClusterProperties(){return Object.fromEntries(Object.keys(this._assetTypeColors).map(AssetMap._getClusterPropertyExpression))}static _getClusterPropertyExpression(e){return[e,["+",["case",["==",["get",AssetMap._clusterProperty],e],1,0]]]}static _assetToFeature({id:e,type:t,name:s,attributes:r}){return{type:"Feature",geometry:r.location.value,properties:{id:e,name:s,[AssetMap._clusterProperty]:t}}}}AssetMap._clusterProperty="assetType";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-map.js","sourceRoot":"","sources":["../src/asset-map.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- import { IControl, LngLat, LngLatLike, Map as MapGL, Marker, GeoJSONSourceSpecification, MapSourceDataEvent } from "maplibre-gl";
1
+ import { GeoJsonConfig } from "@openremote/model";
2
+ import { IControl, LngLat, LngLatLike, Map as MapGL, Marker, GeoJSONSourceSpecification } from "maplibre-gl";
2
3
  import "@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css";
3
- import { ControlPosition, ViewSettings, AssetWithLocation } from "./index";
4
+ import { ControlPosition, ViewSettings } from "./index";
4
5
  import { OrMapMarker } from "./markers/or-map-marker";
5
- import { Asset, GeoJsonConfig } from "@openremote/model";
6
6
  import { Feature, FeatureCollection } from "geojson";
7
- export interface ClusterConfig {
8
- cluster: boolean;
9
- clusterRadius: number;
10
- /** Until what zoom level cluster markers are shown */
11
- clusterMaxZoom: number;
12
- }
13
- export declare class MapWidget {
7
+ export declare class BaseMap {
14
8
  protected _map?: MapGL;
15
9
  protected _styleParent: Node;
16
10
  protected _mapContainer: HTMLElement;
@@ -29,16 +23,7 @@ export declare class MapWidget {
29
23
  protected _controls?: (IControl | [IControl, ControlPosition?])[];
30
24
  protected _clickHandlers: Map<OrMapMarker, (ev: MouseEvent) => void>;
31
25
  protected _geocoder?: any;
32
- protected _clusterConfig?: ClusterConfig;
33
- protected _pointsMap: any;
34
- protected _assetTypeColors: any;
35
- protected _cachedMarkers: Record<string, Marker>;
36
- protected _markersOnScreen: Record<string, Marker>;
37
- protected _assetsOnScreen: Record<string, AssetWithLocation>;
38
- constructor(styleParent: Node, mapContainer: HTMLElement, showGeoCodingControl?: boolean, showBoundaryBox?: boolean, useZoomControls?: boolean, showGeoJson?: boolean, clusterConfig?: ClusterConfig);
39
- protected _onMove: () => void;
40
- protected _onMoveEnd: (e: any) => void;
41
- protected _onData: (e: MapSourceDataEvent) => void;
26
+ constructor(styleParent: Node, mapContainer: HTMLElement, showGeoCodingControl?: boolean, showBoundaryBox?: boolean, useZoomControls?: boolean, showGeoJson?: boolean);
42
27
  setCenter(center?: LngLatLike): this;
43
28
  flyTo(coordinates?: LngLatLike, zoom?: number): this;
44
29
  resize(): this;
@@ -51,10 +36,6 @@ export declare class MapWidget {
51
36
  */
52
37
  build(): Promise<void>;
53
38
  protected _styleLoaded(): Promise<void>;
54
- /**
55
- * Load map sources, layers and events
56
- */
57
- load(): Promise<void>;
58
39
  unload(): void;
59
40
  protected _onMapClick(lngLat: LngLat, doubleClicked?: boolean): void;
60
41
  protected _loadGeoJSON(geoJsonConfig?: GeoJsonConfig): Promise<void>;
@@ -65,10 +46,6 @@ export declare class MapWidget {
65
46
  } | undefined;
66
47
  addGeoJSONLayer(typeString: string, sourceId: string): void;
67
48
  addMarker(marker: OrMapMarker): void;
68
- protected _clearMarker(id: string): void;
69
- protected _updateMarkers(): void;
70
- addAssetMarker(assetId: string, assetName: string, assetType: string, long: number, lat: number, asset: Asset): void;
71
- cleanUpAssetMarkers(): void;
72
49
  removeMarker(marker: OrMapMarker): void;
73
50
  onMarkerChanged(marker: OrMapMarker, prop: string): void;
74
51
  protected _updateMarkerPosition(marker: OrMapMarker): void;
@@ -113,4 +90,4 @@ export declare class MapWidget {
113
90
  protected _onLongPress(lngLat: LngLat): void;
114
91
  protected _onGeocodeChange(geocode: any): void;
115
92
  }
116
- //# sourceMappingURL=mapwidget.d.ts.map
93
+ //# sourceMappingURL=base-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-map.d.ts","sourceRoot":"","sources":["../src/base-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ let pkey;var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))(function(s,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?s(e.value):((t=e.value)instanceof o?t:new o(function(e){e(t)})).then(a,n)}l((i=i.apply(e,t||[])).next())})};import e,{DefaultColor4 as t}from"@openremote/core";import o,{GeolocateControl as i,Marker as s,NavigationControl as r}from"maplibre-gl";import"@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css";import a from"@maplibre/maplibre-gl-geocoder";import n from"lodash.debounce";import{OrMapClickedEvent as l,OrMapGeocoderChangeEvent as h,OrMapLongPressEvent as d}from"./index";import{getLngLat as c,isWebglSupported as _,metersToPixelsAtMaxZoom as p}from"./util";import{isMapboxURL as m,transformMapboxUrl as u}from"./util/mapbox-url";let maplibreGlStyles=require("maplibre-gl/dist/maplibre-gl.css"),maplibreGeoCoderStyles=require("@maplibre/maplibre-gl-geocoder/dist/maplibre-gl-geocoder.css");export class BaseMap{constructor(e,t,o=!1,i=!1,s=!0,r=!0){this._loaded=!1,this._markers=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._styleParent=e,this._mapContainer=t,this._showGeoCodingControl=o,this._showBoundaryBox=i,this._useZoomControls=s,this._showGeoJson=r}setCenter(e){return this._center=c(e),this._map&&this._center&&this._map.setCenter(this._center),this}flyTo(e,t){return 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._map?e&&this._map.flyTo({center:e,zoom:t}):(this._center=e,this._zoom=t),this}resize(){return this._map&&this._map.resize(),this}setZoom(e){return this._zoom=e,this._map&&this._zoom&&this._map.setZoom(this._zoom),this}setControls(e){return this._controls=e,this._map&&(this._controls?this._controls.forEach(e=>{Array.isArray(e)?this._map.addControl(e[0],e[1]):this._map.addControl(e)}):this._map.addControl(new r)),this}setGeoJson(e){var t;return this._geoJsonConfig=e,this._map&&(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 o=(yield e.rest.api.MapResource.getSettings()).data;if(o.override)return o.override;let i=e.displayRealm||"default";return this._viewSettings=o.options?o.options[i]?o.options[i]:o.options.default:null,this._viewSettings&&(this._map&&(this._map.setMinZoom(this._viewSettings.minZoom),this._map.setMaxZoom(this._viewSettings.maxZoom),this._viewSettings.bounds&&this._map.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)),o})}build(){return __awaiter(this,void 0,void 0,function*(){var t;if(this._loaded)return;let s=document.createElement("style");s.id="maplibreGlStyle",s.textContent=maplibreGlStyles,this._styleParent.appendChild(s),(s=document.createElement("style")).id="maplibreGeoCoderStyles",s.textContent=maplibreGeoCoderStyles,this._styleParent.appendChild(s);let l=yield import("maplibre-gl"),h=yield this.loadViewSettings(),d={attributionControl:{compact:!0},container:this._mapContainer,style:h,transformRequest:(t,o)=>(pkey||(pkey=new URL(t).searchParams.get("access_token")||""),m(t))?u(t,pkey,o):{headers:new URL(window.origin).hostname===new URL(t).hostname?{Authorization:e.getAuthorizationHeader()}:{},url:t}};(this._viewSettings&&(this._useZoomControls&&(d.maxZoom=this._viewSettings.maxZoom,d.minZoom=this._viewSettings.minZoom),this._viewSettings.bounds&&!this._showBoundaryBox&&(d.maxBounds=this._viewSettings.bounds),d.boxZoom=this._viewSettings.boxZoom,d.zoom=this._viewSettings.zoom,d.center=this._viewSettings.center),this._center=this._center||(this._viewSettings?this._viewSettings.center:void 0),d.center=this._center,this._zoom&&(d.zoom=this._zoom),_())?(this._map=new l.Map(d),yield this._styleLoaded(),this._map.on("click",e=>{this._onMapClick(e.lngLat)}),this._map.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:o,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._map.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._map.addControl(e[0],e[1]):this._map.addControl(e)}):(this._map.addControl(new r),this._map.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.createBoundaryBox()):console.warn("WebGL is not supported in this environment. The map cannot be initialized.")})}_styleLoaded(){return new Promise(e=>{this._map&&this._map.once("style.load",e)})}unload(){this._map&&(this._map.remove(),this._map=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._map.removeLayer(t)),this._geoJsonLayers=new Map),this._geoJsonSources.length>0&&(this._geoJsonSources.forEach(e=>this._map.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 o=this.addGeoJSONSource({type:"geojson",data:{type:"FeatureCollection",features:e}});o&&this.addGeoJSONLayer(t,o.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=>{var o;let i=null!=(o=t.get(e.geometry.type))?o:[];i.push(e),t.set(e.geometry.type,i)}),t}addGeoJSONSource(e){if(!this._map)return void console.error("mapGl instance not found!");let t=Date.now()+"-"+(this._geoJsonSources.length+1);return this._map.addSource(t,e),this._geoJsonSources.push(t),{source:e,sourceId:t}}addGeoJSONLayer(e,o){if(!this._map)return void console.error("mapGl instance not found!");let i=o+"-"+e;if(void 0==this._geoJsonLayers.get(i)){let s=getComputedStyle(this._mapContainer).getPropertyValue("--or-app-color4");(void 0==s||0==s.length)&&(s=t);let r={id:i,source:o};switch(e){case"Point":case"MultiPoint":r.type="circle",r.paint={"circle-radius":12,"circle-color":s},this._geoJsonLayers.set(i,r),this._map.addLayer(r);break;case"LineString":case"MultiLineString":r.type="line",r.paint={"line-color":s,"line-width":4},this._geoJsonLayers.set(i,r),this._map.addLayer(r);break;case"Polygon":case"MultiPolygon":{r.type="fill",r.paint={"fill-color":s,"fill-opacity":.3},this._geoJsonLayers.set(i,r),this._map.addLayer(r);let e=i+"-outline",t={id:e,source:o,type:"line",paint:{"line-color":s,"line-width":2}};this._geoJsonLayers.set(e,t),this._map.addLayer(t);break}case"GeometryCollection":return void console.error("GeometryCollection GeoJSON is not implemented yet!")}}}addMarker(e){e.hasPosition()&&this._updateMarkerElement(e,!0)}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){var t;null==(t=this._markers.get(e))||t.setLngLat([e.lng,e.lat]),this._createMarkerRadius(e)}_updateMarkerElement(e,t){let o=this._markers.get(e);if(o&&(e._actualMarkerElement=void 0,this._removeMarkerClickHandler(e,o.getElement()),o.remove(),this._markers.delete(e)),t){let t=e._createMarkerElement();t&&(o=new s({element:t,anchor:"top-left"}).setLngLat([e.lng,e.lat]).addTo(this._map),this._markers.set(e,o),e._actualMarkerElement=o.getElement(),e.interactive&&this._addMarkerClickHandler(e,o.getElement())),e.radius&&this._createMarkerRadius(e)}}_removeMarkerRadius(e){this._map&&this._loaded&&e.radius&&e.lat&&e.lng&&this._map.getSource("circleData")&&(this._map.removeLayer("marker-radius-circle"),this._map.removeSource("circleData"))}_createMarkerRadius(e){this._map&&this._loaded&&e.radius&&e.lat&&e.lng&&(this._removeMarkerRadius(e),this._map.addSource("circleData",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[e.lng,e.lat]},properties:{}}]}}),this._map.addLayer({id:"marker-radius-circle",type:"circle",source:"circleData",paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],0,0,20,p(e.radius,e.lat)],"circle-color":"red","circle-opacity":.3,"circle-pitch-alignment":"map"}}))}createBoundaryBox(e=[]){var t,o;if(this._map&&this._loaded&&this._showBoundaryBox&&(null==(t=this._viewSettings)?void 0:t.bounds)){this._map.getSource("bounds")&&(this._map.removeLayer("bounds"),this._map.removeSource("bounds")),4!==e.length&&(e=null==(o=this._viewSettings)?void 0:o.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._map.fitBounds([parseFloat(e[0])+.01,parseFloat(e[1])-.01,parseFloat(e[2])-.01,parseFloat(e[3])+.01]),this._map.addSource("bounds",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:i}}}),this._map.addLayer({id:"bounds",type:"fill",source:"bounds",paint:{"fill-color":"#FF0000","fill-opacity":.4}})}}_addMarkerClickHandler(e,t){if(t){let o=t=>{t.stopPropagation(),e._onClick(t)};this._clickHandlers.set(e,o),t.addEventListener("click",o)}}_removeMarkerClickHandler(e,t){let o=this._clickHandlers.get(e);o&&t&&(t.removeEventListener("click",o),this._clickHandlers.delete(e))}_forwardGeocode(e){return __awaiter(this,void 0,void 0,function*(){let t=[];try{let o=this._viewSettings.geocodeUrl+"/search?q="+e.query+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(o);for(let e of(yield i.json()).features){let o=[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:o},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:o};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 o=this._viewSettings.geocodeUrl+"/reverse?lat="+e.lat+"&lon="+e.lon+"&format=geojson&polygon_geojson=1&addressdetails=1",i=yield fetch(o);for(let e of(yield i.json()).features){let o=[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:o},place_name:e.properties.display_name,properties:e.properties,text:e.properties.display_name,place_type:["place"],center:o};t.push(i)}}catch(e){console.error(`Failed to reverseGeocode with error: ${e}`)}return{features:t}})}_initLongPressEvent(){if(this._map){let e,t,o=()=>{e&&clearTimeout(e),e=null};this._map.on("touchstart",o=>{o.originalEvent.touches.length>1||(t=o.lngLat,e=setTimeout(()=>{this._onLongPress(t)},500))}),this._map.on("mousedown",o=>{e||(t=o.lngLat,e=setTimeout(()=>{this._onLongPress(t),e=null},500))}),this._map.on("dragstart",o),this._map.on("mouseup",o),this._map.on("touchend",o),this._map.on("touchcancel",o),this._map.on("touchmove",o),this._map.on("moveend",o),this._map.on("gesturestart",o),this._map.on("gesturechange",o),this._map.on("gestureend",o)}}_onLongPress(e){this._mapContainer.dispatchEvent(new d(e))}_onGeocodeChange(e){this._mapContainer.dispatchEvent(new h(e))}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-map.js","sourceRoot":"","sources":["../src/base-map.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,44 +1,22 @@
1
1
  import { EventCallback } from "@openremote/core";
2
2
  import { LitElement, PropertyValues } from "lit";
3
- import { IControl, LngLat, LngLatBoundsLike, LngLatLike } from "maplibre-gl";
4
- import { ClusterConfig, MapWidget } from "./mapwidget";
3
+ import { IControl, LngLat, LngLatLike } from "maplibre-gl";
5
4
  import "./markers/or-map-marker";
6
5
  import "./markers/or-map-marker-asset";
7
6
  import { OrMapMarker, OrMapMarkerChangedEvent } from "./markers/or-map-marker";
8
7
  import * as Util from "./util";
9
8
  import { ValueInputProviderGenerator } from "@openremote/or-mwc-components/or-mwc-input";
10
- import { Asset, Attribute, GeoJsonConfig, GeoJSONPoint, WellknownAttributes } from "@openremote/model";
11
- export { Util, LngLatLike, LngLat, ClusterConfig };
9
+ import { AttributeEvent, GeoJsonConfig } from "@openremote/model";
10
+ import { AssetMap } from "./asset-map";
11
+ import type { AssetWithLocation, ClusterConfig, ControlPosition, MapEventDetail, MapGeocoderEventDetail } from "./types";
12
+ export { Util, LngLatLike, LngLat };
12
13
  export * from "./markers/or-map-marker";
13
14
  export * from "./markers/or-map-marker-asset";
14
15
  export * from "./markers/or-cluster-marker";
15
16
  export { IControl } from "maplibre-gl";
16
17
  export * from "./or-map-asset-card";
17
18
  export * from "./or-map-legend";
18
- export interface AssetWithLocation extends Asset {
19
- attributes: {
20
- [index: string]: Attribute<any>;
21
- } & {
22
- [WellknownAttributes.LOCATION]: Attribute<GeoJSONPoint>;
23
- };
24
- }
25
- export interface ViewSettings {
26
- center: LngLatLike;
27
- bounds?: LngLatBoundsLike | null;
28
- zoom: number;
29
- maxZoom: number;
30
- minZoom: number;
31
- boxZoom: boolean;
32
- geocodeUrl: string;
33
- geoJson?: GeoJsonConfig;
34
- }
35
- export interface MapEventDetail {
36
- lngLat: LngLat;
37
- doubleClick: boolean;
38
- }
39
- export interface MapGeocoderEventDetail {
40
- geocode: any;
41
- }
19
+ export type * from "./types";
42
20
  export declare class OrMapLoadedEvent extends CustomEvent<void> {
43
21
  static readonly NAME = "or-map-loaded";
44
22
  constructor();
@@ -68,7 +46,6 @@ declare global {
68
46
  [OrMapMarkersChangedEvent.NAME]: OrMapMarkersChangedEvent;
69
47
  }
70
48
  }
71
- export type ControlPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left";
72
49
  export declare const geoJsonPointInputTemplateProvider: ValueInputProviderGenerator;
73
50
  export declare class OrMap extends LitElement {
74
51
  static styles: import("lit").CSSResult;
@@ -83,17 +60,18 @@ export declare class OrMap extends LitElement {
83
60
  boundary: string[];
84
61
  controls?: (IControl | [IControl, ControlPosition?])[];
85
62
  protected _initCallback?: EventCallback;
86
- protected _map?: MapWidget;
63
+ protected _map?: AssetMap;
87
64
  protected _loaded: boolean;
88
65
  protected _resizeObserver?: ResizeObserver;
89
66
  protected _mapContainer?: HTMLElement;
90
67
  protected _slotElement?: HTMLSlotElement;
91
68
  constructor();
92
- addAssetMarker(asset: AssetWithLocation): void;
93
- cleanUpAssetMarkers(): void;
94
- reload(): Promise<void>;
69
+ addAsset(asset: AssetWithLocation): void;
70
+ addAssets(assets: AssetWithLocation[]): void;
71
+ updateAttribute(event: AttributeEvent): void;
72
+ removeAssets(ids: string[]): void;
73
+ removeAllAssets(): void;
95
74
  protected firstUpdated(_changedProperties: PropertyValues): void;
96
- connectedCallback(): void;
97
75
  disconnectedCallback(): void;
98
76
  protected render(): import("lit").TemplateResult<1>;
99
77
  protected updated(changedProperties: PropertyValues): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
- var __decorate=this&&this.__decorate||function(e,o,t,r){var a,n=arguments.length,s=n<3?o:null===r?r=Object.getOwnPropertyDescriptor(o,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,o,t,r);else for(var i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n<3?a(s):n>3?a(o,t,s):a(o,t))||s);return n>3&&s&&Object.defineProperty(o,t,s),s},__awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))(function(a,n){function s(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var o;e.done?a(e.value):((o=e.value)instanceof t?o:new t(function(e){e(o)})).then(s,i)}l((r=r.apply(e,o||[])).next())})};import e from"@openremote/core";import{html as o,LitElement as t}from"lit";import{customElement as r,property as a,query as n}from"lit/decorators.js";import{LngLat as s,GeolocateControl as i}from"maplibre-gl";import{MapWidget as l}from"./mapwidget";import{style as p}from"./style";import{OrMapMarker as d,OrMapMarkerChangedEvent as c}from"./markers/or-map-marker";import"./markers/or-map-marker-asset";import*as m from"./util";import{InputType as u}from"@openremote/or-mwc-components/or-mwc-input";import{OrMwcDialog as h,showDialog as v}from"@openremote/or-mwc-components/or-mwc-dialog";import{getMarkerIconAndColorFromAssetType as g}from"./util";import{i18next as f}from"@openremote/or-translate";import M from"lodash.debounce";import{CoordinatesControl as y,CoordinatesRegexPattern as A,getCoordinatesInputKeyHandler as b}from"./controls/coordinates";import{CenterControl as w}from"./controls/center";export*from"./markers/or-map-marker";export*from"./markers/or-map-marker-asset";export*from"./markers/or-cluster-marker";export*from"./or-map-asset-card";export*from"./or-map-legend";export class OrMapLoadedEvent extends CustomEvent{constructor(){super(OrMapLoadedEvent.NAME,{bubbles:!0,composed:!0})}}OrMapLoadedEvent.NAME="or-map-loaded";export class OrMapClickedEvent extends CustomEvent{constructor(e,o=!1){super(OrMapClickedEvent.NAME,{detail:{doubleClick:o,lngLat:e},bubbles:!0,composed:!0})}}OrMapClickedEvent.NAME="or-map-clicked";export class OrMapLongPressEvent extends CustomEvent{constructor(e){super(OrMapLongPressEvent.NAME,{detail:{doubleClick:!1,lngLat:e},bubbles:!0,composed:!0})}}OrMapLongPressEvent.NAME="or-map-long-press";export class OrMapGeocoderChangeEvent extends CustomEvent{constructor(e){super(OrMapGeocoderChangeEvent.NAME,{detail:{geocode:e},bubbles:!0,composed:!0})}}OrMapGeocoderChangeEvent.NAME="or-map-geocoder-change";export class OrMapMarkersChangedEvent extends CustomEvent{constructor(e){super(OrMapMarkersChangedEvent.NAME,{detail:e,bubbles:!0,composed:!0})}}OrMapMarkersChangedEvent.NAME="or-map-markers-changed";export const geoJsonPointInputTemplateProvider=(e,t,r,a,n,l)=>{let p,d=!!(l&&l.disabled),c=!!(l&&l.readonly),M=!!(l&&l.compact),O=!!(l&&l.comfortable),_=new w,k=e=>{n&&(void 0!==e?n({value:e?m.getGeoJSONPoint(e):null}):n(void 0))},C=new y(d,k);return{templateFunction:(t,r,a,n,l,y)=>{let w,E;t&&(w=(p=m.getLngLat(t))?Object.values(p):void 0);let x=w?w.join(", "):void 0;_.pos=p||void 0,C.readonly=d||c||n||a,C.value=x;let z=g(e),B=e=>{if(!c&&!d)if(p=e?m.getLngLat(e):null,E){let e=E.shadowRoot.getElementById("geo-json-point-marker");e.lng=p?p.lng:void 0,e.lat=p?p.lat:void 0,C.value=(w=p?Object.values(p):void 0)?w.join(", "):void 0}else k(p)},j=[[_,"bottom-left"],[C,"top-right"]];if(!c){let e=new i({positionOptions:{enableHighAccuracy:!0},showAccuracyCircle:!1,showUserLocation:!1});e.on("geolocate",e=>{B(new s(e.coords.longitude,e.coords.latitude))}),e.on("outofmaxbounds",e=>{B(new s(e.coords.longitude,e.coords.latitude))}),j.push([e,"bottom-left"])}let U=o`
2
- <or-map id="geo-json-point-map" class="or-map" @or-map-long-press="${e=>{B(e.detail.lngLat)}}" .center="${w}" .controls="${j}" .showGeoCodingControl=${!c}>
3
- <or-map-marker id="geo-json-point-marker" active .lng="${p?p.lng:void 0}" .lat="${p?p.lat:void 0}" .icon="${z?z.icon:void 0}" .activeColor="${z?"#"+z.color:void 0}" .colour="${z?"#"+z.color:void 0}"></or-map-marker>
1
+ var __decorate=this&&this.__decorate||function(e,t,o,r){var a,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var i=e.length-1;i>=0;i--)(a=e[i])&&(n=(s<3?a(n):s>3?a(t,o,n):a(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import e from"@openremote/core";import{html as t,LitElement as o}from"lit";import{customElement as r,property as a,query as s}from"lit/decorators.js";import{LngLat as n,GeolocateControl as i}from"maplibre-gl";import{style as p}from"./style";import{OrMapMarker as l,OrMapMarkerChangedEvent as d}from"./markers/or-map-marker";import"./markers/or-map-marker-asset";import*as m from"./util";import{InputType as c}from"@openremote/or-mwc-components/or-mwc-input";import{OrMwcDialog as u,showDialog as h}from"@openremote/or-mwc-components/or-mwc-dialog";import{getMarkerIconAndColorFromAssetType as v}from"./util";import{i18next as g}from"@openremote/or-translate";import A from"lodash.debounce";import{CoordinatesControl as f,CoordinatesRegexPattern as M,getCoordinatesInputKeyHandler as y}from"./controls/coordinates";import{AssetMap as b}from"./asset-map";import{CenterControl as O}from"./controls/center";export*from"./markers/or-map-marker";export*from"./markers/or-map-marker-asset";export*from"./markers/or-cluster-marker";export*from"./or-map-asset-card";export*from"./or-map-legend";export class OrMapLoadedEvent extends CustomEvent{constructor(){super(OrMapLoadedEvent.NAME,{bubbles:!0,composed:!0})}}OrMapLoadedEvent.NAME="or-map-loaded";export class OrMapClickedEvent extends CustomEvent{constructor(e,t=!1){super(OrMapClickedEvent.NAME,{detail:{doubleClick:t,lngLat:e},bubbles:!0,composed:!0})}}OrMapClickedEvent.NAME="or-map-clicked";export class OrMapLongPressEvent extends CustomEvent{constructor(e){super(OrMapLongPressEvent.NAME,{detail:{doubleClick:!1,lngLat:e},bubbles:!0,composed:!0})}}OrMapLongPressEvent.NAME="or-map-long-press";export class OrMapGeocoderChangeEvent extends CustomEvent{constructor(e){super(OrMapGeocoderChangeEvent.NAME,{detail:{geocode:e},bubbles:!0,composed:!0})}}OrMapGeocoderChangeEvent.NAME="or-map-geocoder-change";export class OrMapMarkersChangedEvent extends CustomEvent{constructor(e){super(OrMapMarkersChangedEvent.NAME,{detail:e,bubbles:!0,composed:!0})}}OrMapMarkersChangedEvent.NAME="or-map-markers-changed";export const geoJsonPointInputTemplateProvider=(e,o,r,a,s,p)=>{let l,d=!!(p&&p.disabled),A=!!(p&&p.readonly),b=!!(p&&p.compact),w=!!(p&&p.comfortable),C=new O,E=e=>{s&&(void 0!==e?s({value:e?m.getGeoJSONPoint(e):null}):s(void 0))},_=new f(d,E);return{templateFunction:(o,r,a,s,p,f)=>{let O,k;o&&(O=(l=m.getLngLat(o))?Object.values(l):void 0);let x=O?O.join(", "):void 0;C.pos=l||void 0,_.readonly=d||A||s||a,_.value=x;let z=v(e),B=e=>{if(!A&&!d)if(l=e?m.getLngLat(e):null,k){let e=k.shadowRoot.getElementById("geo-json-point-marker");e.lng=l?l.lng:void 0,e.lat=l?l.lat:void 0,_.value=(O=l?Object.values(l):void 0)?O.join(", "):void 0}else E(l)},j=[[C,"bottom-left"],[_,"top-right"]];if(!A){let e=new i({positionOptions:{enableHighAccuracy:!0},showAccuracyCircle:!1,showUserLocation:!1});e.on("geolocate",e=>{B(new n(e.coords.longitude,e.coords.latitude))}),e.on("outofmaxbounds",e=>{B(new n(e.coords.longitude,e.coords.latitude))}),j.push([e,"bottom-left"])}let L=t`
2
+ <or-map id="geo-json-point-map" class="or-map" @or-map-long-press="${e=>{B(e.detail.lngLat)}}" .center="${O}" .controls="${j}" .showGeoCodingControl=${!A}>
3
+ <or-map-marker id="geo-json-point-marker" active .lng="${l?l.lng:void 0}" .lat="${l?l.lat:void 0}" .icon="${z?z.icon:void 0}" .activeColor="${z?"#"+z.color:void 0}" .colour="${z?"#"+z.color:void 0}"></or-map-marker>
4
4
  </or-map>
5
- <span class="long-press-msg">${f.t("longPressSetLoc")}</span>
6
- `;if(M){let e=U;U=o`
5
+ <span class="long-press-msg">${g.t("longPressSetLoc")}</span>
6
+ `;if(b){let e=L;L=t`
7
7
  <style>
8
8
  #geo-json-point-input-compact-wrapper {
9
9
  display: table-cell;
@@ -13,8 +13,8 @@ var __decorate=this&&this.__decorate||function(e,o,t,r){var a,n=arguments.length
13
13
  }
14
14
  </style>
15
15
  <div id="geo-json-point-input-compact-wrapper">
16
- <or-mwc-input style="width: auto;" .comfortable="${O}" .type="${u.TEXT}" .value="${x}" .pattern="${A}" @keyup="${e=>b(k)(e)}"></or-mwc-input>
17
- <or-mwc-input style="width: auto;" .type="${u.BUTTON}" compact icon="crosshairs-gps" @or-mwc-input-changed="${()=>{E=v(new h().setContent(e).setStyles(o`
16
+ <or-mwc-input style="width: auto;" .comfortable="${w}" .type="${c.TEXT}" .value="${x}" .pattern="${M}" @keyup="${e=>y(E)(e)}"></or-mwc-input>
17
+ <or-mwc-input style="width: auto;" .type="${c.BUTTON}" compact icon="crosshairs-gps" @or-mwc-input-changed="${()=>{k=h(new u().setContent(e).setStyles(t`
18
18
  <style>
19
19
  .dialog-container {
20
20
  flex-direction: column !important;
@@ -28,9 +28,9 @@ var __decorate=this&&this.__decorate||function(e,o,t,r){var a,n=arguments.length
28
28
  min-height: 600px !important;
29
29
  }
30
30
  </style>
31
- `).setActions([{actionName:"none",content:"none",action:()=>{B(null),k(p)}},{actionName:"ok",content:"ok",action:()=>{k(p)}},{default:!0,actionName:"cancel",content:"cancel"}]))}}"></or-mwc-input>
31
+ `).setActions([{actionName:"none",content:"none",action:()=>{B(null),E(l)}},{actionName:"ok",content:"ok",action:()=>{E(l)}},{default:!0,actionName:"cancel",content:"cancel"}]))}}"></or-mwc-input>
32
32
  </div>
33
- `}return U},supportsHelperText:!1,supportsLabel:!1,supportsSendButton:!1,validator:()=>!p||void 0!==p.lat&&null!==p.lat&&void 0!==p.lng&&null!==p.lng}};let OrMap=class extends t{constructor(){super(),this.showGeoCodingControl=!1,this.showBoundaryBoxControl=!1,this.useZoomControl=!0,this.showGeoJson=!0,this.boundary=[],this._loaded=!1,this.addEventListener(c.NAME,this._onMarkerChangedEvent)}addAssetMarker(e){var o,t,r,a,n;let s=null==(o=null==e?void 0:e.attributes)?void 0:o.location.value;(null==s?void 0:s.coordinates)&&(null==(t=this._map)||t.addAssetMarker(null!=(r=e.id)?r:"",null!=(a=e.name)?a:"",null!=(n=e.type)?n:"",s.coordinates[0],s.coordinates[1],e))}cleanUpAssetMarkers(){var e;null==(e=this._map)||e.cleanUpAssetMarkers()}reload(){return __awaiter(this,void 0,void 0,function*(){var e;yield null==(e=this._map)?void 0:e.load()})}firstUpdated(o){super.firstUpdated(o),e.ready&&this.loadMap()}connectedCallback(){super.connectedCallback()}disconnectedCallback(){var e;super.disconnectedCallback(),this._resizeObserver&&this._resizeObserver.disconnect(),null==(e=this._map)||e.unload()}render(){return o`
33
+ `}return L},supportsHelperText:!1,supportsLabel:!1,supportsSendButton:!1,validator:()=>!l||void 0!==l.lat&&null!==l.lat&&void 0!==l.lng&&null!==l.lng}};let OrMap=class extends o{constructor(){super(),this.showGeoCodingControl=!1,this.showBoundaryBoxControl=!1,this.useZoomControl=!0,this.showGeoJson=!0,this.boundary=[],this._loaded=!1,this.addEventListener(d.NAME,this._onMarkerChangedEvent)}addAsset(e){var t;null==(t=this._map)||t.addAsset(e)}addAssets(e){var t;null==(t=this._map)||t.addAssets(e)}updateAttribute(e){var t;null==(t=this._map)||t.updateAttribute(e)}removeAssets(e){var t;null==(t=this._map)||t.removeAssets(e)}removeAllAssets(){var e;null==(e=this._map)||e.removeAllAssets()}firstUpdated(t){super.firstUpdated(t),e.ready&&this.loadMap()}disconnectedCallback(){var e;super.disconnectedCallback(),this._resizeObserver&&this._resizeObserver.disconnect(),null==(e=this._map)||e.unload()}render(){return t`
34
34
  <div id="container">
35
35
  <div id="map"></div>
36
36
  <slot></slot>
@@ -38,4 +38,4 @@ var __decorate=this&&this.__decorate||function(e,o,t,r){var a,n=arguments.length
38
38
  <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAP+Hj8y/AAAESUlEQVRIx5XVbWzdZRnH8c//f07POe36sK7SrYXZjYGzbBokOqd4QtKATdnMDFFSkoFzmWGRQOAFSoYnsBSzxBdmGsN4Y7LEFwZkUdHpDoja/AnJjBvp1sm2upW5PtAV+zBS+7Tz//tiLe0emPF+d9/39fvmunJf9+8K3HBF1drFzurVn5+5XkTwPwBNOt1s0pCjDnnT+Xzy/wOa5jaXnLLfLwzlF0WENwaYckyvUTHS1tnjl+6JFqk+JoMOqqy2JqjPVpXP1k7U1+Ty8paBPk97NX/pYwEdgZUetNkdlirDrHGnyv6y5r3lm4M2WVzwpJfz8XUBHTntnrJO6qqLWE9u/125zBNq0WebN/PXAjqq/cBOVWDasCEsd5MsmEzt/3xP+S6fwNsezPdfBejI6fCEDMa95oAT/t31pVxDQ6p6oy2WYSb18w0D2V3Klez2w3y8CNAR2G6vShxXUCxMkXLvS7Y6E/5+3emaJ92JqezzG+8M2nHW/flTi59xladU4phtfluYgnsDWUt8Nv7+8UfO73UUuenvDLxuCKu0RQt90BFo14wxzzpamD8uExtHSsu5HSP7XMCtZ5uTPyO0SdVCBlXahHjNG4WFrGY9Y4tXzODL7zb7NYJS64eHzWK92xYAa9yBKa8Wphf0xaQ4XOz0qF9JhMnXh//mIm4dnDSMOusWALepwQUnrm2t4pi9hrGyP+ccloxV6kOZFemoWi2mOpclaQycqGlt9R8XHS/GixinnVWvbDpjDEEpNpdnWrtd+HvZWzMQT9xjj1iXzUau6MPS9X9NKOeTmqzPpZWwfMkEKnza2ivimqxCKZjQa9BMmFI2D+gxibql4z7EiobYOSy1o7V6Xt1aYacGvD/7lse1+GZ9t0Zc8kHaGcOa1K6o+FePL1iy7K7wYHy70FZa9+qVWOm7tgslfpecKcy46GS0xXKM6g6d14VU+RfTnRJ8Y223w8j4tkMOOeR1j6nAMT8tzkCUcvlbn3ImbJn0RyWC+1af1Iv6ukcbf+aIRKDR3b5ipVCiy+PenaupWRsSfzCWim0ftUmdiqrJwWLpbmk3196UfXG0X6NKIWKDXva0I0UQZT2nRaDfc/mhgCj0PS9ImZzefbg5fliIvuTA++/0ZaYDTDqqpzhn6lHoW36iSuLHnslfCiBqdMBGDI6/0LUhfkgGiWFbC29c+epRaJMX3YJuD+R75l15wG4DaKh5dsPJsj0GXLaawavkWY/MyUcU/JOPHCkK7fAjNZiIf/PeX/vWx1814muF0Y/EKWs95mFVuKhgX352EYAoY5vnNSDRF/9p/MgHfQ2dldNIqbPeJm2aBBix20vzg26RpUUpLfb43FxZU4YMmEJGoxXKQeIfCg4uzMkrTDVitZ0ecst1B05i0Cv26Vk8H68JjFKabXa/Zkul5w5Lxp120EHdlyu/AQCiQI1P+YxaGcwY1+20kasnM/wXCa5/Ik1hKTEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDgtMjBUMTU6MTc6NTUrMDA6MDCwJSdSAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA4LTIwVDE1OjE3OjU1KzAwOjAwwXif7gAAAABJRU5ErkJggg==" />
39
39
  </a>
40
40
  </div>
41
- `}updated(e){var o;super.updated(e),(e.has("center")||e.has("zoom"))&&this.flyTo(this.center,this.zoom),e.has("boundary")&&this.showBoundaryBoxControl&&(null==(o=this._map)||o.createBoundaryBox(this.boundary))}refresh(){this._map&&this._map.loadViewSettings().then(()=>{this._map&&(this._map.setCenter(),this._map.flyTo())})}loadMap(){this._loaded||(this._mapContainer&&this._slotElement&&(this._map=new l(this.shadowRoot,this._mapContainer,this.showGeoCodingControl,this.showBoundaryBoxControl,this.useZoomControl,this.showGeoJson,this.cluster).setCenter(this.center).setZoom(this.zoom).setControls(this.controls).setGeoJson(this.geoJson),this._map.build().then(()=>{var e,o;null==(e=this._resizeObserver)||e.disconnect(),this._resizeObserver=new ResizeObserver(M(()=>{this.resize()},200));let t=null==(o=this._mapContainer)?void 0:o.parentElement;t&&this._resizeObserver.observe(t),this._slotElement.assignedNodes({flatten:!0}).forEach(e=>{e instanceof d&&this._map.addMarker(e)})})),this._loaded=!0)}resize(){this._map&&this._map.resize()}flyTo(e,o){this._map&&this._map.flyTo(e,o)}_removeMarker(e){var o;null==(o=this._map)||o.removeMarker(e)}_onMarkerChangedEvent(e){this._map&&this._map.onMarkerChanged(e.detail.marker,e.detail.property)}};OrMap.styles=p,__decorate([a({type:Object})],OrMap.prototype,"cluster",void 0),__decorate([a({type:String,converter:{fromAttribute(e,o){if(!e)return;let t=e.split(",");if(2===t.length)return new s(Number(t[0]),Number(t[1]))},toAttribute(e,o){let t=m.getLngLat(e);return t?""+t.lng+","+t.lat:""}}})],OrMap.prototype,"center",void 0),__decorate([a({type:Number})],OrMap.prototype,"zoom",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showGeoCodingControl",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showBoundaryBoxControl",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"useZoomControl",void 0),__decorate([a({type:Object})],OrMap.prototype,"geoJson",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showGeoJson",void 0),__decorate([a({type:Array})],OrMap.prototype,"boundary",void 0),__decorate([n("#map")],OrMap.prototype,"_mapContainer",void 0),__decorate([n("slot")],OrMap.prototype,"_slotElement",void 0),OrMap=__decorate([r("or-map")],OrMap);export{m as Util,s as LngLat,OrMap};
41
+ `}updated(e){var t;super.updated(e),(e.has("center")||e.has("zoom"))&&this.flyTo(this.center,this.zoom),e.has("boundary")&&this.showBoundaryBoxControl&&(null==(t=this._map)||t.createBoundaryBox(this.boundary))}refresh(){this._map&&this._map.loadViewSettings().then(()=>{this._map&&(this._map.setCenter(),this._map.flyTo())})}loadMap(){this._loaded||(this._mapContainer&&this._slotElement&&(this._map=new b(this.shadowRoot,this._mapContainer,this.showGeoCodingControl,this.showBoundaryBoxControl,this.useZoomControl,this.showGeoJson,this.cluster).setCenter(this.center).setZoom(this.zoom).setControls(this.controls).setGeoJson(this.geoJson),this._map.build().then(()=>{var e,t;null==(e=this._resizeObserver)||e.disconnect(),this._resizeObserver=new ResizeObserver(A(()=>{this.resize()},200));let o=null==(t=this._mapContainer)?void 0:t.parentElement;o&&this._resizeObserver.observe(o),this._slotElement.assignedNodes({flatten:!0}).forEach(e=>{e instanceof l&&this._map.addMarker(e)})})),this._loaded=!0)}resize(){this._map&&this._map.resize()}flyTo(e,t){this._map&&this._map.flyTo(e,t)}_removeMarker(e){var t;null==(t=this._map)||t.removeMarker(e)}_onMarkerChangedEvent(e){this._map&&this._map.onMarkerChanged(e.detail.marker,e.detail.property)}};OrMap.styles=p,__decorate([a({type:Object})],OrMap.prototype,"cluster",void 0),__decorate([a({type:String,converter:{fromAttribute(e,t){if(!e)return;let o=e.split(",");if(2===o.length)return new n(Number(o[0]),Number(o[1]))},toAttribute(e,t){let o=m.getLngLat(e);return o?""+o.lng+","+o.lat:""}}})],OrMap.prototype,"center",void 0),__decorate([a({type:Number})],OrMap.prototype,"zoom",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showGeoCodingControl",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showBoundaryBoxControl",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"useZoomControl",void 0),__decorate([a({type:Object})],OrMap.prototype,"geoJson",void 0),__decorate([a({type:Boolean})],OrMap.prototype,"showGeoJson",void 0),__decorate([a({type:Array})],OrMap.prototype,"boundary",void 0),__decorate([s("#map")],OrMap.prototype,"_mapContainer",void 0),__decorate([s("slot")],OrMap.prototype,"_slotElement",void 0),OrMap=__decorate([r("or-map")],OrMap);export{m as Util,n as LngLat,OrMap};
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,OAAwB,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AACrD,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAW,MAAM,EAAgC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAgB,SAAS,EAAC,MAAM,aAAa,CAAC;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAC,WAAW,EAAE,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EACH,SAAS,EAGZ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAC,kCAAkC,EAAC,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,aAAa;AACb,OAAO,EAAC,IAAI,EAAc,MAAM,EAAgB,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AA0BhC,MAAM,OAAO,gBAAiB,SAAQ,WAAiB;IAInD;QACI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;;AAPsB,qBAAI,GAAG,eAAe,CAAC;AAUlD,MAAM,OAAO,iBAAkB,SAAQ,WAA2B;IAI9D,YAAY,MAAc,EAAE,WAAW,GAAG,KAAK;QAC3C,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAC1B,MAAM,EAAE;gBACJ,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;aACjB;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;;AAXsB,sBAAI,GAAG,gBAAgB,CAAC;AAcnD,MAAM,OAAO,mBAAoB,SAAQ,WAA2B;IAIhE,YAAY,MAAc;QACtB,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE;gBACJ,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,MAAM;aACjB;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;;AAXsB,wBAAI,GAAG,mBAAmB,CAAC;AActD,MAAM,OAAO,wBAAyB,SAAQ,WAAmC;IAI7E,YAAY,OAAY;QACpB,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE;gBACJ,OAAO;aACV;YACD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;;AAVsB,6BAAI,GAAG,wBAAwB,CAAC;AAa3D,MAAM,OAAO,wBAAyB,SAAQ,WAAgC;IAI1E,YAAY,MAA2B;QACnC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IACP,CAAC;;AARsB,6BAAI,GAAG,wBAAwB,CAAC;AAuB3D,MAAM,CAAC,MAAM,iCAAiC,GAAgC,CAAC,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;IAEjL,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,kBAAkB,GAAG,CAAC,KAA6B,EAAE,EAAE;QACzD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,mBAAmB,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;aACpD,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAChF,IAAI,GAAoD,CAAC;IAEzD,MAAM,gBAAgB,GAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;QACzG,IAAI,MAA4B,CAAC;QAEjC,IAAI,KAAK,EAAE,CAAC;YACR,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,aAAa,CAAC,GAAG,GAAG,GAAG,IAAI,SAAS,CAAC;QACrC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC;QACzE,kBAAkB,CAAC,KAAK,GAAG,SAAS,CAAC;QAErC,MAAM,YAAY,GAAG,kCAAkC,CAAC,eAAe,CAAC,CAAC;QAEzE,IAAI,MAA+B,CAAC;QAEpC,MAAM,MAAM,GAAG,CAAC,MAAyB,EAAE,EAAE;YACzC,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBACvB,OAAO;YACX,CAAC;YAED,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE7C,IAAI,MAAM,EAAE,CAAC;gBACT,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAW,CAAC,cAAc,CAAC,uBAAuB,CAAgB,CAAC;gBACzF,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzD,kBAAkB,CAAC,KAAK,GAAG,SAAS,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,kBAAkB,CAAC,GAAiB,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAA;QAEpF,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEZ,MAAM,mBAAmB,GAAG,IAAI,gBAAgB,CAAC;gBAC7C,eAAe,EAAE;oBACb,kBAAkB,EAAE,IAAI;iBAC3B;gBACD,kBAAkB,EAAE,KAAK;gBACzB,gBAAgB,EAAE,KAAK;aAC1B,CAAC,CAAC;YAEH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,eAAoC,EAAE,EAAE;gBACzE,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YACH,mBAAmB,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,eAAoC,EAAE,EAAE;gBAC9E,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAA;iFACuD,CAAC,EAAuB,EAAE,EAAE,GAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,cAAc,MAAM,gBAAgB,QAAQ,2BAA2B,CAAC,QAAQ;yEAChJ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,YAAY,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,mBAAmB,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,cAAc,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;;2CAE1R,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;SAC9D,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,OAAO,CAAC;YAG3B,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,MAAM,GAAG,UAAU,CACf,IAAI,WAAW,EAAE;qBACZ,UAAU,CAAC,UAAU,CAAC;qBACtB,SAAS,CAAC,IAAI,CAAA;;;;;;;;;;;;;;yBAcd,CAAC;qBACD,UAAU,CAAC;oBACR;wBACI,UAAU,EAAE,MAAM;wBAClB,OAAO,EAAE,MAAM;wBACf,MAAM,EAAE,GAAG,EAAE;4BACT,MAAM,CAAC,IAAI,CAAC,CAAC;4BACb,kBAAkB,CAAC,GAAiB,CAAC,CAAC;wBAC1C,CAAC;qBACJ;oBACD;wBACI,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,GAAG,EAAE;4BACT,kBAAkB,CAAC,GAAiB,CAAC,CAAC;wBAC1C,CAAC;qBACJ;oBACD;wBACI,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,QAAQ;wBACpB,OAAO,EAAE,QAAQ;qBACpB;iBACJ,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,OAAO,GAAG,IAAI,CAAA;;;;;;;;;;uEAU6C,WAAW,YAAY,SAAS,CAAC,IAAI,aAAa,SAAS,eAAe,uBAAuB,aAAa,CAAC,CAAgB,EAAE,EAAE,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gEAC/L,SAAS,CAAC,MAAM,0DAA0D,OAAO;;aAEpI,CAAC;QACN,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO;QACH,gBAAgB,EAAE,gBAAgB;QAClC,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,KAAK;QACpB,kBAAkB,EAAE,KAAK;QACzB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;KACpH,CAAC;AACN,CAAC,CAAA;AAGM,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;IAqEjC;QACI,KAAK,EAAE,CAAC;QAhCL,yBAAoB,GAAY,KAAK,CAAC;QAGtC,2BAAsB,GAAY,KAAK,CAAC;QAGxC,mBAAc,GAAY,IAAI,CAAC;QAM/B,gBAAW,GAAY,IAAI,CAAC;QAG5B,aAAQ,GAAa,EAAE,CAAC;QAMrB,YAAO,GAAY,KAAK,CAAC;QAY/B,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpF,CAAC;IAEM,cAAc,CAAC,KAAwB;;QAC1C,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,0CAAE,QAAQ,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA;YAAE,OAAO;QACtC,MAAA,IAAI,CAAC,IAAI,0CAAE,cAAc,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,EAAE,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjJ,CAAC;IAEM,mBAAmB;;QACtB,MAAA,IAAI,CAAC,IAAI,0CAAE,mBAAmB,EAAE,CAAC;IACrC,CAAC;IAEY,MAAM;;;YACf,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAA,CAAC;QAC5B,CAAC;KAAA;IAES,YAAY,CAAC,kBAAkC;QACrD,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC9B,CAAC;IAEM,oBAAoB;;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;QACD,yDAAyD;QACzD,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,EAAE,CAAC;IACxB,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAA;;;;;;;;SAQV,CAAC;IACN,CAAC;IAES,OAAO,CAAC,iBAAiC;;QAC/C,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAC,CAAC;YAClE,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,OAAO;gBACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC;iBACvK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;iBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC1B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;;gBACxB,MAAA,IAAI,CAAC,eAAe,0CAAE,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE;oBACpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,aAAa,0CAAE,aAAa,CAAC;gBACpD,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjE,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;wBAChC,MAAM,MAAM,GAAG,IAAI,CAAC;wBACpB,IAAI,CAAC,IAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;oBAC9B,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,MAAM;QACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAwB,EAAE,IAAa;QAChD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEM,aAAa,CAAC,MAAmB;;QACpC,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAES,qBAAqB,CAAC,GAA4B;QACxD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;;AA/La,YAAM,GAAG,KAAK,AAAR,CAAS;AAGtB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;sCACM;AA2BxB;IAzBN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;YAC5B,aAAa,CAAC,KAAoB,EAAE,IAAa;gBAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,OAAO;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;YAED,WAAW,CAAC,KAAkB,EAAE,IAAa;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAErC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACd,CAAC;gBAED,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAC9C,CAAC;SACJ,EAAC,CAAC;qCACoB;AAGpB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;mCACJ;AAGd;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;mDACmB;AAGtC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qDACqB;AAGxC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;6CACY;AAG/B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;sCACM;AAGxB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;0CACS;AAG5B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;uCACO;AAWrB;IADT,KAAK,CAAC,MAAM,CAAC;4CACwB;AAG5B;IADT,KAAK,CAAC,MAAM,CAAC;2CAC2B;AAnEhC,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAkMjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,14 @@ export declare class OrClusterMarker extends LitElement {
15
15
  protected _lowTreshold: number;
16
16
  constructor(slices: Slice[], clusterId: number, lng: number, lat: number, map: Map);
17
17
  /**
18
- * Checks that all types exactly match the cluster marker types
19
- * @param types The types that must be present
20
- * @returns Whether all types are present in the cluster marker
18
+ * Checks that all slices match the accumulated cluster properties
19
+ *
20
+ * Note: This method assumes the slices contain the same types as `counts`. If not,
21
+ * a new cluster marker should be created.
22
+ * @param counts A record of the accumulated cluster properties to check
23
+ * @returns Whether the slices have the same counts as the accumulated properties
21
24
  */
22
- hasTypes(types: string[]): boolean;
25
+ slicesMatch(counts: Record<string, number>): boolean;
23
26
  protected render(): TemplateResult<2>;
24
27
  /**
25
28
  * Based on https://github.com/maplibre/maplibre-gl-js/blob/3aa2de2e3a365c07ac2792847c242a7c36e625ea/test/examples/display-html-clusters-with-custom-properties.html#L147
@@ -1 +1 @@
1
- {"version":3,"file":"or-cluster-marker.d.ts","sourceRoot":"","sources":["../../src/markers/or-cluster-marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAExH,OAAO,EAAiB,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAIhE,qBACa,eAAgB,SAAQ,UAAU;IAEpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAM;IAChC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAEpB,SAAS,CAAC,cAAc,SAAM;IAC9B,SAAS,CAAC,YAAY,SAA4B;IAClD,SAAS,CAAC,YAAY,SAA0B;gBAEpC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IASlF;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;IAS/B,SAAS,CAAC,MAAM;IAIhB;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc;IAsC5D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAsBxH,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;cAKZ,OAAO;CAO1B"}
1
+ {"version":3,"file":"or-cluster-marker.d.ts","sourceRoot":"","sources":["../../src/markers/or-cluster-marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAExH,OAAO,EAAiB,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAIjE,qBACa,eAAgB,SAAQ,UAAU;IAEpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAM;IAChC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAEpB,SAAS,CAAC,cAAc,SAAM;IAC9B,SAAS,CAAC,YAAY,SAA4B;IAClD,SAAS,CAAC,YAAY,SAA0B;gBAEpC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IASlF;;;;;;;OAOG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOjD,SAAS,CAAC,MAAM;IAIhB;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc;IAsC5D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAsBxH,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;cAKZ,OAAO;CAO1B"}
@@ -1,21 +1,21 @@
1
- var __decorate=this&&this.__decorate||function(t,e,r,s){var i,h=arguments.length,o=h<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,s);else for(var l=t.length-1;l>=0;l--)(i=t[l])&&(o=(h<3?i(o):h>3?i(e,r,o):i(e,r))||o);return h>3&&o&&Object.defineProperty(e,r,o),o},__awaiter=this&&this.__awaiter||function(t,e,r,s){return new(r||(r=Promise))(function(i,h){function o(t){try{n(s.next(t))}catch(t){h(t)}}function l(t){try{n(s.throw(t))}catch(t){h(t)}}function n(t){var e;t.done?i(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(o,l)}n((s=s.apply(t,e||[])).next())})};import{svg as t,LitElement as e}from"lit";import{customElement as r}from"lit/decorators.js";let OrClusterMarker=class extends e{constructor(t,e,r,s,i){super(),this._slices=[],this._highThreshold=99,this._midTreshold=this._highThreshold/10,this._lowTreshold=this._midTreshold/10,this._clusterId=e,this._slices=t,this.lng=r,this.lat=s,this._map=i}hasTypes(t){for(let e of t)if(!this._slices.some(([t])=>t===e))return!1;return!0}render(){return t`${this._createDonutChart(this._slices)}`}_createDonutChart(e){let r=0;for(let t of e)t.push(r),r+=t[2];let s=r>=this._highThreshold?18:r>=this._midTreshold?16:r>=this._lowTreshold?14:12,i=r>=this._highThreshold?32:r>=this._midTreshold?26:r>=this._lowTreshold?16:12,h=r>=this._highThreshold?28:r>=this._midTreshold?24:r>=this._lowTreshold?16:8,o=i-h,l=Math.round(.6*i),n=2*i,a=r>this._highThreshold;return t`
2
- <svg
1
+ var __decorate=this&&this.__decorate||function(t,e,r,s){var i,h=arguments.length,l=h<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(t,e,r,s);else for(var o=t.length-1;o>=0;o--)(i=t[o])&&(l=(h<3?i(l):h>3?i(e,r,l):i(e,r))||l);return h>3&&l&&Object.defineProperty(e,r,l),l},__awaiter=this&&this.__awaiter||function(t,e,r,s){return new(r||(r=Promise))(function(i,h){function l(t){try{n(s.next(t))}catch(t){h(t)}}function o(t){try{n(s.throw(t))}catch(t){h(t)}}function n(t){var e;t.done?i(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(l,o)}n((s=s.apply(t,e||[])).next())})};import{svg as t,LitElement as e}from"lit";import{customElement as r}from"lit/decorators.js";let OrClusterMarker=class extends e{constructor(t,e,r,s,i){super(),this._slices=[],this._highThreshold=99,this._midTreshold=this._highThreshold/10,this._lowTreshold=this._midTreshold/10,this._clusterId=e,this._slices=t,this.lng=r,this.lat=s,this._map=i}slicesMatch(t){for(let[e,,r]of this._slices)if(t[e]!==r)return!1;return!0}render(){return t`${this._createDonutChart(this._slices)}`}_createDonutChart(e){let r=0;for(let t of e)t.push(r),r+=t[2];let s=r>=this._highThreshold?18:r>=this._midTreshold?16:r>=this._lowTreshold?14:12,i=r>=this._highThreshold?32:r>=this._midTreshold?26:r>=this._lowTreshold?16:12,h=r>=this._highThreshold?28:r>=this._midTreshold?24:r>=this._lowTreshold?16:8,l=i-h,o=Math.round(.6*i),n=2*i,a=r>this._highThreshold;return t`
2
+ <svg
3
3
  width="${n}"
4
4
  height="${n}"
5
5
  viewbox="0 0 ${n} ${n}"
6
6
  text-anchor="middle"
7
7
  style="cursor: pointer; pointer-events: auto; font: ${s}px Helvetica Neue,Arial,Helvetica,sans-serif; display: block">
8
- ${e.map(([,t,e,s])=>this._donutSegment(s/r,(s+e)/r,h,l,t,o))}
9
- <circle cx="${i}" cy="${i}" r="${l}" fill="white" />
8
+ ${e.map(([,t,e,s])=>this._donutSegment(s/r,(s+e)/r,h,o,t,l))}
9
+ <circle cx="${i}" cy="${i}" r="${o}" fill="white" />
10
10
  <text dominant-baseline="central" transform="translate(${i}, ${i})">
11
11
  ${(a?this._highThreshold:r).toLocaleString()+(a?"+":"")}
12
12
  </text>
13
13
  </svg>
14
- `}_donutSegment(e,r,s,i,h,o){r-e==1&&(r-=1e-5);let l=2*Math.PI*(e-.25),n=2*Math.PI*(r-.25),a=Math.cos(l),c=Math.sin(l),d=Math.cos(n),u=Math.sin(n),_=+(r-e>.5);return t`<path fill="#${h}" transform="translate(${o}, ${o})" d="
14
+ `}_donutSegment(e,r,s,i,h,l){r-e==1&&(r-=1e-5);let o=2*Math.PI*(e-.25),n=2*Math.PI*(r-.25),a=Math.cos(o),c=Math.sin(o),d=Math.cos(n),u=Math.sin(n),_=+(r-e>.5);return t`<path fill="#${h}" transform="translate(${l}, ${l})" d="
15
15
  M ${s+i*a} ${s+i*c}
16
16
  L ${s+s*a} ${s+s*c}
17
17
  A ${s} ${s} 0 ${_} 1 ${s+s*d} ${s+s*u}
18
18
  L ${s+i*d} ${s+i*u}
19
19
  A ${i} ${i} 0 ${_} 0 ${s+i*a} ${s+i*c}
20
20
  "
21
- />`}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.onClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.onClick)}onClick(){return __awaiter(this,void 0,void 0,function*(){if(this.lng&&this.lat){let t=yield this._map.getSource("mapPoints").getClusterExpansionZoom(this._clusterId);this._map.easeTo({center:[this.lng,this.lat],zoom:t},{marker:this})}})}};OrClusterMarker=__decorate([r("or-cluster-marker")],OrClusterMarker);export{OrClusterMarker};
21
+ />`}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.onClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.onClick)}onClick(){return __awaiter(this,void 0,void 0,function*(){if(null!=this.lng&&null!=this.lat){let t=yield this._map.getSource("assets").getClusterExpansionZoom(this._clusterId);this._map.easeTo({center:[this.lng,this.lat],zoom:t},{marker:this})}})}};OrClusterMarker=__decorate([r("or-cluster-marker")],OrClusterMarker);export{OrClusterMarker};