@firestitch/list 15.0.0 → 16.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.
Files changed (149) hide show
  1. package/app/components/body/body.component.d.ts +1 -1
  2. package/app/components/body/row/actions/actions.component.d.ts +1 -1
  3. package/app/components/body/row/cell/cell.component.d.ts +1 -1
  4. package/app/components/body/row/inline-action/inline-action.component.d.ts +1 -1
  5. package/app/components/body/row/menu-action/menu-action.component.d.ts +1 -1
  6. package/app/components/body/row/row.component.d.ts +1 -1
  7. package/app/components/footer/footer-row/footer-row.component.d.ts +1 -7
  8. package/app/components/footer/footer.component.d.ts +1 -1
  9. package/app/components/head/head.component.d.ts +1 -1
  10. package/app/components/list/list.component.d.ts +1 -1
  11. package/app/components/loader/loader.component.d.ts +1 -1
  12. package/app/components/pagination/pagination.component.d.ts +1 -1
  13. package/app/components/status/status.component.d.ts +1 -1
  14. package/app/directives/cell/cell.directive.d.ts +1 -1
  15. package/app/directives/column/column.directive.d.ts +1 -1
  16. package/app/directives/content-init/content-init.directive.d.ts +1 -1
  17. package/app/directives/draggable-list/draggable-list.directive.d.ts +1 -1
  18. package/app/directives/draggable-row/draggable-row.directive.d.ts +1 -1
  19. package/app/directives/footer/footer.directive.d.ts +1 -1
  20. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +1 -1
  21. package/app/directives/header/header.directive.d.ts +1 -1
  22. package/app/models/column.model.d.ts +1 -1
  23. package/esm2022/app/classes/actions-controller.mjs +57 -0
  24. package/esm2022/app/classes/columns-controller.mjs +211 -0
  25. package/esm2022/app/classes/data-controller.mjs +348 -0
  26. package/esm2022/app/classes/external-params-controller.mjs +153 -0
  27. package/esm2022/app/classes/list-controller.mjs +712 -0
  28. package/esm2022/app/classes/pagination-controller.mjs +491 -0
  29. package/esm2022/app/classes/persistance-controller.mjs +19 -0
  30. package/esm2022/app/classes/reorder-controller.mjs +191 -0
  31. package/esm2022/app/classes/selection-controller.mjs +473 -0
  32. package/esm2022/app/classes/sorting-controller.mjs +207 -0
  33. package/esm2022/app/components/body/body.component.mjs +73 -0
  34. package/esm2022/app/components/body/row/actions/actions.component.mjs +102 -0
  35. package/esm2022/app/components/body/row/cell/cell.component.mjs +109 -0
  36. package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +32 -0
  37. package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +51 -0
  38. package/esm2022/app/components/body/row/row.component.mjs +341 -0
  39. package/esm2022/app/components/customize-cols/customize-cols.component.mjs +70 -0
  40. package/{esm2020 → esm2022}/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +4 -4
  41. package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +17 -0
  42. package/esm2022/app/components/footer/footer.component.mjs +35 -0
  43. package/esm2022/app/components/head/head-cell/head-cell.component.mjs +32 -0
  44. package/esm2022/app/components/head/head.component.mjs +113 -0
  45. package/esm2022/app/components/list/list.component.mjs +406 -0
  46. package/esm2022/app/components/loader/loader.component.mjs +40 -0
  47. package/esm2022/app/components/manage-saved-filters/manage-saved-filters.component.mjs +78 -0
  48. package/esm2022/app/components/pagination/pagination.component.mjs +40 -0
  49. package/esm2022/app/components/saved-filters/saved-filters.component.mjs +32 -0
  50. package/esm2022/app/components/status/status.component.mjs +69 -0
  51. package/esm2022/app/directives/cell/cell.directive.mjs +21 -0
  52. package/esm2022/app/directives/column/column.directive.mjs +137 -0
  53. package/{esm2020 → esm2022}/app/directives/content/content.directive.mjs +4 -4
  54. package/esm2022/app/directives/content-init/content-init.directive.mjs +23 -0
  55. package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +344 -0
  56. package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +83 -0
  57. package/{esm2020 → esm2022}/app/directives/empty-state/empty-state.directive.mjs +4 -4
  58. package/esm2022/app/directives/footer/footer.directive.mjs +21 -0
  59. package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +28 -0
  60. package/{esm2020 → esm2022}/app/directives/group-footer/group-footer.directive.mjs +4 -4
  61. package/{esm2020 → esm2022}/app/directives/group-header/group-header.directive.mjs +4 -4
  62. package/esm2022/app/directives/header/header.directive.mjs +21 -0
  63. package/{esm2020 → esm2022}/app/directives/heading/heading.directive.mjs +4 -4
  64. package/{esm2020 → esm2022}/app/directives/heading-container/heading-container.directive.mjs +4 -4
  65. package/{esm2020 → esm2022}/app/directives/subheading/subheading.directive.mjs +4 -4
  66. package/{esm2020 → esm2022}/app/fs-list.module.mjs +89 -89
  67. package/esm2022/app/models/column-attributes.mjs +139 -0
  68. package/esm2022/app/models/column.model.mjs +173 -0
  69. package/esm2022/app/models/row/base-row.mjs +25 -0
  70. package/esm2022/app/models/row/child-row.mjs +29 -0
  71. package/esm2022/app/models/row/group-footer-row.mjs +22 -0
  72. package/{esm2020 → esm2022}/app/models/row/group-row.mjs +3 -3
  73. package/esm2022/app/models/row-action.model.mjs +102 -0
  74. package/esm2022/app/models/row.mjs +90 -0
  75. package/esm2022/app/models/styleConfig.model.mjs +78 -0
  76. package/{esm2020 → esm2022}/app/pipes/action-label.mjs +4 -4
  77. package/esm2022/app/services/group-expand-notifier.service.mjs +24 -0
  78. package/{fesm2020 → fesm2022}/firestitch-list.mjs +675 -442
  79. package/fesm2022/firestitch-list.mjs.map +1 -0
  80. package/package.json +5 -11
  81. package/esm2020/app/classes/actions-controller.mjs +0 -55
  82. package/esm2020/app/classes/columns-controller.mjs +0 -206
  83. package/esm2020/app/classes/data-controller.mjs +0 -345
  84. package/esm2020/app/classes/external-params-controller.mjs +0 -147
  85. package/esm2020/app/classes/list-controller.mjs +0 -674
  86. package/esm2020/app/classes/pagination-controller.mjs +0 -491
  87. package/esm2020/app/classes/persistance-controller.mjs +0 -19
  88. package/esm2020/app/classes/reorder-controller.mjs +0 -182
  89. package/esm2020/app/classes/selection-controller.mjs +0 -466
  90. package/esm2020/app/classes/sorting-controller.mjs +0 -206
  91. package/esm2020/app/components/body/body.component.mjs +0 -64
  92. package/esm2020/app/components/body/row/actions/actions.component.mjs +0 -97
  93. package/esm2020/app/components/body/row/cell/cell.component.mjs +0 -107
  94. package/esm2020/app/components/body/row/inline-action/inline-action.component.mjs +0 -33
  95. package/esm2020/app/components/body/row/menu-action/menu-action.component.mjs +0 -46
  96. package/esm2020/app/components/body/row/row.component.mjs +0 -322
  97. package/esm2020/app/components/customize-cols/customize-cols.component.mjs +0 -68
  98. package/esm2020/app/components/footer/footer-row/footer-row.component.mjs +0 -28
  99. package/esm2020/app/components/footer/footer.component.mjs +0 -31
  100. package/esm2020/app/components/head/head-cell/head-cell.component.mjs +0 -29
  101. package/esm2020/app/components/head/head.component.mjs +0 -103
  102. package/esm2020/app/components/list/list.component.mjs +0 -385
  103. package/esm2020/app/components/loader/loader.component.mjs +0 -40
  104. package/esm2020/app/components/manage-saved-filters/manage-saved-filters.component.mjs +0 -76
  105. package/esm2020/app/components/pagination/pagination.component.mjs +0 -37
  106. package/esm2020/app/components/saved-filters/saved-filters.component.mjs +0 -29
  107. package/esm2020/app/components/status/status.component.mjs +0 -64
  108. package/esm2020/app/directives/cell/cell.directive.mjs +0 -18
  109. package/esm2020/app/directives/column/column.directive.mjs +0 -121
  110. package/esm2020/app/directives/content-init/content-init.directive.mjs +0 -22
  111. package/esm2020/app/directives/draggable-list/draggable-list.directive.mjs +0 -330
  112. package/esm2020/app/directives/draggable-row/draggable-row.directive.mjs +0 -78
  113. package/esm2020/app/directives/footer/footer.directive.mjs +0 -18
  114. package/esm2020/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +0 -26
  115. package/esm2020/app/directives/header/header.directive.mjs +0 -18
  116. package/esm2020/app/models/column-attributes.mjs +0 -132
  117. package/esm2020/app/models/column.model.mjs +0 -164
  118. package/esm2020/app/models/row/base-row.mjs +0 -23
  119. package/esm2020/app/models/row/child-row.mjs +0 -28
  120. package/esm2020/app/models/row/group-footer-row.mjs +0 -21
  121. package/esm2020/app/models/row-action.model.mjs +0 -90
  122. package/esm2020/app/models/row.mjs +0 -89
  123. package/esm2020/app/models/styleConfig.model.mjs +0 -76
  124. package/esm2020/app/services/group-expand-notifier.service.mjs +0 -26
  125. package/fesm2015/firestitch-list.mjs +0 -5802
  126. package/fesm2015/firestitch-list.mjs.map +0 -1
  127. package/fesm2020/firestitch-list.mjs.map +0 -1
  128. /package/{esm2020 → esm2022}/app/classes/index.mjs +0 -0
  129. /package/{esm2020 → esm2022}/app/directives/index.mjs +0 -0
  130. /package/{esm2020 → esm2022}/app/enums/action-type.enum.mjs +0 -0
  131. /package/{esm2020 → esm2022}/app/enums/page-change-type.enum.mjs +0 -0
  132. /package/{esm2020 → esm2022}/app/enums/pagination-strategy.enum.mjs +0 -0
  133. /package/{esm2020 → esm2022}/app/enums/row-type.enum.mjs +0 -0
  134. /package/{esm2020 → esm2022}/app/enums/state.enum.mjs +0 -0
  135. /package/{esm2020 → esm2022}/app/fs-list.providers.mjs +0 -0
  136. /package/{esm2020 → esm2022}/app/interfaces/cellconfig.interface.mjs +0 -0
  137. /package/{esm2020 → esm2022}/app/interfaces/column-config.interface.mjs +0 -0
  138. /package/{esm2020 → esm2022}/app/interfaces/draggable-list.interface.mjs +0 -0
  139. /package/{esm2020 → esm2022}/app/interfaces/external-params.interface.mjs +0 -0
  140. /package/{esm2020 → esm2022}/app/interfaces/index.mjs +0 -0
  141. /package/{esm2020 → esm2022}/app/interfaces/listconfig.interface.mjs +0 -0
  142. /package/{esm2020 → esm2022}/app/interfaces/pagination-state.interface.mjs +0 -0
  143. /package/{esm2020 → esm2022}/app/interfaces/pagination.interface.mjs +0 -0
  144. /package/{esm2020 → esm2022}/app/interfaces/sorting-change-event.interface.mjs +0 -0
  145. /package/{esm2020 → esm2022}/app/models/column-async-attribute.mjs +0 -0
  146. /package/{esm2020 → esm2022}/app/models/row/simple-row.mjs +0 -0
  147. /package/{esm2020 → esm2022}/app/pipes/index.mjs +0 -0
  148. /package/{esm2020 → esm2022}/firestitch-list.mjs +0 -0
  149. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,491 @@
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
+ import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
3
+ import { PageChangeType } from '../enums/page-change-type.enum';
4
+ import { PaginationStrategy } from '../enums/pagination-strategy.enum';
5
+ export class PaginationController {
6
+ limit = 25;
7
+ records;
8
+ manual = false;
9
+ page = 1; // Active page
10
+ offset = 0;
11
+ displayed = 0;
12
+ _pages$ = new BehaviorSubject(0); // Total pages
13
+ _strategy = PaginationStrategy.None;
14
+ _removedRows = 0;
15
+ _pageChanged$ = new Subject();
16
+ _pageReset$ = new Subject();
17
+ _onDestroy$ = new Subject();
18
+ _loadMoreConfig;
19
+ _limits = [10, 25, 50, 100, 200];
20
+ // Total pages
21
+ set pages(value) {
22
+ this._pages$.next(value);
23
+ }
24
+ get pages() {
25
+ return this._pages$.getValue();
26
+ }
27
+ get pages$() {
28
+ return this._pages$
29
+ .pipe(distinctUntilChanged());
30
+ }
31
+ /**
32
+ * Fire if page was changed
33
+ */
34
+ get pageChanged$() {
35
+ return this._pageChanged$.pipe(takeUntil(this._onDestroy$));
36
+ }
37
+ get pageReset$() {
38
+ return this._pageReset$.asObservable();
39
+ }
40
+ /**
41
+ * Get enabled
42
+ */
43
+ get enabled() {
44
+ return !this.hasNoneStrategy;
45
+ }
46
+ /**
47
+ * Get Limits
48
+ */
49
+ get limits() {
50
+ return this._limits;
51
+ }
52
+ /**
53
+ * Set limits, update pages array and set new limit per page
54
+ *
55
+ * @param value
56
+ */
57
+ set limits(value) {
58
+ this._limits = value;
59
+ if (this.limits.length > 0 && this.limits.indexOf(this.limit) === -1) {
60
+ this.limit = this.limits[0];
61
+ }
62
+ else if (this.limits.length === 0) {
63
+ this.limit = this.records;
64
+ }
65
+ }
66
+ /**
67
+ * Get query for request
68
+ */
69
+ get query() {
70
+ switch (this.strategy) {
71
+ case PaginationStrategy.Page:
72
+ return this.queryPageStrategy;
73
+ case PaginationStrategy.Offset:
74
+ return this.queryOffsetStrategy;
75
+ }
76
+ return {};
77
+ }
78
+ get loadMoreQuery() {
79
+ switch (this.strategy) {
80
+ case PaginationStrategy.Page: {
81
+ return this.query;
82
+ }
83
+ case PaginationStrategy.Offset: {
84
+ const query = this.queryOffsetStrategy;
85
+ query.limit = query.offset + query.limit;
86
+ query.offset = 0;
87
+ return query;
88
+ }
89
+ }
90
+ return {};
91
+ }
92
+ /**
93
+ * Query for Page Strategy
94
+ */
95
+ get queryPageStrategy() {
96
+ return this.hasNoneStrategy
97
+ ? {}
98
+ : {
99
+ page: this.page || 1,
100
+ limit: this.limit || 10,
101
+ };
102
+ }
103
+ /**
104
+ * Query for Offset Strategy
105
+ */
106
+ get queryOffsetStrategy() {
107
+ const page = this.page - 1 || 0;
108
+ const limit = this.limit || 5;
109
+ return {
110
+ offset: page * limit,
111
+ limit,
112
+ };
113
+ }
114
+ /**
115
+ * Get query for load only count of deleted rows
116
+ */
117
+ get loadDeletedOffsetQuery() {
118
+ const paginationOffset = this.limit * this.page;
119
+ const actualOffset = Math.min(this.records, paginationOffset);
120
+ const offset = Math.max(0, actualOffset - this._removedRows);
121
+ return {
122
+ offset,
123
+ limit: this._removedRows,
124
+ };
125
+ }
126
+ get initialized() {
127
+ return !!this.pages;
128
+ }
129
+ get strategy() {
130
+ return this._strategy;
131
+ }
132
+ set strategy(strategy) {
133
+ this._strategy = (strategy === undefined) ? PaginationStrategy.Page : strategy;
134
+ }
135
+ /**
136
+ * Check if pagination in Page Strategy Mode
137
+ */
138
+ get hasPageStrategy() {
139
+ return this.strategy === PaginationStrategy.Page;
140
+ }
141
+ /**
142
+ * Check if pagination in Offset Strategy Mode
143
+ */
144
+ get hasOffsetStrategy() {
145
+ return this.strategy === PaginationStrategy.Offset;
146
+ }
147
+ /**
148
+ * Check if pagination in None Strategy Mode
149
+ */
150
+ get hasNoneStrategy() {
151
+ return this.strategy === PaginationStrategy.None;
152
+ }
153
+ /**
154
+ * If prev page can be activated
155
+ *
156
+ */
157
+ get hasPrevPage() {
158
+ switch (this.strategy) {
159
+ case PaginationStrategy.Page:
160
+ return this._hasPrevPagePageStrategy;
161
+ case PaginationStrategy.Offset:
162
+ return this._hasPrevPageOffsetStrategy;
163
+ }
164
+ return false;
165
+ }
166
+ /**
167
+ * If next page can be activated
168
+ */
169
+ get hasNextPage() {
170
+ switch (this.strategy) {
171
+ case PaginationStrategy.Page:
172
+ return this._hasNextPagePageStrategy;
173
+ case PaginationStrategy.Offset:
174
+ return this._hasNextPageOffsetStrategy;
175
+ }
176
+ return false;
177
+ }
178
+ get loadMoreEnabled() {
179
+ return this._loadMoreConfig.enabled;
180
+ }
181
+ get loadMoreLabel() {
182
+ return this._loadMoreConfig.label;
183
+ }
184
+ get loadMoreButtonColor() {
185
+ return this._loadMoreConfig.buttonColor;
186
+ }
187
+ get loadMoreButtonClass() {
188
+ if (this._loadMoreConfig.buttonType === 'basic') {
189
+ return '';
190
+ }
191
+ return `mat-${this._loadMoreConfig.buttonType}-button`;
192
+ }
193
+ get loadMoreButtonType() {
194
+ return this._loadMoreConfig.buttonType;
195
+ }
196
+ /**
197
+ * SP-T1974
198
+ * Showing 26-50 of 333 results sorted by Name, Ascending
199
+ * Showing 0 results sorted by Name, Ascending
200
+ */
201
+ get statusLabel() {
202
+ const current = (this.page - 1) * this.limit;
203
+ const from = current + 1;
204
+ const to = Math.min(this.records, current + this.limit);
205
+ return `${from}-${to}`;
206
+ }
207
+ get state() {
208
+ return {
209
+ enabled: this.enabled,
210
+ strategy: this.strategy,
211
+ page: this.page,
212
+ offset: this.offset,
213
+ limit: this.limit,
214
+ records: this.records,
215
+ displayed: this.displayed,
216
+ };
217
+ }
218
+ initWithConfig(config, loadMore) {
219
+ if (config) {
220
+ if (config.limits) {
221
+ this.limits = config.limits;
222
+ }
223
+ if (config.limit) {
224
+ this.limit = config.limit;
225
+ }
226
+ this.strategy = config.strategy;
227
+ }
228
+ this.setLoadMore(loadMore);
229
+ }
230
+ /**
231
+ * If pagination has prev page when Page Strategy
232
+ */
233
+ get _hasPrevPagePageStrategy() {
234
+ return this.page > 1 && this.pages > 1;
235
+ }
236
+ /**
237
+ * If pagination has prev page when Offset Strategy
238
+ */
239
+ get _hasPrevPageOffsetStrategy() {
240
+ return this.offset >= this.limit && this.records > 1;
241
+ }
242
+ /**
243
+ * If pagination has next page when Page Strategy
244
+ */
245
+ get _hasNextPagePageStrategy() {
246
+ return this.page < this.pages && this.pages > 1;
247
+ }
248
+ /**
249
+ * If pagination has next page when Offset Strategy
250
+ */
251
+ get _hasNextPageOffsetStrategy() {
252
+ return (this.offset + this.limit) < this.records && this.records > 1;
253
+ }
254
+ /**
255
+ * Update paging config and all related fields
256
+ *
257
+ * @param config
258
+ * @param displayedRecords
259
+ * @param loadMoreOperation
260
+ */
261
+ updatePaging(config, displayedRecords = 0, loadMoreOperation = false) {
262
+ if (!loadMoreOperation) {
263
+ this._fromParams(config);
264
+ this.displayed = displayedRecords;
265
+ }
266
+ else {
267
+ this.records = config.records;
268
+ if (this.records < this.displayed) {
269
+ this.displayed = this.records;
270
+ }
271
+ this._removedRows = 0;
272
+ }
273
+ this._updateTotalPages();
274
+ }
275
+ // /**
276
+ // * Update paging when data source not remove
277
+ // * @param {any[]} rows
278
+ // */
279
+ /*public updatePagingManual(rows: any[]) {
280
+ if (Array.isArray(rows) && rows.length > 0) {
281
+ this.records = rows.length;
282
+ this.pages = Math.ceil(rows.length / this.limit);
283
+ }
284
+
285
+ this.updatePagesArray();
286
+ this.updateDisplayed();
287
+ }*/
288
+ /**
289
+ * Update pages array with new pages count
290
+ */
291
+ // public updatePagesArray() {
292
+ // const MIDDLE = 2;
293
+ // const pagesArr = [];
294
+ // let from = 0;
295
+ // let to = 0;
296
+ // if (this.page < MIDDLE) {
297
+ // from = MIDDLE - 1;
298
+ // to = MIDDLE + 1;
299
+ // } else if (this.page >= MIDDLE && this.page <= this.pages - MIDDLE + 1) {
300
+ // from = this.page - 1;
301
+ // to = this.page + 1;
302
+ // } else if (this.page > this.pages - MIDDLE + 1) {
303
+ // from = this.pages - MIDDLE - 1;
304
+ // to = this.pages;
305
+ // }
306
+ // if (!this.pages || this.pages < 5) {
307
+ // from = 1;
308
+ // to = this.pages || 0;
309
+ // }
310
+ // for (let i = from; i <= to; i++) {
311
+ // pagesArr.push(i);
312
+ // }
313
+ // this.pagesArray = Object.assign([], pagesArr);
314
+ // }
315
+ setLoadMore(config) {
316
+ const loadMoreConfig = typeof config === 'boolean' ?
317
+ {
318
+ enabled: !!config,
319
+ } :
320
+ (config === undefined ? {} : {
321
+ ...config,
322
+ enabled: true,
323
+ });
324
+ this._loadMoreConfig = {
325
+ enabled: false,
326
+ label: 'Load More',
327
+ buttonType: 'basic',
328
+ ...loadMoreConfig,
329
+ };
330
+ }
331
+ /**
332
+ * Update dispayed records counter
333
+ */
334
+ // public updateDisplayed() {
335
+ // this.displayed = this.getVisibleRecords();
336
+ // }
337
+ /**
338
+ * Return count of records that could be shown on page
339
+ */
340
+ // public getVisibleRecords() {
341
+ // const diff = this.hasOffsetStrategy
342
+ // ? this.records - this.offset
343
+ // : this.limit;
344
+ //
345
+ // return diff < this.limit
346
+ // ? diff
347
+ // : this.displayed;
348
+ // }
349
+ getVisibleRecords() {
350
+ return this.displayed;
351
+ }
352
+ /**
353
+ * Set new limit
354
+ *
355
+ * @param limit
356
+ */
357
+ setLimit(limit) {
358
+ this.limit = limit;
359
+ this.resetPaging();
360
+ this._pageChanged$.next({
361
+ type: PageChangeType.LimitChanged,
362
+ payload: limit,
363
+ });
364
+ }
365
+ /**
366
+ * If page is activate page
367
+ *
368
+ * @param page
369
+ */
370
+ isActive(page) {
371
+ return page === this.page;
372
+ }
373
+ /**
374
+ * Go to page
375
+ *
376
+ * @param page
377
+ */
378
+ goToPage(page) {
379
+ if (page >= 1 && this.page !== page) {
380
+ this.page = page;
381
+ this._updateOffset();
382
+ this._pageChanged$.next({
383
+ type: PageChangeType.Default,
384
+ payload: page,
385
+ });
386
+ }
387
+ }
388
+ /**
389
+ * Reset paging like it was just initialized
390
+ */
391
+ resetPaging() {
392
+ this.page = 1;
393
+ this.offset = 0;
394
+ }
395
+ /**
396
+ * Go to next page
397
+ */
398
+ goNext() {
399
+ if (this.hasNextPage) {
400
+ this.page++;
401
+ this._updateOffset();
402
+ this._pageChanged$.next({
403
+ type: PageChangeType.Default,
404
+ payload: this.page,
405
+ });
406
+ }
407
+ }
408
+ /**
409
+ * Go to first page
410
+ */
411
+ goFirst() {
412
+ if (this.page > 1) {
413
+ this.page = 1;
414
+ this._updateOffset();
415
+ this._pageChanged$.next({
416
+ type: PageChangeType.Default,
417
+ payload: this.page,
418
+ });
419
+ }
420
+ }
421
+ /**
422
+ * Go to prev page
423
+ */
424
+ goPrev() {
425
+ if (this.page > 1) {
426
+ this.page--;
427
+ this._updateOffset();
428
+ this._pageChanged$.next({
429
+ type: PageChangeType.Default,
430
+ payload: this.page,
431
+ });
432
+ }
433
+ }
434
+ /**
435
+ * Go to last page
436
+ */
437
+ goLast() {
438
+ if (this.page !== this.pages) {
439
+ this.page = this.pages;
440
+ this._updateOffset();
441
+ this._pageChanged$.next({
442
+ type: PageChangeType.Default,
443
+ payload: this.page,
444
+ });
445
+ }
446
+ }
447
+ /**
448
+ * Update count of deleted rows. This count will be applied for offset calc
449
+ *
450
+ * @param count
451
+ */
452
+ removeRows(count) {
453
+ this._removedRows += count;
454
+ }
455
+ updatePagination() {
456
+ this._updateTotalPages();
457
+ }
458
+ /**
459
+ * Destroy
460
+ */
461
+ destroy() {
462
+ this._onDestroy$.next();
463
+ this._onDestroy$.complete();
464
+ }
465
+ /**
466
+ * Update paging state
467
+ *
468
+ * @param params
469
+ */
470
+ _fromParams(params) {
471
+ if (!this.loadMoreEnabled) {
472
+ this.limit = params.limit ?? 25;
473
+ }
474
+ this.records = params.records;
475
+ this.manual = params.manual;
476
+ this.pages = params.pages || 0;
477
+ }
478
+ /**
479
+ * Calc and update offset
480
+ */
481
+ _updateOffset() {
482
+ this.offset = this.limit * (this.page - 1);
483
+ }
484
+ /**
485
+ * Calc and update total count of pages
486
+ */
487
+ _updateTotalPages() {
488
+ this.pages = Math.ceil(this.records / this.limit);
489
+ }
490
+ }
491
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jbGFzc2VzL3BhZ2luYXRpb24tY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBVXZFLE1BQU0sT0FBTyxvQkFBb0I7SUFFeEIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLE9BQU8sQ0FBUztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRWYsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWM7SUFDeEIsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFYixPQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjO0lBRXhELFNBQVMsR0FBdUIsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQ3hELFlBQVksR0FBRyxDQUFDLENBQUM7SUFFakIsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUFDMUMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDbEMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFNUIsZUFBZSxDQUF1QjtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekMsY0FBYztJQUNkLElBQVcsS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLE9BQU8s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QUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssV0FBVyxDQUFDLE1BQU07UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5pbXBvcnQgeyBQYWdlQ2hhbmdlVHlwZSB9IGZyb20gJy4uL2VudW1zL3BhZ2UtY2hhbmdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9lbnVtcy9wYWdpbmF0aW9uLXN0cmF0ZWd5LmVudW0nO1xuaW1wb3J0IHtcbiAgRnNMaXN0TG9hZE1vcmVDb25maWcsXG4gIEZzUGFnaW5nLFxuICBQYWdlQ2hhbmdlLFxuICBRdWVyeU9mZnNldFN0cmF0ZWd5LFxuICBRdWVyeVBhZ2VTdHJhdGVneSxcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJUGFnaW5hdGlvblN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYWdpbmF0aW9uLXN0YXRlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29udHJvbGxlciB7XG5cbiAgcHVibGljIGxpbWl0ID0gMjU7XG4gIHB1YmxpYyByZWNvcmRzOiBudW1iZXI7XG4gIHB1YmxpYyBtYW51YWwgPSBmYWxzZTtcblxuICBwdWJsaWMgcGFnZSA9IDE7IC8vIEFjdGl2ZSBwYWdlXG4gIHB1YmxpYyBvZmZzZXQgPSAwO1xuXG4gIHB1YmxpYyBkaXNwbGF5ZWQgPSAwO1xuXG4gIHByaXZhdGUgX3BhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTsgLy8gVG90YWwgcGFnZXNcblxuICBwcml2YXRlIF9zdHJhdGVneTogUGFnaW5hdGlvblN0cmF0ZWd5ID0gUGFnaW5hdGlvblN0cmF0ZWd5Lk5vbmU7XG4gIHByaXZhdGUgX3JlbW92ZWRSb3dzID0gMDtcblxuICBwcml2YXRlIF9wYWdlQ2hhbmdlZCQgPSBuZXcgU3ViamVjdDxQYWdlQ2hhbmdlPigpO1xuICBwcml2YXRlIF9wYWdlUmVzZXQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVDb25maWc6IEZzTGlzdExvYWRNb3JlQ29uZmlnO1xuICBwcml2YXRlIF9saW1pdHMgPSBbMTAsIDI1LCA1MCwgMTAwLCAyMDBdO1xuXG4gIC8vIFRvdGFsIHBhZ2VzXG4gIHB1YmxpYyBzZXQgcGFnZXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VzJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhZ2VzJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlIGlmIHBhZ2Ugd2FzIGNoYW5nZWRcbiAgICovXG4gIHB1YmxpYyBnZXQgcGFnZUNoYW5nZWQkKCk6IE9ic2VydmFibGU8UGFnZUNoYW5nZT4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlQ2hhbmdlZCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYWdlUmVzZXQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9wYWdlUmVzZXQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbmFibGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmhhc05vbmVTdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgTGltaXRzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxpbWl0cygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpbWl0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbGltaXRzLCB1cGRhdGUgcGFnZXMgYXJyYXkgYW5kIHNldCBuZXcgbGltaXQgcGVyIHBhZ2VcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgc2V0IGxpbWl0cyh2YWx1ZSkge1xuICAgIHRoaXMuX2xpbWl0cyA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMubGltaXRzLmxlbmd0aCA+IDAgJiYgdGhpcy5saW1pdHMuaW5kZXhPZih0aGlzLmxpbWl0KSA9PT0gLTEpIHtcbiAgICAgIHRoaXMubGltaXQgPSB0aGlzLmxpbWl0c1swXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGltaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5saW1pdCA9IHRoaXMucmVjb3JkcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHF1ZXJ5IGZvciByZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgZ2V0IHF1ZXJ5KCkge1xuICAgIHN3aXRjaCAodGhpcy5zdHJhdGVneSkge1xuICAgICAgY2FzZSBQYWdpbmF0aW9uU3RyYXRlZ3kuUGFnZTpcbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlQYWdlU3RyYXRlZ3k7XG4gICAgICBjYXNlIFBhZ2luYXRpb25TdHJhdGVneS5PZmZzZXQ6XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5T2Zmc2V0U3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkTW9yZVF1ZXJ5KCkge1xuICAgIHN3aXRjaCAodGhpcy5zdHJhdGVneSkge1xuICAgICAgY2FzZSBQYWdpbmF0aW9uU3RyYXRlZ3kuUGFnZToge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWVyeTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBQYWdpbmF0aW9uU3RyYXRlZ3kuT2Zmc2V0OiB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeU9mZnNldFN0cmF0ZWd5O1xuXG4gICAgICAgIHF1ZXJ5LmxpbWl0ID0gcXVlcnkub2Zmc2V0ICsgcXVlcnkubGltaXQ7XG4gICAgICAgIHF1ZXJ5Lm9mZnNldCA9IDA7XG5cbiAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSBmb3IgUGFnZSBTdHJhdGVneVxuICAgKi9cbiAgcHVibGljIGdldCBxdWVyeVBhZ2VTdHJhdGVneSgpOiBRdWVyeVBhZ2VTdHJhdGVneSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzTm9uZVN0cmF0ZWd5XG4gICAgICA/IHt9XG4gICAgICA6IHtcbiAgICAgICAgcGFnZTogdGhpcy5wYWdlIHx8IDEsXG4gICAgICAgIGxpbWl0OiB0aGlzLmxpbWl0IHx8IDEwLFxuICAgICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBRdWVyeSBmb3IgT2Zmc2V0IFN0cmF0ZWd5XG4gICAqL1xuICBwdWJsaWMgZ2V0IHF1ZXJ5T2Zmc2V0U3RyYXRlZ3koKTogUXVlcnlPZmZzZXRTdHJhdGVneSB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMucGFnZSAtIDEgfHwgMDtcbiAgICBjb25zdCBsaW1pdCA9IHRoaXMubGltaXQgfHwgNTtcblxuICAgIHJldHVybiB7XG4gICAgICBvZmZzZXQ6IHBhZ2UgKiBsaW1pdCxcbiAgICAgIGxpbWl0LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHF1ZXJ5IGZvciBsb2FkIG9ubHkgY291bnQgb2YgZGVsZXRlZCByb3dzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxvYWREZWxldGVkT2Zmc2V0UXVlcnkoKSB7XG4gICAgY29uc3QgcGFnaW5hdGlvbk9mZnNldCA9IHRoaXMubGltaXQgKiB0aGlzLnBhZ2U7XG4gICAgY29uc3QgYWN0dWFsT2Zmc2V0ID0gTWF0aC5taW4odGhpcy5yZWNvcmRzLCBwYWdpbmF0aW9uT2Zmc2V0KTtcbiAgICBjb25zdCBvZmZzZXQgPSBNYXRoLm1heCgwLCBhY3R1YWxPZmZzZXQgLSB0aGlzLl9yZW1vdmVkUm93cyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb2Zmc2V0LFxuICAgICAgbGltaXQ6IHRoaXMuX3JlbW92ZWRSb3dzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVkKCkge1xuICAgIHJldHVybiAhIXRoaXMucGFnZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0cmF0ZWd5KCkge1xuICAgIHJldHVybiB0aGlzLl9zdHJhdGVneTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RyYXRlZ3koc3RyYXRlZ3k6IFBhZ2luYXRpb25TdHJhdGVneSkge1xuICAgIHRoaXMuX3N0cmF0ZWd5ID0gKHN0cmF0ZWd5ID09PSB1bmRlZmluZWQpID8gUGFnaW5hdGlvblN0cmF0ZWd5LlBhZ2UgOiBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBwYWdpbmF0aW9uIGluIFBhZ2UgU3RyYXRlZ3kgTW9kZVxuICAgKi9cbiAgcHVibGljIGdldCBoYXNQYWdlU3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyYXRlZ3kgPT09IFBhZ2luYXRpb25TdHJhdGVneS5QYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHBhZ2luYXRpb24gaW4gT2Zmc2V0IFN0cmF0ZWd5IE1vZGVcbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzT2Zmc2V0U3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyYXRlZ3kgPT09IFBhZ2luYXRpb25TdHJhdGVneS5PZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgcGFnaW5hdGlvbiBpbiBOb25lIFN0cmF0ZWd5IE1vZGVcbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzTm9uZVN0cmF0ZWd5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0cmF0ZWd5ID09PSBQYWdpbmF0aW9uU3RyYXRlZ3kuTm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBwcmV2IHBhZ2UgY2FuIGJlIGFjdGl2YXRlZFxuICAgKlxuICAgKi9cbiAgcHVibGljICBnZXQgaGFzUHJldlBhZ2UoKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh0aGlzLnN0cmF0ZWd5KSB7XG4gICAgICBjYXNlIFBhZ2luYXRpb25TdHJhdGVneS5QYWdlOlxuICAgICAgICByZXR1cm4gdGhpcy5faGFzUHJldlBhZ2VQYWdlU3RyYXRlZ3k7XG4gICAgICBjYXNlIFBhZ2luYXRpb25TdHJhdGVneS5PZmZzZXQ6XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNQcmV2UGFnZU9mZnNldFN0cmF0ZWd5O1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBuZXh0IHBhZ2UgY2FuIGJlIGFjdGl2YXRlZFxuICAgKi9cbiAgcHVibGljIGdldCBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHsgLy8gTmVlZCB0byBjaGVjayBpZiBwYWdlcyA9PT0gcGFnZSAmJiBwYWdlID09PSAxXG4gICAgc3dpdGNoICh0aGlzLnN0cmF0ZWd5KSB7XG4gICAgICBjYXNlIFBhZ2luYXRpb25TdHJhdGVneS5QYWdlOlxuICAgICAgICByZXR1cm4gdGhpcy5faGFzTmV4dFBhZ2VQYWdlU3RyYXRlZ3k7XG4gICAgICBjYXNlIFBhZ2luYXRpb25TdHJhdGVneS5PZmZzZXQ6XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNOZXh0UGFnZU9mZnNldFN0cmF0ZWd5O1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZE1vcmVFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkTW9yZUNvbmZpZy5lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkTW9yZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRNb3JlQ29uZmlnLmxhYmVsO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkTW9yZUJ1dHRvbkNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRNb3JlQ29uZmlnLmJ1dHRvbkNvbG9yO1xuICB9XG5cbiAgcHVibGljIGdldCBsb2FkTW9yZUJ1dHRvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYoIHRoaXMuX2xvYWRNb3JlQ29uZmlnLmJ1dHRvblR5cGUgPT09ICdiYXNpYycgKSB7XG4gICAgICByZXR1cm4gJyc7IFxuICAgIH1cblxuICAgIHJldHVybiBgbWF0LSR7dGhpcy5fbG9hZE1vcmVDb25maWcuYnV0dG9uVHlwZX0tYnV0dG9uYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbG9hZE1vcmVCdXR0b25UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRNb3JlQ29uZmlnLmJ1dHRvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogU1AtVDE5NzRcbiAgICogU2hvd2luZyAyNi01MCBvZiAzMzMgcmVzdWx0cyBzb3J0ZWQgYnkgTmFtZSwgQXNjZW5kaW5nXG4gICAqIFNob3dpbmcgMCByZXN1bHRzIHNvcnRlZCBieSBOYW1lLCBBc2NlbmRpbmdcbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdHVzTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50ID0gKHRoaXMucGFnZSAtIDEpICogdGhpcy5saW1pdDtcbiAgICBjb25zdCBmcm9tID0gY3VycmVudCArIDE7XG4gICAgY29uc3QgdG8gPSBNYXRoLm1pbih0aGlzLnJlY29yZHMsIGN1cnJlbnQgKyB0aGlzLmxpbWl0KTtcblxuICAgIHJldHVybiBgJHtmcm9tfS0ke3RvfWA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IElQYWdpbmF0aW9uU3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0aGlzLmVuYWJsZWQsXG4gICAgICBzdHJhdGVneTogdGhpcy5zdHJhdGVneSxcbiAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcbiAgICAgIHJlY29yZHM6IHRoaXMucmVjb3JkcyxcbiAgICAgIGRpc3BsYXllZDogdGhpcy5kaXNwbGF5ZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0V2l0aENvbmZpZyhcbiAgICBjb25maWc6IEZzUGFnaW5nIHwgZmFsc2UsXG4gICAgbG9hZE1vcmU6IEZzTGlzdExvYWRNb3JlQ29uZmlnIHwgYm9vbGVhbixcbiAgKSB7XG5cbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICBpZiAoY29uZmlnLmxpbWl0cykge1xuICAgICAgICB0aGlzLmxpbWl0cyA9IGNvbmZpZy5saW1pdHM7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcubGltaXQpIHtcbiAgICAgICAgdGhpcy5saW1pdCA9IGNvbmZpZy5saW1pdDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zdHJhdGVneSA9IGNvbmZpZy5zdHJhdGVneTtcbiAgICB9XG4gICAgXG4gICAgdGhpcy5zZXRMb2FkTW9yZShsb2FkTW9yZSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgcGFnaW5hdGlvbiBoYXMgcHJldiBwYWdlIHdoZW4gUGFnZSBTdHJhdGVneVxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgX2hhc1ByZXZQYWdlUGFnZVN0cmF0ZWd5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBhZ2UgPiAxICYmIHRoaXMucGFnZXMgPiAxO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHBhZ2luYXRpb24gaGFzIHByZXYgcGFnZSB3aGVuIE9mZnNldCBTdHJhdGVneVxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgX2hhc1ByZXZQYWdlT2Zmc2V0U3RyYXRlZ3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub2Zmc2V0ID49IHRoaXMubGltaXQgJiYgdGhpcy5yZWNvcmRzID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBwYWdpbmF0aW9uIGhhcyBuZXh0IHBhZ2Ugd2hlbiBQYWdlIFN0cmF0ZWd5XG4gICAqL1xuICBwcml2YXRlIGdldCBfaGFzTmV4dFBhZ2VQYWdlU3RyYXRlZ3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFnZSA8IHRoaXMucGFnZXMgJiYgdGhpcy5wYWdlcyA+IDE7XG4gIH1cblxuICAvKipcbiAgICogSWYgcGFnaW5hdGlvbiBoYXMgbmV4dCBwYWdlIHdoZW4gT2Zmc2V0IFN0cmF0ZWd5XG4gICAqL1xuICBwcml2YXRlIGdldCBfaGFzTmV4dFBhZ2VPZmZzZXRTdHJhdGVneSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMub2Zmc2V0ICsgdGhpcy5saW1pdCkgPCB0aGlzLnJlY29yZHMgJiYgdGhpcy5yZWNvcmRzID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgcGFnaW5nIGNvbmZpZyBhbmQgYWxsIHJlbGF0ZWQgZmllbGRzXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICogQHBhcmFtIGRpc3BsYXllZFJlY29yZHNcbiAgICogQHBhcmFtIGxvYWRNb3JlT3BlcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlUGFnaW5nKGNvbmZpZywgZGlzcGxheWVkUmVjb3JkcyA9IDAsIGxvYWRNb3JlT3BlcmF0aW9uID0gZmFsc2UpIHtcbiAgICBpZiAoIWxvYWRNb3JlT3BlcmF0aW9uKSB7XG4gICAgICB0aGlzLl9mcm9tUGFyYW1zKGNvbmZpZyk7XG4gICAgICB0aGlzLmRpc3BsYXllZCA9IGRpc3BsYXllZFJlY29yZHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVjb3JkcyA9IGNvbmZpZy5yZWNvcmRzO1xuXG4gICAgICBpZiAodGhpcy5yZWNvcmRzIDwgdGhpcy5kaXNwbGF5ZWQpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWQgPSB0aGlzLnJlY29yZHM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3JlbW92ZWRSb3dzID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVUb3RhbFBhZ2VzKCk7XG4gIH1cblxuICAvLyAvKipcbiAgLy8gICogVXBkYXRlIHBhZ2luZyB3aGVuIGRhdGEgc291cmNlIG5vdCByZW1vdmVcbiAgLy8gICogQHBhcmFtIHthbnlbXX0gcm93c1xuICAvLyAgKi9cbiAgLypwdWJsaWMgdXBkYXRlUGFnaW5nTWFudWFsKHJvd3M6IGFueVtdKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocm93cykgJiYgcm93cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlY29yZHMgPSByb3dzLmxlbmd0aDtcbiAgICAgIHRoaXMucGFnZXMgPSBNYXRoLmNlaWwocm93cy5sZW5ndGggLyB0aGlzLmxpbWl0KTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVBhZ2VzQXJyYXkoKTtcbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZCgpO1xuICB9Ki9cblxuICAvKipcbiAgICogVXBkYXRlIHBhZ2VzIGFycmF5IHdpdGggbmV3IHBhZ2VzIGNvdW50XG4gICAqL1xuICAvLyBwdWJsaWMgdXBkYXRlUGFnZXNBcnJheSgpIHtcbiAgLy8gICBjb25zdCBNSURETEUgPSAyO1xuICAvLyAgIGNvbnN0IHBhZ2VzQXJyID0gW107XG5cbiAgLy8gICBsZXQgZnJvbSA9IDA7XG4gIC8vICAgbGV0IHRvID0gMDtcbiAgLy8gICBpZiAodGhpcy5wYWdlIDwgTUlERExFKSB7XG4gIC8vICAgICBmcm9tID0gTUlERExFIC0gMTtcbiAgLy8gICAgIHRvID0gTUlERExFICsgMTtcbiAgLy8gICB9IGVsc2UgaWYgKHRoaXMucGFnZSA+PSBNSURETEUgJiYgdGhpcy5wYWdlIDw9IHRoaXMucGFnZXMgLSBNSURETEUgKyAxKSB7XG4gIC8vICAgICBmcm9tID0gdGhpcy5wYWdlIC0gMTtcbiAgLy8gICAgIHRvID0gdGhpcy5wYWdlICsgMTtcbiAgLy8gICB9IGVsc2UgaWYgKHRoaXMucGFnZSA+IHRoaXMucGFnZXMgLSBNSURETEUgKyAxKSB7XG4gIC8vICAgICBmcm9tID0gdGhpcy5wYWdlcyAtIE1JRERMRSAtIDE7XG4gIC8vICAgICB0byA9IHRoaXMucGFnZXM7XG4gIC8vICAgfVxuXG4gIC8vICAgaWYgKCF0aGlzLnBhZ2VzIHx8IHRoaXMucGFnZXMgPCA1KSB7XG4gIC8vICAgICBmcm9tID0gMTtcbiAgLy8gICAgIHRvID0gdGhpcy5wYWdlcyB8fCAwO1xuICAvLyAgIH1cblxuICAvLyAgIGZvciAobGV0IGkgPSBmcm9tOyBpIDw9IHRvOyBpKyspIHtcbiAgLy8gICAgIHBhZ2VzQXJyLnB1c2goaSk7XG4gIC8vICAgfVxuXG4gIC8vICAgdGhpcy5wYWdlc0FycmF5ID0gT2JqZWN0LmFzc2lnbihbXSwgcGFnZXNBcnIpO1xuICAvLyB9XG5cbiAgcHVibGljIHNldExvYWRNb3JlKGNvbmZpZzogRnNMaXN0TG9hZE1vcmVDb25maWcgfCBib29sZWFuKSB7XG4gICAgY29uc3QgbG9hZE1vcmVDb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnYm9vbGVhbicgPyBcbiAgICAgIHtcbiAgICAgICAgZW5hYmxlZDogISFjb25maWcsXG4gICAgICB9IDogXG4gICAgICAoXG4gICAgICAgIGNvbmZpZyA9PT0gdW5kZWZpbmVkID8ge30gOiB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICB0aGlzLl9sb2FkTW9yZUNvbmZpZyA9IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgbGFiZWw6ICdMb2FkIE1vcmUnLFxuICAgICAgYnV0dG9uVHlwZTogJ2Jhc2ljJyxcbiAgICAgIC4uLmxvYWRNb3JlQ29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGRpc3BheWVkIHJlY29yZHMgY291bnRlclxuICAgKi9cbiAgLy8gcHVibGljIHVwZGF0ZURpc3BsYXllZCgpIHtcbiAgLy8gICB0aGlzLmRpc3BsYXllZCA9IHRoaXMuZ2V0VmlzaWJsZVJlY29yZHMoKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gY291bnQgb2YgcmVjb3JkcyB0aGF0IGNvdWxkIGJlIHNob3duIG9uIHBhZ2VcbiAgICovXG4gIC8vIHB1YmxpYyBnZXRWaXNpYmxlUmVjb3JkcygpIHtcbiAgLy8gICBjb25zdCBkaWZmID0gdGhpcy5oYXNPZmZzZXRTdHJhdGVneVxuICAvLyAgICAgPyB0aGlzLnJlY29yZHMgLSB0aGlzLm9mZnNldFxuICAvLyAgICAgOiB0aGlzLmxpbWl0O1xuICAvL1xuICAvLyAgIHJldHVybiBkaWZmIDwgdGhpcy5saW1pdFxuICAvLyAgICAgPyBkaWZmXG4gIC8vICAgICA6IHRoaXMuZGlzcGxheWVkO1xuICAvLyB9XG5cbiAgcHVibGljIGdldFZpc2libGVSZWNvcmRzKCkge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbmV3IGxpbWl0XG4gICAqXG4gICAqIEBwYXJhbSBsaW1pdFxuICAgKi9cbiAgcHVibGljIHNldExpbWl0KGxpbWl0KSB7XG4gICAgdGhpcy5saW1pdCA9IGxpbWl0O1xuICAgIHRoaXMucmVzZXRQYWdpbmcoKTtcblxuICAgIHRoaXMuX3BhZ2VDaGFuZ2VkJC5uZXh0KHtcbiAgICAgIHR5cGU6IFBhZ2VDaGFuZ2VUeXBlLkxpbWl0Q2hhbmdlZCxcbiAgICAgIHBheWxvYWQ6IGxpbWl0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHBhZ2UgaXMgYWN0aXZhdGUgcGFnZVxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHVibGljIGlzQWN0aXZlKHBhZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcGFnZSA9PT0gdGhpcy5wYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdvIHRvIHBhZ2VcbiAgICpcbiAgICogQHBhcmFtIHBhZ2VcbiAgICovXG4gIHB1YmxpYyBnb1RvUGFnZShwYWdlKSB7XG4gICAgaWYgKHBhZ2UgPj0gMSAmJiB0aGlzLnBhZ2UgIT09IHBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XG5cbiAgICAgIHRoaXMuX3VwZGF0ZU9mZnNldCgpO1xuXG4gICAgICB0aGlzLl9wYWdlQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIHR5cGU6IFBhZ2VDaGFuZ2VUeXBlLkRlZmF1bHQsXG4gICAgICAgIHBheWxvYWQ6IHBhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgcGFnaW5nIGxpa2UgaXQgd2FzIGp1c3QgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHB1YmxpYyByZXNldFBhZ2luZygpIHtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIHRoaXMub2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHbyB0byBuZXh0IHBhZ2VcbiAgICovXG4gIHB1YmxpYyBnb05leHQoKSB7XG4gICAgaWYgKHRoaXMuaGFzTmV4dFBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZSsrO1xuXG4gICAgICB0aGlzLl91cGRhdGVPZmZzZXQoKTtcblxuICAgICAgdGhpcy5fcGFnZUNoYW5nZWQkLm5leHQoe1xuICAgICAgICB0eXBlOiBQYWdlQ2hhbmdlVHlwZS5EZWZhdWx0LFxuICAgICAgICBwYXlsb2FkOiB0aGlzLnBhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR28gdG8gZmlyc3QgcGFnZVxuICAgKi9cbiAgcHVibGljIGdvRmlyc3QoKSB7XG4gICAgaWYgKHRoaXMucGFnZSA+IDEpIHtcbiAgICAgIHRoaXMucGFnZSA9IDE7XG5cbiAgICAgIHRoaXMuX3VwZGF0ZU9mZnNldCgpO1xuXG4gICAgICB0aGlzLl9wYWdlQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIHR5cGU6IFBhZ2VDaGFuZ2VUeXBlLkRlZmF1bHQsXG4gICAgICAgIHBheWxvYWQ6IHRoaXMucGFnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHbyB0byBwcmV2IHBhZ2VcbiAgICovXG4gIHB1YmxpYyBnb1ByZXYoKSB7XG4gICAgaWYgKHRoaXMucGFnZSA+IDEpIHtcbiAgICAgIHRoaXMucGFnZS0tO1xuXG4gICAgICB0aGlzLl91cGRhdGVPZmZzZXQoKTtcblxuICAgICAgdGhpcy5fcGFnZUNoYW5nZWQkLm5leHQoe1xuICAgICAgICB0eXBlOiBQYWdlQ2hhbmdlVHlwZS5EZWZhdWx0LFxuICAgICAgICBwYXlsb2FkOiB0aGlzLnBhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR28gdG8gbGFzdCBwYWdlXG4gICAqL1xuICBwdWJsaWMgZ29MYXN0KCkge1xuICAgIGlmICh0aGlzLnBhZ2UgIT09IHRoaXMucGFnZXMpIHtcbiAgICAgIHRoaXMucGFnZSA9IHRoaXMucGFnZXM7XG5cbiAgICAgIHRoaXMuX3VwZGF0ZU9mZnNldCgpO1xuXG4gICAgICB0aGlzLl9wYWdlQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIHR5cGU6IFBhZ2VDaGFuZ2VUeXBlLkRlZmF1bHQsXG4gICAgICAgIHBheWxvYWQ6IHRoaXMucGFnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY291bnQgb2YgZGVsZXRlZCByb3dzLiBUaGlzIGNvdW50IHdpbGwgYmUgYXBwbGllZCBmb3Igb2Zmc2V0IGNhbGNcbiAgICpcbiAgICogQHBhcmFtIGNvdW50XG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlUm93cyhjb3VudDogbnVtYmVyKSB7XG4gICAgdGhpcy5fcmVtb3ZlZFJvd3MgKz0gY291bnQ7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGFnaW5hdGlvbigpIHtcbiAgICB0aGlzLl91cGRhdGVUb3RhbFBhZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveVxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwYWdpbmcgc3RhdGVcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgcHJpdmF0ZSBfZnJvbVBhcmFtcyhwYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubG9hZE1vcmVFbmFibGVkKSB7XG4gICAgICB0aGlzLmxpbWl0ID0gcGFyYW1zLmxpbWl0ID8/IDI1O1xuICAgIH1cblxuICAgIHRoaXMucmVjb3JkcyA9IHBhcmFtcy5yZWNvcmRzO1xuICAgIHRoaXMubWFudWFsID0gcGFyYW1zLm1hbnVhbDtcblxuICAgIHRoaXMucGFnZXMgPSBwYXJhbXMucGFnZXMgfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjIGFuZCB1cGRhdGUgb2Zmc2V0XG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVPZmZzZXQoKSB7XG4gICAgdGhpcy5vZmZzZXQgPSB0aGlzLmxpbWl0ICogKHRoaXMucGFnZSAtIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGMgYW5kIHVwZGF0ZSB0b3RhbCBjb3VudCBvZiBwYWdlc1xuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlVG90YWxQYWdlcygpIHtcbiAgICB0aGlzLnBhZ2VzID0gTWF0aC5jZWlsKHRoaXMucmVjb3JkcyAvIHRoaXMubGltaXQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { FsPersistanceStore, FsStore } from '@firestitch/store';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@firestitch/store";
6
+ import * as i2 from "@angular/router";
7
+ const FILTER_STORE_KEY = 'fs-list-persist';
8
+ export class PersistanceController extends FsPersistanceStore {
9
+ STORE_KEY = FILTER_STORE_KEY;
10
+ constructor(_store, _route) {
11
+ super(_store, _route);
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceController, deps: [{ token: i1.FsStore }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
14
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceController });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceController, decorators: [{
17
+ type: Injectable
18
+ }], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY2xhc3Nlcy9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUdoRSxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDO0FBRzNDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBb0M7SUFFbkUsU0FBUyxHQUFHLGdCQUFnQixDQUFDO0lBRXZDLFlBQ0UsTUFBZSxFQUNmLE1BQXNCO1FBRXRCLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEIsQ0FBQzt3R0FUVSxxQkFBcUI7NEdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRnNQZXJzaXN0YW5jZVN0b3JlLCBGc1N0b3JlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc3RvcmUnO1xuaW1wb3J0IHsgRnNMaXN0UGVyc2l0YW5jZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5jb25zdCBGSUxURVJfU1RPUkVfS0VZID0gJ2ZzLWxpc3QtcGVyc2lzdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXJzaXN0YW5jZUNvbnRyb2xsZXIgZXh0ZW5kcyBGc1BlcnNpc3RhbmNlU3RvcmU8RnNMaXN0UGVyc2l0YW5jZT4ge1xuXG4gIHByb3RlY3RlZCBTVE9SRV9LRVkgPSBGSUxURVJfU1RPUkVfS0VZO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9zdG9yZTogRnNTdG9yZSxcbiAgICBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICApIHtcbiAgICBzdXBlcihfc3RvcmUsIF9yb3V0ZSk7XG4gIH1cblxufVxuIl19