@open-pioneer/map-navigation 1.4.0-dev.20260625074633 → 1.4.0-dev.20260727093741

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/CHANGELOG.md CHANGED
@@ -1,10 +1,14 @@
1
1
  # @open-pioneer/map-navigation
2
2
 
3
- ## 1.4.0-dev.20260625074633
3
+ ## 1.4.0-dev.20260727093741
4
4
 
5
5
  ### Minor Changes
6
6
 
7
- - c30396d: Update Chakra to 3.36.0
7
+ - c30396d: Update Chakra to 3.36.1
8
+
9
+ ### Patch Changes
10
+
11
+ - 078bef5: Use private JavaScript properties (#) instead of TypeScript keyword.
8
12
 
9
13
  ## 1.3.0
10
14
 
@@ -9,10 +9,6 @@ interface MapViewState {
9
9
  }
10
10
  export declare class ViewHistoryModel {
11
11
  #private;
12
- private olMap;
13
- private handle;
14
- private _mapViews;
15
- private _activeViewId;
16
12
  constructor(map: MapModel);
17
13
  destroy(): void;
18
14
  get activeViewId(): number;
@@ -5,23 +5,23 @@ import { useState, useEffect } from 'react';
5
5
 
6
6
  const SIZE_LIMIT = 200;
7
7
  class ViewHistoryModel {
8
- olMap;
9
- handle;
10
- _mapViews = reactiveMap();
11
- _activeViewId = reactive(0);
8
+ #olMap;
9
+ #handle;
10
+ #mapViews = reactiveMap();
11
+ #activeViewId = reactive(0);
12
12
  constructor(map) {
13
- this.olMap = map.olMap;
14
- this.handle = this.#subscribeToMapEvents();
13
+ this.#olMap = map.olMap;
14
+ this.#handle = this.#subscribeToMapEvents();
15
15
  }
16
16
  destroy() {
17
- this.handle && unByKey(this.handle);
18
- this.handle = void 0;
17
+ this.#handle && unByKey(this.#handle);
18
+ this.#handle = void 0;
19
19
  }
20
20
  get activeViewId() {
21
- return this._activeViewId.value;
21
+ return this.#activeViewId.value;
22
22
  }
23
23
  get mapViews() {
24
- return this._mapViews;
24
+ return this.#mapViews;
25
25
  }
26
26
  get canBackward() {
27
27
  return this.mapViews.get(this.activeViewId - 1) != null;
@@ -42,12 +42,12 @@ class ViewHistoryModel {
42
42
  } else throw new Error("Forward is not possible at the moment");
43
43
  };
44
44
  #goto(activeViewId) {
45
- const view = this.olMap.getView();
45
+ const view = this.#olMap.getView();
46
46
  const activeView = this.mapViews.get(activeViewId);
47
47
  if (activeView == null) {
48
48
  throw new Error(`No view found for id ${activeViewId}`);
49
49
  }
50
- this.olMap.setView(
50
+ this.#olMap.setView(
51
51
  new View({
52
52
  center: activeView.center,
53
53
  resolution: activeView.resolution,
@@ -56,14 +56,14 @@ class ViewHistoryModel {
56
56
  );
57
57
  }
58
58
  #setActiveView(activeViewId) {
59
- this._activeViewId.value = activeViewId;
59
+ this.#activeViewId.value = activeViewId;
60
60
  }
61
61
  #subscribeToMapEvents() {
62
- const eventsKey = this.olMap.on("moveend", () => {
62
+ const eventsKey = this.#olMap.on("moveend", () => {
63
63
  onCenterResChange();
64
64
  });
65
65
  const onCenterResChange = () => {
66
- const olMap = this.olMap;
66
+ const olMap = this.#olMap;
67
67
  const mapViews = this.mapViews;
68
68
  const view = olMap.getView();
69
69
  const resolution = view.getResolution();
@@ -1 +1 @@
1
- {"version":3,"file":"ViewHistoryModel.js","sources":["ViewHistoryModel.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2023-2025 Open Pioneer project (https://github.com/open-pioneer)\n// SPDX-License-Identifier: Apache-2.0\nimport { MapModel } from \"@open-pioneer/map\";\nimport { View } from \"ol\";\nimport { EventsKey } from \"ol/events\";\nimport { unByKey } from \"ol/Observable\";\nimport OlMap from \"ol/Map\";\nimport { Reactive, reactive, ReactiveMap, reactiveMap } from \"@conterra/reactivity-core\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { useEffect, useState } from \"react\";\n\ninterface MapViewState {\n /** Map resolution */\n resolution: number;\n\n /** Map center */\n center: Coordinate;\n}\n\nconst SIZE_LIMIT = 200;\n\nexport class ViewHistoryModel {\n private olMap: OlMap;\n private handle: EventsKey | undefined;\n\n private _mapViews: ReactiveMap<number, MapViewState> = reactiveMap<number, MapViewState>();\n private _activeViewId: Reactive<number> = reactive(0);\n\n constructor(map: MapModel) {\n this.olMap = map.olMap;\n this.handle = this.#subscribeToMapEvents();\n }\n\n destroy() {\n this.handle && unByKey(this.handle);\n this.handle = undefined;\n }\n\n get activeViewId(): number {\n return this._activeViewId.value;\n }\n\n get mapViews(): ReactiveMap<number, MapViewState> {\n return this._mapViews;\n }\n\n get canBackward(): boolean {\n return this.mapViews.get(this.activeViewId - 1) != null;\n }\n\n get canForward(): boolean {\n return this.mapViews.get(this.activeViewId + 1) != null;\n }\n\n backward = () => {\n if (this.canBackward) {\n this.#setActiveView(this.activeViewId - 1);\n this.#goto(this.activeViewId);\n } else throw new Error(\"Backward is not possible at the moment\");\n };\n\n forward = () => {\n if (this.canForward) {\n this.#setActiveView(this.activeViewId + 1);\n this.#goto(this.activeViewId);\n } else throw new Error(\"Forward is not possible at the moment\");\n };\n\n #goto(activeViewId: number) {\n const view = this.olMap.getView();\n const activeView = this.mapViews.get(activeViewId);\n if (activeView == null) {\n throw new Error(`No view found for id ${activeViewId}`);\n }\n this.olMap.setView(\n new View({\n center: activeView.center,\n resolution: activeView.resolution,\n projection: view.getProjection()\n })\n );\n }\n\n #setActiveView(activeViewId: number) {\n this._activeViewId.value = activeViewId;\n }\n\n #subscribeToMapEvents() {\n const eventsKey: EventsKey = this.olMap.on(\"moveend\", () => {\n onCenterResChange();\n });\n\n const onCenterResChange = () => {\n const olMap = this.olMap;\n const mapViews = this.mapViews;\n const view = olMap.getView();\n const resolution = view.getResolution();\n const center = view.getCenter();\n if (resolution != null && center != null) {\n if (\n center !== mapViews.get(this.activeViewId)?.center ||\n resolution !== mapViews.get(this.activeViewId)?.resolution\n ) {\n const mapState = {\n resolution: resolution,\n center: center\n };\n const nextViewId = this.activeViewId + 1;\n\n // Remove keys in the \"future\". Note: an array would probably be more efficient.\n for (const k of mapViews.keys()) {\n if (k > nextViewId) {\n mapViews.delete(k);\n }\n }\n\n // Remove old keys above limit (maps are sorted by insertion order, so this removes the oldest entries)\n for (const k of mapViews.keys()) {\n if (mapViews.size < SIZE_LIMIT) {\n break;\n }\n mapViews.delete(k);\n }\n\n this.#setActiveView(nextViewId);\n mapViews.set(nextViewId, mapState);\n }\n }\n };\n\n return eventsKey;\n }\n}\n\ninterface ViewModelState {\n vm: ViewHistoryModel;\n useCount: number; // 0 -> must destroy\n}\n\nconst VIEW_MODELS = new WeakMap<MapModel, ViewModelState>();\n\n/**\n * An internal hook that returns a shared HistoryViewModel.\n * History tools that are active at the same time share a single model.\n *\n * The model is destroyed when the last tool is unmounted.\n *\n * TODO: `undefined` only because the map can be undefined at the moment (loading).\n *\n * NOTE: May be useful to have this a general solution in the future; but this is the only usage right now.\n */\nexport function useHistoryViewModel(map: MapModel): ViewHistoryModel | undefined {\n const [vm, setVm] = useState<ViewHistoryModel>();\n useEffect(() => {\n let state = VIEW_MODELS.get(map);\n if (state == null) {\n state = {\n vm: new ViewHistoryModel(map),\n useCount: 1\n };\n VIEW_MODELS.set(map, state);\n } else {\n state.useCount++;\n }\n setVm(state.vm);\n\n return () => {\n setVm(undefined);\n\n state.useCount--;\n if (state.useCount === 0) {\n state.vm.destroy();\n VIEW_MODELS.delete(map);\n }\n };\n }, [map]);\n return vm;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewHistoryModel.js","sources":["ViewHistoryModel.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2023-2025 Open Pioneer project (https://github.com/open-pioneer)\n// SPDX-License-Identifier: Apache-2.0\nimport { MapModel } from \"@open-pioneer/map\";\nimport { View } from \"ol\";\nimport { EventsKey } from \"ol/events\";\nimport { unByKey } from \"ol/Observable\";\nimport OlMap from \"ol/Map\";\nimport { Reactive, reactive, ReactiveMap, reactiveMap } from \"@conterra/reactivity-core\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { useEffect, useState } from \"react\";\n\ninterface MapViewState {\n /** Map resolution */\n resolution: number;\n\n /** Map center */\n center: Coordinate;\n}\n\nconst SIZE_LIMIT = 200;\n\nexport class ViewHistoryModel {\n #olMap: OlMap;\n #handle: EventsKey | undefined;\n\n #mapViews: ReactiveMap<number, MapViewState> = reactiveMap<number, MapViewState>();\n #activeViewId: Reactive<number> = reactive(0);\n\n constructor(map: MapModel) {\n this.#olMap = map.olMap;\n this.#handle = this.#subscribeToMapEvents();\n }\n\n destroy() {\n this.#handle && unByKey(this.#handle);\n this.#handle = undefined;\n }\n\n get activeViewId(): number {\n return this.#activeViewId.value;\n }\n\n get mapViews(): ReactiveMap<number, MapViewState> {\n return this.#mapViews;\n }\n\n get canBackward(): boolean {\n return this.mapViews.get(this.activeViewId - 1) != null;\n }\n\n get canForward(): boolean {\n return this.mapViews.get(this.activeViewId + 1) != null;\n }\n\n backward = () => {\n if (this.canBackward) {\n this.#setActiveView(this.activeViewId - 1);\n this.#goto(this.activeViewId);\n } else throw new Error(\"Backward is not possible at the moment\");\n };\n\n forward = () => {\n if (this.canForward) {\n this.#setActiveView(this.activeViewId + 1);\n this.#goto(this.activeViewId);\n } else throw new Error(\"Forward is not possible at the moment\");\n };\n\n #goto(activeViewId: number) {\n const view = this.#olMap.getView();\n const activeView = this.mapViews.get(activeViewId);\n if (activeView == null) {\n throw new Error(`No view found for id ${activeViewId}`);\n }\n this.#olMap.setView(\n new View({\n center: activeView.center,\n resolution: activeView.resolution,\n projection: view.getProjection()\n })\n );\n }\n\n #setActiveView(activeViewId: number) {\n this.#activeViewId.value = activeViewId;\n }\n\n #subscribeToMapEvents() {\n const eventsKey: EventsKey = this.#olMap.on(\"moveend\", () => {\n onCenterResChange();\n });\n\n const onCenterResChange = () => {\n const olMap = this.#olMap;\n const mapViews = this.mapViews;\n const view = olMap.getView();\n const resolution = view.getResolution();\n const center = view.getCenter();\n if (resolution != null && center != null) {\n if (\n center !== mapViews.get(this.activeViewId)?.center ||\n resolution !== mapViews.get(this.activeViewId)?.resolution\n ) {\n const mapState = {\n resolution: resolution,\n center: center\n };\n const nextViewId = this.activeViewId + 1;\n\n // Remove keys in the \"future\". Note: an array would probably be more efficient.\n for (const k of mapViews.keys()) {\n if (k > nextViewId) {\n mapViews.delete(k);\n }\n }\n\n // Remove old keys above limit (maps are sorted by insertion order, so this removes the oldest entries)\n for (const k of mapViews.keys()) {\n if (mapViews.size < SIZE_LIMIT) {\n break;\n }\n mapViews.delete(k);\n }\n\n this.#setActiveView(nextViewId);\n mapViews.set(nextViewId, mapState);\n }\n }\n };\n\n return eventsKey;\n }\n}\n\ninterface ViewModelState {\n vm: ViewHistoryModel;\n useCount: number; // 0 -> must destroy\n}\n\nconst VIEW_MODELS = new WeakMap<MapModel, ViewModelState>();\n\n/**\n * An internal hook that returns a shared HistoryViewModel.\n * History tools that are active at the same time share a single model.\n *\n * The model is destroyed when the last tool is unmounted.\n *\n * TODO: `undefined` only because the map can be undefined at the moment (loading).\n *\n * NOTE: May be useful to have this a general solution in the future; but this is the only usage right now.\n */\nexport function useHistoryViewModel(map: MapModel): ViewHistoryModel | undefined {\n const [vm, setVm] = useState<ViewHistoryModel>();\n useEffect(() => {\n let state = VIEW_MODELS.get(map);\n if (state == null) {\n state = {\n vm: new ViewHistoryModel(map),\n useCount: 1\n };\n VIEW_MODELS.set(map, state);\n } else {\n state.useCount++;\n }\n setVm(state.vm);\n\n return () => {\n setVm(undefined);\n\n state.useCount--;\n if (state.useCount === 0) {\n state.vm.destroy();\n VIEW_MODELS.delete(map);\n }\n };\n }, [map]);\n return vm;\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@open-pioneer/map-navigation",
4
- "version": "1.4.0-dev.20260625074633",
4
+ "version": "1.4.0-dev.20260727093741",
5
5
  "description": "This package provides a collection of map navigation controls.",
6
6
  "keywords": [
7
7
  "open-pioneer-trails"
@@ -15,15 +15,15 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@conterra/reactivity-core": "^0.8.6",
18
- "@chakra-ui/react": "^3.36.0",
19
- "@open-pioneer/react-utils": "4.7.0-dev.20260624141040",
20
- "@open-pioneer/reactivity": "4.7.0-dev.20260624141040",
21
- "@open-pioneer/runtime": "4.7.0-dev.20260624141040",
18
+ "@chakra-ui/react": "^3.36.1",
19
+ "@open-pioneer/react-utils": "4.7.0-dev.20260727091735",
20
+ "@open-pioneer/reactivity": "4.7.0-dev.20260727091735",
21
+ "@open-pioneer/runtime": "4.7.0-dev.20260727091735",
22
22
  "ol": "^10.9.0",
23
- "react": "^19.2.7",
24
- "react-icons": "^5.6.0",
25
- "@open-pioneer/map": "1.4.0-dev.20260625074633",
26
- "@open-pioneer/map-ui-components": "1.4.0-dev.20260625074633"
23
+ "react": "^19.2.8",
24
+ "react-icons": "^5.7.0",
25
+ "@open-pioneer/map": "1.4.0-dev.20260727093741",
26
+ "@open-pioneer/map-ui-components": "1.4.0-dev.20260727093741"
27
27
  },
28
28
  "exports": {
29
29
  "./package.json": "./package.json",