@@ -25,6 +25,13 @@ import {
25
25
SimpleChanges ,
26
26
ViewEncapsulation
27
27
} from '@angular/core' ;
28
+ import {
29
+ BooleanInput ,
30
+ NumberInput ,
31
+ coerceArray ,
32
+ coerceBooleanProperty ,
33
+ coerceNumberProperty
34
+ } from '@angular/cdk/coercion' ;
28
35
import { Observable , Subject } from 'rxjs' ;
29
36
import { takeUntil } from 'rxjs/operators' ;
30
37
@@ -59,18 +66,25 @@ export class MapMarkerClusterer implements OnInit, AfterContentInit, OnChanges,
59
66
ariaLabelFn : AriaLabelFn = ( ) => ''
60
67
61
68
@Input ( )
62
- set averageCenter ( averageCenter : boolean ) {
63
- this . _averageCenter = averageCenter ;
69
+ set averageCenter ( averageCenter : boolean | undefined ) {
70
+ this . _averageCenter = averageCenter === undefined
71
+ ? averageCenter
72
+ : coerceBooleanProperty ( averageCenter ) ;
64
73
}
65
- private _averageCenter : boolean ;
74
+ private _averageCenter : boolean | undefined ;
66
75
67
- @Input ( ) batchSize ?: number ;
76
+ @Input ( )
77
+ get batchSize ( ) : number | undefined { return this . _batchSize ; }
78
+ set batchSize ( batchSize : any ) {
79
+ this . _batchSize = batchSize === undefined ? batchSize : coerceNumberProperty ( batchSize ) ;
80
+ }
81
+ private _batchSize ?: number ;
68
82
69
83
@Input ( )
70
- set batchSizeIE ( batchSizeIE : number ) {
71
- this . _batchSizeIE = batchSizeIE ;
84
+ set batchSizeIE ( batchSizeIE : number | undefined ) {
85
+ this . _batchSizeIE = batchSizeIE === undefined ? batchSizeIE : coerceNumberProperty ( batchSizeIE ) ;
72
86
}
73
- private _batchSizeIE : number ;
87
+ private _batchSizeIE ? : number ;
74
88
75
89
@Input ( )
76
90
set calculator ( calculator : Calculator ) {
@@ -85,22 +99,26 @@ export class MapMarkerClusterer implements OnInit, AfterContentInit, OnChanges,
85
99
private _clusterClass : string ;
86
100
87
101
@Input ( )
88
- set enableRetinaIcons ( enableRetinaIcons : boolean ) {
89
- this . _enableRetinaIcons = enableRetinaIcons ;
102
+ set enableRetinaIcons ( enableRetinaIcons : boolean | undefined ) {
103
+ this . _enableRetinaIcons = enableRetinaIcons === undefined
104
+ ? enableRetinaIcons
105
+ : coerceBooleanProperty ( enableRetinaIcons ) ;
90
106
}
91
- private _enableRetinaIcons : boolean ;
107
+ private _enableRetinaIcons : boolean | undefined ;
92
108
93
109
@Input ( )
94
- set gridSize ( gridSize : number ) {
95
- this . _gridSize = gridSize ;
110
+ set gridSize ( gridSize : number | undefined ) {
111
+ this . _gridSize = gridSize === undefined ? gridSize : coerceNumberProperty ( gridSize ) ;
96
112
}
97
- private _gridSize : number ;
113
+ private _gridSize : number | undefined ;
98
114
99
115
@Input ( )
100
- set ignoreHidden ( ignoreHidden : boolean ) {
101
- this . _ignoreHidden = ignoreHidden ;
116
+ set ignoreHidden ( ignoreHidden : boolean | undefined ) {
117
+ this . _ignoreHidden = ignoreHidden === undefined
118
+ ? ignoreHidden
119
+ : coerceBooleanProperty ( ignoreHidden ) ;
102
120
}
103
- private _ignoreHidden : boolean ;
121
+ private _ignoreHidden : boolean | undefined ;
104
122
105
123
@Input ( )
106
124
set imageExtension ( imageExtension : string ) {
@@ -115,20 +133,20 @@ export class MapMarkerClusterer implements OnInit, AfterContentInit, OnChanges,
115
133
private _imagePath : string ;
116
134
117
135
@Input ( )
118
- set imageSizes ( imageSizes : number [ ] ) {
119
- this . _imageSizes = imageSizes ;
136
+ set imageSizes ( imageSizes : number | number [ ] | undefined ) {
137
+ this . _imageSizes = imageSizes === undefined ? imageSizes : coerceArray ( imageSizes ) ;
120
138
}
121
- private _imageSizes : number [ ] ;
139
+ private _imageSizes : number [ ] | undefined ;
122
140
123
141
@Input ( )
124
- set maxZoom ( maxZoom : number ) {
125
- this . _maxZoom = maxZoom ;
142
+ set maxZoom ( maxZoom : number | undefined ) {
143
+ this . _maxZoom = maxZoom === undefined ? maxZoom : coerceNumberProperty ( maxZoom ) ;
126
144
}
127
- private _maxZoom : number ;
145
+ private _maxZoom : number | undefined ;
128
146
129
147
@Input ( )
130
148
set minimumClusterSize ( minimumClusterSize : number ) {
131
- this . _minimumClusterSize = minimumClusterSize ;
149
+ this . _minimumClusterSize = coerceNumberProperty ( minimumClusterSize ) ;
132
150
}
133
151
private _minimumClusterSize : number ;
134
152
@@ -145,14 +163,14 @@ export class MapMarkerClusterer implements OnInit, AfterContentInit, OnChanges,
145
163
private _title : string ;
146
164
147
165
@Input ( )
148
- set zIndex ( zIndex : number ) {
149
- this . _zIndex = zIndex ;
166
+ set zIndex ( zIndex : number | undefined ) {
167
+ this . _zIndex = zIndex === undefined ? zIndex : coerceNumberProperty ( zIndex ) ;
150
168
}
151
- private _zIndex : number ;
169
+ private _zIndex : number | undefined ;
152
170
153
171
@Input ( )
154
172
set zoomOnClick ( zoomOnClick : boolean ) {
155
- this . _zoomOnClick = zoomOnClick ;
173
+ this . _zoomOnClick = coerceBooleanProperty ( zoomOnClick ) ;
156
174
}
157
175
private _zoomOnClick : boolean ;
158
176
@@ -480,4 +498,15 @@ export class MapMarkerClusterer implements OnInit, AfterContentInit, OnChanges,
480
498
}
481
499
}
482
500
}
501
+
502
+ static ngAcceptInputType_averageCenter : BooleanInput ;
503
+ static ngAcceptInputType_batchSize : NumberInput ;
504
+ static ngAcceptInputType_batchSizeIE : NumberInput ;
505
+ static ngAcceptInputType_enableRetinaIcons : BooleanInput ;
506
+ static ngAcceptInputType_gridSize : NumberInput ;
507
+ static ngAcceptInputType_ignoreHidden : BooleanInput ;
508
+ static ngAcceptInputType_maxZoom : NumberInput ;
509
+ static ngAcceptInputType_minimumClusterSize : NumberInput ;
510
+ static ngAcceptInputType_zIndex : NumberInput ;
511
+ static ngAcceptInputType_zoomOnClick : BooleanInput ;
483
512
}
0 commit comments