|
2 | 2 | AfterContentChecked, AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgZone, OnChanges, |
3 | 3 | OnDestroy, Output, QueryList, Renderer2, SimpleChanges, ViewEncapsulation |
4 | 4 | } from '@angular/core'; |
5 | | -import { coerceNumberProperty } from './coercion/number-property'; |
| 5 | +import { coerceNumberProperty, NumberInput } from './coercion/number-property'; |
6 | 6 | import { KtdGridItemComponent } from './grid-item/grid-item.component'; |
7 | 7 | import { combineLatest, merge, NEVER, Observable, Observer, of, Subscription } from 'rxjs'; |
8 | 8 | import { exhaustMap, map, startWith, switchMap, takeUntil } from 'rxjs/operators'; |
@@ -117,17 +117,24 @@ export class KtdGridComponent implements OnChanges, AfterContentInit, AfterConte |
117 | 117 | /** Emits when resize ends */ |
118 | 118 | @Output() resizeEnded: EventEmitter<KtdResizeEnd> = new EventEmitter<KtdResizeEnd>(); |
119 | 119 |
|
| 120 | + /** Whether or not to update the internal layout when some dependent property change. */ |
| 121 | + @Input() compactOnPropsChange = true; |
| 122 | + |
120 | 123 | /** |
121 | 124 | * Parent element that contains the scroll. If an string is provided it would search that element by id on the dom. |
122 | 125 | * If no data provided or null autoscroll is not performed. |
123 | 126 | */ |
124 | 127 | @Input() scrollableParent: HTMLElement | Document | string | null = null; |
125 | 128 |
|
126 | 129 | /** Number of CSS pixels that would be scrolled on each 'tick' when auto scroll is performed. */ |
127 | | - @Input() scrollSpeed: number = 2; |
| 130 | + @Input() |
| 131 | + get scrollSpeed(): number { return this._scrollSpeed; } |
128 | 132 |
|
129 | | - /** Whether or not to update the internal layout when some dependent property change. */ |
130 | | - @Input() compactOnPropsChange = true; |
| 133 | + set scrollSpeed(value: number) { |
| 134 | + this._scrollSpeed = coerceNumberProperty(value, 2); |
| 135 | + } |
| 136 | + |
| 137 | + private _scrollSpeed: number = 2; |
131 | 138 |
|
132 | 139 | /** Prevent collision, consider setting it to true if in no compaction */ |
133 | 140 | @Input() preventCollision: boolean = false; |
@@ -462,5 +469,9 @@ export class KtdGridComponent implements OnChanges, AfterContentInit, AfterConte |
462 | 469 | }; |
463 | 470 | }); |
464 | 471 | } |
| 472 | + |
| 473 | + |
| 474 | + // tslint:disable-next-line |
| 475 | + static ngAcceptInputType_scrollSpeed: NumberInput; |
465 | 476 | } |
466 | 477 |
|
0 commit comments