@firestitch/list 14.0.2 → 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 (210) 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 +88 -88
  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 +188 -188
  7. package/app/classes/pagination-controller.d.ts +197 -197
  8. package/app/classes/persistance-controller.d.ts +10 -10
  9. package/app/classes/reorder-controller.d.ts +67 -67
  10. package/app/classes/selection-controller.d.ts +155 -155
  11. package/app/classes/sorting-controller.d.ts +70 -70
  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 +8 -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 +127 -127
  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 +20 -20
  30. package/app/directives/cell/cell.directive.d.ts +8 -8
  31. package/app/directives/column/column.directive.d.ts +37 -37
  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/action-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 +245 -245
  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 -61
  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/esm2022/app/classes/actions-controller.mjs +57 -0
  77. package/esm2022/app/classes/columns-controller.mjs +211 -0
  78. package/esm2022/app/classes/data-controller.mjs +348 -0
  79. package/esm2022/app/classes/external-params-controller.mjs +153 -0
  80. package/{esm2020 → esm2022}/app/classes/index.mjs +3 -3
  81. package/esm2022/app/classes/list-controller.mjs +712 -0
  82. package/esm2022/app/classes/pagination-controller.mjs +491 -0
  83. package/esm2022/app/classes/persistance-controller.mjs +19 -0
  84. package/esm2022/app/classes/reorder-controller.mjs +191 -0
  85. package/esm2022/app/classes/selection-controller.mjs +473 -0
  86. package/esm2022/app/classes/sorting-controller.mjs +207 -0
  87. package/esm2022/app/components/body/body.component.mjs +73 -0
  88. package/esm2022/app/components/body/row/actions/actions.component.mjs +102 -0
  89. package/esm2022/app/components/body/row/cell/cell.component.mjs +109 -0
  90. package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +32 -0
  91. package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +51 -0
  92. package/esm2022/app/components/body/row/row.component.mjs +341 -0
  93. package/esm2022/app/components/customize-cols/customize-cols.component.mjs +70 -0
  94. package/esm2022/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +16 -0
  95. package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +17 -0
  96. package/esm2022/app/components/footer/footer.component.mjs +35 -0
  97. package/esm2022/app/components/head/head-cell/head-cell.component.mjs +32 -0
  98. package/esm2022/app/components/head/head.component.mjs +113 -0
  99. package/esm2022/app/components/list/list.component.mjs +406 -0
  100. package/esm2022/app/components/loader/loader.component.mjs +40 -0
  101. package/esm2022/app/components/manage-saved-filters/manage-saved-filters.component.mjs +78 -0
  102. package/esm2022/app/components/pagination/pagination.component.mjs +40 -0
  103. package/esm2022/app/components/saved-filters/saved-filters.component.mjs +32 -0
  104. package/esm2022/app/components/status/status.component.mjs +69 -0
  105. package/esm2022/app/directives/cell/cell.directive.mjs +21 -0
  106. package/esm2022/app/directives/column/column.directive.mjs +137 -0
  107. package/{esm2020 → esm2022}/app/directives/content/content.directive.mjs +13 -13
  108. package/esm2022/app/directives/content-init/content-init.directive.mjs +23 -0
  109. package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +344 -0
  110. package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +83 -0
  111. package/esm2022/app/directives/empty-state/empty-state.directive.mjs +13 -0
  112. package/esm2022/app/directives/footer/footer.directive.mjs +21 -0
  113. package/esm2022/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +28 -0
  114. package/{esm2020 → esm2022}/app/directives/group-footer/group-footer.directive.mjs +14 -14
  115. package/{esm2020 → esm2022}/app/directives/group-header/group-header.directive.mjs +14 -14
  116. package/esm2022/app/directives/header/header.directive.mjs +21 -0
  117. package/esm2022/app/directives/heading/heading.directive.mjs +13 -0
  118. package/{esm2020 → esm2022}/app/directives/heading-container/heading-container.directive.mjs +13 -13
  119. package/{esm2020 → esm2022}/app/directives/index.mjs +4 -4
  120. package/esm2022/app/directives/subheading/subheading.directive.mjs +13 -0
  121. package/{esm2020 → esm2022}/app/enums/action-type.enum.mjs +8 -8
  122. package/{esm2020 → esm2022}/app/enums/page-change-type.enum.mjs +6 -6
  123. package/{esm2020 → esm2022}/app/enums/pagination-strategy.enum.mjs +7 -7
  124. package/{esm2020 → esm2022}/app/enums/row-type.enum.mjs +7 -7
  125. package/{esm2020 → esm2022}/app/enums/state.enum.mjs +11 -11
  126. package/{esm2020 → esm2022}/app/fs-list.module.mjs +244 -244
  127. package/{esm2020 → esm2022}/app/fs-list.providers.mjs +4 -4
  128. package/{esm2020 → esm2022}/app/interfaces/cellconfig.interface.mjs +2 -2
  129. package/{esm2020 → esm2022}/app/interfaces/column-config.interface.mjs +1 -1
  130. package/{esm2020 → esm2022}/app/interfaces/draggable-list.interface.mjs +2 -2
  131. package/esm2022/app/interfaces/external-params.interface.mjs +2 -0
  132. package/{esm2020 → esm2022}/app/interfaces/index.mjs +5 -5
  133. package/{esm2020 → esm2022}/app/interfaces/listconfig.interface.mjs +1 -1
  134. package/{esm2020 → esm2022}/app/interfaces/pagination-state.interface.mjs +1 -1
  135. package/esm2022/app/interfaces/pagination.interface.mjs +2 -0
  136. package/{esm2020 → esm2022}/app/interfaces/sorting-change-event.interface.mjs +2 -2
  137. package/{esm2020 → esm2022}/app/models/column-async-attribute.mjs +13 -13
  138. package/esm2022/app/models/column-attributes.mjs +139 -0
  139. package/esm2022/app/models/column.model.mjs +173 -0
  140. package/esm2022/app/models/row/base-row.mjs +25 -0
  141. package/esm2022/app/models/row/child-row.mjs +29 -0
  142. package/esm2022/app/models/row/group-footer-row.mjs +22 -0
  143. package/{esm2020 → esm2022}/app/models/row/group-row.mjs +45 -45
  144. package/{esm2020 → esm2022}/app/models/row/simple-row.mjs +10 -10
  145. package/esm2022/app/models/row-action.model.mjs +102 -0
  146. package/esm2022/app/models/row.mjs +90 -0
  147. package/esm2022/app/models/styleConfig.model.mjs +78 -0
  148. package/{esm2020 → esm2022}/app/pipes/action-label.mjs +17 -17
  149. package/{esm2020 → esm2022}/app/pipes/index.mjs +1 -1
  150. package/esm2022/app/services/group-expand-notifier.service.mjs +24 -0
  151. package/{esm2020 → esm2022}/firestitch-list.mjs +4 -4
  152. package/{esm2020 → esm2022}/public_api.mjs +45 -45
  153. package/{fesm2020 → fesm2022}/firestitch-list.mjs +5854 -5620
  154. package/fesm2022/firestitch-list.mjs.map +1 -0
  155. package/index.d.ts +5 -5
  156. package/package.json +5 -11
  157. package/public_api.d.ts +41 -41
  158. package/esm2020/app/classes/actions-controller.mjs +0 -55
  159. package/esm2020/app/classes/columns-controller.mjs +0 -206
  160. package/esm2020/app/classes/data-controller.mjs +0 -345
  161. package/esm2020/app/classes/external-params-controller.mjs +0 -147
  162. package/esm2020/app/classes/list-controller.mjs +0 -674
  163. package/esm2020/app/classes/pagination-controller.mjs +0 -491
  164. package/esm2020/app/classes/persistance-controller.mjs +0 -19
  165. package/esm2020/app/classes/reorder-controller.mjs +0 -182
  166. package/esm2020/app/classes/selection-controller.mjs +0 -466
  167. package/esm2020/app/classes/sorting-controller.mjs +0 -206
  168. package/esm2020/app/components/body/body.component.mjs +0 -64
  169. package/esm2020/app/components/body/row/actions/actions.component.mjs +0 -97
  170. package/esm2020/app/components/body/row/cell/cell.component.mjs +0 -107
  171. package/esm2020/app/components/body/row/inline-action/inline-action.component.mjs +0 -33
  172. package/esm2020/app/components/body/row/menu-action/menu-action.component.mjs +0 -46
  173. package/esm2020/app/components/body/row/row.component.mjs +0 -322
  174. package/esm2020/app/components/customize-cols/customize-cols.component.mjs +0 -68
  175. package/esm2020/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +0 -16
  176. package/esm2020/app/components/footer/footer-row/footer-row.component.mjs +0 -28
  177. package/esm2020/app/components/footer/footer.component.mjs +0 -31
  178. package/esm2020/app/components/head/head-cell/head-cell.component.mjs +0 -29
  179. package/esm2020/app/components/head/head.component.mjs +0 -103
  180. package/esm2020/app/components/list/list.component.mjs +0 -385
  181. package/esm2020/app/components/loader/loader.component.mjs +0 -40
  182. package/esm2020/app/components/manage-saved-filters/manage-saved-filters.component.mjs +0 -76
  183. package/esm2020/app/components/pagination/pagination.component.mjs +0 -37
  184. package/esm2020/app/components/saved-filters/saved-filters.component.mjs +0 -29
  185. package/esm2020/app/components/status/status.component.mjs +0 -64
  186. package/esm2020/app/directives/cell/cell.directive.mjs +0 -18
  187. package/esm2020/app/directives/column/column.directive.mjs +0 -121
  188. package/esm2020/app/directives/content-init/content-init.directive.mjs +0 -22
  189. package/esm2020/app/directives/draggable-list/draggable-list.directive.mjs +0 -330
  190. package/esm2020/app/directives/draggable-row/draggable-row.directive.mjs +0 -78
  191. package/esm2020/app/directives/empty-state/empty-state.directive.mjs +0 -13
  192. package/esm2020/app/directives/footer/footer.directive.mjs +0 -18
  193. package/esm2020/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs +0 -26
  194. package/esm2020/app/directives/header/header.directive.mjs +0 -18
  195. package/esm2020/app/directives/heading/heading.directive.mjs +0 -13
  196. package/esm2020/app/directives/subheading/subheading.directive.mjs +0 -13
  197. package/esm2020/app/interfaces/external-params.interface.mjs +0 -2
  198. package/esm2020/app/interfaces/pagination.interface.mjs +0 -2
  199. package/esm2020/app/models/column-attributes.mjs +0 -132
  200. package/esm2020/app/models/column.model.mjs +0 -164
  201. package/esm2020/app/models/row/base-row.mjs +0 -23
  202. package/esm2020/app/models/row/child-row.mjs +0 -28
  203. package/esm2020/app/models/row/group-footer-row.mjs +0 -21
  204. package/esm2020/app/models/row-action.model.mjs +0 -90
  205. package/esm2020/app/models/row.mjs +0 -89
  206. package/esm2020/app/models/styleConfig.model.mjs +0 -76
  207. package/esm2020/app/services/group-expand-notifier.service.mjs +0 -26
  208. package/fesm2015/firestitch-list.mjs +0 -5801
  209. package/fesm2015/firestitch-list.mjs.map +0 -1
  210. package/fesm2020/firestitch-list.mjs.map +0 -1
