Skip to content

Commit 6c88713

Browse files
feat: update openlayers to 10.5.0
BREAKING CHANGE: `ol` peer dep is now `~10.5.0` BREAKING CHANGE: see all breaking changes from `ol` `10.0.0` (https://github.com/openlayers/openlayers/blob/main/changelog/v10.0.0.md)
1 parent e61d800 commit 6c88713

File tree

6 files changed

+58
-78
lines changed

6 files changed

+58
-78
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@angular/platform-browser-dynamic": "^17.3.12",
2525
"@angular/router": "^17.3.12",
2626
"hammerjs": "^2.0.8",
27-
"ol": "~9.2.4",
27+
"ol": "~10.5.0",
2828
"rxjs": "~7.5.0",
2929
"tslib": "^2.5.0",
3030
"zone.js": "~0.14.10"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { FeatureClass } from 'ol/Feature';
21
import FeatureFormat from 'ol/format/Feature';
2+
import RenderFeature from 'ol/render/Feature';
33

44
export class FormatComponent {
5-
public instance: FeatureFormat<FeatureClass>;
5+
public instance: FeatureFormat<RenderFeature>;
66
public componentType = 'format';
77
}

projects/ngx-openlayers/src/lib/formats/mvt.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { Component, forwardRef, Input } from '@angular/core';
2-
import { FeatureClass } from 'ol/Feature';
32
import { MVT } from 'ol/format';
43
import { FormatComponent } from './format.component';
4+
import RenderFeature from 'ol/render/Feature';
5+
import { FeatureToFeatureClass } from 'ol/format/Feature';
56

67
@Component({
78
selector: 'aol-format-mvt',
@@ -11,15 +12,15 @@ import { FormatComponent } from './format.component';
1112
})
1213
export class FormatMVTComponent extends FormatComponent {
1314
@Input()
14-
featureClass: FeatureClass;
15+
featureClass: FeatureToFeatureClass<RenderFeature>;
1516
@Input()
1617
geometryName: string;
1718
@Input()
1819
layerName: string;
1920
@Input()
2021
layers: string[];
2122

22-
instance: MVT<FeatureClass>;
23+
instance: MVT;
2324

2425
constructor() {
2526
super();

projects/ngx-openlayers/src/lib/map.component.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ export class MapComponent implements OnInit, AfterViewInit, OnChanges {
4545
renderer: 'canvas' | 'webgl';
4646

4747
@Output()
48-
olClick: EventEmitter<MapBrowserEvent<UIEvent>>;
48+
olClick: EventEmitter<MapBrowserEvent>;
4949
@Output()
50-
dblClick: EventEmitter<MapBrowserEvent<UIEvent>>;
50+
dblClick: EventEmitter<MapBrowserEvent>;
5151
@Output()
5252
moveStart: EventEmitter<MapEvent>;
5353
@Output()
5454
moveEnd: EventEmitter<MapEvent>;
5555
@Output()
56-
pointerDrag: EventEmitter<MapBrowserEvent<UIEvent>>;
56+
pointerDrag: EventEmitter<MapBrowserEvent>;
5757
@Output()
58-
pointerMove: EventEmitter<MapBrowserEvent<UIEvent>>;
58+
pointerMove: EventEmitter<MapBrowserEvent>;
5959
@Output()
6060
onpostrender: EventEmitter<RenderEvent>;
6161
@Output()
@@ -65,7 +65,7 @@ export class MapComponent implements OnInit, AfterViewInit, OnChanges {
6565
@Output()
6666
propertyChange: EventEmitter<BaseEvent>;
6767
@Output()
68-
singleClick: EventEmitter<MapBrowserEvent<UIEvent>>;
68+
singleClick: EventEmitter<MapBrowserEvent>;
6969

7070
instance: Map;
7171
componentType = 'map';
@@ -74,34 +74,34 @@ export class MapComponent implements OnInit, AfterViewInit, OnChanges {
7474
interactions: Interaction[] = [];
7575

7676
constructor(private host: ElementRef) {
77-
this.olClick = new EventEmitter<MapBrowserEvent<UIEvent>>();
78-
this.dblClick = new EventEmitter<MapBrowserEvent<UIEvent>>();
77+
this.olClick = new EventEmitter<MapBrowserEvent>();
78+
this.dblClick = new EventEmitter<MapBrowserEvent>();
7979
this.moveStart = new EventEmitter<MapEvent>();
8080
this.moveEnd = new EventEmitter<MapEvent>();
81-
this.pointerDrag = new EventEmitter<MapBrowserEvent<UIEvent>>();
82-
this.pointerMove = new EventEmitter<MapBrowserEvent<UIEvent>>();
81+
this.pointerDrag = new EventEmitter<MapBrowserEvent>();
82+
this.pointerMove = new EventEmitter<MapBrowserEvent>();
8383
this.onpostrender = new EventEmitter<RenderEvent>();
8484
this.postRender = new EventEmitter<MapEvent>();
8585
this.onpreCompose = new EventEmitter<RenderEvent>();
8686
this.propertyChange = new EventEmitter<BaseEvent>();
87-
this.singleClick = new EventEmitter<MapBrowserEvent<UIEvent>>();
87+
this.singleClick = new EventEmitter<MapBrowserEvent>();
8888
}
8989

9090
ngOnInit(): void {
9191
// console.log('creating ol.Map instance with:', this);
9292
this.instance = new Map(this);
9393
this.instance.setTarget(this.host.nativeElement.firstElementChild);
94-
this.instance.on('click', (event: MapBrowserEvent<UIEvent>) => this.olClick.emit(event));
95-
this.instance.on('dblclick', (event: MapBrowserEvent<UIEvent>) => this.dblClick.emit(event));
94+
this.instance.on('click', (event: MapBrowserEvent) => this.olClick.emit(event));
95+
this.instance.on('dblclick', (event: MapBrowserEvent) => this.dblClick.emit(event));
9696
this.instance.on('movestart', (event: MapEvent) => this.moveStart.emit(event));
9797
this.instance.on('moveend', (event: MapEvent) => this.moveEnd.emit(event));
98-
this.instance.on('pointerdrag', (event: MapBrowserEvent<UIEvent>) => this.pointerDrag.emit(event));
99-
this.instance.on('pointermove', (event: MapBrowserEvent<UIEvent>) => this.pointerMove.emit(event));
98+
this.instance.on('pointerdrag', (event: MapBrowserEvent) => this.pointerDrag.emit(event));
99+
this.instance.on('pointermove', (event: MapBrowserEvent) => this.pointerMove.emit(event));
100100
this.instance.on('postrender', (event: RenderEvent) => this.onpostrender.emit(event));
101101
this.instance.on('postrender', (event: MapEvent) => this.postRender.emit(event));
102102
this.instance.on('precompose', (event: RenderEvent) => this.onpreCompose.emit(event));
103103
this.instance.on('propertychange', (event: BaseEvent) => this.propertyChange.emit(event));
104-
this.instance.on('singleclick', (event: MapBrowserEvent<UIEvent>) => this.singleClick.emit(event));
104+
this.instance.on('singleclick', (event: MapBrowserEvent) => this.singleClick.emit(event));
105105
}
106106

107107
ngOnChanges(changes: SimpleChanges): void {

projects/ngx-openlayers/src/lib/sources/vectortile.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { AfterContentInit, Component, ContentChild, forwardRef, Host, Input } from '@angular/core';
22
import { UrlFunction } from 'ol/Tile';
3-
import FeatureFormat, { FeatureToFeatureClass } from 'ol/format/Feature';
3+
import FeatureFormat from 'ol/format/Feature';
44
import { ProjectionLike } from 'ol/proj';
55
import { VectorTile } from 'ol/source';
66
import TileGrid from 'ol/tilegrid/TileGrid';
@@ -9,6 +9,7 @@ import { LayerVectorTileComponent } from '../layers/layervectortile.component';
99
import { TileGridComponent } from '../tilegrid.component';
1010
import { SourceComponent } from './source.component';
1111
import { FeatureLike } from 'ol/Feature';
12+
import RenderFeature from 'ol/render/Feature';
1213

1314
@Component({
1415
selector: 'aol-source-vectortile',
@@ -39,7 +40,7 @@ export class SourceVectorTileComponent extends SourceComponent implements AfterC
3940
@ContentChild(TileGridComponent)
4041
tileGridComponent: TileGridComponent;
4142

42-
format: FeatureFormat<FeatureToFeatureClass<FeatureLike>>;
43+
format: FeatureFormat<RenderFeature>;
4344
tileGrid: TileGrid;
4445

4546
instance: VectorTile<FeatureLike>;

yarn.lock

Lines changed: 33 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2432,6 +2432,11 @@
24322432
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb"
24332433
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
24342434

2435+
"@types/rbush@4.0.0":
2436+
version "4.0.0"
2437+
resolved "https://registry.npmjs.org/@types/rbush/-/rbush-4.0.0.tgz#b327bf54952e9c924ea6702c36904c2ce1d47f35"
2438+
integrity sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==
2439+
24352440
"@types/resolve@1.20.2":
24362441
version "1.20.2"
24372442
resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975"
@@ -3562,36 +3567,11 @@ color-name@1.1.3:
35623567
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
35633568
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
35643569

3565-
color-name@^2.0.0:
3566-
version "2.0.0"
3567-
resolved "https://registry.npmjs.org/color-name/-/color-name-2.0.0.tgz#03ff6b1b5aec9bb3cf1ed82400c2790dfcd01d2d"
3568-
integrity sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==
3569-
35703570
color-name@~1.1.4:
35713571
version "1.1.4"
35723572
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
35733573
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
35743574

3575-
color-parse@^2.0.0:
3576-
version "2.0.2"
3577-
resolved "https://registry.npmjs.org/color-parse/-/color-parse-2.0.2.tgz#37b46930424924060988edf25b24e6ffb4a1dc3f"
3578-
integrity sha512-eCtOz5w5ttWIUcaKLiktF+DxZO1R9KLNY/xhbV6CkhM7sR3GhVghmt6X6yOnzeaM24po+Z9/S1apbXMwA3Iepw==
3579-
dependencies:
3580-
color-name "^2.0.0"
3581-
3582-
color-rgba@^3.0.0:
3583-
version "3.0.0"
3584-
resolved "https://registry.npmjs.org/color-rgba/-/color-rgba-3.0.0.tgz#77090bdcdb2951c1735e20099ddd50401675375b"
3585-
integrity sha512-PPwZYkEY3M2THEHHV6Y95sGUie77S7X8v+h1r6LSAPF3/LL2xJ8duUXSrkic31Nzc4odPwHgUbiX/XuTYzQHQg==
3586-
dependencies:
3587-
color-parse "^2.0.0"
3588-
color-space "^2.0.0"
3589-
3590-
color-space@^2.0.0, color-space@^2.0.1:
3591-
version "2.0.1"
3592-
resolved "https://registry.npmjs.org/color-space/-/color-space-2.0.1.tgz#da39871175baf4a5785ba519397df04b8d67e0fa"
3593-
integrity sha512-nKqUYlo0vZATVOFHY810BSYjmCARrG7e5R3UE3CQlyjJTvv5kSSmPG1kzm/oDyyqjehM+lW1RnEt9It9GNa5JA==
3594-
35953575
colorette@^2.0.10:
35963576
version "2.0.20"
35973577
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
@@ -4328,10 +4308,10 @@ dunder-proto@^1.0.0:
43284308
es-errors "^1.3.0"
43294309
gopd "^1.2.0"
43304310

4331-
earcut@^2.2.3:
4332-
version "2.2.4"
4333-
resolved "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
4334-
integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
4311+
earcut@^3.0.0:
4312+
version "3.0.1"
4313+
resolved "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz#f60b3f671c5657cca9d3e131c5527c5dde00ef38"
4314+
integrity sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==
43354315

43364316
eastasianwidth@^0.2.0:
43374317
version "0.2.0"
@@ -5267,7 +5247,7 @@ gensync@^1.0.0-beta.2:
52675247
resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
52685248
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
52695249

5270-
geotiff@^2.0.7:
5250+
geotiff@^2.1.3:
52715251
version "2.1.3"
52725252
resolved "https://registry.npmjs.org/geotiff/-/geotiff-2.1.3.tgz#993f40f2aa6aa65fb1e0451d86dd22ca8e66910c"
52735253
integrity sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA==
@@ -5753,7 +5733,7 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
57535733
resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
57545734
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
57555735

5756-
ieee754@^1.1.12, ieee754@^1.1.13:
5736+
ieee754@^1.1.13:
57575737
version "1.2.1"
57585738
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
57595739
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -7438,17 +7418,16 @@ obuf@^1.0.0, obuf@^1.1.2:
74387418
resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
74397419
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
74407420

7441-
ol@~9.2.4:
7442-
version "9.2.4"
7443-
resolved "https://registry.npmjs.org/ol/-/ol-9.2.4.tgz#07dcefdceb66ddbde13089bca136f4d4852b772b"
7444-
integrity sha512-bsbu4ObaAlbELMIZWnYEvX4Z9jO+OyCBshtODhDKmqYTPEfnKOX3RieCr97tpJkqWTZvyV4tS9UQDvHoCdxS+A==
7421+
ol@~10.5.0:
7422+
version "10.5.0"
7423+
resolved "https://registry.npmjs.org/ol/-/ol-10.5.0.tgz#5831dc55fe5eb5a09cb4193c9289c1b5a0a0f0ca"
7424+
integrity sha512-nHFx8gkGmvYImsa7iKkwUnZidd5gn1XbMZd9GNOorvm9orjW9gQvT3Naw/MjIasVJ3cB9EJUdCGR2EFAulMHsQ==
74457425
dependencies:
7446-
color-rgba "^3.0.0"
7447-
color-space "^2.0.1"
7448-
earcut "^2.2.3"
7449-
geotiff "^2.0.7"
7450-
pbf "3.2.1"
7451-
rbush "^3.0.1"
7426+
"@types/rbush" "4.0.0"
7427+
earcut "^3.0.0"
7428+
geotiff "^2.1.3"
7429+
pbf "4.0.1"
7430+
rbush "^4.0.0"
74527431

74537432
on-finished@2.4.1:
74547433
version "2.4.1"
@@ -7774,12 +7753,11 @@ path-type@^4.0.0:
77747753
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
77757754
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
77767755

7777-
pbf@3.2.1:
7778-
version "3.2.1"
7779-
resolved "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
7780-
integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
7756+
pbf@4.0.1:
7757+
version "4.0.1"
7758+
resolved "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz#ad9015e022b235dcdbe05fc468a9acadf483f0d4"
7759+
integrity sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==
77817760
dependencies:
7782-
ieee754 "^1.1.12"
77837761
resolve-protobuf-schema "^2.1.0"
77847762

77857763
performance-now@^2.1.0:
@@ -8085,10 +8063,10 @@ quick-lru@^6.1.1:
80858063
resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz#e9a90524108629be35287d0b864e7ad6ceb3659e"
80868064
integrity sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==
80878065

8088-
quickselect@^2.0.0:
8089-
version "2.0.0"
8090-
resolved "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
8091-
integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
8066+
quickselect@^3.0.0:
8067+
version "3.0.0"
8068+
resolved "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz#a37fc953867d56f095a20ac71c6d27063d2de603"
8069+
integrity sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==
80928070

80938071
randombytes@^2.1.0:
80948072
version "2.1.0"
@@ -8112,12 +8090,12 @@ raw-body@2.5.2:
81128090
iconv-lite "0.4.24"
81138091
unpipe "1.0.0"
81148092

8115-
rbush@^3.0.1:
8116-
version "3.0.1"
8117-
resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
8118-
integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
8093+
rbush@^4.0.0:
8094+
version "4.0.1"
8095+
resolved "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz#1f55afa64a978f71bf9e9a99bc14ff84f3cb0d6d"
8096+
integrity sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==
81198097
dependencies:
8120-
quickselect "^2.0.0"
8098+
quickselect "^3.0.0"
81218099

81228100
read-package-json-fast@^3.0.0:
81238101
version "3.0.2"

0 commit comments

Comments
 (0)