@firestitch/list 13.0.4 → 13.0.6

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 (193) hide show
  1. package/app/classes/actions-controller.d.ts +20 -20
  2. package/app/classes/columns-controller.d.ts +71 -71
  3. package/app/classes/data-controller.d.ts +91 -91
  4. package/app/classes/external-params-controller.d.ts +32 -32
  5. package/app/classes/index.d.ts +2 -2
  6. package/app/classes/list-controller.d.ts +191 -191
  7. package/app/classes/pagination-controller.d.ts +198 -198
  8. package/app/classes/persistance-controller.d.ts +10 -10
  9. package/app/classes/reorder-controller.d.ts +68 -68
  10. package/app/classes/selection-controller.d.ts +155 -155
  11. package/app/classes/sorting-controller.d.ts +65 -65
  12. package/app/components/body/body.component.d.ts +28 -28
  13. package/app/components/body/row/actions/actions.component.d.ts +36 -36
  14. package/app/components/body/row/cell/cell.component.d.ts +22 -22
  15. package/app/components/body/row/inline-action/inline-action.component.d.ts +13 -13
  16. package/app/components/body/row/menu-action/menu-action.component.d.ts +20 -20
  17. package/app/components/body/row/row.component.d.ts +85 -85
  18. package/app/components/customize-cols/customize-cols.component.d.ts +17 -17
  19. package/app/components/footer/footer-row/footer-cell/footer-cell.component.d.ts +7 -7
  20. package/app/components/footer/footer-row/footer-row.component.d.ts +14 -14
  21. package/app/components/footer/footer.component.d.ts +15 -15
  22. package/app/components/head/head-cell/head-cell.component.d.ts +14 -14
  23. package/app/components/head/head.component.d.ts +49 -49
  24. package/app/components/list/list.component.d.ts +128 -128
  25. package/app/components/loader/loader.component.d.ts +14 -14
  26. package/app/components/manage-saved-filters/manage-saved-filters.component.d.ts +13 -13
  27. package/app/components/pagination/pagination.component.d.ts +14 -14
  28. package/app/components/saved-filters/saved-filters.component.d.ts +15 -15
  29. package/app/components/status/status.component.d.ts +21 -21
  30. package/app/directives/cell/cell.directive.d.ts +8 -8
  31. package/app/directives/column/column.directive.d.ts +37 -33
  32. package/app/directives/content/content.directive.d.ts +5 -5
  33. package/app/directives/content-init/content-init.directive.d.ts +9 -9
  34. package/app/directives/draggable-list/draggable-list.directive.d.ts +95 -95
  35. package/app/directives/draggable-row/draggable-row.directive.d.ts +23 -23
  36. package/app/directives/empty-state/empty-state.directive.d.ts +5 -5
  37. package/app/directives/footer/footer.directive.d.ts +8 -8
  38. package/app/directives/group-expand-trigger/group-expand-trigger.directive.d.ts +10 -10
  39. package/app/directives/group-footer/group-footer.directive.d.ts +6 -6
  40. package/app/directives/group-header/group-header.directive.d.ts +6 -6
  41. package/app/directives/header/header.directive.d.ts +8 -8
  42. package/app/directives/heading/heading.directive.d.ts +5 -5
  43. package/app/directives/heading-container/heading-container.directive.d.ts +5 -5
  44. package/app/directives/index.d.ts +3 -3
  45. package/app/directives/subheading/subheading.directive.d.ts +5 -5
  46. package/app/enums/button-type.enum.d.ts +7 -7
  47. package/app/enums/page-change-type.enum.d.ts +4 -4
  48. package/app/enums/pagination-strategy.enum.d.ts +5 -5
  49. package/app/enums/row-type.enum.d.ts +6 -6
  50. package/app/enums/state.enum.d.ts +9 -9
  51. package/app/fs-list.module.d.ts +60 -60
  52. package/app/fs-list.providers.d.ts +3 -3
  53. package/app/interfaces/cellconfig.interface.d.ts +5 -5
  54. package/app/interfaces/column-config.interface.d.ts +2 -2
  55. package/app/interfaces/draggable-list.interface.d.ts +7 -7
  56. package/app/interfaces/external-params.interface.d.ts +13 -13
  57. package/app/interfaces/index.d.ts +4 -4
  58. package/app/interfaces/listconfig.interface.d.ts +247 -247
  59. package/app/interfaces/pagination-state.interface.d.ts +9 -9
  60. package/app/interfaces/pagination.interface.d.ts +13 -13
  61. package/app/interfaces/sorting-change-event.interface.d.ts +4 -4
  62. package/app/models/column-async-attribute.d.ts +5 -5
  63. package/app/models/column-attributes.d.ts +39 -39
  64. package/app/models/column.model.d.ts +61 -60
  65. package/app/models/row/base-row.d.ts +13 -13
  66. package/app/models/row/child-row.d.ts +12 -12
  67. package/app/models/row/group-footer-row.d.ts +10 -10
  68. package/app/models/row/group-row.d.ts +16 -16
  69. package/app/models/row/simple-row.d.ts +5 -5
  70. package/app/models/row-action.model.d.ts +29 -29
  71. package/app/models/row.d.ts +34 -34
  72. package/app/models/styleConfig.model.d.ts +31 -31
  73. package/app/pipes/action-label.d.ts +8 -8
  74. package/app/pipes/index.d.ts +1 -1
  75. package/app/services/group-expand-notifier.service.d.ts +11 -11
  76. package/{esm2015/app/classes/actions-controller.js → esm2020/app/classes/actions-controller.mjs} +55 -55
  77. package/{esm2015/app/classes/columns-controller.js → esm2020/app/classes/columns-controller.mjs} +205 -205
  78. package/esm2020/app/classes/data-controller.mjs +367 -0
  79. package/esm2020/app/classes/external-params-controller.mjs +147 -0
  80. package/{esm2015/app/classes/index.js → esm2020/app/classes/index.mjs} +3 -3
  81. package/esm2020/app/classes/list-controller.mjs +752 -0
  82. package/{esm2015/app/classes/pagination-controller.js → esm2020/app/classes/pagination-controller.mjs} +478 -479
  83. package/{esm2015/app/classes/persistance-controller.js → esm2020/app/classes/persistance-controller.mjs} +19 -19
  84. package/esm2020/app/classes/reorder-controller.mjs +182 -0
  85. package/esm2020/app/classes/selection-controller.mjs +468 -0
  86. package/{esm2015/app/classes/sorting-controller.js → esm2020/app/classes/sorting-controller.mjs} +183 -183
  87. package/esm2020/app/components/body/body.component.mjs +64 -0
  88. package/esm2020/app/components/body/row/actions/actions.component.mjs +97 -0
  89. package/esm2020/app/components/body/row/cell/cell.component.mjs +107 -0
  90. package/esm2020/app/components/body/row/inline-action/inline-action.component.mjs +33 -0
  91. package/esm2020/app/components/body/row/menu-action/menu-action.component.mjs +46 -0
  92. package/esm2020/app/components/body/row/row.component.mjs +323 -0
  93. package/esm2020/app/components/customize-cols/customize-cols.component.mjs +68 -0
  94. package/esm2020/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +16 -0
  95. package/esm2020/app/components/footer/footer-row/footer-row.component.mjs +28 -0
  96. package/esm2020/app/components/footer/footer.component.mjs +31 -0
  97. package/esm2020/app/components/head/head-cell/head-cell.component.mjs +29 -0
  98. package/esm2020/app/components/head/head.component.mjs +103 -0
  99. package/esm2020/app/components/list/list.component.mjs +391 -0
  100. package/esm2020/app/components/loader/loader.component.mjs +40 -0
  101. package/esm2020/app/components/manage-saved-filters/manage-saved-filters.component.mjs +76 -0
  102. package/esm2020/app/components/pagination/pagination.component.mjs +37 -0
  103. package/esm2020/app/components/saved-filters/saved-filters.component.mjs +29 -0
  104. package/esm2020/app/components/status/status.component.mjs +66 -0
  105. package/{esm2015/app/directives/cell/cell.directive.js → esm2020/app/directives/cell/cell.directive.mjs} +18 -18
  106. package/esm2020/app/directives/column/column.directive.mjs +121 -0
  107. package/{esm2015/app/directives/content/content.directive.js → esm2020/app/directives/content/content.directive.mjs} +13 -13
  108. package/{esm2015/app/directives/content-init/content-init.directive.js → esm2020/app/directives/content-init/content-init.directive.mjs} +22 -22
  109. package/esm2020/app/directives/draggable-list/draggable-list.directive.mjs +328 -0
  110. package/esm2020/app/directives/draggable-row/draggable-row.directive.mjs +78 -0
  111. package/{esm2015/app/directives/empty-state/empty-state.directive.js → esm2020/app/directives/empty-state/empty-state.directive.mjs} +13 -13
  112. package/{esm2015/app/directives/footer/footer.directive.js → esm2020/app/directives/footer/footer.directive.mjs} +18 -18
  113. package/{esm2015/app/directives/group-expand-trigger/group-expand-trigger.directive.js → esm2020/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs} +26 -26
  114. package/{esm2015/app/directives/group-footer/group-footer.directive.js → esm2020/app/directives/group-footer/group-footer.directive.mjs} +14 -14
  115. package/{esm2015/app/directives/group-header/group-header.directive.js → esm2020/app/directives/group-header/group-header.directive.mjs} +14 -14
  116. package/{esm2015/app/directives/header/header.directive.js → esm2020/app/directives/header/header.directive.mjs} +18 -18
  117. package/{esm2015/app/directives/heading/heading.directive.js → esm2020/app/directives/heading/heading.directive.mjs} +13 -13
  118. package/{esm2015/app/directives/heading-container/heading-container.directive.js → esm2020/app/directives/heading-container/heading-container.directive.mjs} +13 -13
  119. package/{esm2015/app/directives/index.js → esm2020/app/directives/index.mjs} +4 -4
  120. package/{esm2015/app/directives/subheading/subheading.directive.js → esm2020/app/directives/subheading/subheading.directive.mjs} +13 -13
  121. package/{esm2015/app/enums/button-type.enum.js → esm2020/app/enums/button-type.enum.mjs} +9 -9
  122. package/{esm2015/app/enums/page-change-type.enum.js → esm2020/app/enums/page-change-type.enum.mjs} +6 -6
  123. package/{esm2015/app/enums/pagination-strategy.enum.js → esm2020/app/enums/pagination-strategy.enum.mjs} +7 -7
  124. package/{esm2015/app/enums/row-type.enum.js → esm2020/app/enums/row-type.enum.mjs} +7 -7
  125. package/{esm2015/app/enums/state.enum.js → esm2020/app/enums/state.enum.mjs} +11 -11
  126. package/{esm2015/app/fs-list.module.js → esm2020/app/fs-list.module.mjs} +246 -246
  127. package/{esm2015/app/fs-list.providers.js → esm2020/app/fs-list.providers.mjs} +4 -4
  128. package/{esm2015/app/interfaces/cellconfig.interface.js → esm2020/app/interfaces/cellconfig.interface.mjs} +2 -2
  129. package/{esm2015/app/interfaces/column-config.interface.js → esm2020/app/interfaces/column-config.interface.mjs} +1 -1
  130. package/{esm2015/app/interfaces/draggable-list.interface.js → esm2020/app/interfaces/draggable-list.interface.mjs} +2 -2
  131. package/esm2020/app/interfaces/external-params.interface.mjs +2 -0
  132. package/{esm2015/app/interfaces/index.js → esm2020/app/interfaces/index.mjs} +5 -5
  133. package/{esm2015/app/interfaces/listconfig.interface.js → esm2020/app/interfaces/listconfig.interface.mjs} +1 -1
  134. package/{esm2015/app/interfaces/pagination-state.interface.js → esm2020/app/interfaces/pagination-state.interface.mjs} +1 -1
  135. package/esm2020/app/interfaces/pagination.interface.mjs +2 -0
  136. package/{esm2015/app/interfaces/sorting-change-event.interface.js → esm2020/app/interfaces/sorting-change-event.interface.mjs} +2 -2
  137. package/{esm2015/app/models/column-async-attribute.js → esm2020/app/models/column-async-attribute.mjs} +13 -13
  138. package/esm2020/app/models/column-attributes.mjs +132 -0
  139. package/esm2020/app/models/column.model.mjs +164 -0
  140. package/{esm2015/app/models/row/base-row.js → esm2020/app/models/row/base-row.mjs} +23 -23
  141. package/{esm2015/app/models/row/child-row.js → esm2020/app/models/row/child-row.mjs} +28 -28
  142. package/{esm2015/app/models/row/group-footer-row.js → esm2020/app/models/row/group-footer-row.mjs} +20 -20
  143. package/{esm2015/app/models/row/group-row.js → esm2020/app/models/row/group-row.mjs} +44 -44
  144. package/{esm2015/app/models/row/simple-row.js → esm2020/app/models/row/simple-row.mjs} +10 -10
  145. package/esm2020/app/models/row-action.model.mjs +90 -0
  146. package/{esm2015/app/models/row.js → esm2020/app/models/row.mjs} +88 -88
  147. package/{esm2015/app/models/styleConfig.model.js → esm2020/app/models/styleConfig.model.mjs} +75 -75
  148. package/{esm2015/app/pipes/action-label.js → esm2020/app/pipes/action-label.mjs} +17 -17
  149. package/{esm2015/app/pipes/index.js → esm2020/app/pipes/index.mjs} +1 -1
  150. package/{esm2015/app/services/group-expand-notifier.service.js → esm2020/app/services/group-expand-notifier.service.mjs} +26 -26
  151. package/{esm2015/firestitch-list.js → esm2020/firestitch-list.mjs} +4 -4
  152. package/{esm2015/public_api.js → esm2020/public_api.mjs} +45 -45
  153. package/fesm2015/{firestitch-list.js → firestitch-list.mjs} +5739 -5805
  154. package/fesm2015/firestitch-list.mjs.map +1 -0
  155. package/fesm2020/firestitch-list.mjs +5871 -0
  156. package/fesm2020/firestitch-list.mjs.map +1 -0
  157. package/firestitch-list.d.ts +5 -5
  158. package/package.json +20 -7
  159. package/public_api.d.ts +41 -41
  160. package/bundles/firestitch-list.umd.js +0 -7222
  161. package/bundles/firestitch-list.umd.js.map +0 -1
  162. package/esm2015/app/classes/data-controller.js +0 -365
  163. package/esm2015/app/classes/external-params-controller.js +0 -147
  164. package/esm2015/app/classes/list-controller.js +0 -754
  165. package/esm2015/app/classes/reorder-controller.js +0 -183
  166. package/esm2015/app/classes/selection-controller.js +0 -468
  167. package/esm2015/app/components/body/body.component.js +0 -69
  168. package/esm2015/app/components/body/row/actions/actions.component.js +0 -102
  169. package/esm2015/app/components/body/row/cell/cell.component.js +0 -113
  170. package/esm2015/app/components/body/row/inline-action/inline-action.component.js +0 -37
  171. package/esm2015/app/components/body/row/menu-action/menu-action.component.js +0 -50
  172. package/esm2015/app/components/body/row/row.component.js +0 -330
  173. package/esm2015/app/components/customize-cols/customize-cols.component.js +0 -72
  174. package/esm2015/app/components/footer/footer-row/footer-cell/footer-cell.component.js +0 -20
  175. package/esm2015/app/components/footer/footer-row/footer-row.component.js +0 -33
  176. package/esm2015/app/components/footer/footer.component.js +0 -36
  177. package/esm2015/app/components/head/head-cell/head-cell.component.js +0 -34
  178. package/esm2015/app/components/head/head.component.js +0 -108
  179. package/esm2015/app/components/list/list.component.js +0 -397
  180. package/esm2015/app/components/loader/loader.component.js +0 -45
  181. package/esm2015/app/components/manage-saved-filters/manage-saved-filters.component.js +0 -79
  182. package/esm2015/app/components/pagination/pagination.component.js +0 -42
  183. package/esm2015/app/components/saved-filters/saved-filters.component.js +0 -32
  184. package/esm2015/app/components/status/status.component.js +0 -72
  185. package/esm2015/app/directives/column/column.directive.js +0 -112
  186. package/esm2015/app/directives/draggable-list/draggable-list.directive.js +0 -330
  187. package/esm2015/app/directives/draggable-row/draggable-row.directive.js +0 -79
  188. package/esm2015/app/interfaces/external-params.interface.js +0 -2
  189. package/esm2015/app/interfaces/pagination.interface.js +0 -2
  190. package/esm2015/app/models/column-attributes.js +0 -131
  191. package/esm2015/app/models/column.model.js +0 -163
  192. package/esm2015/app/models/row-action.model.js +0 -90
  193. package/fesm2015/firestitch-list.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ExternalParamsController, } from '@firestitch/filter';