@@ -0,0 +1,78 @@
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 "@angular/material/button";
8
+ import * as i3 from "@angular/material/dialog";
9
+ import * as i4 from "../list/list.component";
10
+ import * as i5 from "../../directives/column/column.directive";
11
+ import * as i6 from "../../directives/cell/cell.directive";
12
+ export class FsListManageSavedFiltersComponent {
13
+ _externalParams;
14
+ config;
15
+ _reorderReady = true;
16
+ constructor(_externalParams) {
17
+ this._externalParams = _externalParams;
18
+ this._initList();
19
+ }
20
+ get savedFiltersController() {
21
+ return this._externalParams.savedFiltersController;
22
+ }
23
+ _initList() {
24
+ this.config = {
25
+ status: false,
26
+ filterInput: false,
27
+ queryParam: false,
28
+ persist: false,
29
+ paging: false,
30
+ reorder: {
31
+ position: ReorderPosition.Left,
32
+ moveDrop: () => {
33
+ return this._reorderReady;
34
+ },
35
+ done: (reorderData) => {
36
+ this._reorderReady = false;
37
+ const filterData = reorderData.map((data) => data.data);
38
+ this.savedFiltersController.order(filterData)
39
+ .pipe(tap(() => {
40
+ this._reorderReady = true;
41
+ }))
42
+ .subscribe(() => { });
43
+ },
44
+ },
45
+ rowActions: [
46
+ {
47
+ label: 'Apply',
48
+ click: (filter) => {
49
+ this._externalParams.setActiveSavedFilter(filter);
50
+ },
51
+ },
52
+ {
53
+ label: 'Delete',
54
+ remove: {
55
+ title: 'Confirm',
56
+ template: 'Are you sure you want to delete this filter?',
57
+ },
58
+ click: (savedFilter) => {
59
+ return this.savedFiltersController.delete(savedFilter);
60
+ },
61
+ },
62
+ ],
63
+ fetch: (query) => {
64
+ return this.savedFiltersController.load()
65
+ .pipe(map((response) => {
66
+ return { data: response };
67
+ }));
68
+ },
69
+ };
70
+ }
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListManageSavedFiltersComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
72
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsListManageSavedFiltersComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>\n Manage Saved Filters\n</h1>\n<div mat-dialog-content>\n <fs-list [config]=\"config\">\n <fs-list-column name=\"name\" title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.name }}\n </ng-template>\n </fs-list-column>\n </fs-list>\n</div>\n<div mat-dialog-actions>\n <button mat-button\n [mat-dialog-close]=\"null\"\n type=\"button\"\n color=\"primary\">\n Done\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i5.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i6.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListManageSavedFiltersComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 mat-dialog-title>\n Manage Saved Filters\n</h1>\n<div mat-dialog-content>\n <fs-list [config]=\"config\">\n <fs-list-column name=\"name\" title=\"Name\">\n <ng-template fs-list-cell let-row=\"row\">\n {{ row.name }}\n </ng-template>\n </fs-list-column>\n </fs-list>\n</div>\n<div mat-dialog-actions>\n <button mat-button\n [mat-dialog-close]=\"null\"\n type=\"button\"\n color=\"primary\">\n Done\n </button>\n</div>\n" }]
77
+ }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXNhdmVkLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL21hbmFnZS1zYXZlZC1maWx0ZXJzL21hbmFnZS1zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFDTCx3QkFBd0IsR0FHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFRbkUsTUFBTSxPQUFPLGlDQUFpQztJQU9sQztJQUxILE1BQU0sQ0FBZTtJQUVwQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBRTdCLFlBQ1UsZUFBeUM7UUFBekMsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRWpELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBWSxzQkFBc0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JELENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFLEtBQUs7WUFDbEIsVUFBVSxFQUFFLEtBQUs7WUFDakIsT0FBTyxFQUFFLEtBQUs7WUFDZCxNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsZUFBZSxDQUFDLElBQUk7Z0JBQzlCLFFBQVEsRUFBRSxHQUFHLEVBQUU7b0JBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUM1QixDQUFDO2dCQUNELElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztvQkFFM0IsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4RCxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzt5QkFDMUMsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7d0JBQ1AsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUNIO3lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsQ0FBQzthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEtBQUssRUFBRSxPQUFPO29CQUNkLEtBQUssRUFBRSxDQUFDLE1BQTBCLEVBQUUsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDcEQsQ0FBQztpQkFDRjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsUUFBUTtvQkFDZixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLFFBQVEsRUFBRSw4Q0FBOEM7cUJBQ3pEO29CQUNELEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO3dCQUNyQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3pELENBQUM7aUJBQ0Y7YUFDRjtZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRTtxQkFDdEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNmLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDTixDQUFDO1NBRUYsQ0FBQztJQUNKLENBQUM7d0dBckVVLGlDQUFpQzs0RkFBakMsaUNBQWlDLG9EQ2xCOUMsa2VBb0JBOzs0RkRGYSxpQ0FBaUM7a0JBSjdDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXIsXG4gIFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIsXG59IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5cbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBSZW9yZGVyUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Jlb3JkZXItY29udHJvbGxlcic7XG5pbXBvcnQgeyBGc0xpc3RDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2xpc3Rjb25maWcuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdE1hbmFnZVNhdmVkRmlsdGVyc0NvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbmZpZzogRnNMaXN0Q29uZmlnO1xuXG4gIHByaXZhdGUgX3Jlb3JkZXJSZWFkeSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxQYXJhbXM6IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlcixcbiAgKSB7XG4gICAgdGhpcy5faW5pdExpc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHNhdmVkRmlsdGVyc0NvbnRyb2xsZXIoKTogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB7XG4gICAgcmV0dXJuIHRoaXMuX2V4dGVybmFsUGFyYW1zLnNhdmVkRmlsdGVyc0NvbnRyb2xsZXI7XG4gIH1cblxuICBwcml2YXRlIF9pbml0TGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIHN0YXR1czogZmFsc2UsXG4gICAgICBmaWx0ZXJJbnB1dDogZmFsc2UsXG4gICAgICBxdWVyeVBhcmFtOiBmYWxzZSxcbiAgICAgIHBlcnNpc3Q6IGZhbHNlLFxuICAgICAgcGFnaW5nOiBmYWxzZSxcbiAgICAgIHJlb3JkZXI6IHtcbiAgICAgICAgcG9zaXRpb246IFJlb3JkZXJQb3NpdGlvbi5MZWZ0LFxuICAgICAgICBtb3ZlRHJvcDogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9yZW9yZGVyUmVhZHk7XG4gICAgICAgIH0sXG4gICAgICAgIGRvbmU6IChyZW9yZGVyRGF0YSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3Jlb3JkZXJSZWFkeSA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgZmlsdGVyRGF0YSA9IHJlb3JkZXJEYXRhLm1hcCgoZGF0YSkgPT4gZGF0YS5kYXRhKTtcbiAgICAgICAgICB0aGlzLnNhdmVkRmlsdGVyc0NvbnRyb2xsZXIub3JkZXIoZmlsdGVyRGF0YSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlb3JkZXJSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7IH0pO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJvd0FjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQXBwbHknLFxuICAgICAgICAgIGNsaWNrOiAoZmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4dGVybmFsUGFyYW1zLnNldEFjdGl2ZVNhdmVkRmlsdGVyKGZpbHRlcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnRGVsZXRlJyxcbiAgICAgICAgICByZW1vdmU6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnQ29uZmlybScsXG4gICAgICAgICAgICB0ZW1wbGF0ZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBmaWx0ZXI/JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNsaWNrOiAoc2F2ZWRGaWx0ZXIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNhdmVkRmlsdGVyc0NvbnRyb2xsZXIuZGVsZXRlKHNhdmVkRmlsdGVyKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGZldGNoOiAocXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5sb2FkKClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgZGF0YTogcmVzcG9uc2UgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9LFxuXG4gICAgfTtcbiAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gIE1hbmFnZSBTYXZlZCBGaWx0ZXJzXG48L2gxPlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxmcy1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XG4gICAgPGZzLWxpc3QtY29sdW1uIG5hbWU9XCJuYW1lXCIgdGl0bGU9XCJOYW1lXCI+XG4gICAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgICAge3sgcm93Lm5hbWUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPC9mcy1saXN0PlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgRG9uZVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,40 @@
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/common";
7
+ import * as i2 from "@angular/material/button";
8
+ import * as i3 from "@angular/material/core";
9
+ import * as i4 from "@firestitch/common";
10
+ export class FsPaginationComponent {
11
+ _cdRef;
12
+ pagination;
13
+ rows;
14
+ _destroy$ = new Subject();
15
+ constructor(_cdRef) {
16
+ this._cdRef = _cdRef;
17
+ }
18
+ ngOnInit() {
19
+ merge(this.pagination.pageChanged$, this.pagination.pages$)
20
+ .pipe(takeUntil(this._destroy$))
21
+ .subscribe(() => {
22
+ this._cdRef.markForCheck();
23
+ });
24
+ }
25
+ ngOnDestroy() {
26
+ this._destroy$.next();
27
+ this._destroy$.complete();
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 \n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"pagination.goNext()\">\n {{ pagination.loadMoreLabel }}\n </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"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: i4.FsFormatNumberPipe, name: "fsFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsPaginationComponent, decorators: [{
33
+ type: Component,
34
+ 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 \n mat-button\n type=\"button\"\n [class]=\"pagination.loadMoreButtonClass\"\n [color]=\"pagination.loadMoreButtonColor\"\n (click)=\"pagination.goNext()\">\n {{ pagination.loadMoreLabel }}\n </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"] }]
35
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
36
+ type: Input
37
+ }], rows: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQVEzRSxNQUFNLE9BQU8scUJBQXFCO0lBUXRCO0lBTk0sVUFBVSxDQUF1QjtJQUNqQyxJQUFJLENBQUM7SUFFYixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVsQyxZQUNVLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQy9CLENBQUM7SUFFRSxRQUFRO1FBQ2IsS0FBSyxDQUNILElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDdkI7YUFDRSxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQTNCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQiw4R0NwQmxDLHdrREFvQ0E7OzRGRGhCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07d0dBSS9CLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc1BhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIHBhZ2luYXRpb246IFBhZ2luYXRpb25Db250cm9sbGVyO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBtZXJnZShcbiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlQ2hhbmdlZCQsXG4gICAgICB0aGlzLnBhZ2luYXRpb24ucGFnZXMkLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwYWdpbmF0aW9uLmxvYWRNb3JlRW5hYmxlZDsgZWxzZSBsb2FkTW9yZUJ1dHRvblwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5hdGlvbj8ucGFnZXNcIj5cbiAgICA8YSBtYXRSaXBwbGUgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCIgY2xhc3M9XCJmaXJzdFwiIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnaW5hdGlvbi5oYXNQcmV2UGFnZVwiIChjbGljayk9XCJwYWdpbmF0aW9uLmdvRmlyc3QoKVwiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmZpcnN0X3BhZ2U8L2k+XG4gICAgPC9hPlxuXG4gICAgPGEgbWF0UmlwcGxlIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIiBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIGNsYXNzPVwicHJldmlvdXNcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXBhZ2luYXRpb24uaGFzUHJldlBhZ2VcIiAoY2xpY2spPVwicGFnaW5hdGlvbi5nb1ByZXYoKVwiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmtleWJvYXJkX2Fycm93X2xlZnQ8L2k+XG4gICAgPC9hPlxuXG4gICAgPGRpdiBjbGFzcz1cIm51bWJlclwiPlxuICAgICAge3sgcGFnaW5hdGlvbi5wYWdlIHwgZnNGb3JtYXROdW1iZXIgfX0gb2Yge3sgcGFnaW5hdGlvbi5wYWdlcyB8IGZzRm9ybWF0TnVtYmVyIH19XG4gICAgPC9kaXY+XG5cbiAgICA8YSBtYXRSaXBwbGUgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCIgY2xhc3M9XCJuZXh0XCIgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdpbmF0aW9uLmhhc05leHRQYWdlXCIgKGNsaWNrKT1cInBhZ2luYXRpb24uZ29OZXh0KClcIj5cbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvaT5cbiAgICA8L2E+XG5cbiAgICA8YSBtYXRSaXBwbGUgW21hdFJpcHBsZVJhZGl1c109XCIxNVwiIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCIgY2xhc3M9XCJsYXN0XCIgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdpbmF0aW9uLmhhc05leHRQYWdlXCIgKGNsaWNrKT1cInBhZ2luYXRpb24uZ29MYXN0KClcIj5cbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5sYXN0X3BhZ2U8L2k+XG4gICAgPC9hPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2xvYWRNb3JlQnV0dG9uPlxuICA8ZGl2IGNsYXNzPVwiZnMtbGlzdC1sb2FkLW1vcmVcIiAqbmdJZj1cInBhZ2luYXRpb24uaGFzTmV4dFBhZ2VcIj5cbiAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbY2xhc3NdPVwicGFnaW5hdGlvbi5sb2FkTW9yZUJ1dHRvbkNsYXNzXCJcbiAgICAgICAgW2NvbG9yXT1cInBhZ2luYXRpb24ubG9hZE1vcmVCdXR0b25Db2xvclwiXG4gICAgICAgIChjbGljayk9XCJwYWdpbmF0aW9uLmdvTmV4dCgpXCI+XG4gICAgICAge3sgcGFnaW5hdGlvbi5sb2FkTW9yZUxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,32 @@
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
+ _dialog;
10
+ _externalParams;
11
+ _vcRef;
12
+ constructor(_dialog, _externalParams, _vcRef) {
13
+ this._dialog = _dialog;
14
+ this._externalParams = _externalParams;
15
+ this._vcRef = _vcRef;
16
+ }
17
+ get savedFiltersEnabled$() {
18
+ return this._externalParams.savedFiltersController.enabled$;
19
+ }
20
+ showManageDialog() {
21
+ // this._dialog.open(FsListManageSavedFiltersComponent, {
22
+ // viewContainerRef: this._vcRef,
23
+ // });
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListSavedFiltersComponent, deps: [{ token: i1.MatDialog }, { token: i2.ExternalParamsController }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsListSavedFiltersComponent, selector: "fs-list-saved-filters", ngImport: i0, template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\n -->, saved filter\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: ["clear"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListSavedFiltersComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'fs-list-saved-filters', template: "<ng-container *ngIf=\"savedFiltersEnabled$ | async\"><!--\n -->, saved filter\n <fs-filter-saved-filters-menu (manage)=\"showManageDialog()\"></fs-filter-saved-filters-menu>\n</ng-container>\n" }]
31
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ExternalParamsController }, { type: i0.ViewContainerRef }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVycy9zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXJzL3NhdmVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTywyQkFBMkI7SUFFNUI7SUFDQTtJQUNBO0lBSFYsWUFDVSxPQUFrQixFQUNsQixlQUF5QyxFQUN6QyxNQUF3QjtRQUZ4QixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUM5QixDQUFDO0lBRUwsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLHlEQUF5RDtRQUN6RCxtQ0FBbUM7UUFDbkMsTUFBTTtJQUNSLENBQUM7d0dBZlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsNkRDYnhDLG9NQUlBOzs0RkRTYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1saXN0LXNhdmVkLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdFNhdmVkRmlsdGVyc0NvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2V4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBfdmNSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkgeyB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnNFbmFibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5lbmFibGVkJDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93TWFuYWdlRGlhbG9nKCk6IHZvaWQge1xuICAgIC8vIHRoaXMuX2RpYWxvZy5vcGVuKEZzTGlzdE1hbmFnZVNhdmVkRmlsdGVyc0NvbXBvbmVudCwge1xuICAgIC8vICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy5fdmNSZWYsXG4gICAgLy8gfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzYXZlZEZpbHRlcnNFbmFibGVkJCB8IGFzeW5jXCI+PCEtLVxuICAtLT4sIHNhdmVkIGZpbHRlclxuICA8ZnMtZmlsdGVyLXNhdmVkLWZpbHRlcnMtbWVudSAobWFuYWdlKT1cInNob3dNYW5hZ2VEaWFsb2coKVwiPjwvZnMtZmlsdGVyLXNhdmVkLWZpbHRlcnMtbWVudT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,69 @@
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 "@angular/common";
9
+ import * as i2 from "@firestitch/menu";
10
+ import * as i3 from "../saved-filters/saved-filters.component";
11
+ export class FsStatusComponent {
12
+ _cdRef;
13
+ paging;
14
+ sorting;
15
+ rows;
16
+ firstLoad;
17
+ _destroy$ = new Subject();
18
+ constructor(_cdRef) {
19
+ this._cdRef = _cdRef;
20
+ }
21
+ ngOnInit() {
22
+ this.sorting.sortingChanged$
23
+ .pipe(takeUntil(this._destroy$))
24
+ .subscribe(() => {
25
+ this._cdRef.markForCheck();
26
+ });
27
+ }
28
+ ngOnDestroy() {
29
+ this._destroy$.next();
30
+ this._destroy$.complete();
31
+ }
32
+ toggleDirection() {
33
+ if (this.sorting.sortingColumn.direction === 'asc') {
34
+ this.sorting.sortDirection(SortingDirection.desc);
35
+ }
36
+ else {
37
+ this.sorting.sortDirection(SortingDirection.asc);
38
+ }
39
+ }
40
+ setSortableColumn(column) {
41
+ if (this.sorting.sortingColumn !== column) {
42
+ this.sorting.sortBy(column);
43
+ }
44
+ }
45
+ setLimit(limit) {
46
+ this.paging.setLimit(limit);
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsStatusComponent, selector: "fs-list-status", inputs: { paging: "paging", sorting: "sorting", rows: "rows", firstLoad: "firstLoad" }, host: { properties: { "class.first-load": "this.firstLoad", "class.fs-skeleton-placeholder": "this.firstLoad" } }, ngImport: i0, template: "<div class=\"status\">\n <small>\n <ng-container *ngIf=\"paging.enabled\">\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\n </ng-container>\n <ng-template #emptyResults>\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n --></ng-container><!--\n\n --><ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\n <ng-container *ngIf=\"!scrollable; else scrollable\">\n Showing\n <span *ngIf=\"paging.displayed === 1\">{{ paging.displayed }} result </span>\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\n </ng-container>\n\n <ng-template #scrollable>\n <span *ngIf=\"paging.records === 1\">{{ paging.records }} result </span>\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n --></ng-container><!--\n\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n\n <fs-menu [hidden]=\"!paging.enabled\" #limitsMenu>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\n </ng-container>\n <ng-template #sortByTemplate>\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>,\n </ng-template>\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\n --></ng-container><!--\n --></ng-template>\n </small> \n</div>\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "component", type: i3.FsListSavedFiltersComponent, selector: "fs-list-saved-filters" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsStatusComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'fs-list-status', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: true, template: "<div class=\"status\">\n <small>\n <ng-container *ngIf=\"paging.enabled\">\n <ng-container *ngIf=\"paging.records > 0; else emptyResults\">\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">{{ paging.statusLabel }}</a> of {{ paging.records | number:'1.0':'en-US' }} results\n </ng-container>\n <ng-template #emptyResults>\n Showing <a [fsMenuTriggerFor]=\"limitsMenu\">0</a> results\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n --></ng-container><!--\n\n --><ng-container *ngIf=\"(!paging.enabled) && paging.displayed > 0\">\n <ng-container *ngIf=\"!scrollable; else scrollable\">\n Showing\n <span *ngIf=\"paging.displayed === 1\">{{ paging.displayed }} result </span>\n <span *ngIf=\"paging.displayed > 1\">{{ paging.displayed | number:'1.0':'en-US' }} results </span>\n </ng-container>\n\n <ng-template #scrollable>\n <span *ngIf=\"paging.records === 1\">{{ paging.records }} result </span>\n <span *ngIf=\"paging.records > 1\">{{ paging.records | number:'1.0':'en-US' }} results </span>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"sortedBy\"></ng-container><!--\n --></ng-container><!--\n\n --><fs-list-saved-filters class=\"saved-filters\"></fs-list-saved-filters>\n\n <fs-menu [hidden]=\"!paging.enabled\" #limitsMenu>\n <ng-template\n ngFor\n let-limit\n [ngForOf]=\"paging.limits\">\n <ng-template fs-menu-item (click)=\"setLimit(limit)\">\n {{ limit }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <fs-menu [hidden]=\"!sorting.sortingColumn || paging.displayed === 0\" #orderColumnsMenu>\n <!-- Real sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.sortingColumns\">\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n <ng-container *ngIf=\"column.title; else sortByTemplate\">\n {{ column.title }}\n </ng-container>\n <ng-template #sortByTemplate>\n <ng-template [ngTemplateOutlet]=\"column.headerTemplate\"></ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n\n <!-- Fake sorting columns -->\n <ng-template\n ngFor\n let-column\n [ngForOf]=\"sorting.fakeSortingColumns\">\n <ng-template fs-menu-item (click)=\"setSortableColumn(column)\">\n {{ column.title }}\n </ng-template>\n </ng-template>\n </fs-menu>\n\n <ng-template #sortedBy>\n <ng-container *ngIf=\"sorting.sortingColumn\">\n sorted by\n <ng-container *ngIf=\"sorting.sortingColumn.title; else sortByTemplate\">\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">{{ sorting.sortingColumn.title }}</a>,\n </ng-container>\n <ng-template #sortByTemplate>\n <a class=\"order-toggle\" [fsMenuTriggerFor]=\"orderColumnsMenu\">\n <ng-template [ngTemplateOutlet]=\"sorting.sortingColumn.headerTemplate\"></ng-template>\n </a>,\n </ng-template>\n <a class=\"order-toggle\" (click)=\"toggleDirection()\">{{ sorting.sortingColumn.fullNameDirection }}</a><!--\n --></ng-container><!--\n --></ng-template>\n </small> \n</div>\n", styles: [":host.hidden-mobile{display:none!important}:host.first-load .status{visibility:hidden}.order-toggle{white-space:nowrap}a{cursor:pointer}\n"] }]
54
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { paging: [{
55
+ type: Input
56
+ }], sorting: [{
57
+ type: Input
58
+ }], rows: [{
59
+ type: Input
60
+ }], firstLoad: [{
61
+ type: Input
62
+ }, {
63
+ type: HostBinding,
64
+ args: ['class.first-load']
65
+ }, {
66
+ type: HostBinding,
67
+ args: ['class.fs-skeleton-placeholder']
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8saUJBQWlCO0lBYVI7SUFYSixNQUFNLENBQXVCO0lBQzdCLE9BQU8sQ0FBb0I7SUFDM0IsSUFBSSxDQUFDO0lBS2QsU0FBUyxDQUFVO0lBRWxCLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQzdDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBTTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO3dHQS9DVSxpQkFBaUI7NEZBQWpCLGlCQUFpQixpUUN6QjlCLG93R0FrRkE7OzRGRHpEYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLElBQUk7d0dBSVQsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS0MsU0FBUztzQkFIZixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjs7c0JBQzlCLFdBQVc7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBhZ2luYXRpb25Db250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9wYWdpbmF0aW9uLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU29ydGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NvcnRpbmctY29udHJvbGxlcic7XG5pbXBvcnQgeyBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbHVtbi5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1zdGF0dXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RhdHVzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGc1N0YXR1c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgcGFnaW5nOiBQYWdpbmF0aW9uQ29udHJvbGxlcjtcbiAgQElucHV0KCkgcHVibGljIHNvcnRpbmc6IFNvcnRpbmdDb250cm9sbGVyO1xuICBASW5wdXQoKSBwdWJsaWMgcm93cztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpcnN0LWxvYWQnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZzLXNrZWxldG9uLXBsYWNlaG9sZGVyJylcbiAgcHVibGljIGZpcnN0TG9hZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zb3J0aW5nLnNvcnRpbmdDaGFuZ2VkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVEaXJlY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuc29ydGluZy5zb3J0aW5nQ29sdW1uLmRpcmVjdGlvbiA9PT0gJ2FzYycpIHtcbiAgICAgIHRoaXMuc29ydGluZy5zb3J0RGlyZWN0aW9uKFNvcnRpbmdEaXJlY3Rpb24uZGVzYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc29ydGluZy5zb3J0RGlyZWN0aW9uKFNvcnRpbmdEaXJlY3Rpb24uYXNjKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0U29ydGFibGVDb2x1bW4oY29sdW1uKSB7XG4gICAgaWYgKHRoaXMuc29ydGluZy5zb3J0aW5nQ29sdW1uICE9PSBjb2x1bW4pIHtcbiAgICAgIHRoaXMuc29ydGluZy5zb3J0QnkoY29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0TGltaXQobGltaXQpIHtcbiAgICB0aGlzLnBhZ2luZy5zZXRMaW1pdChsaW1pdCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cbiAgPHNtYWxsPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdpbmcuZW5hYmxlZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2luZy5yZWNvcmRzID4gMDsgZWxzZSBlbXB0eVJlc3VsdHNcIj5cbiAgICAgICAgU2hvd2luZyA8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJsaW1pdHNNZW51XCI+e3sgcGFnaW5nLnN0YXR1c0xhYmVsIH19PC9hPiBvZiB7eyBwYWdpbmcucmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHNcbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eVJlc3VsdHM+XG4gICAgICAgIFNob3dpbmcgPGEgW2ZzTWVudVRyaWdnZXJGb3JdPVwibGltaXRzTWVudVwiPjA8L2E+IHJlc3VsdHNcbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydGVkQnlcIj48L25nLWNvbnRhaW5lcj48IS0tXG4gIC0tPjwvbmctY29udGFpbmVyPjwhLS1cblxuICAtLT48bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCkgJiYgcGFnaW5nLmRpc3BsYXllZCA+IDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNjcm9sbGFibGU7IGVsc2Ugc2Nyb2xsYWJsZVwiPlxuICAgICAgU2hvd2luZ1xuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcuZGlzcGxheWVkID09PSAxXCI+e3sgcGFnaW5nLmRpc3BsYXllZCB9fSByZXN1bHQgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcuZGlzcGxheWVkID4gMVwiPnt7IHBhZ2luZy5kaXNwbGF5ZWQgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fSByZXN1bHRzIDwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc2Nyb2xsYWJsZT5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGFnaW5nLnJlY29yZHMgPT09IDFcIj57eyBwYWdpbmcucmVjb3JkcyB9fSByZXN1bHQgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucmVjb3JkcyA+IDFcIj57eyBwYWdpbmcucmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHMgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvcnRlZEJ5XCI+PC9uZy1jb250YWluZXI+PCEtLVxuICAtLT48L25nLWNvbnRhaW5lcj48IS0tXG5cbiAgLS0+PGZzLWxpc3Qtc2F2ZWQtZmlsdGVycyBjbGFzcz1cInNhdmVkLWZpbHRlcnNcIj48L2ZzLWxpc3Qtc2F2ZWQtZmlsdGVycz5cblxuICAgIDxmcy1tZW51IFtoaWRkZW5dPVwiIXBhZ2luZy5lbmFibGVkXCIgI2xpbWl0c01lbnU+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmdGb3JcbiAgICAgICAgbGV0LWxpbWl0XG4gICAgICAgIFtuZ0Zvck9mXT1cInBhZ2luZy5saW1pdHNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGZzLW1lbnUtaXRlbSAoY2xpY2spPVwic2V0TGltaXQobGltaXQpXCI+XG4gICAgICAgICAge3sgbGltaXQgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1tZW51PlxuXG4gICAgPGZzLW1lbnUgW2hpZGRlbl09XCIhc29ydGluZy5zb3J0aW5nQ29sdW1uIHx8IHBhZ2luZy5kaXNwbGF5ZWQgPT09IDBcIiAjb3JkZXJDb2x1bW5zTWVudT5cbiAgICAgIDwhLS0gUmVhbCBzb3J0aW5nIGNvbHVtbnMgLS0+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmdGb3JcbiAgICAgICAgbGV0LWNvbHVtblxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbilcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlOyBlbHNlIHNvcnRCeVRlbXBsYXRlXCI+XG4gICAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NvcnRCeVRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDwhLS0gRmFrZSBzb3J0aW5nIGNvbHVtbnMgLS0+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgbmdGb3JcbiAgICAgICAgbGV0LWNvbHVtblxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLmZha2VTb3J0aW5nQ29sdW1uc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgZnMtbWVudS1pdGVtIChjbGljayk9XCJzZXRTb3J0YWJsZUNvbHVtbihjb2x1bW4pXCI+XG4gICAgICAgICAge3sgY29sdW1uLnRpdGxlIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZnMtbWVudT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc29ydGVkQnk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydGluZy5zb3J0aW5nQ29sdW1uXCI+XG4gICAgICAgIHNvcnRlZCBieVxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLnRpdGxlOyBlbHNlIHNvcnRCeVRlbXBsYXRlXCI+XG4gICAgICAgICAgPGEgY2xhc3M9XCJvcmRlci10b2dnbGVcIiBbZnNNZW51VHJpZ2dlckZvcl09XCJvcmRlckNvbHVtbnNNZW51XCI+e3sgc29ydGluZy5zb3J0aW5nQ29sdW1uLnRpdGxlIH19PC9hPixcbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc29ydEJ5VGVtcGxhdGU+XG4gICAgICAgICAgPGEgY2xhc3M9XCJvcmRlci10b2dnbGVcIiBbZnNNZW51VHJpZ2dlckZvcl09XCJvcmRlckNvbHVtbnNNZW51XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2E+LFxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8YSBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi5mdWxsTmFtZURpcmVjdGlvbiB9fTwvYT48IS0tXG4gICAgLS0+PC9uZy1jb250YWluZXI+PCEtLVxuICAtLT48L25nLXRlbXBsYXRlPlxuICA8L3NtYWxsPiAgXG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListCellDirective {
4
+ colspan;
5
+ align;
6
+ className;
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsListCellDirective, selector: "[fs-list-cell]", inputs: { colspan: "colspan", align: "align", className: ["class", "className"] }, ngImport: i0 });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListCellDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{ selector: '[fs-list-cell]' }]
13
+ }], propDecorators: { colspan: [{
14
+ type: Input
15
+ }], align: [{
16
+ type: Input
17
+ }], className: [{
18
+ type: Input,
19
+ args: ['class']
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY2VsbC9jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHakQsTUFBTSxPQUFPLG1CQUFtQjtJQUNkLE9BQU8sQ0FBQztJQUNSLEtBQUssQ0FBUztJQUNQLFNBQVMsQ0FBb0I7d0dBSHpDLG1CQUFtQjs0RkFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzhCQUV2QixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ2lCLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2ZzLWxpc3QtY2VsbF0nIH0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q2VsbERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xzcGFuO1xuICBASW5wdXQoKSBwdWJsaWMgYWxpZ246IHN0cmluZztcbiAgQElucHV0KCdjbGFzcycpIHB1YmxpYyBjbGFzc05hbWU6IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuIl19
@@ -0,0 +1,137 @@
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
+ // Header
13
+ headerTemplate;
14
+ headerConfigs;
15
+ // Group
16
+ groupHeaderTemplate;
17
+ groupHeaderConfigs;
18
+ // Group Footer
19
+ groupFooterTemplate;
20
+ groupFooterConfigs;
21
+ // Trigger
22
+ expandTrigger;
23
+ // Cell
24
+ cellTemplate;
25
+ cellConfigs;
26
+ // Footer
27
+ footerTemplate;
28
+ footerConfigs;
29
+ _columnAttributes = new ColumnAttributes();
30
+ constructor() { }
31
+ get attributes() {
32
+ return this._columnAttributes;
33
+ }
34
+ set visible(value) {
35
+ this._columnAttributes.visible = value;
36
+ }
37
+ set title(value) {
38
+ this._columnAttributes.title = value;
39
+ }
40
+ set name(value) {
41
+ this._columnAttributes.name = value;
42
+ }
43
+ set customize(value) {
44
+ this._columnAttributes.customize = value;
45
+ }
46
+ set sortable(value) {
47
+ this._columnAttributes.sortable = value;
48
+ }
49
+ set sortableDefault(value) {
50
+ this._columnAttributes.sortableDefault = value;
51
+ }
52
+ set sortableDirection(value) {
53
+ this.sortable = true;
54
+ this._columnAttributes.direction = value;
55
+ }
56
+ /**
57
+ * @deprecated
58
+ */
59
+ set direction(value) {
60
+ this._columnAttributes.direction = value;
61
+ }
62
+ set align(value) {
63
+ this._columnAttributes.align = value;
64
+ }
65
+ set width(value) {
66
+ this._columnAttributes.width = value;
67
+ }
68
+ set className(value) {
69
+ this._columnAttributes.className = value;
70
+ }
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
72
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", 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 });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListColumnDirective, decorators: [{
75
+ type: Directive,
76
+ args: [{
77
+ selector: 'fs-list-column'
78
+ }]
79
+ }], ctorParameters: function () { return []; }, propDecorators: { headerTemplate: [{
80
+ type: ContentChild,
81
+ args: [FsListHeaderDirective, { read: TemplateRef, static: true }]
82
+ }], headerConfigs: [{
83
+ type: ContentChild,
84
+ args: [FsListHeaderDirective, { static: true }]
85
+ }], groupHeaderTemplate: [{
86
+ type: ContentChild,
87
+ args: [FsListGroupHeaderDirective, { read: TemplateRef, static: true }]
88
+ }], groupHeaderConfigs: [{
89
+ type: ContentChild,
90
+ args: [FsListGroupHeaderDirective, { static: true }]
91
+ }], groupFooterTemplate: [{
92
+ type: ContentChild,
93
+ args: [FsListGroupFooterDirective, { read: TemplateRef, static: true }]
94
+ }], groupFooterConfigs: [{
95
+ type: ContentChild,
96
+ args: [FsListGroupFooterDirective, { static: true }]
97
+ }], expandTrigger: [{
98
+ type: ContentChildren,
99
+ args: [FsListGroupExpandTriggerDirective, { descendants: true }]
100
+ }], cellTemplate: [{
101
+ type: ContentChild,
102
+ args: [FsListCellDirective, { read: TemplateRef, static: true }]
103
+ }], cellConfigs: [{
104
+ type: ContentChild,
105
+ args: [FsListCellDirective, { static: true }]
106
+ }], footerTemplate: [{
107
+ type: ContentChild,
108
+ args: [FsListFooterDirective, { read: TemplateRef, static: true }]
109
+ }], footerConfigs: [{
110
+ type: ContentChild,
111
+ args: [FsListFooterDirective, { static: true }]
112
+ }], visible: [{
113
+ type: Input,
114
+ args: ['show']
115
+ }], title: [{
116
+ type: Input
117
+ }], name: [{
118
+ type: Input
119
+ }], customize: [{
120
+ type: Input
121
+ }], sortable: [{
122
+ type: Input
123
+ }], sortableDefault: [{
124
+ type: Input
125
+ }], sortableDirection: [{
126
+ type: Input
127
+ }], direction: [{
128
+ type: Input
129
+ }], align: [{
130
+ type: Input
131
+ }], width: [{
132
+ type: Input
133
+ }], className: [{
134
+ type: Input,
135
+ args: ['class']
136
+ }] } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb2x1bW4vY29sdW1uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsYUFBYTtBQUNiLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQU1wRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFNBQVM7SUFFRixjQUFjLENBQW1CO0lBR2pDLGFBQWEsQ0FBYTtJQUVqQyxRQUFRO0lBRUQsbUJBQW1CLENBQW1CO0lBR3RDLGtCQUFrQixDQUFhO0lBRXRDLGVBQWU7SUFFUixtQkFBbUIsQ0FBbUI7SUFHdEMsa0JBQWtCLENBQWE7SUFFdEMsVUFBVTtJQUVILGFBQWEsQ0FBK0M7SUFFbkUsT0FBTztJQUVBLFlBQVksQ0FBbUI7SUFHL0IsV0FBVyxDQUFhO0lBRS9CLFNBQVM7SUFFRixjQUFjLENBQW1CO0lBR2pDLGFBQWEsQ0FBYTtJQUVoQixpQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFFNUQsZ0JBQWUsQ0FBQztJQUVoQixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csSUFBSSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQ1csZUFBZSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVELElBQ1csaUJBQWlCLENBQUMsS0FBcUI7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBcUI7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csU0FBUyxDQUFDLEtBQXdCO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7d0dBMUdVLHFCQUFxQjs0RkFBckIscUJBQXFCLCtYQUdsQixxQkFBcUIsMkJBQVUsV0FBVywyRUFHMUMscUJBQXFCLG9HQUlyQiwwQkFBMEIsMkJBQVUsV0FBVyxnRkFHL0MsMEJBQTBCLG9HQUkxQiwwQkFBMEIsMkJBQVUsV0FBVyxnRkFHL0MsMEJBQTBCLDZGQVExQixtQkFBbUIsMkJBQVUsV0FBVyx5RUFHeEMsbUJBQW1CLCtGQUluQixxQkFBcUIsMkJBQVUsV0FBVywyRUFHMUMscUJBQXFCLGlGQWRsQixpQ0FBaUM7OzRGQXhCdkMscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzBFQUtRLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWpFLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs5QyxtQkFBbUI7c0JBRHpCLFlBQVk7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXRFLGtCQUFrQjtzQkFEeEIsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS25ELG1CQUFtQjtzQkFEekIsWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdEUsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLbkQsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQyxpQ0FBaUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBS2xFLFlBQVk7c0JBRGxCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9ELFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUs1QyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqRSxhQUFhO3NCQURuQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFZMUMsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxNQUFNO2dCQU1GLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSztnQkFNSyxRQUFRO3NCQURsQixLQUFLO2dCQU1LLGVBQWU7c0JBRHpCLEtBQUs7Z0JBTUssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssS0FBSztzQkFEZixLQUFLO2dCQU1LLEtBQUs7c0JBRGYsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gRGlyZWN0aXZlc1xuaW1wb3J0IHsgRnNMaXN0Q2VsbERpcmVjdGl2ZSB9IGZyb20gJy4uL2NlbGwvY2VsbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9vdGVyL2Zvb3Rlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb2x1bW5BdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbHVtbi1hdHRyaWJ1dGVzJztcbmltcG9ydCB7IEZzTGlzdEdyb3VwRXhwYW5kVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwLWV4cGFuZC10cmlnZ2VyL2dyb3VwLWV4cGFuZC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0xpc3RHcm91cEZvb3RlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2dyb3VwLWZvb3Rlci9ncm91cC1mb290ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZ3JvdXAtaGVhZGVyL2dyb3VwLWhlYWRlci5kaXJlY3RpdmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3QtY29sdW1uJ1xufSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RDb2x1bW5EaXJlY3RpdmUge1xuXG4gIC8vIEhlYWRlclxuICBAQ29udGVudENoaWxkKEZzTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEZzTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGhlYWRlckNvbmZpZ3M6IENlbGxDb25maWc7XG5cbiAgLy8gR3JvdXBcbiAgQENvbnRlbnRDaGlsZChGc0xpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBncm91cEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+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: "14.3.0", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- FsListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.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
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListContentDirective {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsListContentDirective, selector: "[fs-list-content]", ngImport: i0 });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListContentDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[fs-list-content]',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvY29udGVudC9jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnMtbGlzdC1jb250ZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIEZzTGlzdENvbnRlbnREaXJlY3RpdmUgeyB9XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsListContentInitDirective {
4
+ contentInitCallback;
5
+ constructor() { }
6
+ ngAfterViewInit() {
7
+ if (this.contentInitCallback) {
8
+ this.contentInitCallback();
9
+ }
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListContentInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsListContentInitDirective, selector: "[fsListContentInit]", inputs: { contentInitCallback: ["fsListContentInit", "contentInitCallback"] }, ngImport: i0 });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsListContentInitDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[fsListContentInit]'
18
+ }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { contentInitCallback: [{
20
+ type: Input,
21
+ args: ['fsListContentInit']
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9jb250ZW50LWluaXQvY29udGVudC1pbml0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWhFLE1BQU0sT0FBTywwQkFBMEI7SUFHOUIsbUJBQW1CLENBQVc7SUFFckMsZ0JBQWUsQ0FBQztJQUVULGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO3dHQVhVLDBCQUEwQjs0RkFBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzBFQUlRLG1CQUFtQjtzQkFEekIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzTGlzdENvbnRlbnRJbml0XSdcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0Q29udGVudEluaXREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoJ2ZzTGlzdENvbnRlbnRJbml0JylcbiAgcHVibGljIGNvbnRlbnRJbml0Q2FsbGJhY2s6IEZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0Q2FsbGJhY2spIHtcbiAgICAgIHRoaXMuY29udGVudEluaXRDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxufVxuIl19