@one-paragon/angular-utilities 0.0.18 → 0.0.23

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 (67) hide show
  1. package/esm2020/http-request-state/HttpRequestStateFactory.mjs +3 -3
  2. package/esm2020/http-request-state/HttpRequestStateStore.mjs +3 -3
  3. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +3 -3
  4. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +3 -3
  5. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +3 -3
  6. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +3 -3
  7. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +3 -3
  8. package/esm2020/http-request-state/directives/request-state-directive.mjs +3 -3
  9. package/esm2020/http-request-state/http-state-module.mjs +4 -4
  10. package/esm2020/table-builder/classes/TableBuilderConfig.mjs +1 -1
  11. package/esm2020/table-builder/classes/table-builder.mjs +2 -2
  12. package/esm2020/table-builder/classes/table-store.mjs +3 -3
  13. package/esm2020/table-builder/components/array-column.component.mjs +3 -3
  14. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +14 -8
  15. package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +3 -3
  16. package/esm2020/table-builder/components/filter/filter.component.mjs +3 -3
  17. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +3 -3
  18. package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +5 -5
  19. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +54 -18
  20. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +5 -5
  21. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +3 -3
  22. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +3 -3
  23. package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +15 -5
  24. package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +3 -3
  25. package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +3 -3
  26. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +5 -5
  27. package/esm2020/table-builder/components/table-container/table-container.mjs +34 -7
  28. package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +5 -5
  29. package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +3 -3
  30. package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +3 -3
  31. package/esm2020/table-builder/directives/custom-cell-directive.mjs +3 -3
  32. package/esm2020/table-builder/directives/multi-sort.directive.mjs +3 -3
  33. package/esm2020/table-builder/directives/resize-column.directive.mjs +7 -6
  34. package/esm2020/table-builder/interfaces/report-def.mjs +1 -1
  35. package/esm2020/table-builder/material.module.mjs +4 -4
  36. package/esm2020/table-builder/ngrx/effects.mjs +3 -3
  37. package/esm2020/table-builder/pipes/column-total.pipe.mjs +3 -3
  38. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +3 -3
  39. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +3 -3
  40. package/esm2020/table-builder/pipes/key-display.mjs +3 -3
  41. package/esm2020/table-builder/services/export-to-csv.service.mjs +5 -5
  42. package/esm2020/table-builder/services/table-template-service.mjs +3 -3
  43. package/esm2020/table-builder/services/transform-creator.mjs +3 -3
  44. package/esm2020/table-builder/table-builder.module.mjs +4 -4
  45. package/esm2020/utilities/directives/auto-focus.directive.mjs +3 -3
  46. package/esm2020/utilities/directives/clickEmitterDirective.mjs +3 -3
  47. package/esm2020/utilities/directives/clickSubject.mjs +3 -3
  48. package/esm2020/utilities/directives/dialog-service.mjs +3 -3
  49. package/esm2020/utilities/directives/dialog.mjs +6 -6
  50. package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +3 -3
  51. package/esm2020/utilities/directives/prevent-enter.directive.mjs +3 -3
  52. package/esm2020/utilities/directives/stop-propagation.directive.mjs +3 -3
  53. package/esm2020/utilities/directives/styler.mjs +3 -3
  54. package/esm2020/utilities/module.mjs +4 -4
  55. package/esm2020/utilities/pipes/function.pipe.mjs +3 -3
  56. package/esm2020/utilities/pipes/phone.pipe.mjs +3 -3
  57. package/esm2020/utilities/pipes/space-case.pipes.mjs +3 -3
  58. package/fesm2015/one-paragon-angular-utilities.mjs +277 -197
  59. package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
  60. package/fesm2020/one-paragon-angular-utilities.mjs +272 -197
  61. package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
  62. package/package.json +1 -1
  63. package/table-builder/classes/TableBuilderConfig.d.ts +1 -0
  64. package/table-builder/components/generic-table/generic-table.component.d.ts +17 -7
  65. package/table-builder/components/initialization-component/initialization-component.d.ts +7 -0
  66. package/table-builder/components/table-container/table-container.d.ts +2 -0
  67. package/table-builder/interfaces/report-def.d.ts +25 -1
@@ -19,9 +19,9 @@ export class HttpRequestStateFactory {
19
19
  return requestor;
20
20
  }
21
21
  }
22
- HttpRequestStateFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- HttpRequestStateFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
22
+ HttpRequestStateFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ HttpRequestStateFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateFactory });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
25
25
  type: Injectable
26
26
  }], ctorParameters: function () { return []; } });
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7UUFJUSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUp0QixDQUFDO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQTJCLEdBQWlDLEVBQUUsT0FBNkI7UUFDL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFLLENBQXVDLEVBQUcsT0FBNkI7UUFDMUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7b0hBakJVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIFJlcXVlc3RTdGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkgIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLmZvckVhY2goIHJlcXVlc3QgPT4gcmVxdWVzdC5uZ09uRGVzdHJveSgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZXF1ZXN0b3JzOiBPbkRlc3Ryb3lbXSA9IFtdO1xyXG4gIGNyZWF0ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnMgKSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sVD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdG9yID0gbmV3IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZShyZXEsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIdHRwQ2xpZW50PFQ+KCByOiAobzogT2JzZXJ2YWJsZTxUPiApID0+IE9ic2VydmFibGU8VD4gLCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucyApICB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHIsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxufSJdfQ==
@@ -69,9 +69,9 @@ export class HttpRequestStateStore extends ComponentStore {
69
69
  super.ngOnDestroy();
70
70
  }
71
71
  }
72
- HttpRequestStateStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
73
- HttpRequestStateStore.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
72
+ HttpRequestStateStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
73
+ HttpRequestStateStore.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateStore, decorators: [{
75
75
  type: Directive
76
76
  }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } });
77
77
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQXlDLE1BQU0sU0FBUyxDQUFDO0FBQzVILE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxxQkFBK0MsU0FBUSxjQUF5QztJQUV6RyxZQUFvQixHQUFpQyxFQUFVLE9BQTZCO1FBQzFGLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFXLEVBQUUsUUFBUSxFQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFEdkMsUUFBRyxHQUFILEdBQUcsQ0FBOEI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVVwRix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDaEMsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsS0FBSyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7Z0JBQzVELE9BQU8s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O0lBQ3RCLENBQUM7O2tIQXRHUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RGYWN0b3J5LCBIdHRwUmVxdWVzdFN0cmF0ZWd5LCBIdHRwUmVxdWVzdFN0YXR1cywgSHR0cFJlcXVlc3RTdGF0ZSwgUmVxdWVzdFN0YXRlT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVGYWlsdXJlLCBjcmVhdGVTdWNjZXNzLCBpblByb2dyZXNzLCBpc0Vycm9yU3RhdGUsIGlzU3VjY2Vzc1N0YXRlLCBub3RTdGFydGVkIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBwbHVjaywgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXNwb25zZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSxUPiB7XHJcbiAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiAscHJpdmF0ZSBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucykge1xyXG4gICAgICBzdXBlcih7cmVxdWVzdFBhcmFtczogbnVsbCBhcyBhbnkgLHJlc3BvbnNlOm5vdFN0YXJ0ZWR9KTtcclxuICAgICAgdGhpcy5yZXF1ZXN0ID0gKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuc2luZ2xlVXNlKSA/IHRoaXMuc2luZ2xlVXNlUmVxdWVzdCA6ICB0aGlzLmZsYXR0ZW5lZFJlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3JlcXVlc3RQYXJhbXM6bnVsbCBhcyBhbnkscmVzcG9uc2U6bm90U3RhcnRlZH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGZsYXR0ZW5pbmdTdHJhdGVneSA9ICgpID0+IHtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSAhPT0gSHR0cFJlcXVlc3RTdHJhdGVneS5jb25jdXJyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHN3aXRjaE1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBtZXJnZU1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RFZmZlY3Q6ICh2YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb24gPSB0aGlzLmVmZmVjdCgob2JzOiBPYnNlcnZhYmxlPFsuLi5UUGFyYW1dPikgPT4ge1xyXG4gICAgICByZXR1cm4gKG9icykucGlwZShcclxuICAgICAgICB0aGlzLmZsYXR0ZW5pbmdTdHJhdGVneSgpLFxyXG4gICAgICAgIHRhcDxSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtLCBUPj4oc3RhdGUgPT4gdGhpcy5zZXRTdGF0ZShzdGF0ZSkpLFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHJpdmF0ZSBmbGF0dGVuZWRSZXF1ZXN0ID0gKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0RWZmZWN0KHZhbHVlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHNpbmdsZVVzZVJlcXVlc3QgPSAoLi4udmFsdWU6IFsuLi5UUGFyYW1dKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmdldCgpLnJlc3BvbnNlLnN0YXR1cyAhPT0gSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInN0YXRlIGNhbiBub3QgYmUgcmV1c2VkLiBlaXRoZXIgcmVzZXQgdGhlIHN0YXRlIGJ5IGNhbGxpbmcgcmVzZXQoKSBvciB1c2UgYSBzdGF0ZSByZXF1ZXN0ZXIgdGhhdCBhbGxvd3MgY29uY3VycmVudCByZXF1ZXN0cy5cIik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdEVmZmVjdCh2YWx1ZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEh0dHBTdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKHBsdWNrKCdyZXNwb25zZScpKTtcclxuXHJcbiAgICBzZWxlY3RTdGF0dXMkID0gdGhpcy5zZWxlY3RIdHRwU3RhdGUkLnBpcGUocGx1Y2soJ3N0YXR1cycpKTtcclxuXHJcbiAgICBzZWxlY3RFcnJvciQgPSB0aGlzLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAociA9PiByLnJlc3BvbnNlKSxcclxuICAgICAgZmlsdGVyKGlzRXJyb3JTdGF0ZSksXHJcbiAgICAgIG1hcCggc3RhdGUgPT4gc3RhdGUuZXJyb3IpXHJcbiAgICApO1xyXG5cclxuICAgIHNlbGVjdFJlc3BvbnNlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmJvZHkpXHJcbiAgICApO1xyXG5cclxuICAgIGVycm9ySGFuZGxlZCA9IGZhbHNlO1xyXG4gICAgb25FcnJvciggY2I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5lcnJvckhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0RXJyb3IkLCBjYik7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWNjZXNzKCBjYjogKGJvZHk6IFQpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdFJlc3BvbnNlJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3NXaXRoUmVxdWVzdChmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICAgIGJvZHk6IFQ7XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub25VcGRhdGUoICh7cmVxdWVzdFBhcmFtcyxyZXNwb25zZX0pID0+IHtcclxuICAgICAgICBpZihpc1N1Y2Nlc3NTdGF0ZShyZXNwb25zZSkpe1xyXG4gICAgICAgICAgZnVuYyh7cmVxdWVzdFBhcmFtcyxib2R5OiByZXNwb25zZS5ib2R5fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSkgOiBPYnNlcnZhYmxlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuICAgICAgcmV0dXJuICB0aGlzLnJlcSguLi5wYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKGNyZWF0ZVN1Y2Nlc3MpLFxyXG4gICAgICAgIG1hcEVycm9yKGNyZWF0ZUZhaWx1cmUpLFxyXG4gICAgICAgIHN0YXJ0V2l0aChpblByb2dyZXNzKSxcclxuICAgICAgICBtYXAoIHN0YXRlID0+ICh7cmVxdWVzdFBhcmFtczpwYXJhbXMscmVzcG9uc2U6c3RhdGV9KSksXHJcbiAgICAgICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25VcGRhdGUoZnVuYzogKHN0YXRlOiB7XHJcbiAgICAgIHJlcXVlc3RQYXJhbXM6IFsuLi5UUGFyYW1dO1xyXG4gICAgICByZXNwb25zZTogSHR0cFJlcXVlc3RTdGF0ZTxUPjtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vbih0aGlzLnN0YXRlJCxmdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBvbiA9IDxWPihzcmNPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFY+LCBmdW5jOiAob2JqOiBWKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZWZmZWN0KChzcmM6IE9ic2VydmFibGU8Vj4pID0+IHtcclxuICAgICAgICByZXR1cm4gc3JjLnBpcGUodGFwKGZ1bmMpKTtcclxuICAgICAgfSkoc3JjT2JzZXJ2YWJsZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3Q6ICguLi52YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuIl19
@@ -26,9 +26,9 @@ export class HttpStateDirectiveBase {
26
26
  ngOnDestroy() {
27
27
  }
28
28
  }