3
+ import { map, tap } from 'rxjs/operators';
4
+ import { ReorderPosition } from '../../classes/reorder-controller';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@firestitch/filter";
7
+ import * as i2 from "../list/list.component";
8
+ import * as i3 from "@angular/material/button";
9
+ import * as i4 from "@angular/material/dialog";
10
+ import * as i5 from "../../directives/column/column.directive";
11
+ import * as i6 from "../../directives/cell/cell.directive";
12
+ export class FsListManageSavedFiltersComponent {
13
+ constructor(_externalParams) {
14
+ this._externalParams = _externalParams;
15
+ this._reorderReady = true;
16
+ this._initList();
17
+ }
18
+ get savedFiltersController() {
19
+ return this._externalParams.savedFiltersController;
20
+ }
21
+ _initList() {
22
+ this.config = {
23
+ status: false,
24
+ filterInput: false,
25
+ queryParam: false,
26
+ persist: false,
27
+ paging: false,
28
+ reorder: {
29
+ position: ReorderPosition.Left,
30
+ moveDrop: () => {
31
+ return this._reorderReady;
32
+ },
33
+ done: (reorderData) => {
34
+ this._reorderReady = false;
35
+ const filterData = reorderData.map((data) => data.data);
36
+ this.savedFiltersController.order(filterData)
37
+ .pipe(tap(() => {
38
+ this._reorderReady = true;
39
+ }))
40
+ .subscribe(() => { });
41
+ },
42
+ },
43
+ rowActions: [
44
+ {
45
+ label: 'Apply',
46
+ click: (filter) => {
47
+ this._externalParams.setActiveSavedFilter(filter);
48
+ },
49
+ },
50
+ {
51
+ label: 'Delete',
52
+ remove: {
53
+ title: 'Confirm',
54
+ template: 'Are you sure you want to delete this filter?',
55
+ },
56
+ click: (savedFilter) => {
57
+ return this.savedFiltersController.delete(savedFilter);
58
+ },
59
+ },
60
+ ],
61
+ fetch: (query) => {
62
+ return this.savedFiltersController.load()
63
+ .pipe(map((response) => {
64
+ return { data: response };
65
+ }));
66
+ },
67
+ };
68
+ }
69
+ }
70
+ FsListManageSavedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListManageSavedFiltersComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
71
+ FsListManageSavedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsListManageSavedFiltersComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>\r\n Manage Saved Filters\r\n</h1>\r\n<div mat-dialog-content>\r\n <fs-list [config]=\"config\">\r\n <fs-list-column name=\"name\" title=\"Name\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{ row.name }}\r\n </ng-template>\r\n </fs-list-column>\r\n </fs-list>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button\r\n [mat-dialog-close]=\"null\"\r\n type=\"button\"\r\n color=\"primary\">\r\n Done\r\n </button>\r\n</div>\r\n", components: [{ type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { type: i6.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListManageSavedFiltersComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 mat-dialog-title>\r\n Manage Saved Filters\r\n</h1>\r\n<div mat-dialog-content>\r\n <fs-list [config]=\"config\">\r\n <fs-list-column name=\"name\" title=\"Name\">\r\n <ng-template fs-list-cell let-row=\"row\">\r\n {{ row.name }}\r\n </ng-template>\r\n </fs-list-column>\r\n </fs-list>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button\r\n [mat-dialog-close]=\"null\"\r\n type=\"button\"\r\n color=\"primary\">\r\n Done\r\n </button>\r\n</div>\r\n" }]
75
+ }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXNhdmVkLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL21hbmFnZS1zYXZlZC1maWx0ZXJzL21hbmFnZS1zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFDTCx3QkFBd0IsR0FHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFRbkUsTUFBTSxPQUFPLGlDQUFpQztJQU01QyxZQUNVLGVBQXlDO1FBQXpDLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUgzQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUszQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVksc0JBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNyRCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJO2dCQUM5QixRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7b0JBRTNCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7eUJBQzFDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUNQLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUM1QixDQUFDLENBQUMsQ0FDSDt5QkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxLQUFLLEVBQUUsT0FBTztvQkFDZCxLQUFLLEVBQUUsQ0FBQyxNQUEwQixFQUFFLEVBQUU7d0JBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BELENBQUM7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxTQUFTO3dCQUNoQixRQUFRLEVBQUUsOENBQThDO3FCQUN6RDtvQkFDRCxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTt3QkFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUU7cUJBQ3RDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ04sQ0FBQztTQUVGLENBQUM7SUFDSixDQUFDOzs4SEFyRVUsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsb0RDbEI5QywwZ0JBb0JBOzJGREZhLGlDQUFpQztrQkFKN0MsU0FBUztzQ0FFUyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gIElGaWx0ZXJTYXZlZEZpbHRlcixcbiAgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlcixcbn0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcblxuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJlb3JkZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVvcmRlci1jb250cm9sbGVyJztcbmltcG9ydCB7IEZzTGlzdENvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbGlzdGNvbmZpZy5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLXNhdmVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0TWFuYWdlU2F2ZWRGaWx0ZXJzQ29tcG9uZW50IHtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWc7XG5cbiAgcHJpdmF0ZSBfcmVvcmRlclJlYWR5ID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9leHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICApIHtcbiAgICB0aGlzLl9pbml0TGlzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcigpOiBTYXZlZEZpbHRlcnNDb250cm9sbGVyIHtcbiAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRMaXN0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgIGZpbHRlcklucHV0OiBmYWxzZSxcbiAgICAgIHF1ZXJ5UGFyYW06IGZhbHNlLFxuICAgICAgcGVyc2lzdDogZmFsc2UsXG4gICAgICBwYWdpbmc6IGZhbHNlLFxuICAgICAgcmVvcmRlcjoge1xuICAgICAgICBwb3NpdGlvbjogUmVvcmRlclBvc2l0aW9uLkxlZnQsXG4gICAgICAgIG1vdmVEcm9wOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3Jlb3JkZXJSZWFkeTtcbiAgICAgICAgfSxcbiAgICAgICAgZG9uZTogKHJlb3JkZXJEYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcmVvcmRlclJlYWR5ID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBmaWx0ZXJEYXRhID0gcmVvcmRlckRhdGEubWFwKChkYXRhKSA9PiBkYXRhLmRhdGEpO1xuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5vcmRlcihmaWx0ZXJEYXRhKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVvcmRlclJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHsgfSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcm93QWN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdBcHBseScsXG4gICAgICAgICAgY2xpY2s6IChmaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2V0QWN0aXZlU2F2ZWRGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdEZWxldGUnLFxuICAgICAgICAgIHJlbW92ZToge1xuICAgICAgICAgICAgdGl0bGU6ICdDb25maXJtJyxcbiAgICAgICAgICAgIHRlbXBsYXRlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpbHRlcj8nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2xpY2s6IChzYXZlZEZpbHRlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5kZWxldGUoc2F2ZWRGaWx0ZXIpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZmV0Y2g6IChxdWVyeSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyLmxvYWQoKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4geyBkYXRhOiByZXNwb25zZSB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG5cbiAgICB9O1xuICB9XG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT5cclxuICBNYW5hZ2UgU2F2ZWQgRmlsdGVyc1xyXG48L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxyXG4gICAgPGZzLWxpc3QtY29sdW1uIG5hbWU9XCJuYW1lXCIgdGl0bGU9XCJOYW1lXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgIHt7IHJvdy5uYW1lIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZzLWxpc3QtY29sdW1uPlxyXG4gIDwvZnMtbGlzdD5cclxuPC9kaXY+XHJcbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvblxyXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgRG9uZVxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,37 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
2
+ import { merge, Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { PaginationController } from '../../classes/pagination-controller';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/button";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/core";
9
+ import * as i4 from "@firestitch/common";
10
+ export class FsPaginationComponent {
11
+ constructor(_cdRef) {
12
+ this._cdRef = _cdRef;
13
+ this._destroy$ = new Subject();
14
+ }
15
+ ngOnInit() {
16
+ merge(this.pagination.pageChanged$, this.pagination.pages$)
17
+ .pipe(takeUntil(this._destroy$))
18
+ .subscribe(() => {
19
+ this._cdRef.markForCheck();
20
+ });
21
+ }
22
+ ngOnDestroy() {
23
+ this._destroy$.next();
24
+ this._destroy$.complete();
25
+ }
26
+ }
27
+ FsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28
+ FsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsPaginationComponent, selector: "fs-list-pagination", inputs: { pagination: "pagination", rows: "rows" }, ngImport: i0, template: "<ng-container *ngIf=\"!pagination.loadMoreEnabled; else loadMoreButton\">\n <ng-container *ngIf=\"pagination?.pages\">\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"first\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goFirst()\">\n <i class=\"material-icons\">first_page</i>\n </a>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"previous\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goPrev()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </a>\n\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"next\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goNext()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </a>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"last\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goLast()\">\n <i class=\"material-icons\">last_page</i>\n </a>\n </ng-container>\n</ng-container>\n\n<ng-template #loadMoreButton>\n <div class=\"fs-list-load-more\" *ngIf=\"pagination.hasNextPage\">\n <button mat-button (click)=\"pagination.goNext()\">{{ pagination.loadMoreText }}</button>\n </div>\n</ng-template>\n", styles: [":host{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "fsFormatNumber": i4.FsFormatNumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsPaginationComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'fs-list-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!pagination.loadMoreEnabled; else loadMoreButton\">\n <ng-container *ngIf=\"pagination?.pages\">\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"first\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goFirst()\">\n <i class=\"material-icons\">first_page</i>\n </a>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"previous\" [class.disabled]=\"!pagination.hasPrevPage\" (click)=\"pagination.goPrev()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </a>\n\n <div class=\"number\">\n {{ pagination.page | fsFormatNumber }} of {{ pagination.pages | fsFormatNumber }}\n </div>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"next\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goNext()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </a>\n\n <a matRipple [matRippleRadius]=\"15\" [matRippleCentered]=\"true\" class=\"last\" [class.disabled]=\"!pagination.hasNextPage\" (click)=\"pagination.goLast()\">\n <i class=\"material-icons\">last_page</i>\n </a>\n </ng-container>\n</ng-container>\n\n<ng-template #loadMoreButton>\n <div class=\"fs-list-load-more\" *ngIf=\"pagination.hasNextPage\">\n <button mat-button (click)=\"pagination.goNext()\">{{ pagination.loadMoreText }}</button>\n </div>\n</ng-template>\n", styles: [":host{display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;width:100%}a{text-align:center;color:#000000de;text-decoration:none;font-size:15px;cursor:pointer;display:flex}a:not(.page){padding:10px}a.disabled{pointer-events:none;cursor:default;color:#d8d8d8}.number{font-size:90%}.fs-list-load-more button{width:100%;margin-top:10px}\n"] }]
32
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
33
+ type: Input
34
+ }], rows: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQVEzRSxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQ1UsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFIM0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFJOUIsQ0FBQztJQUVFLFFBQVE7UUFDYixLQUFLLENBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUN2QjthQUNFLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7O2tIQTNCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw4R0NwQmxDLG82Q0E2QkE7MkZEVGEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO3dHQUkvQixVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3BhZ2luYXRpb24tY29udHJvbGxlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLWxpc3QtcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZzUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHBhZ2luYXRpb246IFBhZ2luYXRpb25Db250cm9sbGVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dzO1xyXG5cclxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIG1lcmdlKFxyXG4gICAgICB0aGlzLnBhZ2luYXRpb24ucGFnZUNoYW5nZWQkLFxyXG4gICAgICB0aGlzLnBhZ2luYXRpb24ucGFnZXMkLFxyXG4gICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXBhZ2luYXRpb24ubG9hZE1vcmVFbmFibGVkOyBlbHNlIGxvYWRNb3JlQnV0dG9uXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdpbmF0aW9uPy5wYWdlc1wiPlxuICAgIDxhIG1hdFJpcHBsZSBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCIgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIiBjbGFzcz1cImZpcnN0XCIgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlXCIgKGNsaWNrKT1cInBhZ2luYXRpb24uZ29GaXJzdCgpXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+Zmlyc3RfcGFnZTwvaT5cbiAgICA8L2E+XG5cbiAgICA8YSBtYXRSaXBwbGUgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCIgY2xhc3M9XCJwcmV2aW91c1wiIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnaW5hdGlvbi5oYXNQcmV2UGFnZVwiIChjbGljayk9XCJwYWdpbmF0aW9uLmdvUHJldigpXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvaT5cbiAgICA8L2E+XG5cbiAgICA8ZGl2IGNsYXNzPVwibnVtYmVyXCI+XG4gICAgICB7eyBwYWdpbmF0aW9uLnBhZ2UgfCBmc0Zvcm1hdE51bWJlciB9fSBvZiB7eyBwYWdpbmF0aW9uLnBhZ2VzIHwgZnNGb3JtYXROdW1iZXIgfX1cbiAgICA8L2Rpdj5cblxuICAgIDxhIG1hdFJpcHBsZSBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCIgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIiBjbGFzcz1cIm5leHRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXBhZ2luYXRpb24uaGFzTmV4dFBhZ2VcIiAoY2xpY2spPVwicGFnaW5hdGlvbi5nb05leHQoKVwiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9pPlxuICAgIDwvYT5cblxuICAgIDxhIG1hdFJpcHBsZSBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCIgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIiBjbGFzcz1cImxhc3RcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXBhZ2luYXRpb24uaGFzTmV4dFBhZ2VcIiAoY2xpY2spPVwicGFnaW5hdGlvbi5nb0xhc3QoKVwiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmxhc3RfcGFnZTwvaT5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZE1vcmVCdXR0b24+XG4gIDxkaXYgY2xhc3M9XCJmcy1saXN0LWxvYWQtbW9yZVwiICpuZ0lmPVwicGFnaW5hdGlvbi5oYXNOZXh0UGFnZVwiPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwicGFnaW5hdGlvbi5nb05leHQoKVwiPnt7IHBhZ2luYXRpb24ubG9hZE1vcmVUZXh0IH19PC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component, ViewContainerRef } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { ExternalParamsController } from '@firestitch/filter';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/dialog";
6
+ import * as i2 from "@firestitch/filter";
7
+ import * as i3 from "@angular/common";
8
+ export class FsListSavedFiltersComponent {
9
+ constructor(_dialog, _externalParams, _vcRef) {
10
+ this._dialog = _dialog;
11
+ this._externalParams = _externalParams;
12
+ this._vcRef = _vcRef;
13
+ }
14
+ get savedFiltersEnabled$() {
15
+ return this._externalParams.savedFiltersController.enabled$;
16
+ }
17
+ showManageDialog() {
18
+ // this._dialog.open(FsListManageSavedFiltersComponent, {
19
+ // viewContainerRef: this._vcRef,
20
+ // });
21
+ }
22
+ }
23
+ FsListSavedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListSavedFiltersComponent, deps: [{ token: i1.MatDialog }, { token: i2.ExternalParamsController }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
24
+ FsListSavedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsListSavedFiltersComponent, selector: "fs-list-saved-filters", ngImport: i0, template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\r\n -->, saved filter\r\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\r\n</ng-container>\r\n", components: [{ type: i2.FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: ["select", "clear", "manage"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListSavedFiltersComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'fs-list-saved-filters', template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\r\n -->, saved filter\r\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\r\n</ng-container>\r\n" }]
28
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ExternalParamsController }, { type: i0.ViewContainerRef }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVycy9zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXJzL3NhdmVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDVSxPQUFrQixFQUNsQixlQUF5QyxFQUN6QyxNQUF3QjtRQUZ4QixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUM5QixDQUFDO0lBRUwsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLHlEQUF5RDtRQUN6RCxtQ0FBbUM7UUFDbkMsTUFBTTtJQUNSLENBQUM7O3dIQWZVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDZEQ2J4Qyw0TUFJQTsyRkRTYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXNhdmVkLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdFNhdmVkRmlsdGVyc0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2V4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBfdmNSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkgeyB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnNFbmFibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5lbmFibGVkJDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93TWFuYWdlRGlhbG9nKCk6IHZvaWQge1xuICAgIC8vIHRoaXMuX2RpYWxvZy5vcGVuKEZzTGlzdE1hbmFnZVNhdmVkRmlsdGVyc0NvbXBvbmVudCwge1xuICAgIC8vICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy5fdmNSZWYsXG4gICAgLy8gfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzYXZlZEZpbHRlcnNFbmFibGVkJCB8IGFzeW5jXCI+PCEtLVxyXG4gIC0tPiwgc2F2ZWQgZmlsdGVyXHJcbiAgPGZzLWZpbHRlci1zYXZlZC1maWx0ZXJzLW1lbnUgKG1hbmFnZSk9XCJzaG93TWFuYWdlRGlhbG9nKClcIj48L2ZzLWZpbHRlci1zYXZlZC1maWx0ZXJzLW1lbnU+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { PaginationController } from '../../classes/pagination-controller';
5
+ import { SortingController } from '../../classes/sorting-controller';
6
+ import { SortingDirection } from '../../models/column.model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../saved-filters/saved-filters.component";
9
+ import * as i2 from "@firestitch/menu";
10
+ import * as i3 from "@angular/common";
11
+ export class FsStatusComponent {
12
+ constructor(_cdRef) {
13
+ this._cdRef = _cdRef;
14
+ this._destroy$ = new Subject();
15
+ }
16
+ ngOnInit() {
17
+ this.sorting.sortingChanged$
18
+ .pipe(takeUntil(this._destroy$))
19
+ .subscribe(() => {
20
+ this._cdRef.markForCheck();
21
+ });
22
+ }
23
+ ngOnDestroy() {
24
+ this._destroy$.next();
25
+ this._destroy$.complete();
26
+ }
27
+ toggleDirection() {
28
+ if (this.sorting.sortingColumn.direction === 'asc') {
29
+ this.sorting.sortDirection(SortingDirection.desc);
30
+ }
31
+ else {
32
+ this.sorting.sortDirection(SortingDirection.asc);
33
+ }
34
+ }
35
+ setSortableColumn(column) {
36
+ if (this.sorting.sortingColumn !== column) {
37
+ this.sorting.sortBy(column);
38
+ }
39
+ }
40
+ setLimit(limit) {
41
+ this.paging.setLimit(limit);
42
+ }
43
+ }
44
+ FsStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45
+ FsStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsStatusComponent, selector: "fs-list-status", inputs: { paging: "paging", sorting: "sorting", rows: "rows", scrollable: "scrollable", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled && !scrollable\">\r\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\r\n </ng-container>\r\n <ng-template #emptyResults>\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><ng-container *ngIf=\"(!paging.enabled || scrollable) && paging.displayed > 0\">\r\n <ng-container *ngIf=\"!scrollable; else scrollable\">\r\n Showing\r\n <span *ngIf=\"paging.displayed == 1\">{{ paging.displayed }} result </span>\r\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\r\n </ng-container>\r\n\r\n <ng-template #scrollable>\r\n <span *ngIf=\"paging.records == 1\">{{ paging.records }} result </span>\r\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n\r\n <fs-menu [hidden]=\"!paging.enabled || scrollable\" #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>,\r\n </ng-template>\r\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\r\n --></ng-container><!--\r\n --></ng-template>\r\n </small> \r\n</div>\r\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"], components: [{ type: i1.FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsStatusComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<div class=\"status\">\r\n <small>\r\n <ng-container *ngIf=\"paging.enabled && !scrollable\">\r\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\r\n </ng-container>\r\n <ng-template #emptyResults>\r\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><ng-container *ngIf=\"(!paging.enabled || scrollable) && paging.displayed > 0\">\r\n <ng-container *ngIf=\"!scrollable; else scrollable\">\r\n Showing\r\n <span *ngIf=\"paging.displayed == 1\">{{ paging.displayed }} result </span>\r\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\r\n </ng-container>\r\n\r\n <ng-template #scrollable>\r\n <span *ngIf=\"paging.records == 1\">{{ paging.records }} result </span>\r\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\r\n --></ng-container><!--\r\n\r\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\r\n\r\n <fs-menu [hidden]=\"!paging.enabled || scrollable\" #limitsMenu>\r\n <ng-template\r\n ngFor\r\n let-limit\r\n [ngForOf]=\"paging.limits\">\r\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\r\n {{ limit }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\r\n <!-- Real sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.sortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\r\n {{ column.title }}\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\r\n </ng-template>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <!-- Fake sorting columns -->\r\n <ng-template\r\n ngFor\r\n let-column\r\n [ngForOf]=\"sorting.fakeSortingColumns\">\r\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\r\n {{ column.title }}\r\n </ng-template>\r\n </ng-template>\r\n </fs-menu>\r\n\r\n <ng-template #sortedBy>\r\n <ng-container *ngIf=\"sorting.sortingColumn\">\r\n sorted by\r\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\r\n </ng-container>\r\n <ng-template #sortByTemplate>\r\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\r\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\r\n </a>,\r\n </ng-template>\r\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\r\n --></ng-container><!--\r\n --></ng-template>\r\n </small> \r\n</div>\r\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"] }]
49
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { paging: [{
50
+ type: Input
51
+ }], sorting: [{
52
+ type: Input
53
+ }], rows: [{
54
+ type: Input
55
+ }], scrollable: [{
56
+ type: Input
57
+ }], firstLoad: [{
58
+ type: Input
59
+ }, {
60
+ type: HostBinding,
61
+ args: ['class.first-load']
62
+ }, {
63
+ type: HostBinding,
64
+ args: ['class.fs-skeleton-placeholder']
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8saUJBQWlCO0lBYzVCLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRnJDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR3hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBTTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzs4R0FoRFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMlJDekI5QixpOUdBa0ZBOzJGRHpEYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLElBQUk7d0dBSVQsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFLQyxTQUFTO3NCQUhmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsV0FBVzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcclxuaW1wb3J0IHsgU29ydGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NvcnRpbmctY29udHJvbGxlcic7XHJcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc3RhdHVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmc6IFBhZ2luYXRpb25Db250cm9sbGVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0aW5nOiBTb3J0aW5nQ29udHJvbGxlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgcm93cztcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpcnN0LWxvYWQnKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtc2tlbGV0b24tcGxhY2Vob2xkZXInKVxyXG4gIHB1YmxpYyBmaXJzdExvYWQ6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNvcnRpbmcuc29ydGluZ0NoYW5nZWQkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVEaXJlY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJykge1xyXG4gICAgICB0aGlzLnNvcnRpbmcuc29ydERpcmVjdGlvbihTb3J0aW5nRGlyZWN0aW9uLmRlc2MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5hc2MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbikge1xyXG4gICAgaWYgKHRoaXMuc29ydGluZy5zb3J0aW5nQ29sdW1uICE9PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0aW5nLnNvcnRCeShjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExpbWl0KGxpbWl0KSB7XHJcbiAgICB0aGlzLnBhZ2luZy5zZXRMaW1pdChsaW1pdCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cclxuICA8c21hbGw+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5nLmVuYWJsZWQgJiYgIXNjcm9sbGFibGVcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2luZy5yZWNvcmRzID4gMDsgZWxzZSBlbXB0eVJlc3VsdHNcIj5cclxuICAgICAgICBTaG93aW5nIDxhIFtmc01lbnVUcmlnZ2VyRm9yXT1cImxpbWl0c01lbnVcIj57eyBwYWdpbmcuc3RhdHVzTGFiZWwgfX08L2E+IG9mIHt7IHBhZ2luZy5yZWNvcmRzIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0c1xyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eVJlc3VsdHM+XHJcbiAgICAgICAgU2hvd2luZyA8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJsaW1pdHNNZW51XCI+MDwvYT4gcmVzdWx0c1xyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydGVkQnlcIj48L25nLWNvbnRhaW5lcj48IS0tXHJcbiAgLS0+PC9uZy1jb250YWluZXI+PCEtLVxyXG5cclxuICAtLT48bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCB8fCBzY3JvbGxhYmxlKSAmJiBwYWdpbmcuZGlzcGxheWVkID4gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzY3JvbGxhYmxlOyBlbHNlIHNjcm9sbGFibGVcIj5cclxuICAgICAgU2hvd2luZ1xyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhZ2luZy5kaXNwbGF5ZWQgPT0gMVwiPnt7IHBhZ2luZy5kaXNwbGF5ZWQgfX0gcmVzdWx0IDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcuZGlzcGxheWVkID4gMVwiPnt7IHBhZ2luZy5kaXNwbGF5ZWQgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fSByZXN1bHRzIDwvc3Bhbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2Nyb2xsYWJsZT5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucmVjb3JkcyA9PSAxXCI+e3sgcGFnaW5nLnJlY29yZHMgfX0gcmVzdWx0IDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucmVjb3JkcyA+IDFcIj57eyBwYWdpbmcucmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHMgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPjwhLS1cclxuICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcblxyXG4gIC0tPjxmcy1saXN0LXNhdmVkLWZpbHRlcnMgY2xhc3M9XCJzYXZlZC1maWx0ZXJzXCI+PC9mcy1saXN0LXNhdmVkLWZpbHRlcnM+XHJcblxyXG4gICAgPGZzLW1lbnUgW2hpZGRlbl09XCIhcGFnaW5nLmVuYWJsZWQgfHwgc2Nyb2xsYWJsZVwiICNsaW1pdHNNZW51PlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1saW1pdFxyXG4gICAgICAgIFtuZ0Zvck9mXT1cInBhZ2luZy5saW1pdHNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZnMtbWVudS1pdGVtIChjbGljayk9XCJzZXRMaW1pdChsaW1pdClcIj5cclxuICAgICAgICAgIHt7IGxpbWl0IH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbWVudT5cclxuXHJcbiAgICA8ZnMtbWVudSBbaGlkZGVuXT1cIiFzb3J0aW5nLnNvcnRpbmdDb2x1bW4gfHwgcGFnaW5nLmRpc3BsYXllZCA9PT0gMFwiICNvcmRlckNvbHVtbnNNZW51PlxyXG4gICAgICA8IS0tIFJlYWwgc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5zXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZzLW1lbnUtaXRlbSAoY2xpY2spPVwic2V0U29ydGFibGVDb2x1bW4oY29sdW1uKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50aXRsZTsgZWxzZSBzb3J0QnlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8IS0tIEZha2Ugc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLmZha2VTb3J0aW5nQ29sdW1uc1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbilcIj5cclxuICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZzLW1lbnU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNzb3J0ZWRCeT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvcnRpbmcuc29ydGluZ0NvbHVtblwiPlxyXG4gICAgICAgIHNvcnRlZCBieVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi50aXRsZSB9fTwvYT4sXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvYT4sXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8YSBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi5mdWxsTmFtZURpcmVjdGlvbiB9fTwvYT48IS0tXHJcbiAgICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcbiAgLS0+PC9uZy10ZW1wbGF0ZT5cclxuICA8L3NtYWxsPiAgXHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,18 +1,18 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FsListCellDirective {
4
- }
5
- FsListCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- FsListCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FsListCellDirective, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListCellDirective, decorators: [{
8
- type: Directive,
9
- args: [{ selector: '[fs-list-cell]' }]
10
- }], propDecorators: { colspan: [{
11
- type: Input
12
- }], align: [{
13
- type: Input
14
- }], className: [{
15
- type: Input,
16
- args: ['class']
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY2VsbC9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtxR0FBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7OEJBRXZCLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDaUIsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbZnMtbGlzdC1jZWxsXScgfSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RDZWxsRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgcHVibGljIGNvbHNwYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGlnbjogc3RyaW5nO1xuICBASW5wdXQoJ2NsYXNzJykgcHVibGljIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG59XG4iXX0=
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListCellDirective {
4
+ }
5
+ FsListCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ FsListCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: FsListCellDirective, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListCellDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{ selector: '[fs-list-cell]' }]
10
+ }], propDecorators: { colspan: [{
11
+ type: Input
12
+ }], align: [{
13
+ type: Input
14
+ }], className: [{
15
+ type: Input,
16
+ args: ['class']
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY2VsbC9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7OEJBRXZCLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDaUIsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ZzLWxpc3QtY2VsbF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBGc0xpc3RDZWxsRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29sc3BhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgYWxpZ246IHN0cmluZztcclxuICBASW5wdXQoJ2NsYXNzJykgcHVibGljIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XHJcbn1cclxuIl19
@@ -0,0 +1,121 @@
1
+ import { ContentChild, ContentChildren, Directive, Input, QueryList, TemplateRef } from '@angular/core';
2
+ // Directives
3
+ import { FsListCellDirective } from '../cell/cell.directive';
4
+ import { FsListFooterDirective } from '../footer/footer.directive';
5
+ import { FsListHeaderDirective } from '../header/header.directive';
6
+ import { ColumnAttributes } from '../../models/column-attributes';
7
+ import { FsListGroupExpandTriggerDirective } from '../group-expand-trigger/group-expand-trigger.directive';
8
+ import { FsListGroupFooterDirective } from '../group-footer/group-footer.directive';
9
+ import { FsListGroupHeaderDirective } from '../group-header/group-header.directive';
10
+ import * as i0 from "@angular/core";
11
+ export class FsListColumnDirective {
12
+ constructor() {
13
+ this._columnAttributes = new ColumnAttributes();
14
+ }
15
+ get attributes() {
16
+ return this._columnAttributes;
17
+ }
18
+ set visible(value) {
19
+ this._columnAttributes.visible = value;
20
+ }
21
+ set title(value) {
22
+ this._columnAttributes.title = value;
23
+ }
24
+ set name(value) {
25
+ this._columnAttributes.name = value;
26
+ }
27
+ set customize(value) {
28
+ this._columnAttributes.customize = value;
29
+ }
30
+ set sortable(value) {
31
+ this._columnAttributes.sortable = value;
32
+ }
33
+ set sortableDefault(value) {
34
+ this._columnAttributes.sortableDefault = value;
35
+ }
36
+ set sortableDirection(value) {
37
+ this.sortable = true;
38
+ this._columnAttributes.direction = value;
39
+ }
40
+ /**
41
+ * @deprecated
42
+ */
43
+ set direction(value) {
44
+ this._columnAttributes.direction = value;
45
+ }
46
+ set align(value) {
47
+ this._columnAttributes.align = value;
48
+ }
49
+ set width(value) {
50
+ this._columnAttributes.width = value;
51
+ }
52
+ set className(value) {
53
+ this._columnAttributes.className = value;
54
+ }
55
+ }
56
+ FsListColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
+ FsListColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: FsListColumnDirective, selector: "fs-list-column", inputs: { visible: ["show", "visible"], title: "title", name: "name", customize: "customize", sortable: "sortable", sortableDefault: "sortableDefault", sortableDirection: "sortableDirection", direction: "direction", align: "align", width: "width", className: ["class", "className"] }, queries: [{ propertyName: "headerTemplate", first: true, predicate: FsListHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "headerConfigs", first: true, predicate: FsListHeaderDirective, descendants: true, static: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: FsListGroupHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupHeaderConfigs", first: true, predicate: FsListGroupHeaderDirective, descendants: true, static: true }, { propertyName: "groupFooterTemplate", first: true, predicate: FsListGroupFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "groupFooterConfigs", first: true, predicate: FsListGroupFooterDirective, descendants: true, static: true }, { propertyName: "cellTemplate", first: true, predicate: FsListCellDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "cellConfigs", first: true, predicate: FsListCellDirective, descendants: true, static: true }, { propertyName: "footerTemplate", first: true, predicate: FsListFooterDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "footerConfigs", first: true, predicate: FsListFooterDirective, descendants: true, static: true }, { propertyName: "expandTrigger", predicate: FsListGroupExpandTriggerDirective, descendants: true }], ngImport: i0 });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListColumnDirective, decorators: [{
59
+ type: Directive,
60
+ args: [{
61
+ selector: 'fs-list-column'
62
+ }]
63
+ }], ctorParameters: function () { return []; }, propDecorators: { headerTemplate: [{
64
+ type: ContentChild,
65
+ args: [FsListHeaderDirective, { read: TemplateRef, static: true }]
66
+ }], headerConfigs: [{
67
+ type: ContentChild,
68
+ args: [FsListHeaderDirective, { static: true }]
69
+ }], groupHeaderTemplate: [{
70
+ type: ContentChild,
71
+ args: [FsListGroupHeaderDirective, { read: TemplateRef, static: true }]
72
+ }], groupHeaderConfigs: [{
73
+ type: ContentChild,
74
+ args: [FsListGroupHeaderDirective, { static: true }]
75
+ }], groupFooterTemplate: [{
76
+ type: ContentChild,
77
+ args: [FsListGroupFooterDirective, { read: TemplateRef, static: true }]
78
+ }], groupFooterConfigs: [{
79
+ type: ContentChild,
80
+ args: [FsListGroupFooterDirective, { static: true }]
81
+ }], expandTrigger: [{
82
+ type: ContentChildren,
83
+ args: [FsListGroupExpandTriggerDirective, { descendants: true }]
84
+ }], cellTemplate: [{
85
+ type: ContentChild,
86
+ args: [FsListCellDirective, { read: TemplateRef, static: true }]
87
+ }], cellConfigs: [{
88
+ type: ContentChild,
89
+ args: [FsListCellDirective, { static: true }]
90
+ }], footerTemplate: [{
91
+ type: ContentChild,
92
+ args: [FsListFooterDirective, { read: TemplateRef, static: true }]
93
+ }], footerConfigs: [{
94
+ type: ContentChild,
95
+ args: [FsListFooterDirective, { static: true }]
96
+ }], visible: [{
97
+ type: Input,
98
+ args: ['show']
99
+ }], title: [{
100
+ type: Input
101
+ }], name: [{
102
+ type: Input
103
+ }], customize: [{
104
+ type: Input
105
+ }], sortable: [{
106
+ type: Input
107
+ }], sortableDefault: [{
108
+ type: Input
109
+ }], sortableDirection: [{
110
+ type: Input
111
+ }], direction: [{
112
+ type: Input
113
+ }], align: [{
114
+ type: Input
115
+ }], width: [{
116
+ type: Input
117
+ }], className: [{
118
+ type: Input,
119
+ args: ['class']
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsYUFBYTtBQUNiLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQU1wRixNQUFNLE9BQU8scUJBQXFCO0lBMkNoQztRQUZpQixzQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFFN0MsQ0FBQztJQUVoQixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVELElBQ1csaUJBQWlCLENBQUMsS0FBcUI7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBcUI7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csU0FBUyxDQUFDLEtBQXdCO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7O2tIQTFHVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwrWEFHbEIscUJBQXFCLDJCQUFVLFdBQVcsMkVBRzFDLHFCQUFxQixvR0FJckIsMEJBQTBCLDJCQUFVLFdBQVcsZ0ZBRy9DLDBCQUEwQixvR0FJMUIsMEJBQTBCLDJCQUFVLFdBQVcsZ0ZBRy9DLDBCQUEwQiw2RkFRMUIsbUJBQW1CLDJCQUFVLFdBQVcseUVBR3hDLG1CQUFtQiwrRkFJbkIscUJBQXFCLDJCQUFVLFdBQVcsMkVBRzFDLHFCQUFxQixpRkFkbEIsaUNBQWlDOzJGQXhCdkMscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzBFQUtRLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWpFLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs5QyxtQkFBbUI7c0JBRHpCLFlBQVk7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXRFLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS25ELG1CQUFtQjtzQkFEekIsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdEUsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLbkQsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQyxpQ0FBaUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBS2xFLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9ELFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs1QyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqRSxhQUFhO3NCQURuQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFZMUMsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxNQUFNO2dCQU1GLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSztnQkFNSyxRQUFRO3NCQURsQixLQUFLO2dCQU1LLGVBQWU7c0JBRHpCLEtBQUs7Z0JBTUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gRGlyZWN0aXZlc1xuaW1wb3J0IHsgRnNMaXN0Q2VsbERpcmVjdGl2ZSB9IGZyb20gJy4uL2NlbGwvY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9vdGVyL2Zvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2x1bW5BdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbHVtbi1hdHRyaWJ1dGVzJztcbmltcG9ydCB7IEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwLWV4cGFuZC10cmlnZ2VyL2dyb3VwLWV4cGFuZC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RHcm91cEZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwLWZvb3Rlci9ncm91cC1mb290ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3JvdXAtaGVhZGVyL2dyb3VwLWhlYWRlci5kaXJlY3RpdmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3QtY29sdW1uJ1xufSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RDb2x1bW5EaXJlY3RpdmUge1xuXG4gIC8vIEhlYWRlclxuICBAQ29udGVudENoaWxkKEZzTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGhlYWRlckNvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgLy8gR3JvdXBcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBncm91cEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBncm91cEhlYWRlckNvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgLy8gR3JvdXAgRm9vdGVyXG4gIEBDb250ZW50Q2hpbGQoRnNMaXN0R3JvdXBGb290ZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZ3JvdXBGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdEdyb3VwRm9vdGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZ3JvdXBGb290ZXJDb25maWdzOiBDZWxsQ29uZmlnO1xuXG4gIC8vIFRyaWdnZXJcbiAgQENvbnRlbnRDaGlsZHJlbihGc0xpc3RHcm91cEV4cGFuZFRyaWdnZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGV4cGFuZFRyaWdnZXI6IFF1ZXJ5TGlzdDxGc0xpc3RHcm91cEV4cGFuZFRyaWdnZXJEaXJlY3RpdmU+O1xuXG4gIC8vIENlbGxcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RDZWxsRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdENlbGxEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjZWxsQ29uZmlnczogQ2VsbENvbmZpZztcblxuICAvLyBGb290ZXJcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RGb290ZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChGc0xpc3RGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBmb290ZXJDb25maWdzOiBDZWxsQ29uZmlnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbHVtbkF0dHJpYnV0ZXMgPSBuZXcgQ29sdW1uQXR0cmlidXRlcygpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgZ2V0IGF0dHJpYnV0ZXMoKTogQ29sdW1uQXR0cmlidXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXM7XG4gIH1cblxuICBASW5wdXQoJ3Nob3cnKVxuICBwdWJsaWMgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLnZpc2libGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMudGl0bGUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5uYW1lID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbWl6ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuY3VzdG9taXplID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNvcnRhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5zb3J0YWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzb3J0YWJsZURlZmF1bHQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLnNvcnRhYmxlRGVmYXVsdCA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzb3J0YWJsZURpcmVjdGlvbih2YWx1ZTogJ2FzYycgfCAnZGVzYycpIHtcbiAgICB0aGlzLnNvcnRhYmxlID0gdHJ1ZTtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLmRpcmVjdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpcmVjdGlvbih2YWx1ZTogJ2FzYycgfCAnZGVzYycpIHtcbiAgICB0aGlzLl9jb2x1bW5BdHRyaWJ1dGVzLmRpcmVjdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGlnbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy5hbGlnbiA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB3aWR0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29sdW1uQXR0cmlidXRlcy53aWR0aCA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdjbGFzcycpXG4gIHB1YmxpYyBzZXQgY2xhc3NOYW1lKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2NvbHVtbkF0dHJpYnV0ZXMuY2xhc3NOYW1lID0gdmFsdWU7XG4gIH1cblxufVxuIl19
@@ -1,13 +1,13 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FsListContentDirective {
4
- }
5
- FsListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- FsListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListContentDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[fs-list-content]',
11
- }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY29udGVudC9jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3dHQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jb250ZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbnRlbnREaXJlY3RpdmUgeyB9XG4iXX0=
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListContentDirective {
4
+ }
5
+ FsListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ FsListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListContentDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[fs-list-content]',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY29udGVudC9jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jb250ZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbnRlbnREaXJlY3RpdmUgeyB9XG4iXX0=
@@ -1,22 +1,22 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FsListContentInitDirective {
4
- constructor() { }
5
- ngAfterViewInit() {
6
- if (this.contentInitCallback) {
7
- this.contentInitCallback();
8
- }
9
- }
10
- }
11
- FsListContentInitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListContentInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- FsListContentInitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListContentInitDirective, decorators: [{
14
- type: Directive,
15
- args: [{
16
- selector: '[fsListContentInit]'
17
- }]
18
- }], ctorParameters: function () { return []; }, propDecorators: { contentInitCallback: [{
19
- type: Input,
20
- args: ['fsListContentInit']
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb250ZW50LWluaXQvY29udGVudC1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsZ0JBQWUsQ0FBQztJQUVULGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzt3SEFYVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzBFQUlRLG1CQUFtQjtzQkFEekIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzTGlzdENvbnRlbnRJbml0XSdcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29udGVudEluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoJ2ZzTGlzdENvbnRlbnRJbml0JylcbiAgcHVibGljIGNvbnRlbnRJbml0Q2FsbGJhY2s6IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0Q2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY29udGVudEluaXRDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufVxuIl19
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListContentInitDirective {
4
+ constructor() { }
5
+ ngAfterViewInit() {
6
+ if (this.contentInitCallback) {
7
+ this.contentInitCallback();
8
+ }
9
+ }
10
+ }
11
+ FsListContentInitDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListContentInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ FsListContentInitDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsListContentInitDirective, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[fsListContentInit]'
17
+ }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { contentInitCallback: [{
19
+ type: Input,
20
+ args: ['fsListContentInit']
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb250ZW50LWluaXQvY29udGVudC1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsZ0JBQWUsQ0FBQztJQUVULGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzt1SEFYVSwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzBFQUlRLG1CQUFtQjtzQkFEekIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzTGlzdENvbnRlbnRJbml0XSdcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29udGVudEluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoJ2ZzTGlzdENvbnRlbnRJbml0JylcbiAgcHVibGljIGNvbnRlbnRJbml0Q2FsbGJhY2s6IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0Q2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY29udGVudEluaXRDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufVxuIl19