@firestitch/list 12.20.1 → 13.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 (113) hide show
  1. package/app/classes/list-controller.d.ts +33 -28
  2. package/app/interfaces/listconfig.interface.d.ts +2 -1
  3. package/esm2020/app/classes/data-controller.mjs +367 -0
  4. package/esm2020/app/classes/external-params-controller.mjs +147 -0
  5. package/esm2020/app/classes/list-controller.mjs +752 -0
  6. package/{esm2015/app/classes/pagination-controller.js → esm2020/app/classes/pagination-controller.mjs} +2 -3
  7. package/{esm2015/app/classes/persistance-controller.js → esm2020/app/classes/persistance-controller.mjs} +4 -4
  8. package/esm2020/app/classes/reorder-controller.mjs +182 -0
  9. package/esm2020/app/classes/selection-controller.mjs +468 -0
  10. package/esm2020/app/components/body/body.component.mjs +64 -0
  11. package/esm2020/app/components/body/row/actions/actions.component.mjs +94 -0
  12. package/esm2020/app/components/body/row/cell/cell.component.mjs +107 -0
  13. package/esm2020/app/components/body/row/inline-action/inline-action.component.mjs +33 -0
  14. package/esm2020/app/components/body/row/menu-action/menu-action.component.mjs +46 -0
  15. package/esm2020/app/components/body/row/row.component.mjs +308 -0
  16. package/esm2020/app/components/customize-cols/customize-cols.component.mjs +68 -0
  17. package/esm2020/app/components/footer/footer-row/footer-cell/footer-cell.component.mjs +16 -0
  18. package/esm2020/app/components/footer/footer-row/footer-row.component.mjs +28 -0
  19. package/esm2020/app/components/footer/footer.component.mjs +31 -0
  20. package/esm2020/app/components/head/head-cell/head-cell.component.mjs +29 -0
  21. package/esm2020/app/components/head/head.component.mjs +103 -0
  22. package/esm2020/app/components/list/list.component.mjs +382 -0
  23. package/esm2020/app/components/loader/loader.component.mjs +40 -0
  24. package/esm2020/app/components/manage-saved-filters/manage-saved-filters.component.mjs +76 -0
  25. package/esm2020/app/components/pagination/pagination.component.mjs +37 -0
  26. package/esm2020/app/components/saved-filters/saved-filters.component.mjs +29 -0
  27. package/esm2020/app/components/status/status.component.mjs +66 -0
  28. package/{esm2015/app/directives/cell/cell.directive.js → esm2020/app/directives/cell/cell.directive.mjs} +4 -4
  29. package/{esm2015/app/directives/column/column.directive.js → esm2020/app/directives/column/column.directive.mjs} +4 -4
  30. package/{esm2015/app/directives/content/content.directive.js → esm2020/app/directives/content/content.directive.mjs} +4 -4
  31. package/{esm2015/app/directives/content-init/content-init.directive.js → esm2020/app/directives/content-init/content-init.directive.mjs} +4 -4
  32. package/esm2020/app/directives/draggable-list/draggable-list.directive.mjs +328 -0
  33. package/esm2020/app/directives/draggable-row/draggable-row.directive.mjs +78 -0
  34. package/{esm2015/app/directives/empty-state/empty-state.directive.js → esm2020/app/directives/empty-state/empty-state.directive.mjs} +4 -4
  35. package/{esm2015/app/directives/footer/footer.directive.js → esm2020/app/directives/footer/footer.directive.mjs} +4 -4
  36. package/{esm2015/app/directives/group-expand-trigger/group-expand-trigger.directive.js → esm2020/app/directives/group-expand-trigger/group-expand-trigger.directive.mjs} +4 -4
  37. package/{esm2015/app/directives/group-footer/group-footer.directive.js → esm2020/app/directives/group-footer/group-footer.directive.mjs} +4 -4
  38. package/{esm2015/app/directives/group-header/group-header.directive.js → esm2020/app/directives/group-header/group-header.directive.mjs} +4 -4
  39. package/{esm2015/app/directives/header/header.directive.js → esm2020/app/directives/header/header.directive.mjs} +4 -4
  40. package/{esm2015/app/directives/heading/heading.directive.js → esm2020/app/directives/heading/heading.directive.mjs} +4 -4
  41. package/{esm2015/app/directives/heading-container/heading-container.directive.js → esm2020/app/directives/heading-container/heading-container.directive.mjs} +4 -4
  42. package/{esm2015/app/directives/subheading/subheading.directive.js → esm2020/app/directives/subheading/subheading.directive.mjs} +4 -4
  43. package/{esm2015/app/fs-list.module.js → esm2020/app/fs-list.module.mjs} +5 -5
  44. package/esm2020/app/interfaces/listconfig.interface.mjs +2 -0
  45. package/{esm2015/app/interfaces/pagination.interface.js → esm2020/app/interfaces/pagination.interface.mjs} +1 -1
  46. package/esm2020/app/models/row-action.model.mjs +90 -0
  47. package/{esm2015/app/pipes/action-label.js → esm2020/app/pipes/action-label.mjs} +4 -4
  48. package/{esm2015/app/services/group-expand-notifier.service.js → esm2020/app/services/group-expand-notifier.service.mjs} +4 -4
  49. package/fesm2015/{firestitch-list.js → firestitch-list.mjs} +2434 -2501
  50. package/fesm2015/firestitch-list.mjs.map +1 -0
  51. package/fesm2020/firestitch-list.mjs +5816 -0
  52. package/fesm2020/firestitch-list.mjs.map +1 -0
  53. package/package.json +20 -7
  54. package/bundles/firestitch-list.umd.js +0 -7147
  55. package/bundles/firestitch-list.umd.js.map +0 -1
  56. package/esm2015/app/classes/data-controller.js +0 -365
  57. package/esm2015/app/classes/external-params-controller.js +0 -147
  58. package/esm2015/app/classes/list-controller.js +0 -743
  59. package/esm2015/app/classes/reorder-controller.js +0 -183
  60. package/esm2015/app/classes/selection-controller.js +0 -468
  61. package/esm2015/app/components/body/body.component.js +0 -69
  62. package/esm2015/app/components/body/row/actions/actions.component.js +0 -99
  63. package/esm2015/app/components/body/row/cell/cell.component.js +0 -113
  64. package/esm2015/app/components/body/row/inline-action/inline-action.component.js +0 -37
  65. package/esm2015/app/components/body/row/menu-action/menu-action.component.js +0 -50
  66. package/esm2015/app/components/body/row/row.component.js +0 -315
  67. package/esm2015/app/components/customize-cols/customize-cols.component.js +0 -72
  68. package/esm2015/app/components/footer/footer-row/footer-cell/footer-cell.component.js +0 -20
  69. package/esm2015/app/components/footer/footer-row/footer-row.component.js +0 -33
  70. package/esm2015/app/components/footer/footer.component.js +0 -36
  71. package/esm2015/app/components/head/head-cell/head-cell.component.js +0 -34
  72. package/esm2015/app/components/head/head.component.js +0 -108
  73. package/esm2015/app/components/list/list.component.js +0 -388
  74. package/esm2015/app/components/loader/loader.component.js +0 -45
  75. package/esm2015/app/components/manage-saved-filters/manage-saved-filters.component.js +0 -79
  76. package/esm2015/app/components/pagination/pagination.component.js +0 -42
  77. package/esm2015/app/components/saved-filters/saved-filters.component.js +0 -32
  78. package/esm2015/app/components/status/status.component.js +0 -72
  79. package/esm2015/app/directives/draggable-list/draggable-list.directive.js +0 -330
  80. package/esm2015/app/directives/draggable-row/draggable-row.directive.js +0 -79
  81. package/esm2015/app/interfaces/listconfig.interface.js +0 -2
  82. package/esm2015/app/models/row-action.model.js +0 -90
  83. package/fesm2015/firestitch-list.js.map +0 -1
  84. /package/{esm2015/app/classes/actions-controller.js → esm2020/app/classes/actions-controller.mjs} +0 -0
  85. /package/{esm2015/app/classes/columns-controller.js → esm2020/app/classes/columns-controller.mjs} +0 -0
  86. /package/{esm2015/app/classes/index.js → esm2020/app/classes/index.mjs} +0 -0
  87. /package/{esm2015/app/classes/sorting-controller.js → esm2020/app/classes/sorting-controller.mjs} +0 -0
  88. /package/{esm2015/app/directives/index.js → esm2020/app/directives/index.mjs} +0 -0
  89. /package/{esm2015/app/enums/button-type.enum.js → esm2020/app/enums/button-type.enum.mjs} +0 -0
  90. /package/{esm2015/app/enums/page-change-type.enum.js → esm2020/app/enums/page-change-type.enum.mjs} +0 -0
  91. /package/{esm2015/app/enums/pagination-strategy.enum.js → esm2020/app/enums/pagination-strategy.enum.mjs} +0 -0
  92. /package/{esm2015/app/enums/row-type.enum.js → esm2020/app/enums/row-type.enum.mjs} +0 -0
  93. /package/{esm2015/app/enums/state.enum.js → esm2020/app/enums/state.enum.mjs} +0 -0
  94. /package/{esm2015/app/fs-list.providers.js → esm2020/app/fs-list.providers.mjs} +0 -0
  95. /package/{esm2015/app/interfaces/cellconfig.interface.js → esm2020/app/interfaces/cellconfig.interface.mjs} +0 -0
  96. /package/{esm2015/app/interfaces/column-config.interface.js → esm2020/app/interfaces/column-config.interface.mjs} +0 -0
  97. /package/{esm2015/app/interfaces/draggable-list.interface.js → esm2020/app/interfaces/draggable-list.interface.mjs} +0 -0
  98. /package/{esm2015/app/interfaces/external-params.interface.js → esm2020/app/interfaces/external-params.interface.mjs} +0 -0
  99. /package/{esm2015/app/interfaces/index.js → esm2020/app/interfaces/index.mjs} +0 -0
  100. /package/{esm2015/app/interfaces/sorting-change-event.interface.js → esm2020/app/interfaces/sorting-change-event.interface.mjs} +0 -0
  101. /package/{esm2015/app/models/column-async-attribute.js → esm2020/app/models/column-async-attribute.mjs} +0 -0
  102. /package/{esm2015/app/models/column-attributes.js → esm2020/app/models/column-attributes.mjs} +0 -0
  103. /package/{esm2015/app/models/column.model.js → esm2020/app/models/column.model.mjs} +0 -0
  104. /package/{esm2015/app/models/row/base-row.js → esm2020/app/models/row/base-row.mjs} +0 -0
  105. /package/{esm2015/app/models/row/child-row.js → esm2020/app/models/row/child-row.mjs} +0 -0
  106. /package/{esm2015/app/models/row/group-footer-row.js → esm2020/app/models/row/group-footer-row.mjs} +0 -0
  107. /package/{esm2015/app/models/row/group-row.js → esm2020/app/models/row/group-row.mjs} +0 -0
  108. /package/{esm2015/app/models/row/simple-row.js → esm2020/app/models/row/simple-row.mjs} +0 -0
  109. /package/{esm2015/app/models/row.js → esm2020/app/models/row.mjs} +0 -0
  110. /package/{esm2015/app/models/styleConfig.model.js → esm2020/app/models/styleConfig.model.mjs} +0 -0
  111. /package/{esm2015/app/pipes/index.js → esm2020/app/pipes/index.mjs} +0 -0
  112. /package/{esm2015/firestitch-list.js → esm2020/firestitch-list.mjs} +0 -0
  113. /package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
