@angular/cdk 8.0.0-beta.2 → 8.0.0
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/README.md +2 -2
- package/_overlay.scss +4 -4
- package/bundles/cdk-a11y.umd.js +227 -79
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +1 -1
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-accordion.umd.js +20 -8
- package/bundles/cdk-accordion.umd.js.map +1 -1
- package/bundles/cdk-accordion.umd.min.js.map +1 -1
- package/bundles/cdk-bidi.umd.js +5 -5
- package/bundles/cdk-bidi.umd.min.js +1 -1
- package/bundles/cdk-bidi.umd.min.js.map +1 -1
- package/bundles/cdk-coercion.umd.js +5 -5
- package/bundles/cdk-collections.umd.js +38 -15
- package/bundles/cdk-collections.umd.js.map +1 -1
- package/bundles/cdk-collections.umd.min.js +1 -1
- package/bundles/cdk-collections.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +571 -180
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -2
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-keycodes.umd.js +7 -3
- package/bundles/cdk-keycodes.umd.js.map +1 -1
- package/bundles/cdk-keycodes.umd.min.js.map +1 -1
- package/bundles/cdk-layout.umd.js +83 -30
- package/bundles/cdk-layout.umd.js.map +1 -1
- package/bundles/cdk-layout.umd.min.js +1 -1
- package/bundles/cdk-layout.umd.min.js.map +1 -1
- package/bundles/cdk-observers.umd.js +30 -11
- package/bundles/cdk-observers.umd.js.map +1 -1
- package/bundles/cdk-observers.umd.min.js +1 -1
- package/bundles/cdk-observers.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +229 -108
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +2 -2
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-platform.umd.js +17 -10
- package/bundles/cdk-platform.umd.js.map +1 -1
- package/bundles/cdk-platform.umd.min.js +1 -1
- package/bundles/cdk-platform.umd.min.js.map +1 -1
- package/bundles/cdk-portal.umd.js +32 -13
- package/bundles/cdk-portal.umd.js.map +1 -1
- package/bundles/cdk-portal.umd.min.js.map +1 -1
- package/bundles/cdk-scrolling.umd.js +184 -62
- package/bundles/cdk-scrolling.umd.js.map +1 -1
- package/bundles/cdk-scrolling.umd.min.js +1 -1
- package/bundles/cdk-scrolling.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +30 -12
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-table.umd.js +384 -74
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +1 -1
- package/bundles/cdk-table.umd.min.js.map +1 -1
- package/bundles/cdk-text-field.umd.js +61 -21
- package/bundles/cdk-text-field.umd.js.map +1 -1
- package/bundles/cdk-text-field.umd.min.js +1 -1
- package/bundles/cdk-text-field.umd.min.js.map +1 -1
- package/bundles/cdk-tree.umd.js +85 -29
- package/bundles/cdk-tree.umd.js.map +1 -1
- package/bundles/cdk-tree.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +2 -2
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/drag-drop/typings/directives/drag.d.ts +11 -2
- package/drag-drop/typings/drag-events.d.ts +17 -0
- package/drag-drop/typings/drag-ref.d.ts +9 -5
- package/drag-drop/typings/drop-list-ref.d.ts +9 -3
- package/drag-drop/typings/index.metadata.json +1 -1
- package/esm2015/a11y.js +229 -81
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/accordion.js +22 -10
- package/esm2015/accordion.js.map +1 -1
- package/esm2015/bidi.js +8 -8
- package/esm2015/cdk.js +4 -4
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/coercion.js +7 -7
- package/esm2015/collections.js +41 -18
- package/esm2015/collections.js.map +1 -1
- package/esm2015/drag-drop.js +540 -181
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/keycodes.js +9 -5
- package/esm2015/keycodes.js.map +1 -1
- package/esm2015/layout.js +89 -36
- package/esm2015/layout.js.map +1 -1
- package/esm2015/observers.js +33 -14
- package/esm2015/observers.js.map +1 -1
- package/esm2015/overlay.js +232 -110
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/platform.js +20 -13
- package/esm2015/platform.js.map +1 -1
- package/esm2015/portal.js +34 -15
- package/esm2015/portal.js.map +1 -1
- package/esm2015/scrolling.js +180 -58
- package/esm2015/scrolling.js.map +1 -1
- package/esm2015/stepper.js +32 -14
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +369 -69
- package/esm2015/table.js.map +1 -1
- package/esm2015/text-field.js +64 -24
- package/esm2015/text-field.js.map +1 -1
- package/esm2015/tree.js +86 -30
- package/esm2015/tree.js.map +1 -1
- package/esm5/a11y.es5.js +230 -82
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/accordion.es5.js +22 -10
- package/esm5/accordion.es5.js.map +1 -1
- package/esm5/bidi.es5.js +8 -8
- package/esm5/cdk.es5.js +4 -4
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/coercion.es5.js +7 -7
- package/esm5/collections.es5.js +42 -19
- package/esm5/collections.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +574 -183
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/keycodes.es5.js +9 -5
- package/esm5/keycodes.es5.js.map +1 -1
- package/esm5/layout.es5.js +86 -33
- package/esm5/layout.es5.js.map +1 -1
- package/esm5/observers.es5.js +33 -14
- package/esm5/observers.es5.js.map +1 -1
- package/esm5/overlay.es5.js +232 -111
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/platform.es5.js +20 -13
- package/esm5/platform.es5.js.map +1 -1
- package/esm5/portal.es5.js +34 -15
- package/esm5/portal.es5.js.map +1 -1
- package/esm5/scrolling.es5.js +187 -65
- package/esm5/scrolling.es5.js.map +1 -1
- package/esm5/stepper.es5.js +32 -14
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +386 -72
- package/esm5/table.es5.js.map +1 -1
- package/esm5/text-field.es5.js +64 -24
- package/esm5/text-field.es5.js.map +1 -1
- package/esm5/tree.es5.js +87 -31
- package/esm5/tree.es5.js.map +1 -1
- package/layout/typings/breakpoints-observer.d.ts +3 -3
- package/layout/typings/index.metadata.json +1 -1
- package/layout/typings/media-matcher.d.ts +2 -2
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/position/flexible-connected-position-strategy.d.ts +1 -3
- package/package.json +8 -8
- package/portal/typings/portal.d.ts +2 -2
- package/schematics/ng-update/data/attribute-selectors.js +1 -1
- package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
- package/schematics/ng-update/data/class-names.js +3 -3
- package/schematics/ng-update/data/class-names.js.map +1 -1
- package/schematics/ng-update/data/constructor-checks.js +1 -1
- package/schematics/ng-update/data/constructor-checks.js.map +1 -1
- package/schematics/ng-update/data/input-names.js +1 -1
- package/schematics/ng-update/data/input-names.js.map +1 -1
- package/schematics/ng-update/data/method-call-checks.js +1 -1
- package/schematics/ng-update/data/method-call-checks.js.map +1 -1
- package/schematics/ng-update/data/property-names.js +4 -4
- package/schematics/ng-update/data/property-names.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js +1 -1
- package/schematics/ng-update/upgrade-rules/signature-check/constructorSignatureCheckRule.js.map +1 -1
- package/schematics/tsconfig.tsbuildinfo +5811 -0
- package/schematics/utils/ast.d.ts +1 -1
- package/schematics/utils/build-component.js +1 -1
- package/schematics/utils/build-component.js.map +1 -1
- package/schematics/utils/get-project.d.ts +1 -1
- package/schematics/utils/project-main-file.d.ts +1 -1
- package/schematics/utils/project-style-file.d.ts +1 -1
- package/schematics/utils/project-targets.d.ts +1 -1
- package/schematics/utils/schematic-options.d.ts +1 -1
- package/table/typings/cell.d.ts +3 -2
- package/table/typings/index.metadata.json +1 -1
- package/table/typings/public-api.d.ts +1 -0
- package/table/typings/row.d.ts +5 -4
- package/table/typings/sticky-styler.d.ts +5 -5
- package/table/typings/table-errors.d.ts +10 -0
- package/table/typings/text-column.d.ts +80 -0
- package/typings/drag-drop/directives/drag.d.ts +11 -2
- package/typings/drag-drop/drag-events.d.ts +17 -0
- package/typings/drag-drop/drag-ref.d.ts +9 -5
- package/typings/drag-drop/drop-list-ref.d.ts +9 -3
- package/typings/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/drag-drop/directives/drag.d.ts +11 -2
- package/typings/esm5/drag-drop/drag-events.d.ts +17 -0
- package/typings/esm5/drag-drop/drag-ref.d.ts +9 -5
- package/typings/esm5/drag-drop/drop-list-ref.d.ts +9 -3
- package/typings/esm5/drag-drop/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/layout/breakpoints-observer.d.ts +3 -3
- package/typings/esm5/layout/index.metadata.json +1 -1
- package/typings/esm5/layout/media-matcher.d.ts +2 -2
- package/typings/esm5/overlay/index.metadata.json +1 -1
- package/typings/esm5/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
- package/typings/esm5/portal/portal.d.ts +2 -2
- package/typings/esm5/table/cell.d.ts +3 -2
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/table/public-api.d.ts +1 -0
- package/typings/esm5/table/row.d.ts +5 -4
- package/typings/esm5/table/sticky-styler.d.ts +5 -5
- package/typings/esm5/table/table-errors.d.ts +10 -0
- package/typings/esm5/table/text-column.d.ts +80 -0
- package/typings/index.metadata.json +1 -1
- package/typings/layout/breakpoints-observer.d.ts +3 -3
- package/typings/layout/index.metadata.json +1 -1
- package/typings/layout/media-matcher.d.ts +2 -2
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/position/flexible-connected-position-strategy.d.ts +1 -3
- package/typings/portal/portal.d.ts +2 -2
- package/typings/schematics/utils/ast.d.ts +1 -1
- package/typings/schematics/utils/get-project.d.ts +1 -1
- package/typings/schematics/utils/project-main-file.d.ts +1 -1
- package/typings/schematics/utils/project-style-file.d.ts +1 -1
- package/typings/schematics/utils/project-targets.d.ts +1 -1
- package/typings/schematics/utils/schematic-options.d.ts +1 -1
- package/typings/table/cell.d.ts +3 -2
- package/typings/table/index.metadata.json +1 -1
- package/typings/table/public-api.d.ts +1 -0
- package/typings/table/row.d.ts +5 -4
- package/typings/table/sticky-styler.d.ts +5 -5
- package/typings/table/table-errors.d.ts +10 -0
- package/typings/table/text-column.d.ts +80 -0
package/esm2015/scrolling.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, SkipSelf, ElementRef, NgModule, IterableDiffers, TemplateRef, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Output, ViewChild, ViewEncapsulation,
|
|
8
|
+
import { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, SkipSelf, ElementRef, NgModule, IterableDiffers, TemplateRef, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Output, ViewChild, ViewEncapsulation, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
9
9
|
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
10
10
|
import { Subject, fromEvent, of, Observable, animationFrameScheduler, asapScheduler, merge } from 'rxjs';
|
|
11
11
|
import { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, shareReplay, switchMap } from 'rxjs/operators';
|
|
@@ -15,7 +15,7 @@ import { ArrayDataSource, isDataSource } from '@angular/cdk/collections';
|
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* @fileoverview added by tsickle
|
|
18
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
18
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
19
19
|
*/
|
|
20
20
|
/**
|
|
21
21
|
* The injection token used to specify the virtual scrolling strategy.
|
|
@@ -25,7 +25,7 @@ const VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* @fileoverview added by tsickle
|
|
28
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
28
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
29
29
|
*/
|
|
30
30
|
/**
|
|
31
31
|
* Virtual scrolling strategy for lists with items of known fixed size.
|
|
@@ -245,7 +245,10 @@ CdkFixedSizeVirtualScroll.decorators = [
|
|
|
245
245
|
providers: [{
|
|
246
246
|
provide: VIRTUAL_SCROLL_STRATEGY,
|
|
247
247
|
useFactory: _fixedSizeVirtualScrollStrategyFactory,
|
|
248
|
-
deps: [forwardRef((
|
|
248
|
+
deps: [forwardRef((/**
|
|
249
|
+
* @return {?}
|
|
250
|
+
*/
|
|
251
|
+
() => CdkFixedSizeVirtualScroll))],
|
|
249
252
|
}],
|
|
250
253
|
},] },
|
|
251
254
|
];
|
|
@@ -257,7 +260,7 @@ CdkFixedSizeVirtualScroll.propDecorators = {
|
|
|
257
260
|
|
|
258
261
|
/**
|
|
259
262
|
* @fileoverview added by tsickle
|
|
260
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
263
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
261
264
|
*/
|
|
262
265
|
/**
|
|
263
266
|
* Time in ms to throttle the scrolling events by default.
|
|
@@ -303,7 +306,10 @@ class ScrollDispatcher {
|
|
|
303
306
|
register(scrollable) {
|
|
304
307
|
if (!this.scrollContainers.has(scrollable)) {
|
|
305
308
|
this.scrollContainers.set(scrollable, scrollable.elementScrolled()
|
|
306
|
-
.subscribe((
|
|
309
|
+
.subscribe((/**
|
|
310
|
+
* @return {?}
|
|
311
|
+
*/
|
|
312
|
+
() => this._scrolled.next(scrollable))));
|
|
307
313
|
}
|
|
308
314
|
}
|
|
309
315
|
/**
|
|
@@ -335,7 +341,11 @@ class ScrollDispatcher {
|
|
|
335
341
|
if (!this._platform.isBrowser) {
|
|
336
342
|
return of();
|
|
337
343
|
}
|
|
338
|
-
return new Observable((
|
|
344
|
+
return new Observable((/**
|
|
345
|
+
* @param {?} observer
|
|
346
|
+
* @return {?}
|
|
347
|
+
*/
|
|
348
|
+
(observer) => {
|
|
339
349
|
if (!this._globalSubscription) {
|
|
340
350
|
this._addGlobalListener();
|
|
341
351
|
}
|
|
@@ -346,21 +356,29 @@ class ScrollDispatcher {
|
|
|
346
356
|
this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :
|
|
347
357
|
this._scrolled.subscribe(observer);
|
|
348
358
|
this._scrolledCount++;
|
|
349
|
-
return (
|
|
359
|
+
return (/**
|
|
360
|
+
* @return {?}
|
|
361
|
+
*/
|
|
362
|
+
() => {
|
|
350
363
|
subscription.unsubscribe();
|
|
351
364
|
this._scrolledCount--;
|
|
352
365
|
if (!this._scrolledCount) {
|
|
353
366
|
this._removeGlobalListener();
|
|
354
367
|
}
|
|
355
|
-
};
|
|
356
|
-
});
|
|
368
|
+
});
|
|
369
|
+
}));
|
|
357
370
|
}
|
|
358
371
|
/**
|
|
359
372
|
* @return {?}
|
|
360
373
|
*/
|
|
361
374
|
ngOnDestroy() {
|
|
362
375
|
this._removeGlobalListener();
|
|
363
|
-
this.scrollContainers.forEach((
|
|
376
|
+
this.scrollContainers.forEach((/**
|
|
377
|
+
* @param {?} _
|
|
378
|
+
* @param {?} container
|
|
379
|
+
* @return {?}
|
|
380
|
+
*/
|
|
381
|
+
(_, container) => this.deregister(container)));
|
|
364
382
|
this._scrolled.complete();
|
|
365
383
|
}
|
|
366
384
|
/**
|
|
@@ -373,9 +391,13 @@ class ScrollDispatcher {
|
|
|
373
391
|
ancestorScrolled(elementRef, auditTimeInMs) {
|
|
374
392
|
/** @type {?} */
|
|
375
393
|
const ancestors = this.getAncestorScrollContainers(elementRef);
|
|
376
|
-
return this.scrolled(auditTimeInMs).pipe(filter(
|
|
394
|
+
return this.scrolled(auditTimeInMs).pipe(filter((/**
|
|
395
|
+
* @param {?} target
|
|
396
|
+
* @return {?}
|
|
397
|
+
*/
|
|
398
|
+
target => {
|
|
377
399
|
return !target || ancestors.indexOf(target) > -1;
|
|
378
|
-
}));
|
|
400
|
+
})));
|
|
379
401
|
}
|
|
380
402
|
/**
|
|
381
403
|
* Returns all registered Scrollables that contain the provided element.
|
|
@@ -385,11 +407,16 @@ class ScrollDispatcher {
|
|
|
385
407
|
getAncestorScrollContainers(elementRef) {
|
|
386
408
|
/** @type {?} */
|
|
387
409
|
const scrollingContainers = [];
|
|
388
|
-
this.scrollContainers.forEach((
|
|
410
|
+
this.scrollContainers.forEach((/**
|
|
411
|
+
* @param {?} _subscription
|
|
412
|
+
* @param {?} scrollable
|
|
413
|
+
* @return {?}
|
|
414
|
+
*/
|
|
415
|
+
(_subscription, scrollable) => {
|
|
389
416
|
if (this._scrollableContainsElement(scrollable, elementRef)) {
|
|
390
417
|
scrollingContainers.push(scrollable);
|
|
391
418
|
}
|
|
392
|
-
});
|
|
419
|
+
}));
|
|
393
420
|
return scrollingContainers;
|
|
394
421
|
}
|
|
395
422
|
/**
|
|
@@ -419,9 +446,15 @@ class ScrollDispatcher {
|
|
|
419
446
|
* @return {?}
|
|
420
447
|
*/
|
|
421
448
|
_addGlobalListener() {
|
|
422
|
-
this._globalSubscription = this._ngZone.runOutsideAngular((
|
|
423
|
-
|
|
424
|
-
|
|
449
|
+
this._globalSubscription = this._ngZone.runOutsideAngular((/**
|
|
450
|
+
* @return {?}
|
|
451
|
+
*/
|
|
452
|
+
() => {
|
|
453
|
+
return fromEvent(window.document, 'scroll').subscribe((/**
|
|
454
|
+
* @return {?}
|
|
455
|
+
*/
|
|
456
|
+
() => this._scrolled.next()));
|
|
457
|
+
}));
|
|
425
458
|
}
|
|
426
459
|
/**
|
|
427
460
|
* Cleans up the global scroll listener.
|
|
@@ -443,7 +476,7 @@ ScrollDispatcher.ctorParameters = () => [
|
|
|
443
476
|
{ type: NgZone },
|
|
444
477
|
{ type: Platform }
|
|
445
478
|
];
|
|
446
|
-
/** @nocollapse */ ScrollDispatcher.ngInjectableDef =
|
|
479
|
+
/** @nocollapse */ ScrollDispatcher.ngInjectableDef = ɵɵdefineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(ɵɵinject(NgZone), ɵɵinject(Platform)); }, token: ScrollDispatcher, providedIn: "root" });
|
|
447
480
|
/**
|
|
448
481
|
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
449
482
|
* @param {?} parentDispatcher
|
|
@@ -467,7 +500,7 @@ const SCROLL_DISPATCHER_PROVIDER = {
|
|
|
467
500
|
|
|
468
501
|
/**
|
|
469
502
|
* @fileoverview added by tsickle
|
|
470
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
503
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
471
504
|
*/
|
|
472
505
|
/**
|
|
473
506
|
* Sends an event when the directive's element is scrolled. Registers itself with the
|
|
@@ -487,8 +520,15 @@ class CdkScrollable {
|
|
|
487
520
|
this.ngZone = ngZone;
|
|
488
521
|
this.dir = dir;
|
|
489
522
|
this._destroyed = new Subject();
|
|
490
|
-
this._elementScrolled = new Observable((
|
|
491
|
-
|
|
523
|
+
this._elementScrolled = new Observable((/**
|
|
524
|
+
* @param {?} observer
|
|
525
|
+
* @return {?}
|
|
526
|
+
*/
|
|
527
|
+
(observer) => this.ngZone.runOutsideAngular((/**
|
|
528
|
+
* @return {?}
|
|
529
|
+
*/
|
|
530
|
+
() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))
|
|
531
|
+
.subscribe(observer)))));
|
|
492
532
|
}
|
|
493
533
|
/**
|
|
494
534
|
* @return {?}
|
|
@@ -660,7 +700,7 @@ CdkScrollable.ctorParameters = () => [
|
|
|
660
700
|
|
|
661
701
|
/**
|
|
662
702
|
* @fileoverview added by tsickle
|
|
663
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
703
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
664
704
|
*/
|
|
665
705
|
/**
|
|
666
706
|
* Checks if the given ranges are equal.
|
|
@@ -714,7 +754,21 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
714
754
|
/**
|
|
715
755
|
* Emits when the index of the first element visible in the viewport changes.
|
|
716
756
|
*/
|
|
717
|
-
this.scrolledIndexChange = new Observable((
|
|
757
|
+
this.scrolledIndexChange = new Observable((/**
|
|
758
|
+
* @param {?} observer
|
|
759
|
+
* @return {?}
|
|
760
|
+
*/
|
|
761
|
+
(observer) => this._scrollStrategy.scrolledIndexChange.subscribe((/**
|
|
762
|
+
* @param {?} index
|
|
763
|
+
* @return {?}
|
|
764
|
+
*/
|
|
765
|
+
index => Promise.resolve().then((/**
|
|
766
|
+
* @return {?}
|
|
767
|
+
*/
|
|
768
|
+
() => this.ngZone.run((/**
|
|
769
|
+
* @return {?}
|
|
770
|
+
*/
|
|
771
|
+
() => observer.next(index)))))))));
|
|
718
772
|
/**
|
|
719
773
|
* A stream that emits whenever the rendered range changes.
|
|
720
774
|
*/
|
|
@@ -770,7 +824,13 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
770
824
|
// the Viewport to be rendered with the correct size before we measure. We run this outside the
|
|
771
825
|
// zone to avoid causing more change detection cycles. We handle the change detection loop
|
|
772
826
|
// ourselves instead.
|
|
773
|
-
this.ngZone.runOutsideAngular((
|
|
827
|
+
this.ngZone.runOutsideAngular((/**
|
|
828
|
+
* @return {?}
|
|
829
|
+
*/
|
|
830
|
+
() => Promise.resolve().then((/**
|
|
831
|
+
* @return {?}
|
|
832
|
+
*/
|
|
833
|
+
() => {
|
|
774
834
|
this._measureViewportSize();
|
|
775
835
|
this._scrollStrategy.attach(this);
|
|
776
836
|
this.elementScrolled()
|
|
@@ -781,9 +841,12 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
781
841
|
// there are multiple scroll events in the same frame we only need to recheck
|
|
782
842
|
// our layout once.
|
|
783
843
|
auditTime(0, SCROLL_SCHEDULER))
|
|
784
|
-
.subscribe((
|
|
844
|
+
.subscribe((/**
|
|
845
|
+
* @return {?}
|
|
846
|
+
*/
|
|
847
|
+
() => this._scrollStrategy.onContentScrolled()));
|
|
785
848
|
this._markChangeDetectionNeeded();
|
|
786
|
-
}));
|
|
849
|
+
}))));
|
|
787
850
|
}
|
|
788
851
|
/**
|
|
789
852
|
* @return {?}
|
|
@@ -808,9 +871,16 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
808
871
|
// Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length
|
|
809
872
|
// changes. Run outside the zone to avoid triggering change detection, since we're managing the
|
|
810
873
|
// change detection loop ourselves.
|
|
811
|
-
this.ngZone.runOutsideAngular((
|
|
874
|
+
this.ngZone.runOutsideAngular((/**
|
|
875
|
+
* @return {?}
|
|
876
|
+
*/
|
|
877
|
+
() => {
|
|
812
878
|
this._forOf = forOf;
|
|
813
|
-
this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(
|
|
879
|
+
this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe((/**
|
|
880
|
+
* @param {?} data
|
|
881
|
+
* @return {?}
|
|
882
|
+
*/
|
|
883
|
+
data => {
|
|
814
884
|
/** @type {?} */
|
|
815
885
|
const newLength = data.length;
|
|
816
886
|
if (newLength !== this._dataLength) {
|
|
@@ -818,8 +888,8 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
818
888
|
this._scrollStrategy.onDataLengthChanged();
|
|
819
889
|
}
|
|
820
890
|
this._doChangeDetection();
|
|
821
|
-
});
|
|
822
|
-
});
|
|
891
|
+
}));
|
|
892
|
+
}));
|
|
823
893
|
}
|
|
824
894
|
/**
|
|
825
895
|
* Detaches the current `CdkVirtualForOf`.
|
|
@@ -877,7 +947,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
877
947
|
setRenderedRange(range) {
|
|
878
948
|
if (!rangesEqual(this._renderedRange, range)) {
|
|
879
949
|
this._renderedRangeSubject.next(this._renderedRange = range);
|
|
880
|
-
this._markChangeDetectionNeeded((
|
|
950
|
+
this._markChangeDetectionNeeded((/**
|
|
951
|
+
* @return {?}
|
|
952
|
+
*/
|
|
953
|
+
() => this._scrollStrategy.onContentRendered()));
|
|
881
954
|
}
|
|
882
955
|
}
|
|
883
956
|
/**
|
|
@@ -919,7 +992,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
919
992
|
// We know this value is safe because we parse `offset` with `Number()` before passing it
|
|
920
993
|
// into the string.
|
|
921
994
|
this._renderedContentTransform = transform;
|
|
922
|
-
this._markChangeDetectionNeeded((
|
|
995
|
+
this._markChangeDetectionNeeded((/**
|
|
996
|
+
* @return {?}
|
|
997
|
+
*/
|
|
998
|
+
() => {
|
|
923
999
|
if (this._renderedContentOffsetNeedsRewrite) {
|
|
924
1000
|
this._renderedContentOffset -= this.measureRenderedContentSize();
|
|
925
1001
|
this._renderedContentOffsetNeedsRewrite = false;
|
|
@@ -928,7 +1004,7 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
928
1004
|
else {
|
|
929
1005
|
this._scrollStrategy.onRenderedOffsetChanged();
|
|
930
1006
|
}
|
|
931
|
-
});
|
|
1007
|
+
}));
|
|
932
1008
|
}
|
|
933
1009
|
}
|
|
934
1010
|
/**
|
|
@@ -1023,9 +1099,15 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
1023
1099
|
// properties sequentially we only have to run `_doChangeDetection` once at the end.
|
|
1024
1100
|
if (!this._isChangeDetectionPending) {
|
|
1025
1101
|
this._isChangeDetectionPending = true;
|
|
1026
|
-
this.ngZone.runOutsideAngular((
|
|
1102
|
+
this.ngZone.runOutsideAngular((/**
|
|
1103
|
+
* @return {?}
|
|
1104
|
+
*/
|
|
1105
|
+
() => Promise.resolve().then((/**
|
|
1106
|
+
* @return {?}
|
|
1107
|
+
*/
|
|
1108
|
+
() => {
|
|
1027
1109
|
this._doChangeDetection();
|
|
1028
|
-
}));
|
|
1110
|
+
}))));
|
|
1029
1111
|
}
|
|
1030
1112
|
}
|
|
1031
1113
|
/**
|
|
@@ -1038,7 +1120,10 @@ class CdkVirtualScrollViewport extends CdkScrollable {
|
|
|
1038
1120
|
// Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection
|
|
1039
1121
|
// from the root, since the repeated items are content projected in. Calling `detectChanges`
|
|
1040
1122
|
// instead does not properly check the projected content.
|
|
1041
|
-
this.ngZone.run((
|
|
1123
|
+
this.ngZone.run((/**
|
|
1124
|
+
* @return {?}
|
|
1125
|
+
*/
|
|
1126
|
+
() => this._changeDetectorRef.markForCheck()));
|
|
1042
1127
|
// Apply the content transform. The transform can't be set via an Angular binding because
|
|
1043
1128
|
// bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of
|
|
1044
1129
|
// string literals, a variable that can only be 'X' or 'Y', and user input that is run through
|
|
@@ -1086,7 +1171,7 @@ CdkVirtualScrollViewport.propDecorators = {
|
|
|
1086
1171
|
|
|
1087
1172
|
/**
|
|
1088
1173
|
* @fileoverview added by tsickle
|
|
1089
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1174
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1090
1175
|
*/
|
|
1091
1176
|
/**
|
|
1092
1177
|
* Helper to extract size from a DOM Node.
|
|
@@ -1147,7 +1232,11 @@ class CdkVirtualForOf {
|
|
|
1147
1232
|
// Use `_changeDataSource` to disconnect from the previous data source and connect to the
|
|
1148
1233
|
// new one, passing back a stream of data changes which we run through `switchMap` to give
|
|
1149
1234
|
// us a data stream that emits the latest data from whatever the current `DataSource` is.
|
|
1150
|
-
switchMap((
|
|
1235
|
+
switchMap((/**
|
|
1236
|
+
* @param {?} __0
|
|
1237
|
+
* @return {?}
|
|
1238
|
+
*/
|
|
1239
|
+
([prev, cur]) => this._changeDataSource(prev, cur))),
|
|
1151
1240
|
// Replay the last emitted data when someone subscribes.
|
|
1152
1241
|
shareReplay(1));
|
|
1153
1242
|
/**
|
|
@@ -1165,15 +1254,26 @@ class CdkVirtualForOf {
|
|
|
1165
1254
|
*/
|
|
1166
1255
|
this._needsUpdate = false;
|
|
1167
1256
|
this._destroyed = new Subject();
|
|
1168
|
-
this.dataStream.subscribe(
|
|
1257
|
+
this.dataStream.subscribe((/**
|
|
1258
|
+
* @param {?} data
|
|
1259
|
+
* @return {?}
|
|
1260
|
+
*/
|
|
1261
|
+
data => {
|
|
1169
1262
|
this._data = data;
|
|
1170
1263
|
this._onRenderedDataChange();
|
|
1171
|
-
});
|
|
1172
|
-
this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(
|
|
1264
|
+
}));
|
|
1265
|
+
this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe((/**
|
|
1266
|
+
* @param {?} range
|
|
1267
|
+
* @return {?}
|
|
1268
|
+
*/
|
|
1269
|
+
range => {
|
|
1173
1270
|
this._renderedRange = range;
|
|
1174
|
-
ngZone.run((
|
|
1271
|
+
ngZone.run((/**
|
|
1272
|
+
* @return {?}
|
|
1273
|
+
*/
|
|
1274
|
+
() => this.viewChange.next(this._renderedRange)));
|
|
1175
1275
|
this._onRenderedDataChange();
|
|
1176
|
-
});
|
|
1276
|
+
}));
|
|
1177
1277
|
this._viewport.attach(this);
|
|
1178
1278
|
}
|
|
1179
1279
|
/**
|
|
@@ -1210,7 +1310,12 @@ class CdkVirtualForOf {
|
|
|
1210
1310
|
set cdkVirtualForTrackBy(fn) {
|
|
1211
1311
|
this._needsUpdate = true;
|
|
1212
1312
|
this._cdkVirtualForTrackBy = fn ?
|
|
1213
|
-
(
|
|
1313
|
+
(/**
|
|
1314
|
+
* @param {?} index
|
|
1315
|
+
* @param {?} item
|
|
1316
|
+
* @return {?}
|
|
1317
|
+
*/
|
|
1318
|
+
(index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)) :
|
|
1214
1319
|
undefined;
|
|
1215
1320
|
}
|
|
1216
1321
|
/**
|
|
@@ -1285,6 +1390,7 @@ class CdkVirtualForOf {
|
|
|
1285
1390
|
*/
|
|
1286
1391
|
ngOnDestroy() {
|
|
1287
1392
|
this._viewport.detach();
|
|
1393
|
+
this._dataSourceChanges.next();
|
|
1288
1394
|
this._dataSourceChanges.complete();
|
|
1289
1395
|
this.viewChange.complete();
|
|
1290
1396
|
this._destroyed.next();
|
|
@@ -1320,7 +1426,7 @@ class CdkVirtualForOf {
|
|
|
1320
1426
|
oldDs.disconnect(this);
|
|
1321
1427
|
}
|
|
1322
1428
|
this._needsUpdate = true;
|
|
1323
|
-
return newDs.connect(this);
|
|
1429
|
+
return newDs ? newDs.connect(this) : of();
|
|
1324
1430
|
}
|
|
1325
1431
|
/**
|
|
1326
1432
|
* Update the `CdkVirtualForOfContext` for all views.
|
|
@@ -1349,7 +1455,13 @@ class CdkVirtualForOf {
|
|
|
1349
1455
|
*/
|
|
1350
1456
|
_applyChanges(changes) {
|
|
1351
1457
|
// Rearrange the views to put them in the right location.
|
|
1352
|
-
changes.forEachOperation((
|
|
1458
|
+
changes.forEachOperation((/**
|
|
1459
|
+
* @param {?} record
|
|
1460
|
+
* @param {?} adjustedPreviousIndex
|
|
1461
|
+
* @param {?} currentIndex
|
|
1462
|
+
* @return {?}
|
|
1463
|
+
*/
|
|
1464
|
+
(record, adjustedPreviousIndex, currentIndex) => {
|
|
1353
1465
|
if (record.previousIndex == null) { // Item added.
|
|
1354
1466
|
// Item added.
|
|
1355
1467
|
/** @type {?} */
|
|
@@ -1366,13 +1478,17 @@ class CdkVirtualForOf {
|
|
|
1366
1478
|
this._viewContainerRef.move(view, currentIndex);
|
|
1367
1479
|
view.context.$implicit = record.item;
|
|
1368
1480
|
}
|
|
1369
|
-
});
|
|
1481
|
+
}));
|
|
1370
1482
|
// Update $implicit for any items that had an identity change.
|
|
1371
|
-
changes.forEachIdentityChange((
|
|
1483
|
+
changes.forEachIdentityChange((/**
|
|
1484
|
+
* @param {?} record
|
|
1485
|
+
* @return {?}
|
|
1486
|
+
*/
|
|
1487
|
+
(record) => {
|
|
1372
1488
|
/** @type {?} */
|
|
1373
1489
|
const view = (/** @type {?} */ (this._viewContainerRef.get((/** @type {?} */ (record.currentIndex)))));
|
|
1374
1490
|
view.context.$implicit = record.item;
|
|
1375
|
-
});
|
|
1491
|
+
}));
|
|
1376
1492
|
// Update the context variables on all items.
|
|
1377
1493
|
/** @type {?} */
|
|
1378
1494
|
const count = this._data.length;
|
|
@@ -1500,7 +1616,7 @@ CdkVirtualForOf.propDecorators = {
|
|
|
1500
1616
|
|
|
1501
1617
|
/**
|
|
1502
1618
|
* @fileoverview added by tsickle
|
|
1503
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1619
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1504
1620
|
*/
|
|
1505
1621
|
class ScrollingModule {
|
|
1506
1622
|
}
|
|
@@ -1537,7 +1653,7 @@ ScrollDispatchModule.decorators = [
|
|
|
1537
1653
|
|
|
1538
1654
|
/**
|
|
1539
1655
|
* @fileoverview added by tsickle
|
|
1540
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1656
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1541
1657
|
*/
|
|
1542
1658
|
/**
|
|
1543
1659
|
* Time in ms to throttle the resize events by default.
|
|
@@ -1555,14 +1671,20 @@ class ViewportRuler {
|
|
|
1555
1671
|
*/
|
|
1556
1672
|
constructor(_platform, ngZone) {
|
|
1557
1673
|
this._platform = _platform;
|
|
1558
|
-
ngZone.runOutsideAngular((
|
|
1674
|
+
ngZone.runOutsideAngular((/**
|
|
1675
|
+
* @return {?}
|
|
1676
|
+
*/
|
|
1677
|
+
() => {
|
|
1559
1678
|
this._change = _platform.isBrowser ?
|
|
1560
1679
|
merge(fromEvent(window, 'resize'), fromEvent(window, 'orientationchange')) :
|
|
1561
1680
|
of();
|
|
1562
1681
|
// Note that we need to do the subscription inside `runOutsideAngular`
|
|
1563
1682
|
// since subscribing is what causes the event listener to be added.
|
|
1564
|
-
this._invalidateCache = this.change().subscribe((
|
|
1565
|
-
|
|
1683
|
+
this._invalidateCache = this.change().subscribe((/**
|
|
1684
|
+
* @return {?}
|
|
1685
|
+
*/
|
|
1686
|
+
() => this._updateViewportSize()));
|
|
1687
|
+
}));
|
|
1566
1688
|
}
|
|
1567
1689
|
/**
|
|
1568
1690
|
* @return {?}
|
|
@@ -1667,7 +1789,7 @@ ViewportRuler.ctorParameters = () => [
|
|
|
1667
1789
|
{ type: Platform },
|
|
1668
1790
|
{ type: NgZone }
|
|
1669
1791
|
];
|
|
1670
|
-
/** @nocollapse */ ViewportRuler.ngInjectableDef =
|
|
1792
|
+
/** @nocollapse */ ViewportRuler.ngInjectableDef = ɵɵdefineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(ɵɵinject(Platform), ɵɵinject(NgZone)); }, token: ViewportRuler, providedIn: "root" });
|
|
1671
1793
|
/**
|
|
1672
1794
|
* \@docs-private \@deprecated \@breaking-change 8.0.0
|
|
1673
1795
|
* @param {?} parentRuler
|
|
@@ -1691,12 +1813,12 @@ const VIEWPORT_RULER_PROVIDER = {
|
|
|
1691
1813
|
|
|
1692
1814
|
/**
|
|
1693
1815
|
* @fileoverview added by tsickle
|
|
1694
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1816
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1695
1817
|
*/
|
|
1696
1818
|
|
|
1697
1819
|
/**
|
|
1698
1820
|
* @fileoverview added by tsickle
|
|
1699
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1821
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1700
1822
|
*/
|
|
1701
1823
|
|
|
1702
1824
|
export { _fixedSizeVirtualScrollStrategyFactory, FixedSizeVirtualScrollStrategy, CdkFixedSizeVirtualScroll, SCROLL_DISPATCHER_PROVIDER_FACTORY, DEFAULT_SCROLL_TIME, ScrollDispatcher, SCROLL_DISPATCHER_PROVIDER, CdkScrollable, ScrollingModule, ScrollDispatchModule, VIEWPORT_RULER_PROVIDER_FACTORY, DEFAULT_RESIZE_TIME, ViewportRuler, VIEWPORT_RULER_PROVIDER, CdkVirtualForOf, VIRTUAL_SCROLL_STRATEGY, CdkVirtualScrollViewport };
|