29
- HttpStateDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
30
- HttpStateDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpStateDirectiveBase, ngImport: i0 });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
29
+ HttpStateDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
30
+ HttpStateDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpStateDirectiveBase, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
32
32
  type: Directive
33
33
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd0RSxNQUFNLE9BQWdCLHNCQUFzQjtJQUV4QyxZQUNZLFFBQWtCLEVBQ2hCLFdBQTZCLEVBQzdCLGFBQStCO1FBRmpDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUo3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JSLGVBQVUsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFBO0lBckJELENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxJQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7U0FDN0c7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs7bUhBckJpQixzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIGhhc1ZpZXcgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluamVjdG9yLmdldChIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlKTtcclxuICAgICAgICBpZihwYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSB1c2UgYW4gaHR0cCBzdGF0ZSBkaXJlY3RpdmUgYXMgYSBjaGlsZCBvZiB0aGUgaHR0cFJlcXVlc3RTdGF0ZSBkaXJlY3RpdmUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICAgICAgdGhpcy5iYXNlUmVuZGVyKHBhcmVudC5WaWV3Q29udGV4dC5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlUmVuZGVyID0gKHN0YXRlOkh0dHBSZXF1ZXN0U3RhdGUgKSA6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1ZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgcmVuZGVyOiAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGUpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -20,9 +20,9 @@ export class HttpErrorStateDirective extends HttpStateDirectiveBase {
20
20
  super.ngOnDestroy();
21
21
  }
22
22
  }
23
- HttpErrorStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- HttpErrorStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
23
+ HttpErrorStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpErrorStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpErrorState]' }]
28
28
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
@@ -20,9 +20,9 @@ export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
20
20
  super.ngOnDestroy();
21
21
  }
22
22
  }
23
- HttpInProgressStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- HttpInProgressStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
23
+ HttpInProgressStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpInProgressStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpInProgressState]' }]
28
28
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
@@ -20,9 +20,9 @@ export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
20
20
  super.ngOnDestroy();
21
21
  }
22
22
  }
23
- HttpNotStartedStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- HttpNotStartedStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
23
+ HttpNotStartedStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpNotStartedStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpNotStartedState]' }]
28
28
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
@@ -20,9 +20,9 @@ export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
20
20
  super.ngOnDestroy();
21
21
  }
22
22
  }
23
- HttpSuccessStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- HttpSuccessStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
23
+ HttpSuccessStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpSuccessStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpSuccessState]' }]
28
28
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
@@ -45,9 +45,9 @@ export class HttpRequestStateDirective {
45
45
  this.subscription.unsubscribe();
46
46
  }
47
47
  }
48
- HttpRequestStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
49
- HttpRequestStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpRequestStateDirective, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
48
+ HttpRequestStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
49
+ HttpRequestStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: HttpRequestStateDirective, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
51
51
  type: Directive,
52
52
  args: [{ selector: '[httpRequestState]' }]