@@ -1,45 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
- import { random } from 'lodash-es';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class FsListLoaderComponent {
6
- constructor() {
7
- this.placeholderWidths = [[], [], []];
8
- this.widths = [];
9
- this.cols = [];
10
- this.rows = [];
11
- }
12
- ngOnInit() {
13
- this.cols = this.columns > 5 ? this.columns.splice(0, 5) : this.columns;
14
- const length = this.cols.length;
15
- for (let w = length; w >= 0; w--) {
16
- this.widths[w] = w ? random(15, 100 / length, false) : 0;
17
- }
18
- for (let r = 0; r < 3; r++) {
19
- for (let c = 0; c < length; c++) {
20
- this.placeholderWidths[r].push(random(50, 90));
21
- }
22
- }
23
- }
24
- ngOnChanges(changes) {
25
- if (changes.loaderLines) {
26
- this.rows = new Array(this.loaderLines);
27
- }
28
- }
29
- }
30
- FsListLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- FsListLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FsListLoaderComponent, selector: "fs-list-loader", inputs: { columns: "columns", loaderLines: "loaderLines" }, usesOnChanges: true, ngImport: i0, template: "<table>\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let col of cols; let column = index\" [width]=\"widths[column] + '%'\">\r\n <div class=\"fs-skeleton-placeholder\" [style.width]=\"(placeholderWidths[0][column]/2) + '%'\"></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of rows; let index=index\">\r\n <td *ngFor=\"let col of cols; let column = index\">\r\n <div class=\"fs-skeleton-placeholder\" [style.width]=\"placeholderWidths[index][column] + '%'\"></div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: ["table{width:100%;border-spacing:0}.fs-skeleton-placeholder{opacity:.5}:host ::ng-deep tbody tr:hover td{background:transparent}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListLoaderComponent, decorators: [{
33
- type: Component,
34
- args: [{
35
- selector: 'fs-list-loader',
36
- templateUrl: './loader.component.html',
37
- styleUrls: ['./loader.component.scss'],
38
- changeDetection: ChangeDetectionStrategy.OnPush,
39
- }]
40
- }], propDecorators: { columns: [{
41
- type: Input
42
- }], loaderLines: [{
43
- type: Input
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFTbkMsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQVFTLHNCQUFpQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBT1osU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFNBQUksR0FBRyxFQUFFLENBQUM7S0FzQmxCO0lBcEJRLFFBQVE7UUFFYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7O21IQWhDVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1SUNsQmxDLDJrQkFnQkE7NEZERWEscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBTWlCLE9BQU87c0JBQXRCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IHJhbmRvbSB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmcy1saXN0LWxvYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGc0xpc3RMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcldpZHRocyA9IFtbXSwgW10sIFtdXTtcclxuICBwdWJsaWMgd2lkdGhzID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2x1bW5zO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsb2FkZXJMaW5lczogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgY29scyA9IFtdO1xyXG4gIHB1YmxpYyByb3dzID0gW107XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLmNvbHMgPSB0aGlzLmNvbHVtbnMgPiA1ID8gdGhpcy5jb2x1bW5zLnNwbGljZSgwLCA1KSA6IHRoaXMuY29sdW1ucztcclxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuY29scy5sZW5ndGg7XHJcbiAgICBmb3IgKGxldCB3ID0gbGVuZ3RoOyB3ID49IDA7IHctLSkge1xyXG4gICAgICB0aGlzLndpZHRoc1t3XSA9IHcgPyByYW5kb20oMTUsIDEwMCAvIGxlbmd0aCwgZmFsc2UpIDogMDtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGxldCByID0gMDsgciA8IDM7IHIrKykge1xyXG4gICAgICBmb3IgKGxldCBjID0gMDsgYyA8IGxlbmd0aDsgYysrKSB7XHJcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlcldpZHRoc1tyXS5wdXNoKHJhbmRvbSg1MCwgOTApKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmxvYWRlckxpbmVzKSB7XHJcbiAgICAgIHRoaXMucm93cyA9IG5ldyBBcnJheSh0aGlzLmxvYWRlckxpbmVzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHRhYmxlPlxyXG4gIDx0aGVhZD5cclxuICAgIDx0cj5cclxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sczsgbGV0IGNvbHVtbiA9IGluZGV4XCIgW3dpZHRoXT1cIndpZHRoc1tjb2x1bW5dICsgJyUnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZzLXNrZWxldG9uLXBsYWNlaG9sZGVyXCIgW3N0eWxlLndpZHRoXT1cIihwbGFjZWhvbGRlcldpZHRoc1swXVtjb2x1bW5dLzIpICArICclJ1wiPjwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L3RoZWFkPlxyXG4gIDx0Ym9keT5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3M7IGxldCBpbmRleD1pbmRleFwiPlxyXG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2xzOyBsZXQgY29sdW1uID0gaW5kZXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtc2tlbGV0b24tcGxhY2Vob2xkZXJcIiBbc3R5bGUud2lkdGhdPVwicGxhY2Vob2xkZXJXaWR0aHNbaW5kZXhdW2NvbHVtbl0gKyAnJSdcIj48L2Rpdj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuIl19
@@ -1,79 +0,0 @@
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: "12.2.17", ngImport: i0, type: FsListManageSavedFiltersComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
71
- FsListManageSavedFiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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", "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: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsListManageSavedFiltersComponent, decorators: [{
73
- type: Component,
74
- args: [{
75
- templateUrl: './manage-saved-filters.component.html',
76
- changeDetection: ChangeDetectionStrategy.OnPush,
77
- }]
78
- }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLXNhdmVkLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL21hbmFnZS1zYXZlZC1maWx0ZXJzL21hbmFnZS1zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy9tYW5hZ2Utc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFDTCx3QkFBd0IsR0FHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFRbkUsTUFBTSxPQUFPLGlDQUFpQztJQU01QyxZQUNVLGVBQXlDO1FBQXpDLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUgzQyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUszQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVksc0JBQXNCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNyRCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUFJO2dCQUM5QixRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7b0JBRTNCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDeEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7eUJBQzFDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO3dCQUNQLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUM1QixDQUFDLENBQUMsQ0FDSDt5QkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7YUFDRjtZQUNELFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxLQUFLLEVBQUUsT0FBTztvQkFDZCxLQUFLLEVBQUUsQ0FBQyxNQUEwQixFQUFFLEVBQUU7d0JBQ3BDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3BELENBQUM7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxTQUFTO3dCQUNoQixRQUFRLEVBQUUsOENBQThDO3FCQUN6RDtvQkFDRCxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTt3QkFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUU7cUJBQ3RDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ04sQ0FBQztTQUVGLENBQUM7SUFDSixDQUFDOzsrSEFyRVUsaUNBQWlDO21IQUFqQyxpQ0FBaUMsb0RDbEI5QywwZ0JBb0JBOzRGREZhLGlDQUFpQztrQkFKN0MsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEV4dGVybmFsUGFyYW1zQ29udHJvbGxlcixcbiAgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBTYXZlZEZpbHRlcnNDb250cm9sbGVyLFxufSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUmVvcmRlclBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yZW9yZGVyLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgRnNMaXN0Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Y29uZmlnLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9tYW5hZ2Utc2F2ZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0xpc3RNYW5hZ2VTYXZlZEZpbHRlcnNDb21wb25lbnQge1xuXG4gIHB1YmxpYyBjb25maWc6IEZzTGlzdENvbmZpZztcblxuICBwcml2YXRlIF9yZW9yZGVyUmVhZHkgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2V4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICkge1xuICAgIHRoaXMuX2luaXRMaXN0KCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBzYXZlZEZpbHRlcnNDb250cm9sbGVyKCk6IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIge1xuICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFBhcmFtcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBzdGF0dXM6IGZhbHNlLFxuICAgICAgZmlsdGVySW5wdXQ6IGZhbHNlLFxuICAgICAgcXVlcnlQYXJhbTogZmFsc2UsXG4gICAgICBwZXJzaXN0OiBmYWxzZSxcbiAgICAgIHBhZ2luZzogZmFsc2UsXG4gICAgICByZW9yZGVyOiB7XG4gICAgICAgIHBvc2l0aW9uOiBSZW9yZGVyUG9zaXRpb24uTGVmdCxcbiAgICAgICAgbW92ZURyb3A6ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fcmVvcmRlclJlYWR5O1xuICAgICAgICB9LFxuICAgICAgICBkb25lOiAocmVvcmRlckRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLl9yZW9yZGVyUmVhZHkgPSBmYWxzZTtcblxuICAgICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSByZW9yZGVyRGF0YS5tYXAoKGRhdGEpID0+IGRhdGEuZGF0YSk7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyLm9yZGVyKGZpbHRlckRhdGEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW9yZGVyUmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4geyB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByb3dBY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FwcGx5JyxcbiAgICAgICAgICBjbGljazogKGZpbHRlcjogSUZpbHRlclNhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9leHRlcm5hbFBhcmFtcy5zZXRBY3RpdmVTYXZlZEZpbHRlcihmaWx0ZXIpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RlbGV0ZScsXG4gICAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICB0aXRsZTogJ0NvbmZpcm0nLFxuICAgICAgICAgICAgdGVtcGxhdGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZmlsdGVyPycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjbGljazogKHNhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyLmRlbGV0ZShzYXZlZEZpbHRlcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhdmVkRmlsdGVyc0NvbnRyb2xsZXIubG9hZCgpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7IGRhdGE6IHJlc3BvbnNlIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgfSxcblxuICAgIH07XG4gIH1cbn1cbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPlxyXG4gIE1hbmFnZSBTYXZlZCBGaWx0ZXJzXHJcbjwvaDE+XHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxmcy1saXN0IFtjb25maWddPVwiY29uZmlnXCI+XHJcbiAgICA8ZnMtbGlzdC1jb2x1bW4gbmFtZT1cIm5hbWVcIiB0aXRsZT1cIk5hbWVcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAge3sgcm93Lm5hbWUgfX1cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbGlzdC1jb2x1bW4+XHJcbiAgPC9mcy1saXN0PlxyXG48L2Rpdj5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uXHJcbiAgICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICBEb25lXHJcbiAgPC9idXR0b24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,42 +0,0 @@
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: "12.2.17", ngImport: i0, type: FsPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28
- FsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: ["matRippleRadius", "matRippleDisabled", "matRippleTrigger", "matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleAnimation"], exportAs: ["matRipple"] }], pipes: { "fsFormatNumber": i4.FsFormatNumberPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FsPaginationComponent, decorators: [{
30
- type: Component,
31
- args: [{
32
- selector: 'fs-list-pagination',
33
- templateUrl: './pagination.component.html',
34
- styleUrls: ['./pagination.component.scss'],
35
- changeDetection: ChangeDetectionStrategy.OnPush,
36
- }]
37
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { pagination: [{
38
- type: Input
39
- }], rows: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7OztBQVEzRSxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQ1UsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFIM0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFJOUIsQ0FBQztJQUVFLFFBQVE7UUFDYixLQUFLLENBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUN2QjthQUNFLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7O21IQTNCVSxxQkFBcUI7dUdBQXJCLHFCQUFxQiw4R0NwQmxDLG82Q0E2QkE7NEZEVGEscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7d0dBR2lCLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtbGlzdC1wYWdpbmF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGlvbjogUGFnaW5hdGlvbkNvbnRyb2xsZXI7XHJcbiAgQElucHV0KCkgcHVibGljIHJvd3M7XHJcblxyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgbWVyZ2UoXHJcbiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlQ2hhbmdlZCQsXHJcbiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlcyQsXHJcbiAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhcGFnaW5hdGlvbi5sb2FkTW9yZUVuYWJsZWQ7IGVsc2UgbG9hZE1vcmVCdXR0b25cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2luYXRpb24/LnBhZ2VzXCI+XG4gICAgPGEgbWF0UmlwcGxlIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIiBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIGNsYXNzPVwiZmlyc3RcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXBhZ2luYXRpb24uaGFzUHJldlBhZ2VcIiAoY2xpY2spPVwicGFnaW5hdGlvbi5nb0ZpcnN0KClcIj5cbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5maXJzdF9wYWdlPC9pPlxuICAgIDwvYT5cblxuICAgIDxhIG1hdFJpcHBsZSBbbWF0UmlwcGxlUmFkaXVzXT1cIjE1XCIgW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIiBjbGFzcz1cInByZXZpb3VzXCIgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdpbmF0aW9uLmhhc1ByZXZQYWdlXCIgKGNsaWNrKT1cInBhZ2luYXRpb24uZ29QcmV2KClcIj5cbiAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9pPlxuICAgIDwvYT5cblxuICAgIDxkaXYgY2xhc3M9XCJudW1iZXJcIj5cbiAgICAgIHt7IHBhZ2luYXRpb24ucGFnZSB8IGZzRm9ybWF0TnVtYmVyIH19IG9mIHt7IHBhZ2luYXRpb24ucGFnZXMgfCBmc0Zvcm1hdE51bWJlciB9fVxuICAgIDwvZGl2PlxuXG4gICAgPGEgbWF0UmlwcGxlIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIiBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIGNsYXNzPVwibmV4dFwiIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZVwiIChjbGljayk9XCJwYWdpbmF0aW9uLmdvTmV4dCgpXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L2k+XG4gICAgPC9hPlxuXG4gICAgPGEgbWF0UmlwcGxlIFttYXRSaXBwbGVSYWRpdXNdPVwiMTVcIiBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIGNsYXNzPVwibGFzdFwiIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnaW5hdGlvbi5oYXNOZXh0UGFnZVwiIChjbGljayk9XCJwYWdpbmF0aW9uLmdvTGFzdCgpXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+bGFzdF9wYWdlPC9pPlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNsb2FkTW9yZUJ1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImZzLWxpc3QtbG9hZC1tb3JlXCIgKm5nSWY9XCJwYWdpbmF0aW9uLmhhc05leHRQYWdlXCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJwYWdpbmF0aW9uLmdvTmV4dCgpXCI+e3sgcGFnaW5hdGlvbi5sb2FkTW9yZVRleHQgfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,32 +0,0 @@
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: "12.2.17", 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: "12.2.17", 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: "12.2.17", ngImport: i0, type: FsListSavedFiltersComponent, decorators: [{
26
- type: Component,
27
- args: [{
28
- selector: 'fs-list-saved-filters',
29
- templateUrl: './saved-filters.component.html',
30
- }]
31
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ExternalParamsController }, { type: i0.ViewContainerRef }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVycy9zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXJzL3NhdmVkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDVSxPQUFrQixFQUNsQixlQUF5QyxFQUN6QyxNQUF3QjtRQUZ4QixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUM5QixDQUFDO0lBRUwsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQztJQUM5RCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLHlEQUF5RDtRQUN6RCxtQ0FBbUM7UUFDbkMsTUFBTTtJQUNSLENBQUM7O3lIQWZVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLDZEQ2J4Qyw0TUFJQTs0RkRTYSwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGdDQUFnQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZmlsdGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc2F2ZWQtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlZC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRnNMaXN0U2F2ZWRGaWx0ZXJzQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfZXh0ZXJuYWxQYXJhbXM6IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlcixcbiAgICBwcml2YXRlIF92Y1JlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVyc0VuYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFBhcmFtcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyLmVuYWJsZWQkO1xuICB9XG5cbiAgcHVibGljIHNob3dNYW5hZ2VEaWFsb2coKTogdm9pZCB7XG4gICAgLy8gdGhpcy5fZGlhbG9nLm9wZW4oRnNMaXN0TWFuYWdlU2F2ZWRGaWx0ZXJzQ29tcG9uZW50LCB7XG4gICAgLy8gICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLl92Y1JlZixcbiAgICAvLyB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNhdmVkRmlsdGVyc0VuYWJsZWQkIHwgYXN5bmNcIj48IS0tXHJcbiAgLS0+LCBzYXZlZCBmaWx0ZXJcclxuICA8ZnMtZmlsdGVyLXNhdmVkLWZpbHRlcnMtbWVudSAobWFuYWdlKT1cInNob3dNYW5hZ2VEaWFsb2coKVwiPjwvZnMtZmlsdGVyLXNhdmVkLWZpbHRlcnMtbWVudT5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -1,72 +0,0 @@
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: "12.2.17", ngImport: i0, type: FsStatusComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45
- FsStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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: "12.2.17", ngImport: i0, type: FsStatusComponent, decorators: [{
47
- type: Component,
48
- args: [{
49
- selector: 'fs-list-status',
50
- templateUrl: './status.component.html',
51
- styleUrls: ['./status.component.scss'],
52
- changeDetection: ChangeDetectionStrategy.OnPush,
53
- preserveWhitespaces: true,
54
- }]
55
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { paging: [{
56
- type: Input
57
- }], sorting: [{
58
- type: Input
59
- }], rows: [{
60
- type: Input
61
- }], scrollable: [{
62
- type: Input
63
- }], firstLoad: [{
64
- type: Input
65
- }, {
66
- type: HostBinding,
67
- args: ['class.first-load']
68
- }, {
69
- type: HostBinding,
70
- args: ['class.fs-skeleton-placeholder']
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zdGF0dXMvc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVU3RCxNQUFNLE9BQU8saUJBQWlCO0lBYzVCLFlBQW9CLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRnJDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR3hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO2FBQ3pCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtZQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUMsTUFBTTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLE1BQU0sRUFBRTtZQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzsrR0FoRFUsaUJBQWlCO21HQUFqQixpQkFBaUIsMlJDekI5QixpOUdBa0ZBOzRGRHpEYSxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxtQkFBbUIsRUFBRSxJQUFJO2lCQUMxQjt3R0FHaUIsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFLQyxTQUFTO3NCQUhmLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsV0FBVzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvcGFnaW5hdGlvbi1jb250cm9sbGVyJztcclxuaW1wb3J0IHsgU29ydGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NvcnRpbmctY29udHJvbGxlcic7XHJcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1uLm1vZGVsJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2ZzLWxpc3Qtc3RhdHVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnNTdGF0dXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmc6IFBhZ2luYXRpb25Db250cm9sbGVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0aW5nOiBTb3J0aW5nQ29udHJvbGxlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgcm93cztcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZTtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZpcnN0LWxvYWQnKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZnMtc2tlbGV0b24tcGxhY2Vob2xkZXInKVxyXG4gIHB1YmxpYyBmaXJzdExvYWQ6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNvcnRpbmcuc29ydGluZ0NoYW5nZWQkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVEaXJlY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5zb3J0aW5nLnNvcnRpbmdDb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJykge1xyXG4gICAgICB0aGlzLnNvcnRpbmcuc29ydERpcmVjdGlvbihTb3J0aW5nRGlyZWN0aW9uLmRlc2MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zb3J0aW5nLnNvcnREaXJlY3Rpb24oU29ydGluZ0RpcmVjdGlvbi5hc2MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbikge1xyXG4gICAgaWYgKHRoaXMuc29ydGluZy5zb3J0aW5nQ29sdW1uICE9PSBjb2x1bW4pIHtcclxuICAgICAgdGhpcy5zb3J0aW5nLnNvcnRCeShjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExpbWl0KGxpbWl0KSB7XHJcbiAgICB0aGlzLnBhZ2luZy5zZXRMaW1pdChsaW1pdCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cclxuICA8c21hbGw+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnaW5nLmVuYWJsZWQgJiYgIXNjcm9sbGFibGVcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2luZy5yZWNvcmRzID4gMDsgZWxzZSBlbXB0eVJlc3VsdHNcIj5cclxuICAgICAgICBTaG93aW5nIDxhIFtmc01lbnVUcmlnZ2VyRm9yXT1cImxpbWl0c01lbnVcIj57eyBwYWdpbmcuc3RhdHVzTGFiZWwgfX08L2E+IG9mIHt7IHBhZ2luZy5yZWNvcmRzIHwgbnVtYmVyOicxLjAnOidlbi1VUycgfX0gcmVzdWx0c1xyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eVJlc3VsdHM+XHJcbiAgICAgICAgU2hvd2luZyA8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJsaW1pdHNNZW51XCI+MDwvYT4gcmVzdWx0c1xyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic29ydGVkQnlcIj48L25nLWNvbnRhaW5lcj48IS0tXHJcbiAgLS0+PC9uZy1jb250YWluZXI+PCEtLVxyXG5cclxuICAtLT48bmctY29udGFpbmVyICpuZ0lmPVwiKCFwYWdpbmcuZW5hYmxlZCB8fCBzY3JvbGxhYmxlKSAmJiBwYWdpbmcuZGlzcGxheWVkID4gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzY3JvbGxhYmxlOyBlbHNlIHNjcm9sbGFibGVcIj5cclxuICAgICAgU2hvd2luZ1xyXG4gICAgICA8c3BhbiAqbmdJZj1cInBhZ2luZy5kaXNwbGF5ZWQgPT0gMVwiPnt7IHBhZ2luZy5kaXNwbGF5ZWQgfX0gcmVzdWx0IDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcuZGlzcGxheWVkID4gMVwiPnt7IHBhZ2luZy5kaXNwbGF5ZWQgfCBudW1iZXI6JzEuMCc6J2VuLVVTJyB9fSByZXN1bHRzIDwvc3Bhbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2Nyb2xsYWJsZT5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucmVjb3JkcyA9PSAxXCI+e3sgcGFnaW5nLnJlY29yZHMgfX0gcmVzdWx0IDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJwYWdpbmcucmVjb3JkcyA+IDFcIj57eyBwYWdpbmcucmVjb3JkcyB8IG51bWJlcjonMS4wJzonZW4tVVMnIH19IHJlc3VsdHMgPC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3J0ZWRCeVwiPjwvbmctY29udGFpbmVyPjwhLS1cclxuICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcblxyXG4gIC0tPjxmcy1saXN0LXNhdmVkLWZpbHRlcnMgY2xhc3M9XCJzYXZlZC1maWx0ZXJzXCI+PC9mcy1saXN0LXNhdmVkLWZpbHRlcnM+XHJcblxyXG4gICAgPGZzLW1lbnUgW2hpZGRlbl09XCIhcGFnaW5nLmVuYWJsZWQgfHwgc2Nyb2xsYWJsZVwiICNsaW1pdHNNZW51PlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1saW1pdFxyXG4gICAgICAgIFtuZ0Zvck9mXT1cInBhZ2luZy5saW1pdHNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgZnMtbWVudS1pdGVtIChjbGljayk9XCJzZXRMaW1pdChsaW1pdClcIj5cclxuICAgICAgICAgIHt7IGxpbWl0IH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZnMtbWVudT5cclxuXHJcbiAgICA8ZnMtbWVudSBbaGlkZGVuXT1cIiFzb3J0aW5nLnNvcnRpbmdDb2x1bW4gfHwgcGFnaW5nLmRpc3BsYXllZCA9PT0gMFwiICNvcmRlckNvbHVtbnNNZW51PlxyXG4gICAgICA8IS0tIFJlYWwgc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW5zXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZzLW1lbnUtaXRlbSAoY2xpY2spPVwic2V0U29ydGFibGVDb2x1bW4oY29sdW1uKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50aXRsZTsgZWxzZSBzb3J0QnlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyBjb2x1bW4udGl0bGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8IS0tIEZha2Ugc29ydGluZyBjb2x1bW5zIC0tPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBuZ0ZvclxyXG4gICAgICAgIGxldC1jb2x1bW5cclxuICAgICAgICBbbmdGb3JPZl09XCJzb3J0aW5nLmZha2VTb3J0aW5nQ29sdW1uc1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNldFNvcnRhYmxlQ29sdW1uKGNvbHVtbilcIj5cclxuICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2ZzLW1lbnU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNzb3J0ZWRCeT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNvcnRpbmcuc29ydGluZ0NvbHVtblwiPlxyXG4gICAgICAgIHNvcnRlZCBieVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0aW5nLnNvcnRpbmdDb2x1bW4udGl0bGU7IGVsc2Ugc29ydEJ5VGVtcGxhdGVcIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi50aXRsZSB9fTwvYT4sXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzb3J0QnlUZW1wbGF0ZT5cclxuICAgICAgICAgIDxhIGNsYXNzPVwib3JkZXItdG9nZ2xlXCIgW2ZzTWVudVRyaWdnZXJGb3JdPVwib3JkZXJDb2x1bW5zTWVudVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic29ydGluZy5zb3J0aW5nQ29sdW1uLmhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvYT4sXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8YSBjbGFzcz1cIm9yZGVyLXRvZ2dsZVwiIChjbGljayk9XCJ0b2dnbGVEaXJlY3Rpb24oKVwiPnt7IHNvcnRpbmcuc29ydGluZ0NvbHVtbi5mdWxsTmFtZURpcmVjdGlvbiB9fTwvYT48IS0tXHJcbiAgICAtLT48L25nLWNvbnRhaW5lcj48IS0tXHJcbiAgLS0+PC9uZy10ZW1wbGF0ZT5cclxuICA8L3NtYWxsPiAgXHJcbjwvZGl2PlxyXG4iXX0=