@ts-core/angular 13.1.6 → 13.1.9

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.
@@ -1,15 +1,18 @@
1
- import { ChangeDetectorRef, PipeTransform } from '@angular/core';
1
+ import { ChangeDetectorRef, NgZone, PipeTransform } from '@angular/core';
2
2
  import { DestroyableContainer } from '@ts-core/common';
3
3
  import { CdkTableCellValue, ICdkTableColumn } from '../column/ICdkTableColumn';
4
4
  import * as i0 from "@angular/core";
5
- export declare class CdkTableCellValuePipe extends DestroyableContainer implements PipeTransform {
5
+ export declare class CdkTableCellValuePipe<U> extends DestroyableContainer implements PipeTransform {
6
6
  private detection;
7
+ private ngZone;
7
8
  static ERROR_SYMBOL: string;
8
9
  static PENDING_SYMBOL: string;
9
- private value;
10
- constructor(detection: ChangeDetectorRef);
11
- transform<U>(item: U, column: ICdkTableColumn<U>): CdkTableCellValue<U> | Promise<CdkTableCellValue<U>>;
10
+ private lastItem;
11
+ private lastValue;
12
+ private lastColumn;
13
+ constructor(detection: ChangeDetectorRef, ngZone: NgZone);
14
+ transform(item: U, column: ICdkTableColumn<U>): CdkTableCellValue<U> | Promise<CdkTableCellValue<U>>;
12
15
  destroy(): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellValuePipe, never>;
14
- static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellValuePipe, "viCdkTableCellValue">;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkTableCellValuePipe<any>, never>;
17
+ static ɵpipe: i0.ɵɵPipeDeclaration<CdkTableCellValuePipe<any>, "viCdkTableCellValue">;
15
18
  }
@@ -8,9 +8,10 @@ export class CdkTableCellValuePipe extends DestroyableContainer {
8
8
  // Constructor
9
9
  //
10
10
  // --------------------------------------------------------------------------
11
- constructor(detection) {
11
+ constructor(detection, ngZone) {
12
12
  super();
13
13
  this.detection = detection;
14
+ this.ngZone = ngZone;
14
15
  }
15
16
  // --------------------------------------------------------------------------
16
17
  //
@@ -18,40 +19,44 @@ export class CdkTableCellValuePipe extends DestroyableContainer {
18
19
  //
19
20
  // --------------------------------------------------------------------------
20
21
  transform(item, column) {
21
- if (!_.isNil(this.value)) {
22
- return this.value;
22
+ if (item === this.lastItem && column === this.lastColumn) {
23
+ return this.lastValue;
23
24
  }
24
- let value = CdkTableCellValuePipe.PENDING_SYMBOL;
25
25
  if (_.isNil(column.format)) {
26
- value = this.value = item[column.name];
27
- return value;
26
+ this.lastValue = item[column.name];
27
+ return this.lastValue;
28
28
  }
29
+ this.lastItem = item;
30
+ this.lastColumn = column;
31
+ this.lastValue = CdkTableCellValuePipe.PENDING_SYMBOL;
29
32
  let result = column.format(item, column);
30
33
  if (!(result instanceof Promise)) {
31
- value = this.value = result;
32
- return value;
34
+ this.lastValue = result;
35
+ return this.lastValue;
33
36
  }
34
37
  result
35
38
  .then(item => {
36
- value = this.value = item;
39
+ this.lastValue = item;
37
40
  })
38
41
  .catch(error => {
39
- value = this.value = CdkTableCellValuePipe.ERROR_SYMBOL;
42
+ this.lastValue = CdkTableCellValuePipe.ERROR_SYMBOL;
40
43
  })
41
44
  .finally(() => {
42
45
  if (!_.isNil(this.detection)) {
43
46
  this.detection.markForCheck();
44
47
  }
45
48
  });
46
- return value;
49
+ return this.lastValue;
47
50
  }
48
51
  destroy() {
49
52
  if (this.isDestroyed) {
50
53
  return;
51
54
  }
52
55
  super.destroy();
53
- this.value = null;
54
56
  this.detection = null;
57
+ this.lastItem = null;
58
+ this.lastValue = null;
59
+ this.lastColumn = null;
55
60
  }
56
61
  }
57
62
  // --------------------------------------------------------------------------
@@ -61,7 +66,7 @@ export class CdkTableCellValuePipe extends DestroyableContainer {
61
66
  // --------------------------------------------------------------------------
62
67
  CdkTableCellValuePipe.ERROR_SYMBOL = 'x';
63
68
  CdkTableCellValuePipe.PENDING_SYMBOL = '⧗';
64
- CdkTableCellValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
69
+ CdkTableCellValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
65
70
  CdkTableCellValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, name: "viCdkTableCellValue", pure: false });
66
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, decorators: [{
67
72
  type: Pipe,
@@ -69,5 +74,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
69
74
  name: 'viCdkTableCellValue',
70
75
  pure: false
71
76
  }]
72
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrVGFibGVDZWxsVmFsdWVQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9jZGstdGFibGUvY2VsbC9DZGtUYWJsZUNlbGxWYWx1ZVBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQU81QixNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBa0IzRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLFNBQTRCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFEsY0FBUyxHQUFULFNBQVMsQ0FBbUI7SUFFaEQsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsaUJBQWlCO0lBQ2pCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsU0FBUyxDQUFJLElBQU8sRUFBRSxNQUEwQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxLQUFLLEdBQXlCLHFCQUFxQixDQUFDLGNBQWMsQ0FBQztRQUN2RSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsQ0FBQyxNQUFNLFlBQVksT0FBTyxDQUFDLEVBQUU7WUFDOUIsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTTthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLENBQUM7UUFDNUQsQ0FBQyxDQUFDO2FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNqQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7O0FBeEVELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0YscUJBQXFCO0FBQ3JCLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsa0NBQVksR0FBRyxHQUFJLENBQUE7QUFDbkIsb0NBQWMsR0FBRyxHQUFJLENBQUE7bUhBUjFCLHFCQUFxQjtpSEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtvQkFDM0IsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGVDb250YWluZXIgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ2RrVGFibGVDZWxsVmFsdWUsIElDZGtUYWJsZUNvbHVtbiB9IGZyb20gJy4uL2NvbHVtbi9JQ2RrVGFibGVDb2x1bW4nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3ZpQ2RrVGFibGVDZWxsVmFsdWUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIENka1RhYmxlQ2VsbFZhbHVlUGlwZSBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIEVSUk9SX1NZTUJPTCA9ICd4JztcbiAgICBwdWJsaWMgc3RhdGljIFBFTkRJTkdfU1lNQk9MID0gJ+Knlyc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIHZhbHVlOiBDZGtUYWJsZUNlbGxWYWx1ZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHRyYW5zZm9ybTxVPihpdGVtOiBVLCBjb2x1bW46IElDZGtUYWJsZUNvbHVtbjxVPik6IENka1RhYmxlQ2VsbFZhbHVlPFU+IHwgUHJvbWlzZTxDZGtUYWJsZUNlbGxWYWx1ZTxVPj4ge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHZhbHVlOiBDZGtUYWJsZUNlbGxWYWx1ZTxVPiA9IENka1RhYmxlQ2VsbFZhbHVlUGlwZS5QRU5ESU5HX1NZTUJPTDtcbiAgICAgICAgaWYgKF8uaXNOaWwoY29sdW1uLmZvcm1hdCkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy52YWx1ZSA9IGl0ZW1bY29sdW1uLm5hbWVdO1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IGNvbHVtbi5mb3JtYXQoaXRlbSwgY29sdW1uKTtcbiAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdGhpcy52YWx1ZSA9IHJlc3VsdDtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgLnRoZW4oaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlID0gaXRlbTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy52YWx1ZSA9IENka1RhYmxlQ2VsbFZhbHVlUGlwZS5FUlJPUl9TWU1CT0w7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghXy5pc05pbCh0aGlzLmRldGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRlY3Rpb24ubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLmRldGVjdGlvbiA9IG51bGw7XG4gICAgfVxufVxuIl19
77
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrVGFibGVDZWxsVmFsdWVQaXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9jZGstdGFibGUvY2VsbC9DZGtUYWJsZUNlbGxWYWx1ZVBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQU81QixNQUFNLE9BQU8scUJBQXlCLFNBQVEsb0JBQW9CO0lBb0I5RCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQW9CLFNBQTRCLEVBQVUsTUFBYztRQUNwRSxLQUFLLEVBQUUsQ0FBQztRQURRLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4RSxDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixpQkFBaUI7SUFDakIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxTQUFTLENBQUMsSUFBTyxFQUFFLE1BQTBCO1FBQ2hELElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFFekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxjQUFjLENBQUM7UUFFdEQsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxZQUFZLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUVELE1BQU07YUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQztRQUN4RCxDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsT0FBTztTQUNWO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7O0FBakZELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0YscUJBQXFCO0FBQ3JCLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsa0NBQVksR0FBRyxHQUFJLENBQUE7QUFDbkIsb0NBQWMsR0FBRyxHQUFJLENBQUE7bUhBUjFCLHFCQUFxQjtpSEFBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtvQkFDM0IsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdab25lLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDZGtUYWJsZUNlbGxWYWx1ZSwgSUNka1RhYmxlQ29sdW1uIH0gZnJvbSAnLi4vY29sdW1uL0lDZGtUYWJsZUNvbHVtbic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndmlDZGtUYWJsZUNlbGxWYWx1ZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQ2RrVGFibGVDZWxsVmFsdWVQaXBlPFU+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRTdGF0aWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgRVJST1JfU1lNQk9MID0gJ3gnO1xuICAgIHB1YmxpYyBzdGF0aWMgUEVORElOR19TWU1CT0wgPSAn4qeXJztcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgbGFzdEl0ZW06IFU7XG4gICAgcHJpdmF0ZSBsYXN0VmFsdWU6IENka1RhYmxlQ2VsbFZhbHVlPFU+O1xuICAgIHByaXZhdGUgbGFzdENvbHVtbjogSUNka1RhYmxlQ29sdW1uPFU+O1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKGl0ZW06IFUsIGNvbHVtbjogSUNka1RhYmxlQ29sdW1uPFU+KTogQ2RrVGFibGVDZWxsVmFsdWU8VT4gfCBQcm9taXNlPENka1RhYmxlQ2VsbFZhbHVlPFU+PiB7XG4gICAgICAgIGlmIChpdGVtID09PSB0aGlzLmxhc3RJdGVtICYmIGNvbHVtbiA9PT0gdGhpcy5sYXN0Q29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05pbChjb2x1bW4uZm9ybWF0KSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBpdGVtW2NvbHVtbi5uYW1lXTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhc3RWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdEl0ZW0gPSBpdGVtO1xuICAgICAgICB0aGlzLmxhc3RDb2x1bW4gPSBjb2x1bW47XG5cbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBDZGtUYWJsZUNlbGxWYWx1ZVBpcGUuUEVORElOR19TWU1CT0w7XG5cbiAgICAgICAgbGV0IHJlc3VsdCA9IGNvbHVtbi5mb3JtYXQoaXRlbSwgY29sdW1uKTtcbiAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gcmVzdWx0O1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0XG4gICAgICAgICAgICAudGhlbihpdGVtID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IGl0ZW07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IENka1RhYmxlQ2VsbFZhbHVlUGlwZS5FUlJPUl9TWU1CT0w7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghXy5pc05pbCh0aGlzLmRldGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXRlY3Rpb24ubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGV0ZWN0aW9uID0gbnVsbDtcblxuICAgICAgICB0aGlzLmxhc3RJdGVtID0gbnVsbDtcbiAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLmxhc3RDb2x1bW4gPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -7728,9 +7728,10 @@ class CdkTableCellValuePipe extends DestroyableContainer {
7728
7728
  // Constructor
7729
7729
  //
7730
7730
  // --------------------------------------------------------------------------
7731
- constructor(detection) {
7731
+ constructor(detection, ngZone) {
7732
7732
  super();
7733
7733
  this.detection = detection;
7734
+ this.ngZone = ngZone;
7734
7735
  }
7735
7736
  // --------------------------------------------------------------------------
7736
7737
  //
@@ -7738,40 +7739,44 @@ class CdkTableCellValuePipe extends DestroyableContainer {
7738
7739
  //
7739
7740
  // --------------------------------------------------------------------------
7740
7741
  transform(item, column) {
7741
- if (!_.isNil(this.value)) {
7742
- return this.value;
7742
+ if (item === this.lastItem && column === this.lastColumn) {
7743
+ return this.lastValue;
7743
7744
  }
7744
- let value = CdkTableCellValuePipe.PENDING_SYMBOL;
7745
7745
  if (_.isNil(column.format)) {
7746
- value = this.value = item[column.name];
7747
- return value;
7746
+ this.lastValue = item[column.name];
7747
+ return this.lastValue;
7748
7748
  }
7749
+ this.lastItem = item;
7750
+ this.lastColumn = column;
7751
+ this.lastValue = CdkTableCellValuePipe.PENDING_SYMBOL;
7749
7752
  let result = column.format(item, column);
7750
7753
  if (!(result instanceof Promise)) {
7751
- value = this.value = result;
7752
- return value;
7754
+ this.lastValue = result;
7755
+ return this.lastValue;
7753
7756
  }
7754
7757
  result
7755
7758
  .then(item => {
7756
- value = this.value = item;
7759
+ this.lastValue = item;
7757
7760
  })
7758
7761
  .catch(error => {
7759
- value = this.value = CdkTableCellValuePipe.ERROR_SYMBOL;
7762
+ this.lastValue = CdkTableCellValuePipe.ERROR_SYMBOL;
7760
7763
  })
7761
7764
  .finally(() => {
7762
7765
  if (!_.isNil(this.detection)) {
7763
7766
  this.detection.markForCheck();
7764
7767
  }
7765
7768
  });
7766
- return value;
7769
+ return this.lastValue;
7767
7770
  }
7768
7771
  destroy() {
7769
7772
  if (this.isDestroyed) {
7770
7773
  return;
7771
7774
  }
7772
7775
  super.destroy();
7773
- this.value = null;
7774
7776
  this.detection = null;
7777
+ this.lastItem = null;
7778
+ this.lastValue = null;
7779
+ this.lastColumn = null;
7775
7780
  }
7776
7781
  }
7777
7782
  // --------------------------------------------------------------------------
@@ -7781,7 +7786,7 @@ class CdkTableCellValuePipe extends DestroyableContainer {
7781
7786
  // --------------------------------------------------------------------------
7782
7787
  CdkTableCellValuePipe.ERROR_SYMBOL = 'x';
7783
7788
  CdkTableCellValuePipe.PENDING_SYMBOL = '⧗';
7784
- CdkTableCellValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
7789
+ CdkTableCellValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
7785
7790
  CdkTableCellValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, name: "viCdkTableCellValue", pure: false });
7786
7791
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CdkTableCellValuePipe, decorators: [{
7787
7792
  type: Pipe,
@@ -7789,7 +7794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
7789
7794
  name: 'viCdkTableCellValue',
7790
7795
  pure: false
7791
7796
  }]
7792
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
7797
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });
7793
7798
 
7794
7799
  class CdkTableCellValuePipePure {
7795
7800
  // --------------------------------------------------------------------------