53
53
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { stateStore: [{
@@ -7,8 +7,8 @@ import { HttpNotStartedStateDirective } from './directives/http-notStarted-state
7
7
  import * as i0 from "@angular/core";
8
8
  export class HttpRequestModule {
9
9
  }
10
- HttpRequestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- HttpRequestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, declarations: [HttpSuccessStateDirective,
10
+ HttpRequestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ HttpRequestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestModule, declarations: [HttpSuccessStateDirective,
12
12
  HttpRequestStateDirective,
13
13
  HttpErrorStateDirective,
14
14
  HttpInProgressStateDirective,
@@ -17,8 +17,8 @@ HttpRequestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
17
17
  HttpErrorStateDirective,
18
18
  HttpInProgressStateDirective,
19
19
  HttpNotStartedStateDirective] });
20
- HttpRequestModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, providers: [] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, decorators: [{
20
+ HttpRequestModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestModule, providers: [] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HttpRequestModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  providers: [],
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const TableBuilderConfigToken = new InjectionToken('TableBuilderConfig');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVCdWlsZGVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy9UYWJsZUJ1aWxkZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWlCL0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVTdGF0ZSB9IGZyb20gJy4vVGFibGVTdGF0ZSc7XG5pbXBvcnQgeyBEZWZhdWx0U2V0dGluZ3MgfSBmcm9tICcuL0RlZmF1bHRTZXR0aW5ncyc7XG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEZpZWxkVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQnVpbGRlckNvbmZpZyB7XG4gIGRlZmF1bHRUYWJsZVN0YXRlOiBQYXJ0aWFsPFRhYmxlU3RhdGU+O1xuICBleHBvcnQ/OiBUYWJsZUJ1aWxkZXJFeHBvcnQ7XG4gIGRlZmF1bHRTZXR0aW5ncz86IERlZmF1bHRTZXR0aW5ncztcbiAgYXJyYXlJbmZvPzogQXJyYXlBZGRpdGlvbmFsO1xuICB0cmFuc2Zvcm1lcnM/OiBQYXJ0aWFsPHsgW2tleSBpbiBrZXlvZiB0eXBlb2YgRmllbGRUeXBlXTogKHZhbDogYW55KSA9PiBhbnkgfT5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUJ1aWxkZXJFeHBvcnQge1xuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xuICBvblNhdmU/OiAoZXZlbnQ/OiBhbnkpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUYWJsZUJ1aWxkZXJDb25maWc+KCdUYWJsZUJ1aWxkZXJDb25maWcnKTtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVCdWlsZGVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy9UYWJsZUJ1aWxkZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWtCL0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQXFCLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVTdGF0ZSB9IGZyb20gJy4vVGFibGVTdGF0ZSc7XG5pbXBvcnQgeyBEZWZhdWx0U2V0dGluZ3MgfSBmcm9tICcuL0RlZmF1bHRTZXR0aW5ncyc7XG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEZpZWxkVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQnVpbGRlckNvbmZpZyB7XG4gIGRlZmF1bHRUYWJsZVN0YXRlOiBQYXJ0aWFsPFRhYmxlU3RhdGU+O1xuICBleHBvcnQ/OiBUYWJsZUJ1aWxkZXJFeHBvcnQ7XG4gIGRlZmF1bHRTZXR0aW5ncz86IERlZmF1bHRTZXR0aW5ncztcbiAgYXJyYXlJbmZvPzogQXJyYXlBZGRpdGlvbmFsO1xuICB0cmFuc2Zvcm1lcnM/OiBQYXJ0aWFsPHsgW2tleSBpbiBrZXlvZiB0eXBlb2YgRmllbGRUeXBlXTogKHZhbDogYW55KSA9PiBhbnkgfT5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUJ1aWxkZXJFeHBvcnQge1xuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xuICBvblNhdmU/OiAoZXZlbnQ/OiBhbnkpID0+IHZvaWQ7XG4gIHByZXBlbmQ/IDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVGFibGVCdWlsZGVyQ29uZmlnVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFibGVCdWlsZGVyQ29uZmlnPignVGFibGVCdWlsZGVyQ29uZmlnJyk7XG4iXX0=
@@ -9,7 +9,7 @@ export class TableBuilder {
9
9
  this.data$ = data$;
10
10
  this.data$ = this.data$.pipe(defaultShareReplay());
11
11
  this.metaData$ = metaData$ ?
12
- metaData$.pipe(first(), defaultShareReplay()) :
12
+ metaData$.pipe(defaultShareReplay()) :
13
13
  data$.pipe(first(), map(data => this.createMetaData(data[0])), defaultShareReplay());
14
14
  const s = isObservable(settings) ? settings : of(settings);
15
15
  this.settings = s.pipe(map(sett => new GeneralTableSettings(sett)), defaultShareReplay());
@@ -54,4 +54,4 @@ export const CreateTableBuilder = (reportDef$) => {
54
54
  reportDef$ = reportDef$.pipe(defaultShareReplay());
55
55
  return new TableBuilder(reportDef$.pipe(map(r => r.data)), reportDef$.pipe(map(r => r.metaData)));
56
56
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvdGFibGUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQVksU0FBUyxFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBb0IsS0FBc0IsRUFBRyxTQUF5QyxFQUFFLFdBQW9FLElBQUksb0JBQW9CLEVBQUU7UUFBbEssVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUMxQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxFQUFDLGtCQUFrQixFQUFFLENBQUMs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SSxDQUFDLENBQUUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWV0YURhdGEsIEZpZWxkVHlwZSwgUmVwb3J0RGVmIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1hcEFycmF5IH0gZnJvbSAnLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZW5lcmFsVGFibGVTZXR0aW5ncywgVGFibGVCdWlsZGVyU2V0dGluZ3MgfSBmcm9tICcuL3RhYmxlLWJ1aWxkZXItZ2VuZXJhbC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBkZWZhdWx0U2hhcmVSZXBsYXkgfSBmcm9tICcuLi8uLi9yeGpzJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlQnVpbGRlcjxUID0gYW55PiB7XG5cbiAgbWV0YURhdGEkOiBPYnNlcnZhYmxlPE1ldGFEYXRhPFQ+W10+O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGEkOiBPYnNlcnZhYmxlPFRbXT4sICBtZXRhRGF0YSQ/OiBPYnNlcnZhYmxlPE1ldGFEYXRhPFQsYW55PltdPiwgc2V0dGluZ3M6IFRhYmxlQnVpbGRlclNldHRpbmdzIHwgT2JzZXJ2YWJsZTxUYWJsZUJ1aWxkZXJTZXR0aW5ncz4gPSBuZXcgR2VuZXJhbFRhYmxlU2V0dGluZ3MoKSApIHtcbiAgICB0aGlzLmRhdGEkID0gdGhpcy5kYXRhJC5waXBlKGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcbiAgICB0aGlzLm1ldGFEYXRhJCA9IG1ldGFEYXRhJCA/XG4gICAgICBtZXRhRGF0YSQucGlwZShmaXJzdCgpLGRlZmF1bHRTaGFyZVJlcGxheSgpKSA6XG4gICAgICBkYXRhJC5waXBlKGZpcnN0KCksIG1hcCggZGF0YSA9PiB0aGlzLmNyZWF0ZU1ldGFEYXRhKGRhdGFbMF0pICksZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xuICAgIGNvbnN0IHMgPSBpc09ic2VydmFibGUoc2V0dGluZ3MpID8gc2V0dGluZ3MgOiBvZihzZXR0aW5ncyk7XG4gICAgdGhpcy5zZXR0aW5ncyA9IHMucGlwZShtYXAoc2V0dCA9PiBuZXcgR2VuZXJhbFRhYmxlU2V0dGluZ3Moc2V0dCkpLGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcbiAgfVxuICBzZXR0aW5ncyA6IE9ic2VydmFibGU8R2VuZXJhbFRhYmxlU2V0dGluZ3M+O1xuICBnZXREYXRhJCgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubWV0YURhdGEkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoIG1ldGFEYXRhID0+IHRoaXMuZGF0YSQucGlwZShcbiAgICAgICAgbWFwQXJyYXkoIGRhdGEgPT4gdGhpcy5jbGVhblJlY29yZChkYXRhLCBtZXRhRGF0YSApIClcbiAgICAgICkpXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZU1ldGFEYXRhKG9iajogYW55KTogTWV0YURhdGEgW10ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmogPz8ge30pXG4gICAgLm1hcCgga2V5ID0+ICh7XG4gICAgICBrZXksXG4gICAgICBmaWVsZFR5cGU6IEZpZWxkVHlwZS5Vbmtub3duLFxuICAgICAgb3JkZXI6IC0xXG4gICAgfSkpO1xuICB9XG5cbiAgY2xlYW5WYWwodmFsOiBhbnksIG1ldGFEYXRhOiBNZXRhRGF0YSk6IGFueSB7XG4gICAgc3dpdGNoICggbWV0YURhdGEuZmllbGRUeXBlICkge1xuICAgICAgY2FzZSBGaWVsZFR5cGUuQ3VycmVuY3k6XG4gICAgICBjYXNlIEZpZWxkVHlwZS5OdW1iZXI6XG4gICAgICAgIGNvbnN0IG51bSA9IE51bWJlciggdmFsICk7XG4gICAgICAgIHJldHVybiBpc05hTihudW0pIHx8IHZhbCA9PSBudWxsID8gbnVsbCA6IG51bTtcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgIGNvbnN0IGRhdGUgPSBEYXRlLnBhcnNlKHZhbCk7XG4gICAgICAgIGlmKGlzTmFOKGRhdGUpKXtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICAgIGQuc2V0SG91cnMoMCwwLDAsMCk7XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgY2xlYW5SZWNvcmQoIHJlY29yZDogVCwgbWV0YWRhdGE6IE1ldGFEYXRhIFtdKTogVCAge1xuICAgIGNvbnN0IGNsZWFuZWQgPSBtZXRhZGF0YS5yZWR1Y2UoIChwcmV2OiBULCBjdXJyOiBNZXRhRGF0YTxUPikgPT4ge1xuICAgICAgcHJldltjdXJyLmtleV0gPSB0aGlzLmNsZWFuVmFsKHJlY29yZFtjdXJyLmtleV0sIGN1cnIpO1xuICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwge30gYXMgVCApXG4gICAgcmV0dXJuIHsuLi5yZWNvcmQsIC4uLmNsZWFuZWR9O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYWJsZUJ1aWxkZXIgPSAocmVwb3J0RGVmJDogT2JzZXJ2YWJsZTxSZXBvcnREZWY+ICk6IFRhYmxlQnVpbGRlciA9PiB7XG4gIHJlcG9ydERlZiQgPSByZXBvcnREZWYkLnBpcGUoZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xuICByZXR1cm4gbmV3IFRhYmxlQnVpbGRlcihyZXBvcnREZWYkLnBpcGUobWFwKCByID0+IHIuZGF0YSkgKSwgcmVwb3J0RGVmJC5waXBlKCBtYXAgKCByID0+IHIubWV0YURhdGEpICkpO1xufTtcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvdGFibGUtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQVksU0FBUyxFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBb0IsS0FBc0IsRUFBRyxTQUF5QyxFQUFFLFdBQW9FLElBQUksb0JBQW9CLEVBQUU7UUFBbEssVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUMxQixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxFQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUN4RixNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BDLFFBQVEsQ0FBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBRSxDQUFFLENBQ3RELENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO2FBQzVCLEdBQUcsQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDWixHQUFHO1lBQ0gsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1lBQzVCLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDVixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBUSxFQUFFLFFBQWtCO1FBQ25DLFFBQVMsUUFBUSxDQUFDLFNBQVMsRUFBRztZQUM1QixLQUFLLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDeEIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFFLEdBQUcsQ0FBRSxDQUFDO2dCQUMxQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNoRCxLQUFLLFNBQVMsQ0FBQyxJQUFJO2dCQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDYixPQUFPLElBQUksQ0FBQztpQkFDYjtnQkFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBRSxNQUFTLEVBQUUsUUFBcUI7UUFDM0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBRSxDQUFDLElBQU8sRUFBRSxJQUFpQixFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLEVBQUUsRUFBTyxDQUFFLENBQUE7UUFDWixPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFVBQWlDLEVBQWlCLEVBQUU7SUFDckYsVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELE9BQU8sSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWV0YURhdGEsIEZpZWxkVHlwZSwgUmVwb3J0RGVmIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1hcEFycmF5IH0gZnJvbSAnLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBHZW5lcmFsVGFibGVTZXR0aW5ncywgVGFibGVCdWlsZGVyU2V0dGluZ3MgfSBmcm9tICcuL3RhYmxlLWJ1aWxkZXItZ2VuZXJhbC1zZXR0aW5ncyc7XG5pbXBvcnQgeyBkZWZhdWx0U2hhcmVSZXBsYXkgfSBmcm9tICcuLi8uLi9yeGpzJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlQnVpbGRlcjxUID0gYW55PiB7XG5cbiAgbWV0YURhdGEkOiBPYnNlcnZhYmxlPE1ldGFEYXRhPFQ+W10+O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGEkOiBPYnNlcnZhYmxlPFRbXT4sICBtZXRhRGF0YSQ/OiBPYnNlcnZhYmxlPE1ldGFEYXRhPFQsYW55PltdPiwgc2V0dGluZ3M6IFRhYmxlQnVpbGRlclNldHRpbmdzIHwgT2JzZXJ2YWJsZTxUYWJsZUJ1aWxkZXJTZXR0aW5ncz4gPSBuZXcgR2VuZXJhbFRhYmxlU2V0dGluZ3MoKSApIHtcbiAgICB0aGlzLmRhdGEkID0gdGhpcy5kYXRhJC5waXBlKGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcbiAgICB0aGlzLm1ldGFEYXRhJCA9IG1ldGFEYXRhJCA/XG4gICAgICBtZXRhRGF0YSQucGlwZShkZWZhdWx0U2hhcmVSZXBsYXkoKSkgOlxuICAgICAgZGF0YSQucGlwZShmaXJzdCgpLCBtYXAoIGRhdGEgPT4gdGhpcy5jcmVhdGVNZXRhRGF0YShkYXRhWzBdKSApLGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcbiAgICBjb25zdCBzID0gaXNPYnNlcnZhYmxlKHNldHRpbmdzKSA/IHNldHRpbmdzIDogb2Yoc2V0dGluZ3MpO1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzLnBpcGUobWFwKHNldHQgPT4gbmV3IEdlbmVyYWxUYWJsZVNldHRpbmdzKHNldHQpKSxkZWZhdWx0U2hhcmVSZXBsYXkoKSk7XG4gIH1cbiAgc2V0dGluZ3MgOiBPYnNlcnZhYmxlPEdlbmVyYWxUYWJsZVNldHRpbmdzPjtcbiAgZ2V0RGF0YSQoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLm1ldGFEYXRhJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCBtZXRhRGF0YSA9PiB0aGlzLmRhdGEkLnBpcGUoXG4gICAgICAgIG1hcEFycmF5KCBkYXRhID0+IHRoaXMuY2xlYW5SZWNvcmQoZGF0YSwgbWV0YURhdGEgKSApXG4gICAgICApKVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVNZXRhRGF0YShvYmo6IGFueSk6IE1ldGFEYXRhIFtdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqID8/IHt9KVxuICAgIC5tYXAoIGtleSA9PiAoe1xuICAgICAga2V5LFxuICAgICAgZmllbGRUeXBlOiBGaWVsZFR5cGUuVW5rbm93bixcbiAgICAgIG9yZGVyOiAtMVxuICAgIH0pKTtcbiAgfVxuXG4gIGNsZWFuVmFsKHZhbDogYW55LCBtZXRhRGF0YTogTWV0YURhdGEpOiBhbnkge1xuICAgIHN3aXRjaCAoIG1ldGFEYXRhLmZpZWxkVHlwZSApIHtcbiAgICAgIGNhc2UgRmllbGRUeXBlLkN1cnJlbmN5OlxuICAgICAgY2FzZSBGaWVsZFR5cGUuTnVtYmVyOlxuICAgICAgICBjb25zdCBudW0gPSBOdW1iZXIoIHZhbCApO1xuICAgICAgICByZXR1cm4gaXNOYU4obnVtKSB8fCB2YWwgPT0gbnVsbCA/IG51bGwgOiBudW07XG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICBjb25zdCBkYXRlID0gRGF0ZS5wYXJzZSh2YWwpO1xuICAgICAgICBpZihpc05hTihkYXRlKSl7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICBkLnNldEhvdXJzKDAsMCwwLDApO1xuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbiAgfVxuXG4gIGNsZWFuUmVjb3JkKCByZWNvcmQ6IFQsIG1ldGFkYXRhOiBNZXRhRGF0YSBbXSk6IFQgIHtcbiAgICBjb25zdCBjbGVhbmVkID0gbWV0YWRhdGEucmVkdWNlKCAocHJldjogVCwgY3VycjogTWV0YURhdGE8VD4pID0+IHtcbiAgICAgIHByZXZbY3Vyci5rZXldID0gdGhpcy5jbGVhblZhbChyZWNvcmRbY3Vyci5rZXldLCBjdXJyKTtcbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH0sIHt9IGFzIFQgKVxuICAgIHJldHVybiB7Li4ucmVjb3JkLCAuLi5jbGVhbmVkfTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFibGVCdWlsZGVyID0gKHJlcG9ydERlZiQ6IE9ic2VydmFibGU8UmVwb3J0RGVmPiApOiBUYWJsZUJ1aWxkZXIgPT4ge1xuICByZXBvcnREZWYkID0gcmVwb3J0RGVmJC5waXBlKGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcbiAgcmV0dXJuIG5ldyBUYWJsZUJ1aWxkZXIocmVwb3J0RGVmJC5waXBlKG1hcCggciA9PiByLmRhdGEpICksIHJlcG9ydERlZiQucGlwZSggbWFwICggciA9PiByLm1ldGFEYXRhKSApKTtcbn07XG4iXX0=
@@ -208,9 +208,9 @@ export class TableStore extends ComponentStore {
208
208
  this.on(this.state$.pipe(last()), callback);
209
209
  }
210
210
  }
211
- TableStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TableStore, deps: [{ token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Injectable });
212
- TableStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TableStore, providedIn: 'root' });
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TableStore, decorators: [{
211
+ TableStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TableStore, deps: [{ token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Injectable });
212
+ TableStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TableStore, providedIn: 'root' });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TableStore, decorators: [{
214
214
  type: Injectable,
215
215
  args: [{
216
216
  providedIn: 'root',
@@ -13,8 +13,8 @@ export class ArrayColumnComponent {
13
13
  this.array = (this.array ?? []).slice(0, this.additional.limit);
14
14
  }
15
15
  }
16
- ArrayColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ArrayColumnComponent, deps: [{ token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Component });
17
- ArrayColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ArrayColumnComponent, selector: "tb-array-column", inputs: { array: "array", metaData: "metaData" }, ngImport: i0, template: `
16
+ ArrayColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ArrayColumnComponent, deps: [{ token: TableBuilderConfigToken }], target: i0.ɵɵFactoryTarget.Component });
17
+ ArrayColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ArrayColumnComponent, selector: "tb-array-column", inputs: { array: "array", metaData: "metaData" }, ngImport: i0, template: `
18
18
  <ng-container *ngIf="array.length === 0; else hasVals">-</ng-container>
19
19
  <ng-template #hasVals>
20
20
  <ng-container [ngSwitch]="additional.arrayStyle">
@@ -27,7 +27,7 @@ ArrayColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
27
27
  </ng-container>
28
28
  </ng-template>
29
29
  `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ArrayColumnComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ArrayColumnComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{
33
33
  selector: 'tb-array-column',
@@ -3,6 +3,7 @@ import { FieldType } from '../../interfaces/report-def';
3
3
  import { MatColumnDef } from '@angular/material/table';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { previousAndCurrent } from '../../../rxjs/rxjs-operators';
6
+ import { CdkDropList, CDK_DROP_LIST } from '@angular/cdk/drag-drop';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../services/transform-creator";
8
9
  import * as i2 from "@angular/material/table";
@@ -13,9 +14,10 @@ import * as i6 from "../header-menu/header-menu.component";
13
14
  import * as i7 from "@ngrx/component";
14
15
  import * as i8 from "../../../utilities/directives/styler";
15
16
  import * as i9 from "@angular/common";
16
- import * as i10 from "../../directives/resize-column.directive";
17
- import * as i11 from "../../../utilities/pipes/space-case.pipes";
18
- import * as i12 from "../../pipes/column-total.pipe";
17
+ import * as i10 from "@angular/cdk/drag-drop";
18
+ import * as i11 from "../../directives/resize-column.directive";
19
+ import * as i12 from "../../../utilities/pipes/space-case.pipes";
20
+ import * as i13 from "../../pipes/column-total.pipe";
19
21
  export class ColumnBuilderComponent {
20
22
  constructor(transformCreator, table, state, templateService) {
21
23
  this.transformCreator = transformCreator;
@@ -71,11 +73,15 @@ export class ColumnBuilderComponent {
71
73
  }
72
74
  }
73
75
  }
74
- ColumnBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ColumnBuilderComponent, deps: [{ token: i1.TransformCreator }, { token: i2.MatTable }, { token: i3.TableStore }, { token: i4.TableTemplateService }], target: i0.ɵɵFactoryTarget.Component });
75
- ColumnBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: ColumnBuilderComponent, selector: "tb-column-builder", inputs: { metaData: "metaData", customCell: "customCell", data$: "data$" }, viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles$ as styles\">\n\n <ng-template #body let-element='element' >\n <mat-cell [styler]='styles.body' (click)='cellClicked(element, metaData.key)'>\n <ng-container *ngTemplateOutlet=\"innerTemplate;context: {metaData: metaData, element: element, transform: transform }\">\n </ng-container>\n <span class=\"no-val\" *ngIf=\"metaData.fieldType !== FieldType.Expression && ( element[metaData.key] == null ) &&\n !((customCell && customCell.TemplateRef) || metaData.template)\">-</span>\n </mat-cell>\n </ng-template>\n\n <ng-template matHeaderCellDef #myHeader>\n\n <ng-container *ngIf=\"customCell?.columnDef?.headerCell;else header;\">\n <ng-container *ngTemplateOutlet=\"customCell.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\n </ng-container>\n </ng-container>\n\n <ng-template #header>\n\n <mat-header-cell [styler]='styles.header' [resizeColumn]=\"true\" [key]=\"metaData.key\" class=\"column-head\" #headref >\n <div class=\"header-container\">\n <div *ngIf=\"!metaData._internalNotUserDefined || !customCell?.columnDef?.cell ; else headerWithoutMenu\" mat-sort-header style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n <ng-template #headerWithoutMenu >\n <div *ngIf=\"metaData._internalNotUserDefined;\" style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n </ng-template>\n <tb-header-menu *ngIf=\"(!metaData._internalNotUserDefined || !customCell?.columnDef?.cell) && (!metaData.noFilter)\" #menu [metaData]='metaData' [filter]='filter' ></tb-header-menu>\n </div>\n </mat-header-cell>\n </ng-template>\n </ng-template>\n\n\n <ng-container *matCellDef=\"let element;\">\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: {metaData: metaData, element: element , styles: styles.body }\">\n </ng-container>\n </ng-container>\n\n <ng-template matFooterCellDef>\n <ng-container *ngIf=\"customCell?.columnDef?.footerCell;else footer\">\n <ng-container\n *ngTemplateOutlet=\"customCell.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\">\n </ng-container>\n </ng-container>\n\n <ng-template #footer>\n <mat-footer-cell [styler]='styles.footer' *ngrxLet=\"data$ as data\">\n <span *ngIf=\"data?.length && metaData.additional?.footer\" [ngSwitch]=\"metaData.fieldType\" class=\"bold\">\n <span *ngSwitchCase=\"FieldType.Currency\">\n {{ data | columnTotal: metaData | currency }}\n </span>\n <span *ngSwitchCase=\"FieldType.Number\">\n {{ data | columnTotal: metaData | number }}\n </span>\n </span>\n </mat-footer-cell>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold{font-weight:900}\n"], components: [{ type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i6.HeaderMenuComponent, selector: "tb-header-menu", inputs: ["filter", "metaData"] }], directives: [{ type: i7.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i8.StylerDirective, selector: "[styler]", inputs: ["styler"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i10.ResizeColumnDirective, selector: "[resizeColumn]", inputs: ["resizeColumn", "key"] }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i2.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "spaceCase": i11.SpaceCasePipe, "currency": i9.CurrencyPipe, "columnTotal": i12.ColumnTotalPipe, "number": i9.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ColumnBuilderComponent, decorators: [{
76
+ ColumnBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ColumnBuilderComponent, deps: [{ token: i1.TransformCreator }, { token: i2.MatTable }, { token: i3.TableStore }, { token: i4.TableTemplateService }], target: i0.ɵɵFactoryTarget.Component });
77
+ ColumnBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ColumnBuilderComponent, selector: "tb-column-builder", inputs: { metaData: "metaData", customCell: "customCell", data$: "data$" }, viewQueries: [{ propertyName: "columnDef", first: true, predicate: MatColumnDef, descendants: true }, { propertyName: "bodyTemplate", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles$ as styles\">\n\n <ng-template #body let-element='element' >\n\n <mat-cell [styler]='styles.body' [class.group-footer]=\"element.isGroupFooter\" (click)='cellClicked(element, metaData.key)'>\n <ng-container *ngTemplateOutlet=\"innerTemplate;context: {metaData: metaData, element: element, transform: transform }\">\n </ng-container>\n <span class=\"no-val\" *ngIf=\"\n !element.isGroupFooter &&\n metaData.fieldType !== FieldType.Expression &&\n (element[metaData.key] == null) &&\n !((customCell && customCell.TemplateRef) || metaData.template)\n \"> - </span>\n </mat-cell>\n\n </ng-template>\n\n <ng-template matHeaderCellDef #myHeader>\n\n <ng-container *ngIf=\"customCell?.columnDef?.headerCell;else header;\">\n <ng-container *ngTemplateOutlet=\"customCell.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\n </ng-container>\n </ng-container>\n\n <ng-template #header>\n\n <mat-header-cell cdkDrag [styler]='styles.header' [resizeColumn]=\"true\" [key]=\"metaData.key\" class=\"column-head drag-header\" #headref >\n <div class=\"header-container\">\n <div *ngIf=\"!metaData._internalNotUserDefined || !customCell?.columnDef?.cell ; else headerWithoutMenu\" mat-sort-header style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n <ng-template #headerWithoutMenu >\n <div *ngIf=\"metaData._internalNotUserDefined;\" style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n </ng-template>\n <tb-header-menu cdkDragHandle *ngIf=\"(!metaData._internalNotUserDefined || !customCell?.columnDef?.cell) && (!metaData.noFilter)\" #menu [metaData]='metaData' [filter]='filter' ></tb-header-menu>\n </div>\n </mat-header-cell>\n\n </ng-template>\n\n </ng-template>\n\n\n <ng-container *matCellDef=\"let element;\">\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: {metaData: metaData, element: element , styles: styles.body }\">\n </ng-container>\n </ng-container>\n\n <ng-template matFooterCellDef>\n <ng-container *ngIf=\"customCell?.columnDef?.footerCell;else footer\">\n <ng-container\n *ngTemplateOutlet=\"customCell.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\">\n </ng-container>\n </ng-container>\n\n <ng-template #footer>\n <mat-footer-cell [styler]='styles.footer' *ngrxLet=\"data$ as data\">\n <span *ngIf=\"data?.length && metaData.additional?.footer\" [ngSwitch]=\"metaData.fieldType\" class=\"bold\">\n <span *ngSwitchCase=\"FieldType.Currency\">\n {{ data | columnTotal: metaData | currency }}\n </span>\n <span *ngSwitchCase=\"FieldType.Number\">\n {{ data | columnTotal: metaData | number }}\n </span>\n </span>\n </mat-footer-cell>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:white;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i6.HeaderMenuComponent, selector: "tb-header-menu", inputs: ["filter", "metaData"] }], directives: [{ type: i7.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i8.StylerDirective, selector: "[styler]", inputs: ["styler"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i11.ResizeColumnDirective, selector: "[resizeColumn]", inputs: ["resizeColumn", "key"] }, { type: i10.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatFooterCellDef, selector: "[matFooterCellDef]" }, { type: i2.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "spaceCase": i12.SpaceCasePipe, "currency": i9.CurrencyPipe, "columnTotal": i13.ColumnTotalPipe, "number": i9.DecimalPipe }, viewProviders: [
78
+ { provide: CDK_DROP_LIST, useExisting: CdkDropList },
79
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ColumnBuilderComponent, decorators: [{
77
81
  type: Component,
78
- args: [{ selector: 'tb-column-builder', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles$ as styles\">\n\n <ng-template #body let-element='element' >\n <mat-cell [styler]='styles.body' (click)='cellClicked(element, metaData.key)'>\n <ng-container *ngTemplateOutlet=\"innerTemplate;context: {metaData: metaData, element: element, transform: transform }\">\n </ng-container>\n <span class=\"no-val\" *ngIf=\"metaData.fieldType !== FieldType.Expression && ( element[metaData.key] == null ) &&\n !((customCell && customCell.TemplateRef) || metaData.template)\">-</span>\n </mat-cell>\n </ng-template>\n\n <ng-template matHeaderCellDef #myHeader>\n\n <ng-container *ngIf=\"customCell?.columnDef?.headerCell;else header;\">\n <ng-container *ngTemplateOutlet=\"customCell.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\n </ng-container>\n </ng-container>\n\n <ng-template #header>\n\n <mat-header-cell [styler]='styles.header' [resizeColumn]=\"true\" [key]=\"metaData.key\" class=\"column-head\" #headref >\n <div class=\"header-container\">\n <div *ngIf=\"!metaData._internalNotUserDefined || !customCell?.columnDef?.cell ; else headerWithoutMenu\" mat-sort-header style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n <ng-template #headerWithoutMenu >\n <div *ngIf=\"metaData._internalNotUserDefined;\" style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n </ng-template>\n <tb-header-menu *ngIf=\"(!metaData._internalNotUserDefined || !customCell?.columnDef?.cell) && (!metaData.noFilter)\" #menu [metaData]='metaData' [filter]='filter' ></tb-header-menu>\n </div>\n </mat-header-cell>\n </ng-template>\n </ng-template>\n\n\n <ng-container *matCellDef=\"let element;\">\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: {metaData: metaData, element: element , styles: styles.body }\">\n </ng-container>\n </ng-container>\n\n <ng-template matFooterCellDef>\n <ng-container *ngIf=\"customCell?.columnDef?.footerCell;else footer\">\n <ng-container\n *ngTemplateOutlet=\"customCell.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\">\n </ng-container>\n </ng-container>\n\n <ng-template #footer>\n <mat-footer-cell [styler]='styles.footer' *ngrxLet=\"data$ as data\">\n <span *ngIf=\"data?.length && metaData.additional?.footer\" [ngSwitch]=\"metaData.fieldType\" class=\"bold\">\n <span *ngSwitchCase=\"FieldType.Currency\">\n {{ data | columnTotal: metaData | currency }}\n </span>\n <span *ngSwitchCase=\"FieldType.Number\">\n {{ data | columnTotal: metaData | number }}\n </span>\n </span>\n </mat-footer-cell>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold{font-weight:900}\n"] }]
82
+ args: [{ selector: 'tb-column-builder', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [
83
+ { provide: CDK_DROP_LIST, useExisting: CdkDropList },
84
+ ], template: "<ng-container [matColumnDef]=\"metaData.key\" *ngrxLet=\"styles$ as styles\">\n\n <ng-template #body let-element='element' >\n\n <mat-cell [styler]='styles.body' [class.group-footer]=\"element.isGroupFooter\" (click)='cellClicked(element, metaData.key)'>\n <ng-container *ngTemplateOutlet=\"innerTemplate;context: {metaData: metaData, element: element, transform: transform }\">\n </ng-container>\n <span class=\"no-val\" *ngIf=\"\n !element.isGroupFooter &&\n metaData.fieldType !== FieldType.Expression &&\n (element[metaData.key] == null) &&\n !((customCell && customCell.TemplateRef) || metaData.template)\n \"> - </span>\n </mat-cell>\n\n </ng-template>\n\n <ng-template matHeaderCellDef #myHeader>\n\n <ng-container *ngIf=\"customCell?.columnDef?.headerCell;else header;\">\n <ng-container *ngTemplateOutlet=\"customCell.columnDef.headerCell.template; context: {metaData: metaData, styles: styles.header} \">\n </ng-container>\n </ng-container>\n\n <ng-template #header>\n\n <mat-header-cell cdkDrag [styler]='styles.header' [resizeColumn]=\"true\" [key]=\"metaData.key\" class=\"column-head drag-header\" #headref >\n <div class=\"header-container\">\n <div *ngIf=\"!metaData._internalNotUserDefined || !customCell?.columnDef?.cell ; else headerWithoutMenu\" mat-sort-header style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n <ng-template #headerWithoutMenu >\n <div *ngIf=\"metaData._internalNotUserDefined;\" style=\"width: 100%\">\n {{ metaData.displayName ? metaData.displayName : ( metaData.key | spaceCase ) }}\n </div>\n </ng-template>\n <tb-header-menu cdkDragHandle *ngIf=\"(!metaData._internalNotUserDefined || !customCell?.columnDef?.cell) && (!metaData.noFilter)\" #menu [metaData]='metaData' [filter]='filter' ></tb-header-menu>\n </div>\n </mat-header-cell>\n\n </ng-template>\n\n </ng-template>\n\n\n <ng-container *matCellDef=\"let element;\">\n <ng-container *ngTemplateOutlet=\"outerTemplate; context: {metaData: metaData, element: element , styles: styles.body }\">\n </ng-container>\n </ng-container>\n\n <ng-template matFooterCellDef>\n <ng-container *ngIf=\"customCell?.columnDef?.footerCell;else footer\">\n <ng-container\n *ngTemplateOutlet=\"customCell.columnDef.footerCell.template;context: {metaData: metaData, data: data$, styles : styles.footer }\">\n </ng-container>\n </ng-container>\n\n <ng-template #footer>\n <mat-footer-cell [styler]='styles.footer' *ngrxLet=\"data$ as data\">\n <span *ngIf=\"data?.length && metaData.additional?.footer\" [ngSwitch]=\"metaData.fieldType\" class=\"bold\">\n <span *ngSwitchCase=\"FieldType.Currency\">\n {{ data | columnTotal: metaData | currency }}\n </span>\n <span *ngSwitchCase=\"FieldType.Number\">\n {{ data | columnTotal: metaData | number }}\n </span>\n </span>\n </mat-footer-cell>\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [".header-container{display:flex;flex-direction:row;width:100%;align-items:center}.negative-currency{color:red}.column-head{position:relative}.bold,.group-footer{font-weight:900}.cdk-drag-preview{background:white;box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:33%;border-right-width:0px}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
79
85
  }], ctorParameters: function () { return [{ type: i1.TransformCreator }, { type: i2.MatTable }, { type: i3.TableStore }, { type: i4.TableTemplateService }]; }, propDecorators: { metaData: [{
80
86
  type: Input
81
87
  }], customCell: [{
@@ -89,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
89
95
  type: ViewChild,
90
96
  args: ['body']
91
97
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2NvbHVtbi1idWlsZGVyL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFlLFNBQVMsRUFBc0QsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSx5QkFBeUIsQ0FBQztBQU1qRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFXLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBbUIzRSxNQUFNLE9BQU8sc0JBQXNCO0lBZWpDLFlBQ1UsZ0JBQWtDLEVBQ2xDLEtBQW9CLEVBQ3JCLEtBQWlCLEVBQ2hCLGVBQXFDO1FBSHJDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFzQjtRQWxCL0MsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQTZEdEIsYUFBUSxHQUFHLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSx1QkFBdUIsQ0FBb0IsRUFBZSxFQUFFO1lBRWpHLElBQUksdUJBQXVCLEVB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QyxPQUFZLEVBQUUsR0FBVztRQUNuQyxJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7O21IQTVEVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixnTEFPdEIsWUFBWSx1SUNyQ3pCLG0vRkErREE7MkZEakNhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTswTEFLdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFbUIsU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZO2dCQUtKLFlBQVk7c0JBQTlCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPbkluaXQsIEhvc3RCaW5kaW5nLCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBNYXRDb2x1bW5EZWYsIE1hdFRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VzdG9tQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRmlsdGVySW5mbyB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xuaW1wb3J0IHsgVHJhbnNmb3JtQ3JlYXRvciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zZm9ybS1jcmVhdG9yJztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFibGUtdGVtcGxhdGUtc2VydmljZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kaWN0aW9uYXJ5JztcbmltcG9ydCB7IG5vdE51bGwsIHByZXZpb3VzQW5kQ3VycmVudCB9IGZyb20gJy4uLy4uLy4uL3J4anMvcnhqcy1vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2Ugd2lkdGhTdHlsZSB7XG4gICAgZmxleD86IHN0cmluZztcbiAgICBtYXhXaWR0aD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIGFsbFN0eWxlcyB7XG4gIGJvZHk6IHdpZHRoU3R5bGU7XG4gIGhlYWRlcjogd2lkdGhTdHlsZTtcbiAgZm9vdGVyOiB3aWR0aFN0eWxlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Yi1jb2x1bW4tYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5CdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xuICBmaWx0ZXIhOiBQYXJ0aWFsPEZpbHRlckluZm8+O1xuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhXG4gIEBJbnB1dCgpIGN1c3RvbUNlbGwhOiBDdXN0b21DZWxsRGlyZWN0aXZlO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIEBWaWV3Q2hpbGQoTWF0Q29sdW1uRGVmKSBjb2x1bW5EZWYhOiBNYXRDb2x1bW5EZWY7XG4gIG91dGVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBpbm5lclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgdHJhbnNmb3JtITogKG86IGFueSwgLi4uYXJnczogYW55W10pPT4gYW55IDtcblxuICBAVmlld0NoaWxkKCdib2R5JykgYm9keVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNmb3JtQ3JlYXRvcjogVHJhbnNmb3JtQ3JlYXRvcixcbiAgICBwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LFxuICAgIHB1YmxpYyBzdGF0ZTogVGFibGVTdG9yZSxcbiAgICBwcml2YXRlIHRlbXBsYXRlU2VydmljZTogVGFibGVUZW1wbGF0ZVNlcnZpY2UsXG4gICAgKSB7IH1cblxuICBnZXRJbm5lclRlbXBsYXRlKCkgOlRlbXBsYXRlUmVmPGFueT4ge1xuICAgIGlmKHRoaXMubWV0YURhdGEudGVtcGxhdGUpIHJldHVybiB0aGlzLm1ldGFEYXRhLnRlbXBsYXRlO1xuICAgIGlmICh0aGlzLmN1c3RvbUNlbGw/LlRlbXBsYXRlUmVmKSAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbC5UZW1wbGF0ZVJlZjtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0VGVtcGxhdGUodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUpO1xuICB9XG5cbiAgZ2V0T3V0ZXJUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21DZWxsPy5jb2x1bW5EZWY/LmNlbGw/LnRlbXBsYXRlID8/IHRoaXMuYm9keVRlbXBsYXRlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXIgPSB7a2V5OiB0aGlzLm1ldGFEYXRhLmtleSwgZmllbGRUeXBlOiB0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZX07XG4gICAgY29uc3Qgd2lkdGgkID0gdGhpcy5zdGF0ZS5nZXRVc2VyRGVmaW5lZFdpZHRoJCh0aGlzLm1ldGFEYXRhLmtleSkucGlwZShcbiAgICAgIHByZXZpb3VzQW5kQ3VycmVudCgwKSxcbiAgICAgIG1hcCh0aGlzLm1hcFdpZHRoKSxcbiAgICApO1xuICAgIGNvbnN0IGZ1bGxNZXRhU3R5bGVzID0gdGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5zdHlsZXMgPz8ge307XG4gICAgdGhpcy5zdHlsZXMkID0gd2lkdGgkLnBpcGUobWFwKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlczogYWxsU3R5bGVzID0ge1xuICAgICAgICBoZWFkZXIgOiB7Li4uZnVsbE1ldGFTdHlsZXMsLi4udGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5jb2x1bW5QYXJ0U3R5bGVzPy5oZWFkZXIsIC4uLndpZHRofSxcbiAgICAgICAgZm9vdGVyOiB7Li4uZnVsbE1ldGFTdHlsZXMsLi4udGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5jb2x1bW5QYXJ0U3R5bGVzPy5mb290ZXIsIC4uLndpZHRofSxcbiAgICAgICAgYm9keTogey4uLmZ1bGxNZXRhU3R5bGVzLC4uLnRoaXMubWV0YURhdGEuYWRkaXRpb25hbD8uY29sdW1uUGFydFN0eWxlcz8uYm9keSwgLi4ud2lkdGh9LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfSkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub3V0ZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0T3V0ZXJUZW1wbGF0ZSgpO1xuICAgIHRoaXMuaW5uZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0SW5uZXJUZW1wbGF0ZSgpO1xuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DcmVhdG9yLmNyZWF0ZVRyYW5zZm9ybWVyKHRoaXMubWV0YURhdGEpO1xuICAgIHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtcbiAgfVxuXG4gIGNlbGxDbGlja2VkKGVsZW1lbnQ6IGFueSwga2V5OiBzdHJpbmcpIHtcbiAgICBpZih0aGlzLm1ldGFEYXRhLmNsaWNrKSB7XG4gICAgICB0aGlzLm1ldGFEYXRhLmNsaWNrKGVsZW1lbnQsa2V5KTtcbiAgICB9XG4gIH1cblxuICBtYXBXaWR0aCA9IChbcHJldmlvdXNVc2VyRGVmaW5lZFdpZHRoLCBjdXJyZW50VXNlckRlZmluZWRXaWR0aF0gOiBbbnVtYmVyLCBudW1iZXJdKSA6IHdpZHRoU3R5bGUgPT4ge1xuXG4gICAgaWYoIGN1cnJlbnRVc2VyRGVmaW5lZFdpZHRoICl7XG4gICAgICByZXR1cm4gKHtmbGV4OmAwIDAgJHtjdXJyZW50VXNlckRlZmluZWRXaWR0aH1weGAsIG1heFdpZHRoOidub25lJ30pO1xuICAgIH0gaWYoIHdhc1Jlc2V0KCkgKXtcbiAgICAgIHJldHVybiAoe2ZsZXg6JzEnfSk7XG4gICAgfVxuICAgIHJldHVybiAoe30pO1xuICAgIGZ1bmN0aW9uIHdhc1Jlc2V0KCl7XG4gICAgICByZXR1cm4gcHJldmlvdXNVc2VyRGVmaW5lZFdpZHRoID49MCAmJiBjdXJyZW50VXNlckRlZmluZWRXaWR0aCA9PSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHN0eWxlcyQhOk9ic2VydmFibGU8YWxsU3R5bGVzPlxuXG59XG4iLCI8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwibWV0YURhdGEua2V5XCIgKm5ncnhMZXQ9XCJzdHlsZXMkIGFzIHN0eWxlc1wiPlxuXG4gIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtZWxlbWVudD0nZWxlbWVudCcgPlxuICAgIDxtYXQtY2VsbCBbc3R5bGVyXT0nc3R5bGVzLmJvZHknICAoY2xpY2spPSdjZWxsQ2xpY2tlZChlbGVtZW50LCBtZXRhRGF0YS5rZXkpJz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVyVGVtcGxhdGU7Y29udGV4dDoge21ldGFEYXRhOiBtZXRhRGF0YSwgZWxlbWVudDogZWxlbWVudCwgdHJhbnNmb3JtOiB0cmFuc2Zvcm0gfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8c3BhbiBjbGFzcz1cIm5vLXZhbFwiICpuZ0lmPVwibWV0YURhdGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuRXhwcmVzc2lvbiAmJiAoIGVsZW1lbnRbbWV0YURhdGEua2V5XSA9PSBudWxsICkgJiZcbiAgICAgISgoY3VzdG9tQ2VsbCAmJiBjdXN0b21DZWxsLlRlbXBsYXRlUmVmKSB8fCBtZXRhRGF0YS50ZW1wbGF0ZSlcIj4tPC9zcGFuPlxuICAgIDwvbWF0LWNlbGw+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIG1hdEhlYWRlckNlbGxEZWYgI215SGVhZGVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uaGVhZGVyQ2VsbDtlbHNlIGhlYWRlcjtcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21DZWxsLmNvbHVtbkRlZi5oZWFkZXJDZWxsLnRlbXBsYXRlOyBjb250ZXh0OiB7bWV0YURhdGE6IG1ldGFEYXRhLCBzdHlsZXM6ICBzdHlsZXMuaGVhZGVyfSBcIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG5cbiAgICAgIDxtYXQtaGVhZGVyLWNlbGwgIFtzdHlsZXJdPSdzdHlsZXMuaGVhZGVyJyBbcmVzaXplQ29sdW1uXT1cInRydWVcIiBba2V5XT1cIm1ldGFEYXRhLmtleVwiICAgY2xhc3M9XCJjb2x1bW4taGVhZFwiICNoZWFkcmVmID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1ldGFEYXRhLl9pbnRlcm5hbE5vdFVzZXJEZWZpbmVkIHx8ICFjdXN0b21DZWxsPy5jb2x1bW5EZWY/LmNlbGwgOyBlbHNlIGhlYWRlcldpdGhvdXRNZW51XCIgbWF0LXNvcnQtaGVhZGVyIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgICAgICAgIHt7IG1ldGFEYXRhLmRpc3BsYXlOYW1lID8gIG1ldGFEYXRhLmRpc3BsYXlOYW1lIDogKCBtZXRhRGF0YS5rZXkgfCBzcGFjZUNhc2UgKSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyV2l0aG91dE1lbnUgPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm1ldGFEYXRhLl9pbnRlcm5hbE5vdFVzZXJEZWZpbmVkO1wiIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgICAgICAgICAge3sgbWV0YURhdGEuZGlzcGxheU5hbWUgPyAgbWV0YURhdGEuZGlzcGxheU5hbWUgOiAoIG1ldGFEYXRhLmtleSB8IHNwYWNlQ2FzZSApIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDx0Yi1oZWFkZXItbWVudSAqbmdJZj1cIighbWV0YURhdGEuX2ludGVybmFsTm90VXNlckRlZmluZWQgfHwgIWN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uY2VsbCkgJiYgKCFtZXRhRGF0YS5ub0ZpbHRlcilcIiAjbWVudSBbbWV0YURhdGFdPSdtZXRhRGF0YScgW2ZpbHRlcl09J2ZpbHRlcicgPjwvdGItaGVhZGVyLW1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gIDxuZy1jb250YWluZXIgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDtcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwib3V0ZXJUZW1wbGF0ZTsgY29udGV4dDoge21ldGFEYXRhOiBtZXRhRGF0YSwgZWxlbWVudDogZWxlbWVudCAsIHN0eWxlczogc3R5bGVzLmJvZHkgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgbWF0Rm9vdGVyQ2VsbERlZj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5mb290ZXJDZWxsO2Vsc2UgZm9vdGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQ2VsbC5jb2x1bW5EZWYuZm9vdGVyQ2VsbC50ZW1wbGF0ZTtjb250ZXh0OiB7bWV0YURhdGE6IG1ldGFEYXRhLCBkYXRhOiBkYXRhJCwgc3R5bGVzIDogc3R5bGVzLmZvb3RlciB9XCI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxuICAgICAgPG1hdC1mb290ZXItY2VsbCAgW3N0eWxlcl09J3N0eWxlcy5mb290ZXInICpuZ3J4TGV0PVwiZGF0YSQgYXMgZGF0YVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImRhdGE/Lmxlbmd0aCAmJiBtZXRhRGF0YS5hZGRpdGlvbmFsPy5mb290ZXJcIiBbbmdTd2l0Y2hdPVwibWV0YURhdGEuZmllbGRUeXBlXCIgY2xhc3M9XCJib2xkXCI+XG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIkZpZWxkVHlwZS5DdXJyZW5jeVwiPlxuICAgICAgICAgICAge3sgZGF0YSB8IGNvbHVtblRvdGFsOiBtZXRhRGF0YSB8IGN1cnJlbmN5IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCJGaWVsZFR5cGUuTnVtYmVyXCI+XG4gICAgICAgICAgICB7eyBkYXRhIHwgY29sdW1uVG90YWw6IG1ldGFEYXRhIHwgbnVtYmVyIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L21hdC1mb290ZXItY2VsbD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9jb2x1bW4tYnVpbGRlci9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2NvbHVtbi1idWlsZGVyL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFlLFNBQVMsRUFBc0QsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSx5QkFBeUIsQ0FBQztBQU1qRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBdUJwRSxNQUFNLE9BQU8sc0JBQXNCO0lBZWpDLFlBQ1UsZ0JBQWtDLEVBQ2xDLEtBQW9CLEVBQ3JCLEtBQWlCLEVBQ2hCLGVBQXFDO1FBSHJDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFzQjtRQWxCL0MsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQTZEdEIsYUFBUSxHQUFHLENBQUMsQ0FBQyx3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Q0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFZLEVBQUUsR0FBVztRQUNuQyxJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7O21IQTVEVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixnTEFPdEIsWUFBWSx1SUN6Q3pCLGdwR0F1RUEsKytFRHpDaUI7UUFDYixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRTtLQUNyRDsyRkFFVSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO3FCQUNyRDswTEFLUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVtQixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBS0osWUFBWTtzQkFBOUIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIENvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIE1ldGFEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcbmltcG9ydCB7IE1hdENvbHVtbkRlZiwgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDdXN0b21DZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1DcmVhdG9yIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNmb3JtLWNyZWF0b3InO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFibGVUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWJsZS10ZW1wbGF0ZS1zZXJ2aWNlJztcbmltcG9ydCB7IHByZXZpb3VzQW5kQ3VycmVudCB9IGZyb20gJy4uLy4uLy4uL3J4anMvcnhqcy1vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2RrRHJvcExpc3QsIENES19EUk9QX0xJU1QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuXG5pbnRlcmZhY2Ugd2lkdGhTdHlsZSB7XG4gICAgZmxleD86IHN0cmluZztcbiAgICBtYXhXaWR0aD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIGFsbFN0eWxlcyB7XG4gIGJvZHk6IHdpZHRoU3R5bGU7XG4gIGhlYWRlcjogd2lkdGhTdHlsZTtcbiAgZm9vdGVyOiB3aWR0aFN0eWxlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0Yi1jb2x1bW4tYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDREtfRFJPUF9MSVNULCB1c2VFeGlzdGluZzogQ2RrRHJvcExpc3QgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5CdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgRmllbGRUeXBlID0gRmllbGRUeXBlO1xuICBmaWx0ZXIhOiBQYXJ0aWFsPEZpbHRlckluZm8+O1xuICBASW5wdXQoKSBtZXRhRGF0YSE6IE1ldGFEYXRhXG4gIEBJbnB1dCgpIGN1c3RvbUNlbGwhOiBDdXN0b21DZWxsRGlyZWN0aXZlO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIEBWaWV3Q2hpbGQoTWF0Q29sdW1uRGVmKSBjb2x1bW5EZWYhOiBNYXRDb2x1bW5EZWY7XG4gIG91dGVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBpbm5lclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgdHJhbnNmb3JtITogKG86IGFueSwgLi4uYXJnczogYW55W10pPT4gYW55IDtcblxuICBAVmlld0NoaWxkKCdib2R5JykgYm9keVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNmb3JtQ3JlYXRvcjogVHJhbnNmb3JtQ3JlYXRvcixcbiAgICBwcml2YXRlIHRhYmxlOiBNYXRUYWJsZTxhbnk+LFxuICAgIHB1YmxpYyBzdGF0ZTogVGFibGVTdG9yZSxcbiAgICBwcml2YXRlIHRlbXBsYXRlU2VydmljZTogVGFibGVUZW1wbGF0ZVNlcnZpY2UsXG4gICAgKSB7IH1cblxuICBnZXRJbm5lclRlbXBsYXRlKCkgOlRlbXBsYXRlUmVmPGFueT4ge1xuICAgIGlmKHRoaXMubWV0YURhdGEudGVtcGxhdGUpIHJldHVybiB0aGlzLm1ldGFEYXRhLnRlbXBsYXRlO1xuICAgIGlmICh0aGlzLmN1c3RvbUNlbGw/LlRlbXBsYXRlUmVmKSAgcmV0dXJuIHRoaXMuY3VzdG9tQ2VsbC5UZW1wbGF0ZVJlZjtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0VGVtcGxhdGUodGhpcy5tZXRhRGF0YS5maWVsZFR5cGUpO1xuICB9XG5cbiAgZ2V0T3V0ZXJUZW1wbGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21DZWxsPy5jb2x1bW5EZWY/LmNlbGw/LnRlbXBsYXRlID8/IHRoaXMuYm9keVRlbXBsYXRlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXIgPSB7a2V5OiB0aGlzLm1ldGFEYXRhLmtleSwgZmllbGRUeXBlOiB0aGlzLm1ldGFEYXRhLmZpZWxkVHlwZX07XG4gICAgY29uc3Qgd2lkdGgkID0gdGhpcy5zdGF0ZS5nZXRVc2VyRGVmaW5lZFdpZHRoJCh0aGlzLm1ldGFEYXRhLmtleSkucGlwZShcbiAgICAgIHByZXZpb3VzQW5kQ3VycmVudCgwKSxcbiAgICAgIG1hcCh0aGlzLm1hcFdpZHRoKSxcbiAgICApO1xuICAgIGNvbnN0IGZ1bGxNZXRhU3R5bGVzID0gdGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5zdHlsZXMgPz8ge307XG4gICAgdGhpcy5zdHlsZXMkID0gd2lkdGgkLnBpcGUobWFwKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IHN0eWxlczogYWxsU3R5bGVzID0ge1xuICAgICAgICBoZWFkZXIgOiB7Li4uZnVsbE1ldGFTdHlsZXMsLi4udGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5jb2x1bW5QYXJ0U3R5bGVzPy5oZWFkZXIsIC4uLndpZHRofSxcbiAgICAgICAgZm9vdGVyOiB7Li4uZnVsbE1ldGFTdHlsZXMsLi4udGhpcy5tZXRhRGF0YS5hZGRpdGlvbmFsPy5jb2x1bW5QYXJ0U3R5bGVzPy5mb290ZXIsIC4uLndpZHRofSxcbiAgICAgICAgYm9keTogey4uLmZ1bGxNZXRhU3R5bGVzLC4uLnRoaXMubWV0YURhdGEuYWRkaXRpb25hbD8uY29sdW1uUGFydFN0eWxlcz8uYm9keSwgLi4ud2lkdGh9LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfSkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub3V0ZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0T3V0ZXJUZW1wbGF0ZSgpO1xuICAgIHRoaXMuaW5uZXJUZW1wbGF0ZSA9IHRoaXMuZ2V0SW5uZXJUZW1wbGF0ZSgpO1xuICAgIHRoaXMudHJhbnNmb3JtID0gdGhpcy50cmFuc2Zvcm1DcmVhdG9yLmNyZWF0ZVRyYW5zZm9ybWVyKHRoaXMubWV0YURhdGEpO1xuICAgIHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtcbiAgfVxuXG4gIGNlbGxDbGlja2VkKGVsZW1lbnQ6IGFueSwga2V5OiBzdHJpbmcpIHtcbiAgICBpZih0aGlzLm1ldGFEYXRhLmNsaWNrKSB7XG4gICAgICB0aGlzLm1ldGFEYXRhLmNsaWNrKGVsZW1lbnQsa2V5KTtcbiAgICB9XG4gIH1cblxuICBtYXBXaWR0aCA9IChbcHJldmlvdXNVc2VyRGVmaW5lZFdpZHRoLCBjdXJyZW50VXNlckRlZmluZWRXaWR0aF0gOiBbbnVtYmVyLCBudW1iZXJdKSA6IHdpZHRoU3R5bGUgPT4ge1xuXG4gICAgaWYoIGN1cnJlbnRVc2VyRGVmaW5lZFdpZHRoICl7XG4gICAgICByZXR1cm4gKHtmbGV4OmAwIDAgJHtjdXJyZW50VXNlckRlZmluZWRXaWR0aH1weGAsIG1heFdpZHRoOidub25lJ30pO1xuICAgIH0gaWYoIHdhc1Jlc2V0KCkgKXtcbiAgICAgIHJldHVybiAoe2ZsZXg6JzEnfSk7XG4gICAgfVxuICAgIHJldHVybiAoe30pO1xuICAgIGZ1bmN0aW9uIHdhc1Jlc2V0KCl7XG4gICAgICByZXR1cm4gcHJldmlvdXNVc2VyRGVmaW5lZFdpZHRoID49MCAmJiBjdXJyZW50VXNlckRlZmluZWRXaWR0aCA9PSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHN0eWxlcyQhOk9ic2VydmFibGU8YWxsU3R5bGVzPlxuXG59XG4iLCI8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwibWV0YURhdGEua2V5XCIgKm5ncnhMZXQ9XCJzdHlsZXMkIGFzIHN0eWxlc1wiPlxuXG4gIDxuZy10ZW1wbGF0ZSAjYm9keSBsZXQtZWxlbWVudD0nZWxlbWVudCcgPlxuXG4gICAgICA8bWF0LWNlbGwgW3N0eWxlcl09J3N0eWxlcy5ib2R5JyBbY2xhc3MuZ3JvdXAtZm9vdGVyXT1cImVsZW1lbnQuaXNHcm91cEZvb3RlclwiIChjbGljayk9J2NlbGxDbGlja2VkKGVsZW1lbnQsIG1ldGFEYXRhLmtleSknPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJUZW1wbGF0ZTtjb250ZXh0OiB7bWV0YURhdGE6IG1ldGFEYXRhLCBlbGVtZW50OiBlbGVtZW50LCB0cmFuc2Zvcm06IHRyYW5zZm9ybSB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHNwYW4gY2xhc3M9XCJuby12YWxcIiAqbmdJZj1cIlxuICAgICAgICAhZWxlbWVudC5pc0dyb3VwRm9vdGVyICYmXG4gICAgICAgIG1ldGFEYXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkV4cHJlc3Npb24gJiZcbiAgICAgICAgKGVsZW1lbnRbbWV0YURhdGEua2V5XSA9PSBudWxsKSAmJlxuICAgICAgICAhKChjdXN0b21DZWxsICYmIGN1c3RvbUNlbGwuVGVtcGxhdGVSZWYpIHx8IG1ldGFEYXRhLnRlbXBsYXRlKVxuICAgICAgXCI+IC0gPC9zcGFuPlxuICAgIDwvbWF0LWNlbGw+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgbWF0SGVhZGVyQ2VsbERlZiAjbXlIZWFkZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5oZWFkZXJDZWxsO2Vsc2UgaGVhZGVyO1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUNlbGwuY29sdW1uRGVmLmhlYWRlckNlbGwudGVtcGxhdGU7IGNvbnRleHQ6IHttZXRhRGF0YTogbWV0YURhdGEsIHN0eWxlczogIHN0eWxlcy5oZWFkZXJ9IFwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cblxuICAgICAgPG1hdC1oZWFkZXItY2VsbCAgY2RrRHJhZyBbc3R5bGVyXT0nc3R5bGVzLmhlYWRlcicgW3Jlc2l6ZUNvbHVtbl09XCJ0cnVlXCIgW2tleV09XCJtZXRhRGF0YS5rZXlcIiAgIGNsYXNzPVwiY29sdW1uLWhlYWQgZHJhZy1oZWFkZXJcIiAjaGVhZHJlZiA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFtZXRhRGF0YS5faW50ZXJuYWxOb3RVc2VyRGVmaW5lZCB8fCAhY3VzdG9tQ2VsbD8uY29sdW1uRGVmPy5jZWxsIDsgZWxzZSBoZWFkZXJXaXRob3V0TWVudVwiIG1hdC1zb3J0LWhlYWRlciBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICB7eyBtZXRhRGF0YS5kaXNwbGF5TmFtZSA/ICBtZXRhRGF0YS5kaXNwbGF5TmFtZSA6ICggbWV0YURhdGEua2V5IHwgc3BhY2VDYXNlICkgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcldpdGhvdXRNZW51ID5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtZXRhRGF0YS5faW50ZXJuYWxOb3RVc2VyRGVmaW5lZDtcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICAgIHt7IG1ldGFEYXRhLmRpc3BsYXlOYW1lID8gIG1ldGFEYXRhLmRpc3BsYXlOYW1lIDogKCBtZXRhRGF0YS5rZXkgfCBzcGFjZUNhc2UgKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8dGItaGVhZGVyLW1lbnUgY2RrRHJhZ0hhbmRsZSAqbmdJZj1cIighbWV0YURhdGEuX2ludGVybmFsTm90VXNlckRlZmluZWQgfHwgIWN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uY2VsbCkgJiYgKCFtZXRhRGF0YS5ub0ZpbHRlcilcIiAjbWVudSBbbWV0YURhdGFdPSdtZXRhRGF0YScgW2ZpbHRlcl09J2ZpbHRlcicgPjwvdGItaGVhZGVyLW1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9tYXQtaGVhZGVyLWNlbGw+XG5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvbmctdGVtcGxhdGU+XG5cblxuICA8bmctY29udGFpbmVyICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm91dGVyVGVtcGxhdGU7IGNvbnRleHQ6IHttZXRhRGF0YTogbWV0YURhdGEsIGVsZW1lbnQ6IGVsZW1lbnQgLCBzdHlsZXM6IHN0eWxlcy5ib2R5IH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlIG1hdEZvb3RlckNlbGxEZWY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNlbGw/LmNvbHVtbkRlZj8uZm9vdGVyQ2VsbDtlbHNlIGZvb3RlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUNlbGwuY29sdW1uRGVmLmZvb3RlckNlbGwudGVtcGxhdGU7Y29udGV4dDoge21ldGFEYXRhOiBtZXRhRGF0YSwgZGF0YTogZGF0YSQsIHN0eWxlcyA6IHN0eWxlcy5mb290ZXIgfVwiPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj5cbiAgICAgIDxtYXQtZm9vdGVyLWNlbGwgIFtzdHlsZXJdPSdzdHlsZXMuZm9vdGVyJyAqbmdyeExldD1cImRhdGEkIGFzIGRhdGFcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5sZW5ndGggJiYgbWV0YURhdGEuYWRkaXRpb25hbD8uZm9vdGVyXCIgW25nU3dpdGNoXT1cIm1ldGFEYXRhLmZpZWxkVHlwZVwiIGNsYXNzPVwiYm9sZFwiPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCJGaWVsZFR5cGUuQ3VycmVuY3lcIj5cbiAgICAgICAgICAgIHt7IGRhdGEgfCBjb2x1bW5Ub3RhbDogbWV0YURhdGEgfCBjdXJyZW5jeSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiRmllbGRUeXBlLk51bWJlclwiPlxuICAgICAgICAgICAge3sgZGF0YSB8IGNvbHVtblRvdGFsOiBtZXRhRGF0YSB8IG51bWJlciB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtZm9vdGVyLWNlbGw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -12,9 +12,9 @@ export class DateFilterComponent {
12
12
  this.FilterType = FilterType;
13
13
  }
14
14
  }
15
- DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: DateFilterComponent, selector: "tb-date-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\n <mat-datepicker-toggle matSuffix [for]=\"cal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #cal></mat-datepicker>\n </mat-form-field>\n</ng-container>\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.DateBetween\">\n <ng-container ngModelGroup=\"filterValue\">\n <mat-form-field class=\"my-filter\" >\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\n (click)=\"fromVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"fromVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #fromVal></mat-datepicker>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"toVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #toVal></mat-datepicker>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n", components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.MatSuffix, selector: "[matSuffix]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DateFilterComponent, decorators: [{
15
+ DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: DateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: DateFilterComponent, selector: "tb-date-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\n <mat-datepicker-toggle matSuffix [for]=\"cal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #cal></mat-datepicker>\n </mat-form-field>\n</ng-container>\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.DateBetween\">\n <ng-container ngModelGroup=\"filterValue\">\n <mat-form-field class=\"my-filter\" >\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\n (click)=\"fromVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"fromVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #fromVal></mat-datepicker>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"toVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #toVal></mat-datepicker>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n", components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.MatSuffix, selector: "[matSuffix]" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: DateFilterComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'tb-date-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull\">\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\n <mat-datepicker-toggle matSuffix [for]=\"cal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #cal></mat-datepicker>\n </mat-form-field>\n</ng-container>\n\n<ng-container *ngIf=\"CurrentFilterType === FilterType.DateBetween\">\n <ng-container ngModelGroup=\"filterValue\">\n <mat-form-field class=\"my-filter\" >\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\n (click)=\"fromVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"fromVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #fromVal></mat-datepicker>\n </mat-form-field>\n <mat-form-field class=\"my-filter\">\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\n <mat-datepicker-toggle matSuffix [for]=\"toVal\" preventEnter></mat-datepicker-toggle>\n <mat-datepicker #toVal></mat-datepicker>\n </mat-form-field>\n </ng-container>\n</ng-container>\n\n" }]
20
20
  }], propDecorators: { info: [{
@@ -40,9 +40,9 @@ export class FilterComponent {
40
40
  }
41
41
  }
42
42
  }
43
- FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FilterComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
44
- FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: FilterComponent, selector: "tb-filter", inputs: { filter: "filter" }, outputs: { close: "close" }, ngImport: i0, template: "<mat-card class=\"mat-elevation-z5\" *ngIf=\"filter\">\n <form #form=\"ngForm\" (keydown.enter)=\"onEnter(form.value,$event)\" (keydown.escape)=\"close.emit()\">\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"filter.filterId\" />\n <input type=\"hidden\" name=\"key\" [ngModel]=\"filter.key\" />\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"filter.fieldType\" />\n <div class=\"row\" >\n <h4 class=\"filter-name\">{{(filter.key | spaceCase)}} Filter</h4>\n <button class=\"cancel-button\" color=\"primary\" mat-icon-button (click)=\"close.emit();\" type=\"button\"\n matTooltip=\"Close\">\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\n </button>\n </div>\n <div class=\"row\">\n <mat-form-field class=\"my-filter\" >\n <mat-select placeholder=\"Select Filter Type\" name=\"filterType\" [(ngModel)]=\"currentFilterType\" >\n <mat-option *ngFor=\"let kvp of filterTypes[filter.fieldType] | keyvalue \" [value]=\"$any(kvp.value)[0]\">\n {{ kvp.key }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.String || filter.fieldType === FieldType.Array || filter.fieldType === FieldType.Link ||\n filter.fieldType === FieldType.Unknown || filter.fieldType === FieldType.PhoneNumber\" >\n <ng-container *ngTemplateOutlet=\"String\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Number || filter.fieldType === FieldType.Currency\">\n <tb-number-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\" ></tb-number-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Boolean\">\n <ng-container *ngTemplateOutlet=\"Boolean\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Date\">\n <tb-date-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\"></tb-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase='filter.fieldType === FieldType.Enum' >\n <ng-container *ngTemplateOutlet=\"Enum\"></ng-container>\n </ng-container>\n </ng-container>\n\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" *ngIf=\"currentFilterType === FilterType.IsNull\">\n <mat-radio-button [value]=\"true\">True</mat-radio-button>\n <mat-radio-button [value]=\"false\">False</mat-radio-button>\n </mat-radio-group>\n\n </div>\n <button mat-button (click)=\"state.addFilter(form.value)\" disableRipple [disabled]=\"form.value.filterValue==undefined || !form.value.filterType\">\n Apply\n </button>\n\n\n<ng-template #String>\n <mat-form-field class=\"my-filter\" *ngIf=\"currentFilterType !== FilterType.IsNull && currentFilterType !== FilterType.In\">\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\n </mat-form-field>\n <ng-container *ngIf=\"currentFilterType === FilterType.In\">\n <lib-in-filter [type]=\"FieldType.String\" name='filterValue' [(ngModel)]=\"filter.filterValue\" ></lib-in-filter>\n </ng-container>\n</ng-template>\n\n<ng-template #Boolean >\n <div class=\"switch\" [ngSwitch]=\"currentFilterType\">\n <div class=\"switch\" *ngSwitchCase=\"FilterType.BooleanEquals\">\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" >\n <mat-radio-button [value]=\"true\" preventEnter>True</mat-radio-button>\n <mat-radio-button [value]=\"false\" preventEnter>False</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n</ng-template>\n\n <ng-template #Enum>\n <ng-container *ngIf='currentFilterType === FilterType.In' >\n <tb-in-list-filter [key]='filter.key' name='filterValue' [(ngModel)]='filter.filterValue' ></tb-in-list-filter>\n </ng-container>\n </ng-template>\n\n </form>\n</mat-card>\n", styles: [".filter-name{color:#6495ed;margin-right:30px;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.row{margin:0}.cancel-button{font-size:18px;font-weight:700}mat-radio-button{margin:5px}\n"], components: [{ type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { 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"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i8.NumberFilterComponent, selector: "tb-number-filter", inputs: ["CurrentFilterType", "info"] }, { type: i9.DateFilterComponent, selector: "tb-date-filter", inputs: ["info", "CurrentFilterType"] }, { type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i11.InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }, { type: i12.InListFilterComponent, selector: "tb-in-list-filter", inputs: ["key"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i14.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i16.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], pipes: { "spaceCase": i17.SpaceCasePipe, "keyvalue": i13.KeyValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FilterComponent, decorators: [{
43
+ FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FilterComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
44
+ FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: FilterComponent, selector: "tb-filter", inputs: { filter: "filter" }, outputs: { close: "close" }, ngImport: i0, template: "<mat-card class=\"mat-elevation-z5\" *ngIf=\"filter\">\n <form #form=\"ngForm\" (keydown.enter)=\"onEnter(form.value,$event)\" (keydown.escape)=\"close.emit()\">\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"filter.filterId\" />\n <input type=\"hidden\" name=\"key\" [ngModel]=\"filter.key\" />\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"filter.fieldType\" />\n <div class=\"row\" >\n <h4 class=\"filter-name\">{{(filter.key | spaceCase)}} Filter</h4>\n <button class=\"cancel-button\" color=\"primary\" mat-icon-button (click)=\"close.emit();\" type=\"button\"\n matTooltip=\"Close\">\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\n </button>\n </div>\n <div class=\"row\">\n <mat-form-field class=\"my-filter\" >\n <mat-select placeholder=\"Select Filter Type\" name=\"filterType\" [(ngModel)]=\"currentFilterType\" >\n <mat-option *ngFor=\"let kvp of filterTypes[filter.fieldType] | keyvalue \" [value]=\"$any(kvp.value)[0]\">\n {{ kvp.key }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.String || filter.fieldType === FieldType.Array || filter.fieldType === FieldType.Link ||\n filter.fieldType === FieldType.Unknown || filter.fieldType === FieldType.PhoneNumber\" >\n <ng-container *ngTemplateOutlet=\"String\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Number || filter.fieldType === FieldType.Currency\">\n <tb-number-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\" ></tb-number-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Boolean\">\n <ng-container *ngTemplateOutlet=\"Boolean\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Date\">\n <tb-date-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\"></tb-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase='filter.fieldType === FieldType.Enum' >\n <ng-container *ngTemplateOutlet=\"Enum\"></ng-container>\n </ng-container>\n </ng-container>\n\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" *ngIf=\"currentFilterType === FilterType.IsNull\">\n <mat-radio-button [value]=\"true\">True</mat-radio-button>\n <mat-radio-button [value]=\"false\">False</mat-radio-button>\n </mat-radio-group>\n\n </div>\n <button mat-button (click)=\"state.addFilter(form.value)\" disableRipple [disabled]=\"form.value.filterValue==undefined || !form.value.filterType\">\n Apply\n </button>\n\n\n<ng-template #String>\n <mat-form-field class=\"my-filter\" *ngIf=\"currentFilterType !== FilterType.IsNull && currentFilterType !== FilterType.In\">\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\n </mat-form-field>\n <ng-container *ngIf=\"currentFilterType === FilterType.In\">\n <lib-in-filter [type]=\"FieldType.String\" name='filterValue' [(ngModel)]=\"filter.filterValue\" ></lib-in-filter>\n </ng-container>\n</ng-template>\n\n<ng-template #Boolean >\n <div class=\"switch\" [ngSwitch]=\"currentFilterType\">\n <div class=\"switch\" *ngSwitchCase=\"FilterType.BooleanEquals\">\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" >\n <mat-radio-button [value]=\"true\" preventEnter>True</mat-radio-button>\n <mat-radio-button [value]=\"false\" preventEnter>False</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n</ng-template>\n\n <ng-template #Enum>\n <ng-container *ngIf='currentFilterType === FilterType.In' >\n <tb-in-list-filter [key]='filter.key' name='filterValue' [(ngModel)]='filter.filterValue' ></tb-in-list-filter>\n </ng-container>\n </ng-template>\n\n </form>\n</mat-card>\n", styles: [".filter-name{color:#6495ed;margin-right:30px;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.row{margin:0}.cancel-button{font-size:18px;font-weight:700}mat-radio-button{margin:5px}\n"], components: [{ type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { 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"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i8.NumberFilterComponent, selector: "tb-number-filter", inputs: ["CurrentFilterType", "info"] }, { type: i9.DateFilterComponent, selector: "tb-date-filter", inputs: ["info", "CurrentFilterType"] }, { type: i10.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { type: i11.InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }, { type: i12.InListFilterComponent, selector: "tb-in-list-filter", inputs: ["key"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i14.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i15.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i10.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i16.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], pipes: { "spaceCase": i17.SpaceCasePipe, "keyvalue": i13.KeyValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FilterComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'tb-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"mat-elevation-z5\" *ngIf=\"filter\">\n <form #form=\"ngForm\" (keydown.enter)=\"onEnter(form.value,$event)\" (keydown.escape)=\"close.emit()\">\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"filter.filterId\" />\n <input type=\"hidden\" name=\"key\" [ngModel]=\"filter.key\" />\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"filter.fieldType\" />\n <div class=\"row\" >\n <h4 class=\"filter-name\">{{(filter.key | spaceCase)}} Filter</h4>\n <button class=\"cancel-button\" color=\"primary\" mat-icon-button (click)=\"close.emit();\" type=\"button\"\n matTooltip=\"Close\">\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\n </button>\n </div>\n <div class=\"row\">\n <mat-form-field class=\"my-filter\" >\n <mat-select placeholder=\"Select Filter Type\" name=\"filterType\" [(ngModel)]=\"currentFilterType\" >\n <mat-option *ngFor=\"let kvp of filterTypes[filter.fieldType] | keyvalue \" [value]=\"$any(kvp.value)[0]\">\n {{ kvp.key }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.String || filter.fieldType === FieldType.Array || filter.fieldType === FieldType.Link ||\n filter.fieldType === FieldType.Unknown || filter.fieldType === FieldType.PhoneNumber\" >\n <ng-container *ngTemplateOutlet=\"String\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Number || filter.fieldType === FieldType.Currency\">\n <tb-number-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\" ></tb-number-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Boolean\">\n <ng-container *ngTemplateOutlet=\"Boolean\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Date\">\n <tb-date-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\"></tb-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase='filter.fieldType === FieldType.Enum' >\n <ng-container *ngTemplateOutlet=\"Enum\"></ng-container>\n </ng-container>\n </ng-container>\n\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" *ngIf=\"currentFilterType === FilterType.IsNull\">\n <mat-radio-button [value]=\"true\">True</mat-radio-button>\n <mat-radio-button [value]=\"false\">False</mat-radio-button>\n </mat-radio-group>\n\n </div>\n <button mat-button (click)=\"state.addFilter(form.value)\" disableRipple [disabled]=\"form.value.filterValue==undefined || !form.value.filterType\">\n Apply\n </button>\n\n\n<ng-template #String>\n <mat-form-field class=\"my-filter\" *ngIf=\"currentFilterType !== FilterType.IsNull && currentFilterType !== FilterType.In\">\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\n </mat-form-field>\n <ng-container *ngIf=\"currentFilterType === FilterType.In\">\n <lib-in-filter [type]=\"FieldType.String\" name='filterValue' [(ngModel)]=\"filter.filterValue\" ></lib-in-filter>\n </ng-container>\n</ng-template>\n\n<ng-template #Boolean >\n <div class=\"switch\" [ngSwitch]=\"currentFilterType\">\n <div class=\"switch\" *ngSwitchCase=\"FilterType.BooleanEquals\">\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" >\n <mat-radio-button [value]=\"true\" preventEnter>True</mat-radio-button>\n <mat-radio-button [value]=\"false\" preventEnter>False</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n</ng-template>\n\n <ng-template #Enum>\n <ng-container *ngIf='currentFilterType === FilterType.In' >\n <tb-in-list-filter [key]='filter.key' name='filterValue' [(ngModel)]='filter.filterValue' ></tb-in-list-filter>\n </ng-container>\n </ng-template>\n\n </form>\n</mat-card>\n", styles: [".filter-name{color:#6495ed;margin-right:30px;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.row{margin:0}.cancel-button{font-size:18px;font-weight:700}mat-radio-button{margin:5px}\n"] }]
48
48
  }], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { filter: [{
@@ -55,8 +55,8 @@ export class InListFilterComponent {
55
55
  this.onChange(this.value);
56
56
  }
57
57
  }
58
- InListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: InListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
59
- InListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: InListFilterComponent, selector: "tb-in-list-filter", inputs: { key: "key" }, providers: [{
58
+ InListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: InListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
59
+ InListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: InListFilterComponent, selector: "tb-in-list-filter", inputs: { key: "key" }, providers: [{
60
60
  provide: NG_VALUE_ACCESSOR,
61
61
  useExisting: InListFilterComponent,
62
62
  multi: true
@@ -67,7 +67,7 @@ InListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
67
67
  </mat-checkbox>
68
68
  </div>
69
69
  `, isInline: true, components: [{ type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.StopPropagationDirective, selector: "[stop-propagation]" }], pipes: { "keyvalue": i3.KeyValuePipe, "async": i3.AsyncPipe, "spaceCase": i5.SpaceCasePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: InListFilterComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: InListFilterComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{
73
73
  selector: 'tb-in-list-filter',