@bcgov/nr-ngx-component-lib 0.0.63 → 0.0.65

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.
@@ -26,9 +26,19 @@ export class PaginationBase extends NrclBase {
26
26
  set filter(f) {
27
27
  this._filter = this.clone(f);
28
28
  }
29
+ get instance() {
30
+ return this._instance;
31
+ }
29
32
  ngAfterViewInit() {
30
33
  // console.log('PaginationBase.ngAfterViewInit')
31
- this.loadPageState();
34
+ this.onInitPageState();
35
+ }
36
+ onInitPageState() {
37
+ let init = this.getInitialPageState();
38
+ this._instance = init.instance;
39
+ let saved = this.retrieveState();
40
+ this.setCurrentPageState(saved || init);
41
+ this.onPageStateChanged();
32
42
  }
33
43
  clone(obj) {
34
44
  return JSON.parse(JSON.stringify(obj));
@@ -38,30 +48,34 @@ export class PaginationBase extends NrclBase {
38
48
  this.onPageNumberChange(1);
39
49
  }
40
50
  onSortChange(ev) {
51
+ if (this._pageConfig.sortActive == ev.active)
52
+ if (this._pageConfig.sortDirection == ev.direction)
53
+ return;
41
54
  this._pageConfig.sortActive = ev.active;
42
55
  this._pageConfig.sortDirection = ev.direction;
43
56
  this.onPageNumberChange(1);
44
57
  }
45
58
  onPageSizeChange(ev) {
59
+ if (this._pageConfig.pageSize == ev)
60
+ return;
46
61
  this._pageConfig.pageSize = ev;
47
62
  this.onPageNumberChange(1);
48
63
  }
49
64
  onPageNumberChange(ev) {
65
+ if (this._pageConfig.pageNumber == ev)
66
+ return;
50
67
  this._pageConfig.pageNumber = ev;
68
+ this.onPageStateChanged();
51
69
  }
52
- get initialPageState() {
53
- return this.getInitialPageState();
54
- }
55
- loadPageState() {
56
- let state = this.pageStateService.getPageState(this.constructor, () => this.initialPageState);
57
- this.filter = state.filter;
58
- this._pageConfig.pageSize = state.pageConfig.pageSize;
59
- this._pageConfig.pageNumber = state.pageConfig.pageNumber;
60
- this._pageConfig.sortActive = state.pageConfig.sortActive;
61
- this._pageConfig.sortDirection = state.pageConfig.sortDirection;
70
+ onPageStateChanged() {
71
+ return this.refresh()
72
+ .then(() => {
73
+ let state = this.getCurrentPageState();
74
+ this.persistState(state);
75
+ });
62
76
  }
63
- savePageState() {
64
- let state = this.clone({
77
+ getCurrentPageState() {
78
+ return {
65
79
  filter: this.filter,
66
80
  pageConfig: {
67
81
  pageSize: this._pageConfig.pageSize,
@@ -69,8 +83,27 @@ export class PaginationBase extends NrclBase {
69
83
  sortActive: this._pageConfig.sortActive,
70
84
  sortDirection: this._pageConfig.sortDirection,
71
85
  }
72
- });
73
- this.pageStateService.setPageState(this.constructor, state);
86
+ };
87
+ }
88
+ setCurrentPageState(state) {
89
+ this.filter = state.filter;
90
+ this._pageConfig.pageSize = state.pageConfig.pageSize;
91
+ this._pageConfig.pageNumber = state.pageConfig.pageNumber;
92
+ this._pageConfig.sortActive = state.pageConfig.sortActive;
93
+ this._pageConfig.sortDirection = state.pageConfig.sortDirection;
94
+ }
95
+ persistState(state) {
96
+ if (!this._instance)
97
+ return;
98
+ this.pageStateService.setPageState(this._instance, JSON.stringify(state));
99
+ }
100
+ retrieveState() {
101
+ if (!this._instance)
102
+ return;
103
+ let state = this.pageStateService.getPageState(this._instance);
104
+ if (!state)
105
+ return;
106
+ return JSON.parse(state);
74
107
  }
75
108
  paginateState(id) {
76
109
  return {
@@ -95,4 +128,4 @@ export class PaginationBase extends NrclBase {
95
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginationBase, decorators: [{
96
129
  type: Directive
97
130
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQW9CdkMsTUFBTSxPQUFnQixjQUFrQixTQUFRLFFBQVE7SUFEeEQ7O1FBRUkscUJBQWdCLEdBQUcsTUFBTSxDQUFFLGdCQUFnQixDQUFFLENBQUE7UUFDN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFckMsbUJBQWMsR0FBVyxDQUFDLENBQUE7UUFHNUIsZ0JBQVcsR0FBcUI7WUFDcEMsUUFBUSxFQUFRLENBQUM7WUFDakIsVUFBVSxFQUFNLENBQUM7WUFDakIsVUFBVSxFQUFNLEVBQUU7WUFDbEIsYUFBYSxFQUFHLEtBQUs7U0FDeEIsQ0FBQTtLQTJGSjtJQWxHRyxJQUFJLGFBQWEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBUTFELElBQUksUUFBUSxLQUEwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUN4RSxJQUFJLFVBQVUsS0FBd0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUUsSUFBSSxVQUFVLEtBQXdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDO0lBQzFFLElBQUksYUFBYSxLQUFxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMs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QUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNsQyxDQUFBO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFFLEtBQWM7UUFDaEMsT0FBTztZQUNILEtBQUs7WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3ZDLFlBQVksRUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNwQyxDQUFBO0lBQ0wsQ0FBQzsrR0F0R2lCLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuL25yY2wuYmFzZVwiO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uQ29uZmlnID0geyAgICBcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICAgcGFnZU51bWJlcjogbnVtYmVyXG4gICAgc29ydEFjdGl2ZTogc3RyaW5nIFxuICAgIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdJbmZvUmVxdWVzdCB7XG4gICAgcXVlcnk/OiBzdHJpbmc7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyO1xuICAgIHNvcnRDb2x1bW4/OiBzdHJpbmc7XG4gICAgc29ydERpcmVjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblN0YXRlPEY+ID0geyBwYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnLCBmaWx0ZXI6IEYgfVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYWdpbmF0aW9uQmFzZTxGPiBleHRlbmRzIE5yY2xCYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcGFnZVN0YXRlU2VydmljZSA9IGluamVjdCggUGFnZVN0YXRlU2VydmljZSApXG4gICAgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoIENoYW5nZURldGVjdG9yUmVmIClcblxuICAgIHByb3RlY3RlZCBfdG90YWxSb3dDb3VudDogbnVtYmVyID0gMFxuICAgIGdldCB0b3RhbFJvd0NvdW50KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl90b3RhbFJvd0NvdW50IH1cblxuICAgIHByaXZhdGUgX3BhZ2VDb25maWc6IFBhZ2luYXRpb25Db25maWcgPSB7XG4gICAgICAgIHBhZ2VTaXplOiAgICAgICAwLFxuICAgICAgICBwYWdlTnVtYmVyOiAgICAgMSxcbiAgICAgICAgc29ydEFjdGl2ZTogICAgICcnLFxuICAgICAgICBzb3J0RGlyZWN0aW9uOiAgJ2FzYydcbiAgICB9XG4gICAgZ2V0IHBhZ2VTaXplKCk6IG51bWJlciAgICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSB9XG4gICAgZ2V0IHBhZ2VOdW1iZXIoKTogbnVtYmVyICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyIH1cbiAgICBnZXQgc29ydEFjdGl2ZSgpOiBzdHJpbmcgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9wYWdlQ29uZmlnLnNvcnRBY3RpdmUgfVxuICAgIGdldCBzb3J0RGlyZWN0aW9uKCk6IFNvcnREaXJlY3Rpb24gIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiB9XG5cbiAgICBwcml2YXRlIF9maWx0ZXI/OiBGXG4gICAgZ2V0IGZpbHRlcigpOiBGIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlciBhcyBGXG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXQgZmlsdGVyKCBmOiBGICkge1xuICAgICAgICB0aGlzLl9maWx0ZXIgPSB0aGlzLmNsb25lKCBmIClcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdQYWdpbmF0aW9uQmFzZS5uZ0FmdGVyVmlld0luaXQnKVxuICAgICAgICB0aGlzLmxvYWRQYWdlU3RhdGUoKSAgICAgICAgXG4gICAgfVxuXG4gICAgY2xvbmUoIG9iajogYW55ICkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSggSlNPTi5zdHJpbmdpZnkoIG9iaiApICkgXG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2UoIGV2OiBGICkge1xuICAgICAgICB0aGlzLmZpbHRlciA9IGV2IFxuICAgICAgICB0aGlzLm9uUGFnZU51bWJlckNoYW5nZSggMSApXG4gICAgfVxuXG4gICAgb25Tb3J0Q2hhbmdlKCBldjogU29ydCApIHtcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlID0gZXYuYWN0aXZlXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiA9IGV2LmRpcmVjdGlvblxuICAgICAgICB0aGlzLm9uUGFnZU51bWJlckNoYW5nZSggMSApXG4gICAgfVxuXG4gICAgb25QYWdlU2l6ZUNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSA9IGV2IFxuICAgICAgICB0aGlzLm9uUGFnZU51bWJlckNoYW5nZSggMSApXG4gICAgfVxuXG4gICAgb25QYWdlTnVtYmVyQ2hhbmdlKCBldjogbnVtYmVyICkge1xuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBldlxuICAgIH1cblxuICAgIGdldCBpbml0aWFsUGFnZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTxGPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEluaXRpYWxQYWdlU3RhdGUoKVxuICAgIH1cblxuICAgIGFic3RyYWN0IGdldEluaXRpYWxQYWdlU3RhdGUoKTogUGFnaW5hdGlvblN0YXRlPEY+XG5cbiAgICBsb2FkUGFnZVN0YXRlKCkge1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLnBhZ2VTdGF0ZVNlcnZpY2UuZ2V0UGFnZVN0YXRlPFBhZ2luYXRpb25TdGF0ZTxGPj4oIHRoaXMuY29uc3RydWN0b3IsICgpID0+IHRoaXMuaW5pdGlhbFBhZ2VTdGF0ZSApXG5cbiAgICAgICAgdGhpcy5maWx0ZXIgPSBzdGF0ZS5maWx0ZXJcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSA9IHN0YXRlLnBhZ2VDb25maWcucGFnZVNpemVcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyID0gc3RhdGUucGFnZUNvbmZpZy5wYWdlTnVtYmVyXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSA9IHN0YXRlLnBhZ2VDb25maWcuc29ydEFjdGl2ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gPSBzdGF0ZS5wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb25cbiAgICB9XG5cbiAgICBzYXZlUGFnZVN0YXRlKCkge1xuICAgICAgICBsZXQgc3RhdGU6IFBhZ2luYXRpb25TdGF0ZTxGPiA9IHRoaXMuY2xvbmUoIHsgICAgICAgICAgICBcbiAgICAgICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIsXG4gICAgICAgICAgICBwYWdlQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyLFxuICAgICAgICAgICAgICAgIHNvcnRBY3RpdmU6IHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKSBcbiAgICAgICAgXG4gICAgICAgIHRoaXMucGFnZVN0YXRlU2VydmljZS5zZXRQYWdlU3RhdGU8UGFnaW5hdGlvblN0YXRlPEY+PiggdGhpcy5jb25zdHJ1Y3Rvciwgc3RhdGUgKVxuICAgIH1cblxuICAgIHBhZ2luYXRlU3RhdGUoIGlkOiBzdHJpbmcgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiB0aGlzLl90b3RhbFJvd0NvdW50XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYWdpbmdJbmZvUmVxdWVzdCggcXVlcnk/OiBzdHJpbmcgKTogUGFnaW5nSW5mb1JlcXVlc3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICBwYWdlUm93Q291bnQ6ICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplLFxuICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0QWN0aXZlLFxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQXlCdkMsTUFBTSxPQUFnQixjQUFrQixTQUFRLFFBQVE7SUFEeEQ7O1FBRUkscUJBQWdCLEdBQUcsTUFBTSxDQUFFLGdCQUFnQixDQUFFLENBQUE7UUFDN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFckMsbUJBQWMsR0FBVyxDQUFDLENBQUE7UUFHNUIsZ0JBQVcsR0FBcUI7WUFDcEMsUUFBUSxFQUFRLENBQUM7WUFDakIsVUFBVSxFQUFNLENBQUM7WUFDakIsVUFBVSxFQUFNLEVBQUU7WUFDbEIsYUFBYSxFQUFHLEtBQUs7U0FDeEIsQ0FBQTtLQXFJSjtJQTVJRyxJQUFJLGFBQWEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUEsQ0FBQyxDQUFDO0lBUTFELElBQUksUUFBUSxLQUEwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQztJQUN4RSxJQUFJLFVBQVUsS0FBd0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUUsSUFBSSxVQUFVLEtBQXdCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDO0lBQzFFLElBQUksYUFBYSxLQUFxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMs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QyxVQUFVO1lBQ3hDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNsQyxDQUFBO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFFLEtBQWM7UUFDaEMsT0FBTztZQUNILEtBQUs7WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQ3ZDLFlBQVksRUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNwQyxDQUFBO0lBQ0wsQ0FBQzsrR0FoSmlCLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuL25yY2wuYmFzZVwiO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uQ29uZmlnID0geyAgICBcbiAgICBwYWdlU2l6ZTogbnVtYmVyXG4gICAgcGFnZU51bWJlcjogbnVtYmVyXG4gICAgc29ydEFjdGl2ZTogc3RyaW5nIFxuICAgIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmdJbmZvUmVxdWVzdCB7XG4gICAgcXVlcnk/OiBzdHJpbmc7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyO1xuICAgIHNvcnRDb2x1bW4/OiBzdHJpbmc7XG4gICAgc29ydERpcmVjdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblN0YXRlPEY+ID0geyBcbiAgICBwYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnLCBcbiAgICBmaWx0ZXI6IEYsIFxufVxuXG5leHBvcnQgdHlwZSBJbml0aWFsU3RhdGU8Rj4gPSBQYWdpbmF0aW9uU3RhdGU8Rj4gJiB7IGluc3RhbmNlPzogc3RyaW5nIH1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnaW5hdGlvbkJhc2U8Rj4gZXh0ZW5kcyBOcmNsQmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBwcm90ZWN0ZWQgX3RvdGFsUm93Q291bnQ6IG51bWJlciA9IDBcbiAgICBnZXQgdG90YWxSb3dDb3VudCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5fdG90YWxSb3dDb3VudCB9XG5cbiAgICBwcml2YXRlIF9wYWdlQ29uZmlnOiBQYWdpbmF0aW9uQ29uZmlnID0ge1xuICAgICAgICBwYWdlU2l6ZTogICAgICAgMCxcbiAgICAgICAgcGFnZU51bWJlcjogICAgIDEsXG4gICAgICAgIHNvcnRBY3RpdmU6ICAgICAnJyxcbiAgICAgICAgc29ydERpcmVjdGlvbjogICdhc2MnXG4gICAgfVxuICAgIGdldCBwYWdlU2l6ZSgpOiBudW1iZXIgICAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUgfVxuICAgIGdldCBwYWdlTnVtYmVyKCk6IG51bWJlciAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3BhZ2VDb25maWcucGFnZU51bWJlciB9XG4gICAgZ2V0IHNvcnRBY3RpdmUoKTogc3RyaW5nICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlIH1cbiAgICBnZXQgc29ydERpcmVjdGlvbigpOiBTb3J0RGlyZWN0aW9uICB7IHJldHVybiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gfVxuXG4gICAgcHJpdmF0ZSBfZmlsdGVyPzogRlxuICAgIGdldCBmaWx0ZXIoKTogRiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWx0ZXIgYXMgRlxuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGZpbHRlciggZjogRiApIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyID0gdGhpcy5jbG9uZSggZiApXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pbnN0YW5jZT86IHN0cmluZ1xuICAgIGdldCBpbnN0YW5jZSgpOiBzdHJpbmd8dW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnUGFnaW5hdGlvbkJhc2UubmdBZnRlclZpZXdJbml0JylcbiAgICAgICAgdGhpcy5vbkluaXRQYWdlU3RhdGUoKVxuICAgIH1cblxuICAgIG9uSW5pdFBhZ2VTdGF0ZSgpIHtcbiAgICAgICAgbGV0IGluaXQgPSB0aGlzLmdldEluaXRpYWxQYWdlU3RhdGUoKVxuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IGluaXQuaW5zdGFuY2VcblxuICAgICAgICBsZXQgc2F2ZWQgPSB0aGlzLnJldHJpZXZlU3RhdGUoKVxuXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2VTdGF0ZSggc2F2ZWQgfHwgaW5pdCApXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBjbG9uZSggb2JqOiBhbnkgKSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKCBKU09OLnN0cmluZ2lmeSggb2JqICkgKSBcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZSggZXY6IEYgKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyID0gZXYgXG4gICAgICAgIHRoaXMub25QYWdlTnVtYmVyQ2hhbmdlKCAxIClcbiAgICB9XG5cbiAgICBvblNvcnRDaGFuZ2UoIGV2OiBTb3J0ICkge1xuICAgICAgICBpZiAoIHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSA9PSBldi5hY3RpdmUgKSBcbiAgICAgICAgICAgIGlmICggdGhpcy5fcGFnZUNvbmZpZy5zb3J0RGlyZWN0aW9uID09IGV2LmRpcmVjdGlvbiApIFxuICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSA9IGV2LmFjdGl2ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24gPSBldi5kaXJlY3Rpb25cbiAgICAgICAgdGhpcy5vblBhZ2VOdW1iZXJDaGFuZ2UoIDEgKVxuICAgIH1cblxuICAgIG9uUGFnZVNpemVDaGFuZ2UoIGV2OiBudW1iZXIgKSB7XG4gICAgICAgIGlmICggdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSA9PSBldiApIHJldHVyblxuXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUgPSBldiBcbiAgICAgICAgdGhpcy5vblBhZ2VOdW1iZXJDaGFuZ2UoIDEgKVxuICAgIH1cblxuICAgIG9uUGFnZU51bWJlckNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgaWYgKCB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPT0gZXYgKSByZXR1cm5cblxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBldlxuXG4gICAgICAgIHRoaXMub25QYWdlU3RhdGVDaGFuZ2VkKClcbiAgICB9XG5cbiAgICBvblBhZ2VTdGF0ZUNoYW5nZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2goKVxuICAgICAgICAgICAgLnRoZW4oICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmdldEN1cnJlbnRQYWdlU3RhdGUoKVxuICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdFN0YXRlKCBzdGF0ZSApXG4gICAgICAgICAgICB9IClcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IFxuXG4gICAgYWJzdHJhY3QgZ2V0SW5pdGlhbFBhZ2VTdGF0ZSgpOiBJbml0aWFsU3RhdGU8Rj5cblxuICAgIGdldEN1cnJlbnRQYWdlU3RhdGUoKTogUGFnaW5hdGlvblN0YXRlPEY+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIsXG4gICAgICAgICAgICBwYWdlQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuX3BhZ2VDb25maWcucGFnZVNpemUsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogdGhpcy5fcGFnZUNvbmZpZy5wYWdlTnVtYmVyLFxuICAgICAgICAgICAgICAgIHNvcnRBY3RpdmU6IHRoaXMuX3BhZ2VDb25maWcuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiB0aGlzLl9wYWdlQ29uZmlnLnNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRDdXJyZW50UGFnZVN0YXRlKCBzdGF0ZTogUGFnaW5hdGlvblN0YXRlPEY+ICkge1xuICAgICAgICB0aGlzLmZpbHRlciA9IHN0YXRlLmZpbHRlclxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplID0gc3RhdGUucGFnZUNvbmZpZy5wYWdlU2l6ZVxuICAgICAgICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIgPSBzdGF0ZS5wYWdlQ29uZmlnLnBhZ2VOdW1iZXJcbiAgICAgICAgdGhpcy5fcGFnZUNvbmZpZy5zb3J0QWN0aXZlID0gc3RhdGUucGFnZUNvbmZpZy5zb3J0QWN0aXZlXG4gICAgICAgIHRoaXMuX3BhZ2VDb25maWcuc29ydERpcmVjdGlvbiA9IHN0YXRlLnBhZ2VDb25maWcuc29ydERpcmVjdGlvblxuICAgIH1cblxuICAgIHBlcnNpc3RTdGF0ZSggc3RhdGU6IFBhZ2luYXRpb25TdGF0ZTxGPiApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5faW5zdGFuY2UgKSByZXR1cm5cblxuICAgICAgICB0aGlzLnBhZ2VTdGF0ZVNlcnZpY2Uuc2V0UGFnZVN0YXRlKCB0aGlzLl9pbnN0YW5jZSEsIEpTT04uc3RyaW5naWZ5KCBzdGF0ZSApIClcbiAgICB9XG5cbiAgICByZXRyaWV2ZVN0YXRlKCk6IFBhZ2luYXRpb25TdGF0ZTxGPnx1bmRlZmluZWQge1xuICAgICAgICBpZiAoICF0aGlzLl9pbnN0YW5jZSApIHJldHVyblxuICAgICAgICBcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5wYWdlU3RhdGVTZXJ2aWNlLmdldFBhZ2VTdGF0ZSggdGhpcy5faW5zdGFuY2UhIClcbiAgICAgICAgaWYgKCAhc3RhdGUgKSByZXR1cm5cblxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSggc3RhdGUgKVxuICAgIH1cblxuICAgIHBhZ2luYXRlU3RhdGUoIGlkOiBzdHJpbmcgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5fcGFnZUNvbmZpZy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICB0b3RhbEl0ZW1zOiB0aGlzLl90b3RhbFJvd0NvdW50XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQYWdpbmdJbmZvUmVxdWVzdCggcXVlcnk/OiBzdHJpbmcgKTogUGFnaW5nSW5mb1JlcXVlc3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VOdW1iZXIsXG4gICAgICAgICAgICBwYWdlUm93Q291bnQ6ICB0aGlzLl9wYWdlQ29uZmlnLnBhZ2VTaXplLFxuICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0QWN0aXZlLFxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, Directive, EventEmitter, inject, Output } from "@angular/core";
2
2
  import { PageStateService } from "../services/page-state.service";
3
3
  import { Aborted, ObservableAborter } from "../utils/row-list.util";
4
- import { PaginationBase as PaginationBase } from "./pagination.base";
4
+ import { PaginationBase } from "./pagination.base";
5
5
  import * as i0 from "@angular/core";
6
6
  export class RowListBase extends PaginationBase {
7
7
  constructor() {
@@ -21,11 +21,6 @@ export class RowListBase extends PaginationBase {
21
21
  this.isLoadingChange.emit(v);
22
22
  }
23
23
  get rows() { return this._rows; }
24
- ngAfterViewInit() {
25
- // console.log('RowListBase.ngAfterViewInit')
26
- super.ngAfterViewInit();
27
- this.refreshRowList();
28
- }
29
24
  refreshRowList() {
30
25
  // console.warn('RowListBase.refreshRowList')
31
26
  this.isLoading = true;
@@ -38,25 +33,22 @@ export class RowListBase extends PaginationBase {
38
33
  return this.loadRowList();
39
34
  })
40
35
  .then((res) => {
36
+ inProgress.progress();
41
37
  if (!res)
42
38
  return;
43
- if (inProgress.isCancelled)
44
- return;
45
39
  return this.parseRowList(res);
46
40
  })
47
41
  .then(res => {
48
- if (inProgress.isCancelled)
49
- return;
42
+ inProgress.progress();
50
43
  return this.completedRowListPage();
51
44
  })
52
45
  .catch((err) => {
46
+ // console.warn(err)
53
47
  if (err instanceof Aborted)
54
48
  return;
55
49
  this.loadRowListPageFailed(err);
56
50
  })
57
51
  .finally(() => {
58
- if (inProgress.isCancelled)
59
- return;
60
52
  inProgress.complete();
61
53
  this.isLoading = false;
62
54
  this.changeDetectorRef.detectChanges();
@@ -88,12 +80,8 @@ export class RowListBase extends PaginationBase {
88
80
  this._rows = [];
89
81
  this._totalRowCount = 0;
90
82
  }
91
- onPageNumberChange(ev) {
92
- super.onPageNumberChange(ev);
93
- this.refreshRowList()
94
- .then(() => {
95
- this.savePageState();
96
- });
83
+ refresh() {
84
+ return this.refreshRowList();
97
85
  }
98
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowListBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
87
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: RowListBase, outputs: { isLoadingChange: "isLoadingChange" }, usesInheritance: true, ngImport: i0 }); }
@@ -118,6 +106,12 @@ class InProgress {
118
106
  return;
119
107
  this._cancelled = true;
120
108
  }
109
+ progress() {
110
+ if (this.isCompleted)
111
+ return;
112
+ if (this.isCancelled)
113
+ throw new Aborted('InProgress cancelled');
114
+ }
121
115
  get isCompleted() {
122
116
  return this._completed;
123
117
  }
@@ -125,4 +119,4 @@ class InProgress {
125
119
  return this._cancelled;
126
120
  }
127
121
  }
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLElBQUksY0FBYyxFQUFtQixNQUFNLG1CQUFtQixDQUFDOztBQUt0RixNQUFNLE9BQWdCLFdBQXVCLFNBQVEsY0FBaUI7SUFEdEU7O1FBRUkscUJBQWdCLEdBQUcsTUFBTSxDQUFFLGdCQUFnQixDQUFFLENBQUE7UUFDN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUE7UUFFckMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO1FBRS9DLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFRbEIsVUFBSyxHQUFRLEVBQUUsQ0FBQTtRQUlmLGdCQUFXLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtLQTBGekM7SUFyR0csSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUMxQyxJQUFJLFNBQVMsQ0FBRSxDQUFVO1FBQ3JCLElBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUcsT0FBTTtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQTtRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUUsQ0FBQTtJQUNsQyxDQUFDO0lBR0QsSUFB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RSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUVELGtCQUFrQixDQUFFLEVBQVU7UUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFFLEVBQUUsQ0FBRSxDQUFBO1FBRTlCLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDaEIsSUFBSSxDQUFFLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixDQUFDLENBQUUsQ0FBQTtJQUNYLENBQUM7K0dBM0dpQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7OEJBS0ksZUFBZTtzQkFBeEIsTUFBTTs7QUEwR1gsTUFBTSxVQUFVO0lBQWhCO1FBQ1ksZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFBO0lBbUI5QixDQUFDO0lBakJHLFFBQVE7UUFDSixJQUFLLElBQUksQ0FBQyxXQUFXO1lBQUcsT0FBTTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUssSUFBSSxDQUFDLFdBQVc7WUFBRyxPQUFNO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztJQUVELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQTtJQUMxQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUGFnZVN0YXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9wYWdlLXN0YXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFib3J0ZWQsIE9ic2VydmFibGVBYm9ydGVyIH0gZnJvbSBcIi4uL3V0aWxzL3Jvdy1saXN0LnV0aWxcIjtcbmltcG9ydCB7IFBhZ2luYXRpb25CYXNlIGFzIFBhZ2luYXRpb25CYXNlLCBQYWdpbmF0aW9uU3RhdGUgfSBmcm9tIFwiLi9wYWdpbmF0aW9uLmJhc2VcIjtcblxuZXhwb3J0IHR5cGUgUm93TGlzdFN0YXRlPEY+ID0gUGFnaW5hdGlvblN0YXRlPEY+XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvd0xpc3RCYXNlPEYsUixMPWFueT4gZXh0ZW5kcyBQYWdpbmF0aW9uQmFzZTxGPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBAT3V0cHV0KCkgaXNMb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gICAgXG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2VcbiAgICBnZXQgaXNMb2FkaW5nKCkgeyByZXR1cm4gdGhpcy5faXNMb2FkaW5nIH1cbiAgICBzZXQgaXNMb2FkaW5nKCB2OiBib29sZWFuICkgeyBcbiAgICAgICAgaWYgKCB2ID09IHRoaXMuX2lzTG9hZGluZyApIHJldHVybiAgICAgICAgXG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHYgXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ2hhbmdlLmVtaXQoIHYgKVxuICAgIH0gIFxuXG4gICAgcHJpdmF0ZSBfcm93czogUltdID0gW11cbiAgICBnZXQgcm93cygpOiBSW10geyByZXR1cm4gdGhpcy5fcm93cyB9XG5cbiAgICBwcml2YXRlIF9sb2FkUm93TGlzdFJlcXVlc3Q/OiBPYnNlcnZhYmxlQWJvcnRlcjxMPiBcbiAgICBwcml2YXRlIF9pblByb2dyZXNzID0gbmV3IEluUHJvZ3Jlc3MoKVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnUm93TGlzdEJhc2UubmdBZnRlclZpZXdJbml0JylcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcbiAgICAgICAgdGhpcy5yZWZyZXNoUm93TGlzdCgpXG4gICAgfVxuXG4gICAgcmVmcmVzaFJvd0xpc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIGNvbnNvbGUud2FybignUm93TGlzdEJhc2UucmVmcmVzaFJvd0xpc3QnKVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcblxuICAgICAgICBpZiAoICF0aGlzLl9pblByb2dyZXNzLmlzQ29tcGxldGVkICkgdGhpcy5faW5Qcm9ncmVzcy5jYW5jZWwoKVxuICAgICAgICBsZXQgaW5Qcm9ncmVzcyA9IHRoaXMuX2luUHJvZ3Jlc3MgPSBuZXcgSW5Qcm9ncmVzcygpXG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbiggKCkgPT4geyBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkUm93TGlzdCgpIFxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAudGhlbiggKCByZXMgKSA9PiB7IFxuICAgICAgICAgICAgICAgIGlmICggIXJlcyApIHJldHVyblxuICAgICAgICAgICAgICAgIGlmICggaW5Qcm9ncmVzcy5pc0NhbmNlbGxlZCApIHJldHVyblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VSb3dMaXN0KCByZXMgKSBcbiAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgLnRoZW4oIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCBpblByb2dyZXNzLmlzQ2FuY2VsbGVkICkgcmV0dXJuXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGVkUm93TGlzdFBhZ2UoKVxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAuY2F0Y2goICggZXJyICkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICggZXJyIGluc3RhbmNlb2YgQWJvcnRlZCApIHJldHVyblxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUm93TGlzdFBhZ2VGYWlsZWQoIGVyciApXG4gICAgICAgICAgICB9IClcbiAgICAgICAgICAgIC5maW5hbGx5KCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCBpblByb2dyZXNzLmlzQ2FuY2VsbGVkICkgcmV0dXJuXG4gICAgICAgICAgICAgICAgaW5Qcm9ncmVzcy5jb21wbGV0ZSgpXG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgICAgIH0gKVxuICAgIH1cblxuICAgIGxvYWRSb3dMaXN0KCk6IFByb21pc2U8TD4ge1xuICAgICAgICBpZiAoIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdCApXG4gICAgICAgICAgICB0aGlzLl9sb2FkUm93TGlzdFJlcXVlc3QuYWJvcnQoKVxuXG4gICAgICAgIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdCA9IG5ldyBPYnNlcnZhYmxlQWJvcnRlcjxMPiggKCkgPT4geyAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJvd0xpc3RQYWdlKClcbiAgICAgICAgfSApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdC5wcm9taXNlXG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZmV0Y2hSb3dMaXN0UGFnZSgpOiBPYnNlcnZhYmxlPEw+IFxuXG4gICAgcGFyc2VSb3dMaXN0KCByZXN1bHQ6IEwgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoIHJlc3VsdCApXG4gICAgICAgICAgICAudGhlbiggcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90b3RhbFJvd0NvdW50ID0gdGhpcy5wYXJzZVRvdGFsUm93Q291bnQoIHJlcyApXG4gICAgICAgICAgICAgICAgdGhpcy5fcm93cyA9IHRoaXMucGFyc2VSb3dzKCByZXMgKVxuICAgICAgICAgICAgfSApXG4gICAgfVxuXG4gICAgYWJzdHJhY3QgcGFyc2VSb3dzKCByZXM6IEwgKTogUltdIFxuICAgIFxuICAgIHBhcnNlVG90YWxSb3dDb3VudCggcmVzOiBMICk6IG51bWJlciB7XG4gICAgICAgIGlmICggJ3RvdGFsUm93Q291bnQnIGluIChyZXMgYXMgYW55KSApIHJldHVybiAocmVzIGFzIGFueSlbICd0b3RhbFJvd0NvdW50JyBdXG5cbiAgICAgICAgdGhyb3cgJ01pc3NpbmcgcmVzLnRvdGFsUm93Q291bnQsIG1pZ2h0IG5lZWQgdG8gb3ZlcnJpZGUgUm93TGlzdEJhc2UucGFyc2VUb3RhbFJvd0NvdW50J1xuICAgIH1cblxuICAgIGNvbXBsZXRlZFJvd0xpc3RQYWdlKCkge31cblxuICAgIGxvYWRSb3dMaXN0UGFnZUZhaWxlZCggZXJyb3I6IGFueSApIHtcbiAgICAgICAgY29uc29sZS53YXJuKCBlcnJvciApXG4gICAgICAgIHRoaXMuX3Jvd3MgPSBbXVxuICAgICAgICB0aGlzLl90b3RhbFJvd0NvdW50ID0gMFxuICAgIH1cblxuICAgIG9uUGFnZU51bWJlckNoYW5nZSggZXY6IG51bWJlciApIHtcbiAgICAgICAgc3VwZXIub25QYWdlTnVtYmVyQ2hhbmdlKCBldiApXG5cbiAgICAgICAgdGhpcy5yZWZyZXNoUm93TGlzdCgpXG4gICAgICAgICAgICAudGhlbiggKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVBhZ2VTdGF0ZSgpXG4gICAgICAgICAgICB9IClcbiAgICB9XG59XG5cbmNsYXNzIEluUHJvZ3Jlc3Mge1xuICAgIHByaXZhdGUgX2NvbXBsZXRlZCA9IGZhbHNlXG4gICAgcHJpdmF0ZSBfY2FuY2VsbGVkID0gZmFsc2VcblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDYW5jZWxsZWQgKSByZXR1cm5cbiAgICAgICAgdGhpcy5fY29tcGxldGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzQ29tcGxldGVkICkgcmV0dXJuXG4gICAgICAgIHRoaXMuX2NhbmNlbGxlZCA9IHRydWUgICAgICAgIFxuICAgIH1cblxuICAgIGdldCBpc0NvbXBsZXRlZCgpIHsgICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5fY29tcGxldGVkXG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FuY2VsbGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FuY2VsbGVkXG4gICAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWxpc3QuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25yLW5neC1jb21wb25lbnQtbGliL3NyYy9kaXJlY3RpdmVzL3Jvdy1saXN0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHbkQsTUFBTSxPQUFnQixXQUF1QixTQUFRLGNBQWlCO0lBRHRFOztRQUVJLHFCQUFnQixHQUFHLE1BQU0sQ0FBRSxnQkFBZ0IsQ0FBRSxDQUFBO1FBQzdDLHNCQUFpQixHQUFHLE1BQU0sQ0FBRSxpQkFBaUIsQ0FBRSxDQUFBO1FBRXJDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFBO1FBUWxCLFVBQUssR0FBUSxFQUFFLENBQUE7UUFJZixnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7S0ErRXpDO0lBMUZHLElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFDMUMsSUFBSSxTQUFTLENBQUUsQ0FBVTtRQUNyQixJQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFHLE9BQU07UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsQ0FBQyxDQUFFLENBQUE7SUFDbEMsQ0FBQztJQUdELElBQUksSUFBSSxLQUFV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QUM7K0dBaEdpQixXQUFXO21HQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRGhDLFNBQVM7OEJBS0ksZUFBZTtzQkFBeEIsTUFBTTs7QUErRlgsTUFBTSxVQUFVO0lBQWhCO1FBQ1ksZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixlQUFVLEdBQUcsS0FBSyxDQUFBO0lBd0I5QixDQUFDO0lBdEJHLFFBQVE7UUFDSixJQUFLLElBQUksQ0FBQyxXQUFXO1lBQUcsT0FBTTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUssSUFBSSxDQUFDLFdBQVc7WUFBRyxPQUFNO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSyxJQUFJLENBQUMsV0FBVztZQUFHLE9BQU07UUFDOUIsSUFBSyxJQUFJLENBQUMsV0FBVztZQUFHLE1BQU0sSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQzFCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFBhZ2VTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcGFnZS1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBYm9ydGVkLCBPYnNlcnZhYmxlQWJvcnRlciB9IGZyb20gXCIuLi91dGlscy9yb3ctbGlzdC51dGlsXCI7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQmFzZSB9IGZyb20gXCIuL3BhZ2luYXRpb24uYmFzZVwiO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3dMaXN0QmFzZTxGLFIsTD1hbnk+IGV4dGVuZHMgUGFnaW5hdGlvbkJhc2U8Rj4ge1xuICAgIHBhZ2VTdGF0ZVNlcnZpY2UgPSBpbmplY3QoIFBhZ2VTdGF0ZVNlcnZpY2UgKVxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBAT3V0cHV0KCkgaXNMb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG4gICAgXG4gICAgcHJpdmF0ZSBfaXNMb2FkaW5nID0gZmFsc2VcbiAgICBnZXQgaXNMb2FkaW5nKCkgeyByZXR1cm4gdGhpcy5faXNMb2FkaW5nIH1cbiAgICBzZXQgaXNMb2FkaW5nKCB2OiBib29sZWFuICkgeyBcbiAgICAgICAgaWYgKCB2ID09IHRoaXMuX2lzTG9hZGluZyApIHJldHVybiAgICAgICAgXG4gICAgICAgIHRoaXMuX2lzTG9hZGluZyA9IHYgXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nQ2hhbmdlLmVtaXQoIHYgKVxuICAgIH0gIFxuXG4gICAgcHJpdmF0ZSBfcm93czogUltdID0gW11cbiAgICBnZXQgcm93cygpOiBSW10geyByZXR1cm4gdGhpcy5fcm93cyB9XG5cbiAgICBwcml2YXRlIF9sb2FkUm93TGlzdFJlcXVlc3Q/OiBPYnNlcnZhYmxlQWJvcnRlcjxMPiBcbiAgICBwcml2YXRlIF9pblByb2dyZXNzID0gbmV3IEluUHJvZ3Jlc3MoKVxuXG4gICAgcmVmcmVzaFJvd0xpc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIGNvbnNvbGUud2FybignUm93TGlzdEJhc2UucmVmcmVzaFJvd0xpc3QnKVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcblxuICAgICAgICBpZiAoICF0aGlzLl9pblByb2dyZXNzLmlzQ29tcGxldGVkICkgdGhpcy5faW5Qcm9ncmVzcy5jYW5jZWwoKVxuICAgICAgICBsZXQgaW5Qcm9ncmVzcyA9IHRoaXMuX2luUHJvZ3Jlc3MgPSBuZXcgSW5Qcm9ncmVzcygpXG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAgICAgICAudGhlbiggKCkgPT4geyBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkUm93TGlzdCgpIFxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAudGhlbiggKCByZXMgKSA9PiB7IFxuICAgICAgICAgICAgICAgIGluUHJvZ3Jlc3MucHJvZ3Jlc3MoKVxuICAgICAgICAgICAgICAgIGlmICggIXJlcyApIHJldHVyblxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VSb3dMaXN0KCByZXMgKSBcbiAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgLnRoZW4oIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaW5Qcm9ncmVzcy5wcm9ncmVzcygpXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGVkUm93TGlzdFBhZ2UoKVxuICAgICAgICAgICAgfSApXG4gICAgICAgICAgICAuY2F0Y2goICggZXJyICkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUud2FybihlcnIpXG4gICAgICAgICAgICAgICAgaWYgKCBlcnIgaW5zdGFuY2VvZiBBYm9ydGVkICkgcmV0dXJuXG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRSb3dMaXN0UGFnZUZhaWxlZCggZXJyIClcbiAgICAgICAgICAgIH0gKVxuICAgICAgICAgICAgLmZpbmFsbHkoICgpID0+IHtcbiAgICAgICAgICAgICAgICBpblByb2dyZXNzLmNvbXBsZXRlKClcblxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKVxuICAgICAgICAgICAgfSApXG4gICAgfVxuXG4gICAgbG9hZFJvd0xpc3QoKTogUHJvbWlzZTxMPiB7XG4gICAgICAgIGlmICggdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0IClcbiAgICAgICAgICAgIHRoaXMuX2xvYWRSb3dMaXN0UmVxdWVzdC5hYm9ydCgpXG5cbiAgICAgICAgdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0ID0gbmV3IE9ic2VydmFibGVBYm9ydGVyPEw+KCAoKSA9PiB7ICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUm93TGlzdFBhZ2UoKVxuICAgICAgICB9IClcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZFJvd0xpc3RSZXF1ZXN0LnByb21pc2VcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8TD4gXG5cbiAgICBwYXJzZVJvd0xpc3QoIHJlc3VsdDogTCApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSggcmVzdWx0IClcbiAgICAgICAgICAgIC50aGVuKCByZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvdGFsUm93Q291bnQgPSB0aGlzLnBhcnNlVG90YWxSb3dDb3VudCggcmVzIClcbiAgICAgICAgICAgICAgICB0aGlzLl9yb3dzID0gdGhpcy5wYXJzZVJvd3MoIHJlcyApXG4gICAgICAgICAgICB9IClcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBwYXJzZVJvd3MoIHJlczogTCApOiBSW10gXG4gICAgXG4gICAgcGFyc2VUb3RhbFJvd0NvdW50KCByZXM6IEwgKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCAndG90YWxSb3dDb3VudCcgaW4gKHJlcyBhcyBhbnkpICkgcmV0dXJuIChyZXMgYXMgYW55KVsgJ3RvdGFsUm93Q291bnQnIF1cblxuICAgICAgICB0aHJvdyAnTWlzc2luZyByZXMudG90YWxSb3dDb3VudCwgbWlnaHQgbmVlZCB0byBvdmVycmlkZSBSb3dMaXN0QmFzZS5wYXJzZVRvdGFsUm93Q291bnQnXG4gICAgfVxuXG4gICAgY29tcGxldGVkUm93TGlzdFBhZ2UoKSB7fVxuXG4gICAgbG9hZFJvd0xpc3RQYWdlRmFpbGVkKCBlcnJvcjogYW55ICkge1xuICAgICAgICBjb25zb2xlLndhcm4oIGVycm9yIClcbiAgICAgICAgdGhpcy5fcm93cyA9IFtdXG4gICAgICAgIHRoaXMuX3RvdGFsUm93Q291bnQgPSAwXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlZnJlc2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hSb3dMaXN0KClcbiAgICB9XG59XG5cbmNsYXNzIEluUHJvZ3Jlc3Mge1xuICAgIHByaXZhdGUgX2NvbXBsZXRlZCA9IGZhbHNlXG4gICAgcHJpdmF0ZSBfY2FuY2VsbGVkID0gZmFsc2VcblxuICAgIGNvbXBsZXRlKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDYW5jZWxsZWQgKSByZXR1cm5cbiAgICAgICAgdGhpcy5fY29tcGxldGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmlzQ29tcGxldGVkICkgcmV0dXJuXG4gICAgICAgIHRoaXMuX2NhbmNlbGxlZCA9IHRydWUgICAgICAgIFxuICAgIH1cblxuICAgIHByb2dyZXNzKCkge1xuICAgICAgICBpZiAoIHRoaXMuaXNDb21wbGV0ZWQgKSByZXR1cm5cbiAgICAgICAgaWYgKCB0aGlzLmlzQ2FuY2VsbGVkICkgdGhyb3cgbmV3IEFib3J0ZWQoJ0luUHJvZ3Jlc3MgY2FuY2VsbGVkJylcbiAgICB9XG5cbiAgICBnZXQgaXNDb21wbGV0ZWQoKSB7ICAgICAgICBcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBsZXRlZFxuICAgIH1cblxuICAgIGdldCBpc0NhbmNlbGxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhbmNlbGxlZFxuICAgIH1cbn1cbiJdfQ==
@@ -2,19 +2,17 @@ import { Injectable } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class PageStateService {
4
4
  constructor() {
5
- this.classRegistry = new WeakMap();
5
+ this._pageState = {};
6
6
  }
7
- getPageState(classConstructor, defaultState, label) {
8
- if (this.classRegistry.has(classConstructor)) {
9
- let sc = this.classRegistry.get(classConstructor);
10
- return sc.state;
11
- }
12
- // this.setPageState( classConstructor, defaultState, label )
13
- return defaultState();
7
+ getPageState(id) {
8
+ if (id in this._pageState)
9
+ return this._pageState[id];
14
10
  }
15
- setPageState(classConstructor, state, label) {
16
- let sc = { label, state };
17
- this.classRegistry.set(classConstructor, sc);
11
+ setPageState(id, state) {
12
+ this._pageState[id] = state;
13
+ }
14
+ deletePageState(id) {
15
+ delete this._pageState[id];
18
16
  }
19
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
18
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageStateService, providedIn: "root" }); }
@@ -24,5 +22,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
24
22
  args: [{
25
23
  providedIn: "root"
26
24
  }]
27
- }], ctorParameters: () => [] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL3NlcnZpY2VzL3BhZ2Utc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCO1FBRmlCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQTRCLENBQUM7SUFHekUsQ0FBQztJQUVELFlBQVksQ0FBSyxnQkFBMEIsRUFBRSxZQUFxQixFQUFFLEtBQWM7UUFDOUUsSUFBSyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBRSxnQkFBZ0IsQ0FBRSxFQUFHLENBQUM7WUFDL0MsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUUsZ0JBQWdCLENBQUUsQ0FBQTtZQUNuRCxPQUFPLEVBQUcsQ0FBQyxLQUFLLENBQUE7UUFDcEIsQ0FBQztRQUVELDZEQUE2RDtRQUM3RCxPQUFPLFlBQVksRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUssZ0JBQTBCLEVBQUUsS0FBUSxFQUFFLEtBQWM7UUFDakUsSUFBSSxFQUFFLEdBQW1CLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBRSxDQUFBO0lBQ2xELENBQUM7K0dBbkJRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFFO29CQUNULFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG50eXBlIFN0YXRlQ29udGFpbmVyID0ge1xuICAgIGxhYmVsPzogc3RyaW5nXG4gICAgc3RhdGU6IGFueVxufVxuXG5ASW5qZWN0YWJsZSgge1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiXG59IClcbmV4cG9ydCBjbGFzcyBQYWdlU3RhdGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsYXNzUmVnaXN0cnkgPSBuZXcgV2Vha01hcDxGdW5jdGlvbiwgU3RhdGVDb250YWluZXI+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG5cbiAgICBnZXRQYWdlU3RhdGU8Uz4oIGNsYXNzQ29uc3RydWN0b3I6IEZ1bmN0aW9uLCBkZWZhdWx0U3RhdGU6ICgpID0+IFMsIGxhYmVsPzogc3RyaW5nICk6IFMge1xuICAgICAgICBpZiAoIHRoaXMuY2xhc3NSZWdpc3RyeS5oYXMoIGNsYXNzQ29uc3RydWN0b3IgKSApIHtcbiAgICAgICAgICAgIGxldCBzYyA9IHRoaXMuY2xhc3NSZWdpc3RyeS5nZXQoIGNsYXNzQ29uc3RydWN0b3IgKVxuICAgICAgICAgICAgcmV0dXJuIHNjIS5zdGF0ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhpcy5zZXRQYWdlU3RhdGUoIGNsYXNzQ29uc3RydWN0b3IsIGRlZmF1bHRTdGF0ZSwgbGFiZWwgKVxuICAgICAgICByZXR1cm4gZGVmYXVsdFN0YXRlKClcbiAgICB9XG5cbiAgICBzZXRQYWdlU3RhdGU8Uz4oIGNsYXNzQ29uc3RydWN0b3I6IEZ1bmN0aW9uLCBzdGF0ZTogUywgbGFiZWw/OiBzdHJpbmcgKSB7XG4gICAgICAgIGxldCBzYzogU3RhdGVDb250YWluZXIgPSB7IGxhYmVsLCBzdGF0ZSB9XG4gICAgICAgIHRoaXMuY2xhc3NSZWdpc3RyeS5zZXQoIGNsYXNzQ29uc3RydWN0b3IsIHNjIClcbiAgICB9XG59XG4iXX0=
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL3NlcnZpY2VzL3BhZ2Utc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBSDdCO1FBSXFCLGVBQVUsR0FBZ0MsRUFBRSxDQUFBO0tBY2hFO0lBWkcsWUFBWSxDQUFFLEVBQVU7UUFDcEIsSUFBSyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVU7WUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFFLEVBQUUsQ0FBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUUsRUFBVSxFQUFFLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBRSxFQUFFLENBQUUsR0FBRyxLQUFLLENBQUE7SUFDakMsQ0FBQztJQUVELGVBQWUsQ0FBRSxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBRSxFQUFFLENBQUUsQ0FBQTtJQUNoQyxDQUFDOytHQWRRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFFO29CQUNULFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ASW5qZWN0YWJsZSgge1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiXG59IClcbmV4cG9ydCBjbGFzcyBQYWdlU3RhdGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wYWdlU3RhdGU6IHsgWyBrZXk6IHN0cmluZyBdOiBzdHJpbmcgfSA9IHt9XG5cbiAgICBnZXRQYWdlU3RhdGUoIGlkOiBzdHJpbmcgKTogc3RyaW5nfHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICggaWQgaW4gdGhpcy5fcGFnZVN0YXRlIClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9wYWdlU3RhdGVbIGlkIF1cbiAgICB9XG5cbiAgICBzZXRQYWdlU3RhdGUoIGlkOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcgKSB7XG4gICAgICAgIHRoaXMuX3BhZ2VTdGF0ZVsgaWQgXSA9IHN0YXRlXG4gICAgfVxuXG4gICAgZGVsZXRlUGFnZVN0YXRlKCBpZDogc3RyaW5nICkge1xuICAgICAgICBkZWxldGUgdGhpcy5fcGFnZVN0YXRlWyBpZCBdXG4gICAgfVxufVxuXG4iXX0=