Skip to content

Commit a25a612

Browse files
fix(layers): add missing inputs
Closes #318
1 parent 0e02690 commit a25a612

File tree

6 files changed

+64
-35
lines changed

6 files changed

+64
-35
lines changed

projects/ngx-openlayers/src/lib/layers/layer.component.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import RenderEvent from 'ol/render/Event';
44
import { MapComponent } from '../map.component';
55
import { LayerGroupComponent } from './layergroup.component';
66
import BaseObject from 'ol/Object';
7+
import Map from 'ol/Map';
78

89
@Directive()
910
export abstract class LayerComponent implements OnInit, OnChanges, OnDestroy {
11+
@Input()
12+
className: string;
1013
@Input()
1114
opacity: number;
1215
@Input()
@@ -19,6 +22,16 @@ export abstract class LayerComponent implements OnInit, OnChanges, OnDestroy {
1922
minResolution: number;
2023
@Input()
2124
maxResolution: number;
25+
@Input()
26+
minZoom: number;
27+
@Input()
28+
maxZoom: number;
29+
@Input()
30+
map: Map;
31+
@Input()
32+
properties: {
33+
[x: string]: unknown;
34+
};
2235

2336
@Input()
2437
prerender: (evt: RenderEvent) => void;

projects/ngx-openlayers/src/lib/layers/layergroup.component.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import { Group } from 'ol/layer';
33
import { MapComponent } from '../map.component';
44
import { Extent } from 'ol/extent';
55
import BaseObject from 'ol/Object';
6+
import BaseLayer from 'ol/layer/Base';
7+
import Collection from 'ol/Collection';
68

79
@Component({
8-
selector: 'aol-layer-group',
9-
template: ` <ng-content></ng-content> `,
10-
standalone: true,
10+
selector: 'aol-layer-group',
11+
template: ` <ng-content></ng-content> `,
12+
standalone: true,
1113
})
1214
export class LayerGroupComponent implements OnInit, OnDestroy, OnChanges {
1315
@Input()
@@ -22,6 +24,16 @@ export class LayerGroupComponent implements OnInit, OnDestroy, OnChanges {
2224
minResolution: number;
2325
@Input()
2426
maxResolution: number;
27+
@Input()
28+
minZoom: number;
29+
@Input()
30+
maxZoom: number;
31+
@Input()
32+
layers: BaseLayer[] | Collection<BaseLayer>;
33+
@Input()
34+
properties: {
35+
[x: string]: unknown;
36+
};
2537

2638
public instance: Group;
2739
componentType = 'layer';

projects/ngx-openlayers/src/lib/layers/layerimage.component.ts

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,16 @@
1-
import { Component, Input, OnChanges, OnInit, Optional, SimpleChanges } from '@angular/core';
2-
import { Extent } from 'ol/extent';
1+
import { Component, OnChanges, OnInit, Optional, SimpleChanges } from '@angular/core';
32
import { Image } from 'ol/layer';
43
import ImageSource from 'ol/source/Image';
54
import { MapComponent } from '../map.component';
65
import { LayerComponent } from './layer.component';
76
import { LayerGroupComponent } from './layergroup.component';
87

98
@Component({
10-
selector: 'aol-layer-image',
11-
template: ` <ng-content></ng-content> `,
12-
standalone: true,
9+
selector: 'aol-layer-image',
10+
template: ` <ng-content></ng-content> `,
11+
standalone: true,
1312
})
1413
export class LayerImageComponent extends LayerComponent implements OnInit, OnChanges {
15-
@Input()
16-
opacity: number;
17-
@Input()
18-
visible: boolean;
19-
@Input()
20-
extent: Extent;
21-
@Input()
22-
minResolution: number;
23-
@Input()
24-
maxResolution: number;
25-
@Input()
26-
zIndex: number;
27-
2814
source: ImageSource;
2915

3016
constructor(map: MapComponent, @Optional() group?: LayerGroupComponent) {

projects/ngx-openlayers/src/lib/layers/layertile.component.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,22 @@ import TileSource from 'ol/source/Tile';
44
import { MapComponent } from '../map.component';
55
import { LayerComponent } from './layer.component';
66
import { LayerGroupComponent } from './layergroup.component';
7+
import { BackgroundColor } from 'ol/layer/Base';
78

89
@Component({
9-
selector: 'aol-layer-tile',
10-
template: ` <ng-content></ng-content> `,
11-
standalone: true,
10+
selector: 'aol-layer-tile',
11+
template: ` <ng-content></ng-content> `,
12+
standalone: true,
1213
})
1314
export class LayerTileComponent extends LayerComponent implements OnInit, OnDestroy, OnChanges {
1415
@Input()
1516
preload: number;
1617
@Input()
18+
background: BackgroundColor;
19+
@Input()
1720
useInterimTilesOnError: boolean;
21+
@Input()
22+
cacheSize: number;
1823

1924
source: TileSource;
2025

projects/ngx-openlayers/src/lib/layers/layervector.component.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import { StyleFunction } from 'ol/style/Style';
66
import { MapComponent } from '../map.component';
77
import { LayerComponent } from './layer.component';
88
import { LayerGroupComponent } from './layergroup.component';
9+
import { OrderFunction } from 'ol/render';
10+
import { BackgroundColor } from 'ol/layer/Base';
911

1012
@Component({
1113
selector: 'aol-layer-vector',
@@ -15,15 +17,18 @@ import { LayerGroupComponent } from './layergroup.component';
1517
export class LayerVectorComponent extends LayerComponent implements OnInit, OnDestroy, OnChanges {
1618
@Input()
1719
renderBuffer: number;
18-
1920
@Input()
2021
style: Style | Style[] | StyleFunction;
21-
2222
@Input()
2323
updateWhileAnimating: boolean;
24-
2524
@Input()
2625
updateWhileInteracting: boolean;
26+
@Input()
27+
renderOrder: OrderFunction;
28+
@Input()
29+
declutter: string | number | boolean;
30+
@Input()
31+
background: BackgroundColor;
2732

2833
source: VectorSource;
2934

projects/ngx-openlayers/src/lib/layers/layervectortile.component.ts

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,42 @@
11
import { Component, Input, OnChanges, OnInit, Optional, SimpleChanges } from '@angular/core';
2-
import { Feature } from 'ol';
32
import { VectorTile } from 'ol/layer';
43
import { Style } from 'ol/style';
54
import { StyleFunction } from 'ol/style/Style';
65
import { MapComponent } from '../map.component';
76
import { LayerComponent } from './layer.component';
87
import { LayerGroupComponent } from './layergroup.component';
98
import { VectorTileRenderType } from 'ol/layer/VectorTile';
9+
import { OrderFunction } from 'ol/render';
10+
import { BackgroundColor } from 'ol/layer/Base';
1011

1112
@Component({
12-
selector: 'aol-layer-vectortile',
13-
template: ` <ng-content></ng-content> `,
14-
standalone: true,
13+
selector: 'aol-layer-vectortile',
14+
template: ` <ng-content></ng-content> `,
15+
standalone: true,
1516
})
1617
export class LayerVectorTileComponent extends LayerComponent implements OnInit, OnChanges {
18+
@Input()
19+
renderOrder: OrderFunction;
1720
@Input()
1821
renderBuffer: number;
1922
@Input()
2023
renderMode: VectorTileRenderType;
21-
/* not marked as optional in the typings */
22-
@Input()
23-
renderOrder: (feature1: Feature, feature2: Feature) => number;
2424
@Input()
2525
style: Style | Style[] | StyleFunction;
2626
@Input()
2727
updateWhileAnimating: boolean;
2828
@Input()
2929
updateWhileInteracting: boolean;
3030
@Input()
31-
visible: boolean;
31+
declutter: string | number | boolean;
32+
@Input()
33+
background: BackgroundColor;
34+
@Input()
35+
preload: number;
36+
@Input()
37+
useInterimTilesOnError: boolean;
38+
@Input()
39+
cacheSize: number;
3240

3341
constructor(map: MapComponent, @Optional() group?: LayerGroupComponent) {
3442
super(group || map);

0 commit comments

Comments
 (0)