@porscheinformatik/material-addons 17.1.3 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/esm2022/lib/card/card.component.mjs +3 -3
  2. package/esm2022/lib/data-table/configuration/data-table-action-type.mjs +6 -0
  3. package/esm2022/lib/data-table/configuration/data-table-action.mjs +2 -0
  4. package/esm2022/lib/data-table/configuration/data-table-column-definition.mjs +2 -0
  5. package/esm2022/lib/data-table/configuration/data-table-column.mjs +2 -0
  6. package/esm2022/lib/data-table/configuration/data-table-filter-mode.mjs +2 -0
  7. package/esm2022/lib/data-table/configuration/data-table-global-configuration.mjs +11 -0
  8. package/esm2022/lib/data-table/configuration/data-table-header-type.mjs +2 -0
  9. package/esm2022/lib/data-table/configuration/data-table-row.mjs +2 -0
  10. package/esm2022/lib/data-table/configuration/data-table-selection-emit-mode.mjs +2 -0
  11. package/esm2022/lib/data-table/configuration/data-table-selection-emit-type.mjs +2 -0
  12. package/esm2022/lib/data-table/configuration/data-table-selection-mode.mjs +2 -0
  13. package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +15 -11
  14. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.mjs +43 -0
  15. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.mjs +41 -0
  16. package/esm2022/lib/data-table/data-table-filter/data-table-filter-header.directive.mjs +126 -0
  17. package/esm2022/lib/data-table/data-table-filter/data-table-filter-object.mjs +2 -0
  18. package/esm2022/lib/data-table/data-table-filter/data-table-filter-options.mjs +2 -0
  19. package/esm2022/lib/data-table/data-table-filter/data-table-filter.directive.mjs +46 -0
  20. package/esm2022/lib/data-table/data-table-persistence.service.mjs +61 -0
  21. package/esm2022/lib/data-table/data-table-template/data-table-template-cell-definition.directive.mjs +28 -0
  22. package/esm2022/lib/data-table/data-table-template/data-table-template-column-definition.directive.mjs +22 -0
  23. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.mjs +28 -0
  24. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.mjs +22 -0
  25. package/esm2022/lib/data-table/data-table.component.mjs +500 -304
  26. package/esm2022/lib/data-table/data-table.mjs +9 -1
  27. package/esm2022/lib/data-table/util/data-table-action-util.mjs +40 -0
  28. package/esm2022/lib/data-table/util/data-table-data-util.mjs +49 -0
  29. package/esm2022/lib/data-table/util/data-table-filter-util.mjs +24 -0
  30. package/esm2022/lib/data-table/util/data-table-sort-util.mjs +57 -0
  31. package/esm2022/lib/layout/toolbar/toolbar-action.interface.mjs +1 -1
  32. package/esm2022/lib/numeric-field/numeric-field.directive.mjs +1 -1
  33. package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +3 -3
  34. package/esm2022/public_api.mjs +1 -2
  35. package/fesm2022/porscheinformatik-material-addons.mjs +1098 -432
  36. package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
  37. package/lib/data-table/configuration/data-table-action-type.d.ts.map +1 -0
  38. package/lib/data-table/{data-table-action.d.ts → configuration/data-table-action.d.ts} +3 -0
  39. package/lib/data-table/configuration/data-table-action.d.ts.map +1 -0
  40. package/lib/data-table/configuration/data-table-column-definition.d.ts.map +1 -0
  41. package/lib/data-table/configuration/data-table-column.d.ts +16 -0
  42. package/lib/data-table/configuration/data-table-column.d.ts.map +1 -0
  43. package/lib/data-table/configuration/data-table-filter-mode.d.ts +2 -0
  44. package/lib/data-table/configuration/data-table-filter-mode.d.ts.map +1 -0
  45. package/lib/data-table/configuration/data-table-global-configuration.d.ts +11 -0
  46. package/lib/data-table/configuration/data-table-global-configuration.d.ts.map +1 -0
  47. package/lib/data-table/configuration/data-table-header-type.d.ts +2 -0
  48. package/lib/data-table/configuration/data-table-header-type.d.ts.map +1 -0
  49. package/lib/data-table/configuration/data-table-row.d.ts.map +1 -0
  50. package/lib/data-table/configuration/data-table-selection-emit-mode.d.ts +2 -0
  51. package/lib/data-table/configuration/data-table-selection-emit-mode.d.ts.map +1 -0
  52. package/lib/data-table/configuration/data-table-selection-emit-type.d.ts +2 -0
  53. package/lib/data-table/configuration/data-table-selection-emit-type.d.ts.map +1 -0
  54. package/lib/data-table/configuration/data-table-selection-mode.d.ts +2 -0
  55. package/lib/data-table/configuration/data-table-selection-mode.d.ts.map +1 -0
  56. package/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.d.ts +3 -3
  57. package/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.d.ts.map +1 -1
  58. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.d.ts +16 -0
  59. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.d.ts.map +1 -0
  60. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.d.ts +20 -0
  61. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.d.ts.map +1 -0
  62. package/lib/data-table/data-table-filter/data-table-filter-header.directive.d.ts +36 -0
  63. package/lib/data-table/data-table-filter/data-table-filter-header.directive.d.ts.map +1 -0
  64. package/lib/data-table/data-table-filter/data-table-filter-object.d.ts +4 -0
  65. package/lib/data-table/data-table-filter/data-table-filter-object.d.ts.map +1 -0
  66. package/lib/data-table/data-table-filter/data-table-filter-options.d.ts +5 -0
  67. package/lib/data-table/data-table-filter/data-table-filter-options.d.ts.map +1 -0
  68. package/lib/data-table/data-table-filter/data-table-filter.directive.d.ts +16 -0
  69. package/lib/data-table/data-table-filter/data-table-filter.directive.d.ts.map +1 -0
  70. package/lib/data-table/data-table-persistence.service.d.ts +28 -0
  71. package/lib/data-table/data-table-persistence.service.d.ts.map +1 -0
  72. package/lib/data-table/data-table-template/data-table-template-cell-definition.directive.d.ts +14 -0
  73. package/lib/data-table/data-table-template/data-table-template-cell-definition.directive.d.ts.map +1 -0
  74. package/lib/data-table/data-table-template/data-table-template-column-definition.directive.d.ts +11 -0
  75. package/lib/data-table/data-table-template/data-table-template-column-definition.directive.d.ts.map +1 -0
  76. package/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.d.ts +14 -0
  77. package/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.d.ts.map +1 -0
  78. package/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.d.ts +11 -0
  79. package/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.d.ts.map +1 -0
  80. package/lib/data-table/data-table.component.d.ts +144 -74
  81. package/lib/data-table/data-table.component.d.ts.map +1 -1
  82. package/lib/data-table/data-table.d.ts +18 -3
  83. package/lib/data-table/data-table.d.ts.map +1 -1
  84. package/lib/data-table/util/data-table-action-util.d.ts +9 -0
  85. package/lib/data-table/util/data-table-action-util.d.ts.map +1 -0
  86. package/lib/data-table/util/data-table-data-util.d.ts +10 -0
  87. package/lib/data-table/util/data-table-data-util.d.ts.map +1 -0
  88. package/lib/data-table/util/data-table-filter-util.d.ts +6 -0
  89. package/lib/data-table/util/data-table-filter-util.d.ts.map +1 -0
  90. package/lib/data-table/util/data-table-sort-util.d.ts +12 -0
  91. package/lib/data-table/util/data-table-sort-util.d.ts.map +1 -0
  92. package/lib/layout/toolbar/toolbar-action.interface.d.ts.map +1 -1
  93. package/lib/numeric-field/numeric-field.directive.d.ts.map +1 -1
  94. package/package.json +3 -3
  95. package/public_api.d.ts +0 -1
  96. package/public_api.d.ts.map +1 -1
  97. package/esm2022/lib/data-table/data-table-action-type.mjs +0 -6
  98. package/esm2022/lib/data-table/data-table-action.mjs +0 -2
  99. package/esm2022/lib/data-table/data-table-column-definition.mjs +0 -2
  100. package/esm2022/lib/data-table/data-table-column.mjs +0 -2
  101. package/esm2022/lib/data-table/data-table-row.mjs +0 -2
  102. package/esm2022/lib/data-table/data-table.module.mjs +0 -81
  103. package/lib/data-table/data-table-action-type.d.ts.map +0 -1
  104. package/lib/data-table/data-table-action.d.ts.map +0 -1
  105. package/lib/data-table/data-table-column-definition.d.ts.map +0 -1
  106. package/lib/data-table/data-table-column.d.ts +0 -11
  107. package/lib/data-table/data-table-column.d.ts.map +0 -1
  108. package/lib/data-table/data-table-row.d.ts.map +0 -1
  109. package/lib/data-table/data-table.module.d.ts +0 -25
  110. package/lib/data-table/data-table.module.d.ts.map +0 -1
  111. /package/lib/data-table/{data-table-action-type.d.ts → configuration/data-table-action-type.d.ts} +0 -0
  112. /package/lib/data-table/{data-table-column-definition.d.ts → configuration/data-table-column-definition.d.ts} +0 -0
  113. /package/lib/data-table/{data-table-row.d.ts → configuration/data-table-row.d.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ import { Directive, HostListener, Input, Optional, } from '@angular/core';
2
+ import { FilterComponent } from './data-table-filter-component/data-table-filter.component';
3
+ import { Subscription } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./data-table-filter.directive";
6
+ import * as i2 from "@angular/material/sort";
7
+ export class DataTableFilterHeader {
8
+ set madFilterOptions(filterOptions) {
9
+ this._filterOptions = filterOptions || [];
10
+ }
11
+ constructor(element, viewContainerRef, renderer, madFilter, matSortHeader) {
12
+ this.element = element;
13
+ this.viewContainerRef = viewContainerRef;
14
+ this.renderer = renderer;
15
+ this.madFilter = madFilter;
16
+ this.matSortHeader = matSortHeader;
17
+ this._subscription = new Subscription();
18
+ }
19
+ ngOnInit() {
20
+ this._filterComponent = this.viewContainerRef.createComponent(FilterComponent);
21
+ this._filterComponent.instance.filterOptions = this._filterOptions;
22
+ this._filterComponent.changeDetectorRef.detectChanges();
23
+ this.insertFilterComponent();
24
+ this.observeFilterComponent();
25
+ }
26
+ ngAfterViewInit() {
27
+ if (!!this.matSortHeader) {
28
+ const reference = this.matSortHeader._handleClick.bind(this.matSortHeader);
29
+ this.matSortHeader._handleClick = () => { };
30
+ this.findArrow(this.element.nativeElement).addEventListener('click', reference);
31
+ }
32
+ if (!!this.madFilter) {
33
+ this.madFilter.register(this);
34
+ }
35
+ }
36
+ ngOnDestroy() {
37
+ this._subscription.unsubscribe();
38
+ this.madFilter.unregister(this);
39
+ }
40
+ observeFilterComponent() {
41
+ this._subscription.add(this._filterComponent.instance.filterValueChange.subscribe((value) => {
42
+ this._filterValue = value;
43
+ this.madFilter.changeFilter();
44
+ }));
45
+ }
46
+ get filterValue() {
47
+ return this._filterValue;
48
+ }
49
+ set filterValue(filterValue) {
50
+ this._filterComponent.instance.filterValue = filterValue;
51
+ this._filterComponent.changeDetectorRef.detectChanges();
52
+ }
53
+ onMouseenter() {
54
+ this._filterComponent.instance.isHovered = true;
55
+ }
56
+ onMouseleave() {
57
+ this._filterComponent.instance.isHovered = false;
58
+ }
59
+ insertFilterComponent() {
60
+ const componentNativeElement = this._filterComponent.location.nativeElement;
61
+ const div = this.getWrappedHeader();
62
+ if (!!this.matSortHeader) {
63
+ const sortHeader = div.firstChild;
64
+ this.renderer.insertBefore(sortHeader, componentNativeElement, sortHeader.firstChild.nextSibling);
65
+ }
66
+ else {
67
+ this.renderer.appendChild(div, componentNativeElement);
68
+ }
69
+ }
70
+ getWrappedHeader() {
71
+ const headerContent = this.element.nativeElement.firstChild;
72
+ this.renderer.removeChild(this.element.nativeElement, headerContent);
73
+ const div = this.renderer.createElement('div');
74
+ this.renderer.setStyle(div, 'display', 'flex');
75
+ this.renderer.setStyle(div, 'align-items', 'center');
76
+ if (this.madFilterColumnRightAligned) {
77
+ this.renderer.setStyle(div, 'justify-content', 'flex-end');
78
+ this.renderer.setStyle(headerContent.firstChild, 'justify-content', 'flex-end');
79
+ }
80
+ this.renderer.appendChild(div, headerContent);
81
+ this.renderer.appendChild(this.element.nativeElement, div);
82
+ return div;
83
+ }
84
+ findArrow(element) {
85
+ return this.isArrowElement(element) ? element : this.findArrowInList(element.children);
86
+ }
87
+ findArrowInList(nativeElements) {
88
+ for (let nativeElement of Array.from(nativeElements)) {
89
+ const foundElement = this.findArrow(nativeElement);
90
+ if (!!foundElement) {
91
+ return foundElement;
92
+ }
93
+ }
94
+ return null;
95
+ }
96
+ isArrowElement(nativeElement) {
97
+ return nativeElement.classList.contains('mat-sort-header-arrow');
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableFilterHeader, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i1.DataTableFilter, optional: true }, { token: i2.MatSortHeader, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
100
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableFilterHeader, isStandalone: true, selector: "th[mad-filter-header]", inputs: { id: ["mad-filter-header", "id"], madFilterColumnRightAligned: "madFilterColumnRightAligned", madFilterOptions: "madFilterOptions" }, host: { listeners: { "mouseenter": "onMouseenter()", "mouseleave": "onMouseleave()" } }, ngImport: i0 }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableFilterHeader, decorators: [{
103
+ type: Directive,
104
+ args: [{
105
+ selector: 'th[mad-filter-header]',
106
+ standalone: true,
107
+ }]
108
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i1.DataTableFilter, decorators: [{
109
+ type: Optional
110
+ }] }, { type: i2.MatSortHeader, decorators: [{
111
+ type: Optional
112
+ }] }], propDecorators: { id: [{
113
+ type: Input,
114
+ args: ['mad-filter-header']
115
+ }], madFilterColumnRightAligned: [{
116
+ type: Input
117
+ }], madFilterOptions: [{
118
+ type: Input
119
+ }], onMouseenter: [{
120
+ type: HostListener,
121
+ args: ['mouseenter']
122
+ }], onMouseleave: [{
123
+ type: HostListener,
124
+ args: ['mouseleave']
125
+ }] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIvZGF0YS10YWJsZS1maWx0ZXItaGVhZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUc1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBT3BDLE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsSUFDSSxnQkFBZ0IsQ0FBQyxhQUFrRDtRQUNyRSxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQVFELFlBQ1UsT0FBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLFFBQW1CLEVBQ1AsU0FBMEIsRUFDMUIsYUFBNEI7UUFKeEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDUCxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVAxQyxrQkFBYSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBUXRELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztR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LFlBQVksQ0FBQzthQUNyQjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sY0FBYyxDQUFDLGFBQXNCO1FBQzNDLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQTlIVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXVCSSxRQUFROzswQkFDUixRQUFRO3lDQXJCWCxFQUFFO3NCQURELEtBQUs7dUJBQUMsbUJBQW1CO2dCQUkxQiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBSUYsZ0JBQWdCO3NCQURuQixLQUFLO2dCQWdFTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFNMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXRhYmxlLWZpbHRlci1jb21wb25lbnQvZGF0YS10YWJsZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFNvcnRIZWFkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IERhdGFUYWJsZUZpbHRlciB9IGZyb20gJy4vZGF0YS10YWJsZS1maWx0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVRhYmxlRmlsdGVyT3B0aW9uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLWZpbHRlci1vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndGhbbWFkLWZpbHRlci1oZWFkZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlRmlsdGVySGVhZGVyIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ21hZC1maWx0ZXItaGVhZGVyJylcbiAgaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtYWRGaWx0ZXJDb2x1bW5SaWdodEFsaWduZWQ/OiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBtYWRGaWx0ZXJPcHRpb25zKGZpbHRlck9wdGlvbnM6IERhdGFUYWJsZUZpbHRlck9wdGlvbltdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZmlsdGVyT3B0aW9ucyA9IGZpbHRlck9wdGlvbnMgfHwgW107XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJDb21wb25lbnQ6IENvbXBvbmVudFJlZjxGaWx0ZXJDb21wb25lbnQ+O1xuICBwcml2YXRlIF9maWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgcHJpdmF0ZSBfZmlsdGVyT3B0aW9uczogRGF0YVRhYmxlRmlsdGVyT3B0aW9uW107XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBtYWRGaWx0ZXI6IERhdGFUYWJsZUZpbHRlcixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG1hdFNvcnRIZWFkZXI6IE1hdFNvcnRIZWFkZXIsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9maWx0ZXJDb21wb25lbnQgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEZpbHRlckNvbXBvbmVudCk7XG4gICAgdGhpcy5fZmlsdGVyQ29tcG9uZW50Lmluc3RhbmNlLmZpbHRlck9wdGlvbnMgPSB0aGlzLl9maWx0ZXJPcHRpb25zO1xuICAgIHRoaXMuX2ZpbHRlckNvbXBvbmVudC5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0aGlzLmluc2VydEZpbHRlckNvbXBvbmVudCgpO1xuICAgIHRoaXMub2JzZXJ2ZUZpbHRlckNvbXBvbmVudCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMubWF0U29ydEhlYWRlcikge1xuICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5tYXRTb3J0SGVhZGVyLl9oYW5kbGVDbGljay5iaW5kKHRoaXMubWF0U29ydEhlYWRlcik7XG4gICAgICB0aGlzLm1hdFNvcnRIZWFkZXIuX2hhbmRsZUNsaWNrID0gKCkgPT4ge307XG4gICAgICB0aGlzLmZpbmRBcnJvdyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVmZXJlbmNlKTtcbiAgICB9XG5cbiAgICBpZiAoISF0aGlzLm1hZEZpbHRlcikge1xuICAgICAgdGhpcy5tYWRGaWx0ZXIucmVnaXN0ZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5tYWRGaWx0ZXIudW5yZWdpc3Rlcih0aGlzKTtcbiAgfVxuXG4gIG9ic2VydmVGaWx0ZXJDb21wb25lbnQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuX2ZpbHRlckNvbXBvbmVudC5pbnN0YW5jZS5maWx0ZXJWYWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubWFkRmlsdGVyLmNoYW5nZUZpbHRlcigpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyVmFsdWU7XG4gIH1cblxuICBzZXQgZmlsdGVyVmFsdWUoZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICB0aGlzLl9maWx0ZXJDb21wb25lbnQuaW5zdGFuY2UuZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZTtcbiAgICB0aGlzLl9maWx0ZXJDb21wb25lbnQuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIG9uTW91c2VlbnRlcigpIHtcbiAgICB0aGlzLl9maWx0ZXJDb21wb25lbnQuaW5zdGFuY2UuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBvbk1vdXNlbGVhdmUoKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29tcG9uZW50Lmluc3RhbmNlLmlzSG92ZXJlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnNlcnRGaWx0ZXJDb21wb25lbnQoKSB7XG4gICAgY29uc3QgY29tcG9uZW50TmF0aXZlRWxlbWVudCA9IHRoaXMuX2ZpbHRlckNvbXBvbmVudC5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuZ2V0V3JhcHBlZEhlYWRlcigpO1xuXG4gICAgaWYgKCEhdGhpcy5tYXRTb3J0SGVhZGVyKSB7XG4gICAgICBjb25zdCBzb3J0SGVhZGVyID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShzb3J0SGVhZGVyLCBjb21wb25lbnROYXRpdmVFbGVtZW50LCBzb3J0SGVhZGVyLmZpcnN0Q2hpbGQubmV4dFNpYmxpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRpdiwgY29tcG9uZW50TmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRXcmFwcGVkSGVhZGVyKCkge1xuICAgIGNvbnN0IGhlYWRlckNvbnRlbnQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkO1xuXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgaGVhZGVyQ29udGVudCk7XG4gICAgY29uc3QgZGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRpdiwgJ2Rpc3BsYXknLCAnZmxleCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGl2LCAnYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XG4gICAgaWYgKHRoaXMubWFkRmlsdGVyQ29sdW1uUmlnaHRBbGlnbmVkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRpdiwgJ2p1c3RpZnktY29udGVudCcsICdmbGV4LWVuZCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShoZWFkZXJDb250ZW50LmZpcnN0Q2hpbGQsICdqdXN0aWZ5LWNvbnRlbnQnLCAnZmxleC1lbmQnKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkaXYsIGhlYWRlckNvbnRlbnQpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGRpdik7XG5cbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQXJyb3coZWxlbWVudDogRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pc0Fycm93RWxlbWVudChlbGVtZW50KSA/IGVsZW1lbnQgOiB0aGlzLmZpbmRBcnJvd0luTGlzdChlbGVtZW50LmNoaWxkcmVuKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEFycm93SW5MaXN0KG5hdGl2ZUVsZW1lbnRzOiBIVE1MQ29sbGVjdGlvbik6IEVsZW1lbnQgfCBudWxsIHtcbiAgICBmb3IgKGxldCBuYXRpdmVFbGVtZW50IG9mIEFycmF5LmZyb20obmF0aXZlRWxlbWVudHMpKSB7XG4gICAgICBjb25zdCBmb3VuZEVsZW1lbnQgPSB0aGlzLmZpbmRBcnJvdyhuYXRpdmVFbGVtZW50KTtcbiAgICAgIGlmICghIWZvdW5kRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZm91bmRFbGVtZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Fycm93RWxlbWVudChuYXRpdmVFbGVtZW50OiBFbGVtZW50KSB7XG4gICAgcmV0dXJuIG5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtYXQtc29ydC1oZWFkZXItYXJyb3cnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci9kYXRhLXRhYmxlLWZpbHRlci1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIERhdGFUYWJsZUZpbHRlck9iamVjdCA9IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXItb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIvZGF0YS10YWJsZS1maWx0ZXItb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVGaWx0ZXJPcHRpb24ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Directive, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DataTableFilter {
4
+ constructor() {
5
+ this.filterChange = new EventEmitter();
6
+ this.filterables = new Map();
7
+ }
8
+ register(filterable) {
9
+ this.filterables.set(filterable.id, filterable);
10
+ }
11
+ unregister(filterable) {
12
+ this.filterables.delete(filterable.id);
13
+ }
14
+ changeFilter() {
15
+ this.filterChange.emit(this.createFilter());
16
+ }
17
+ updateFilterables(dataTableFilterObject) {
18
+ if (!!dataTableFilterObject) {
19
+ Object.entries(dataTableFilterObject).forEach(([key, value]) => {
20
+ const filterable = this.filterables.get(key);
21
+ if (!!filterable) {
22
+ filterable.filterValue = value;
23
+ }
24
+ });
25
+ }
26
+ else {
27
+ this.filterables.forEach((value) => (value.filterValue = null));
28
+ }
29
+ }
30
+ createFilter() {
31
+ return Array.from(this.filterables.values()).reduce((result, current) => ({ ...result, [current.id]: current.filterValue }), {});
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableFilter, isStandalone: true, selector: "[madFilter]", outputs: { filterChange: "madFilterChange" }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableFilter, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ selector: '[madFilter]',
40
+ standalone: true,
41
+ }]
42
+ }], propDecorators: { filterChange: [{
43
+ type: Output,
44
+ args: ['madFilterChange']
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci9kYXRhLXRhYmxlLWZpbHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFoRSxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQUtzQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTdGLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7S0E4QnhEO0lBNUJDLFFBQVEsQ0FBQyxVQUFpQztRQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsVUFBaUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLHFCQUF3RDtRQUN4RSxJQUFJLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtZQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDN0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRTtvQkFDaEIsVUFBVSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7aUJBQ2hDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkksQ0FBQzs4R0FoQ1UsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRXFDLFlBQVk7c0JBQS9DLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlRmlsdGVySGVhZGVyIH0gZnJvbSAnLi9kYXRhLXRhYmxlLWZpbHRlci1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGFUYWJsZUZpbHRlck9iamVjdCB9IGZyb20gJy4vZGF0YS10YWJsZS1maWx0ZXItb2JqZWN0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hZEZpbHRlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVGaWx0ZXIge1xuICBAT3V0cHV0KCdtYWRGaWx0ZXJDaGFuZ2UnKSByZWFkb25seSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFUYWJsZUZpbHRlck9iamVjdD4oKTtcblxuICBmaWx0ZXJhYmxlcyA9IG5ldyBNYXA8c3RyaW5nLCBEYXRhVGFibGVGaWx0ZXJIZWFkZXI+KCk7XG5cbiAgcmVnaXN0ZXIoZmlsdGVyYWJsZTogRGF0YVRhYmxlRmlsdGVySGVhZGVyKSB7XG4gICAgdGhpcy5maWx0ZXJhYmxlcy5zZXQoZmlsdGVyYWJsZS5pZCwgZmlsdGVyYWJsZSk7XG4gIH1cblxuICB1bnJlZ2lzdGVyKGZpbHRlcmFibGU6IERhdGFUYWJsZUZpbHRlckhlYWRlcikge1xuICAgIHRoaXMuZmlsdGVyYWJsZXMuZGVsZXRlKGZpbHRlcmFibGUuaWQpO1xuICB9XG5cbiAgY2hhbmdlRmlsdGVyKCkge1xuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodGhpcy5jcmVhdGVGaWx0ZXIoKSk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJhYmxlcyhkYXRhVGFibGVGaWx0ZXJPYmplY3Q6IERhdGFUYWJsZUZpbHRlck9iamVjdCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghIWRhdGFUYWJsZUZpbHRlck9iamVjdCkge1xuICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YVRhYmxlRmlsdGVyT2JqZWN0KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyYWJsZSA9IHRoaXMuZmlsdGVyYWJsZXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghIWZpbHRlcmFibGUpIHtcbiAgICAgICAgICBmaWx0ZXJhYmxlLmZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmFibGVzLmZvckVhY2goKHZhbHVlKSA9PiAodmFsdWUuZmlsdGVyVmFsdWUgPSBudWxsKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGaWx0ZXIoKTogRGF0YVRhYmxlRmlsdGVyT2JqZWN0IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZpbHRlcmFibGVzLnZhbHVlcygpKS5yZWR1Y2UoKHJlc3VsdCwgY3VycmVudCkgPT4gKHsgLi4ucmVzdWx0LCBbY3VycmVudC5pZF06IGN1cnJlbnQuZmlsdGVyVmFsdWUgfSksIHt9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,61 @@
1
+ import { Inject, Injectable, InjectionToken, Optional, SkipSelf } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DataTablePersistenceService {
4
+ constructor() {
5
+ this.sortKey = 'sort';
6
+ this.filterKey = 'filter';
7
+ this.pageSizeKey = 'pageSize';
8
+ }
9
+ saveSort(tableId, sort) {
10
+ this.save(this.getId(tableId, this.sortKey), sort);
11
+ }
12
+ loadSort(tableId) {
13
+ return this.load(this.getId(tableId, this.sortKey));
14
+ }
15
+ saveFilter(tableId, filter) {
16
+ this.save(this.getId(tableId, this.filterKey), filter);
17
+ }
18
+ loadFilter(tableId) {
19
+ return this.load(this.getId(tableId, this.filterKey));
20
+ }
21
+ savePageSize(tableId, pageSize) {
22
+ this.save(this.getId(tableId, this.pageSizeKey), pageSize);
23
+ }
24
+ loadPageSize(tableId) {
25
+ return this.load(this.getId(tableId, this.pageSizeKey));
26
+ }
27
+ save(id, item) {
28
+ if (!!item) {
29
+ localStorage.setItem(id, JSON.stringify(item));
30
+ }
31
+ else {
32
+ localStorage.removeItem(id);
33
+ }
34
+ }
35
+ load(id) {
36
+ const item = localStorage.getItem(id);
37
+ return !!item ? JSON.parse(item) : undefined;
38
+ }
39
+ getId(tableId, key) {
40
+ return `${tableId}.${key}`;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTablePersistenceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTablePersistenceService, providedIn: 'root' }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTablePersistenceService, decorators: [{
46
+ type: Injectable,
47
+ args: [{
48
+ providedIn: 'root',
49
+ }]
50
+ }] });
51
+ export const MAD_DATA_TABLE_PERSISTENCE_SERVICE = new InjectionToken('mad-data-table-persistence-service');
52
+ export function DATA_TABLE_PERSISTENCE_SERVICE_PROVIDER_FACTORY(persistenceService) {
53
+ return persistenceService || new DataTablePersistenceService();
54
+ }
55
+ export const DATA_TABLE_PERSISTENCE_SERVICE_PROVIDER = {
56
+ // If there is a custom DataTablePersistenceService available, use that. Otherwise, provide the "local storage" default one.
57
+ provide: MAD_DATA_TABLE_PERSISTENCE_SERVICE,
58
+ deps: [[new Optional(), new SkipSelf(), new Inject(MAD_DATA_TABLE_PERSISTENCE_SERVICE)]],
59
+ useFactory: DATA_TABLE_PERSISTENCE_SERVICE_PROVIDER_FACTORY,
60
+ };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1wZXJzaXN0ZW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLXBlcnNpc3RlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZGLE1BQU0sT0FBTywyQkFBMkI7SUFIeEM7UUFJRSxZQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxRQUFRLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxVQUFVLENBQUM7S0EwQzFCO0lBeENDLFFBQVEsQ0FBQyxPQUFlLEVBQUUsSUFBc0I7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWUsRUFBRSxNQUFrRDtRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZSxFQUFFLFFBQTRCO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVTLElBQUksQ0FBSSxFQUFVLEVBQUUsSUFBbUI7UUFDL0MsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ1YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO2FBQU07WUFDTCxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVTLElBQUksQ0FBSSxFQUFVO1FBQzFCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVTLEtBQUssQ0FBQyxPQUFlLEVBQUUsR0FBVztRQUMxQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBNUNVLDJCQUEyQjtrSEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBZ0RELE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLElBQUksY0FBYyxDQUE4QixvQ0FBb0MsQ0FBQyxDQUFDO0FBRXhJLE1BQU0sVUFBVSwrQ0FBK0MsQ0FBQyxrQkFBK0M7SUFDN0csT0FBTyxrQkFBa0IsSUFBSSxJQUFJLDJCQUEyQixFQUFFLENBQUM7QUFDakUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHO0lBQ3JELDRIQUE0SDtJQUM1SCxPQUFPLEVBQUUsa0NBQWtDO0lBQzNDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQztJQUN4RixVQUFVLEVBQUUsK0NBQStDO0NBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJPYmplY3QgfSBmcm9tICcuL2RhdGEtdGFibGUtZmlsdGVyL2RhdGEtdGFibGUtZmlsdGVyLW9iamVjdCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZVBlcnNpc3RlbmNlU2VydmljZSB7XG4gIHNvcnRLZXkgPSAnc29ydCc7XG4gIGZpbHRlcktleSA9ICdmaWx0ZXInO1xuICBwYWdlU2l6ZUtleSA9ICdwYWdlU2l6ZSc7XG5cbiAgc2F2ZVNvcnQodGFibGVJZDogc3RyaW5nLCBzb3J0OiBTb3J0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlKHRoaXMuZ2V0SWQodGFibGVJZCwgdGhpcy5zb3J0S2V5KSwgc29ydCk7XG4gIH1cblxuICBsb2FkU29ydCh0YWJsZUlkOiBzdHJpbmcpOiBTb3J0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkKHRoaXMuZ2V0SWQodGFibGVJZCwgdGhpcy5zb3J0S2V5KSk7XG4gIH1cblxuICBzYXZlRmlsdGVyKHRhYmxlSWQ6IHN0cmluZywgZmlsdGVyOiBzdHJpbmcgfCBEYXRhVGFibGVGaWx0ZXJPYmplY3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmUodGhpcy5nZXRJZCh0YWJsZUlkLCB0aGlzLmZpbHRlcktleSksIGZpbHRlcik7XG4gIH1cblxuICBsb2FkRmlsdGVyKHRhYmxlSWQ6IHN0cmluZyk6IERhdGFUYWJsZUZpbHRlck9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubG9hZCh0aGlzLmdldElkKHRhYmxlSWQsIHRoaXMuZmlsdGVyS2V5KSk7XG4gIH1cblxuICBzYXZlUGFnZVNpemUodGFibGVJZDogc3RyaW5nLCBwYWdlU2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlKHRoaXMuZ2V0SWQodGFibGVJZCwgdGhpcy5wYWdlU2l6ZUtleSksIHBhZ2VTaXplKTtcbiAgfVxuXG4gIGxvYWRQYWdlU2l6ZSh0YWJsZUlkOiBzdHJpbmcpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmxvYWQodGhpcy5nZXRJZCh0YWJsZUlkLCB0aGlzLnBhZ2VTaXplS2V5KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2F2ZTxUPihpZDogc3RyaW5nLCBpdGVtOiBUIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCEhaXRlbSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oaWQsIEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBsb2FkPFQ+KGlkOiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpdGVtID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpO1xuICAgIHJldHVybiAhIWl0ZW0gPyBKU09OLnBhcnNlKGl0ZW0pIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldElkKHRhYmxlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0YWJsZUlkfS4ke2tleX1gO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBNQURfREFUQV9UQUJMRV9QRVJTSVNURU5DRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPERhdGFUYWJsZVBlcnNpc3RlbmNlU2VydmljZT4oJ21hZC1kYXRhLXRhYmxlLXBlcnNpc3RlbmNlLXNlcnZpY2UnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIERBVEFfVEFCTEVfUEVSU0lTVEVOQ0VfU0VSVklDRV9QUk9WSURFUl9GQUNUT1JZKHBlcnNpc3RlbmNlU2VydmljZTogRGF0YVRhYmxlUGVyc2lzdGVuY2VTZXJ2aWNlKSB7XG4gIHJldHVybiBwZXJzaXN0ZW5jZVNlcnZpY2UgfHwgbmV3IERhdGFUYWJsZVBlcnNpc3RlbmNlU2VydmljZSgpO1xufVxuXG5leHBvcnQgY29uc3QgREFUQV9UQUJMRV9QRVJTSVNURU5DRV9TRVJWSUNFX1BST1ZJREVSID0ge1xuICAvLyBJZiB0aGVyZSBpcyBhIGN1c3RvbSBEYXRhVGFibGVQZXJzaXN0ZW5jZVNlcnZpY2UgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIHRoZSBcImxvY2FsIHN0b3JhZ2VcIiBkZWZhdWx0IG9uZS5cbiAgcHJvdmlkZTogTUFEX0RBVEFfVEFCTEVfUEVSU0lTVEVOQ0VfU0VSVklDRSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIG5ldyBJbmplY3QoTUFEX0RBVEFfVEFCTEVfUEVSU0lTVEVOQ0VfU0VSVklDRSldXSxcbiAgdXNlRmFjdG9yeTogREFUQV9UQUJMRV9QRVJTSVNURU5DRV9TRVJWSUNFX1BST1ZJREVSX0ZBQ1RPUlksXG59O1xuIl19
@@ -0,0 +1,28 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./data-table-template-column-definition.directive";
4
+ export class DataTableTemplateCellDefinition {
5
+ constructor(templateRef, columnDef) {
6
+ this.templateRef = templateRef;
7
+ this.columnDef = columnDef;
8
+ }
9
+ ngOnInit() {
10
+ this.columnDef.register(this);
11
+ }
12
+ ngOnDestroy() {
13
+ this.columnDef.unregister();
14
+ }
15
+ getCellTemplate() {
16
+ return this.templateRef;
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateCellDefinition, deps: [{ token: i0.TemplateRef }, { token: i1.DataTableTemplateColumnDefinition }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableTemplateCellDefinition, isStandalone: true, selector: "[madCellDef]", ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateCellDefinition, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[madCellDef]',
25
+ standalone: true,
26
+ }]
27
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.DataTableTemplateColumnDefinition }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS10ZW1wbGF0ZS1jZWxsLWRlZmluaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLXRlbXBsYXRlL2RhdGEtdGFibGUtdGVtcGxhdGUtY2VsbC1kZWZpbml0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFrQyxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsWUFDVSxXQUE2QixFQUM3QixTQUE0QztRQUQ1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBbUM7SUFDbkQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs4R0FoQlUsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVUZW1wbGF0ZUNvbHVtbkRlZmluaXRpb24gfSBmcm9tICcuL2RhdGEtdGFibGUtdGVtcGxhdGUtY29sdW1uLWRlZmluaXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hZENlbGxEZWZdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlVGVtcGxhdGVDZWxsRGVmaW5pdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwcml2YXRlIGNvbHVtbkRlZjogRGF0YVRhYmxlVGVtcGxhdGVDb2x1bW5EZWZpbml0aW9uLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5EZWYucmVnaXN0ZXIodGhpcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkRlZi51bnJlZ2lzdGVyKCk7XG4gIH1cblxuICBnZXRDZWxsVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVSZWY7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DataTableTemplateColumnDefinition {
4
+ register(cellDef) {
5
+ this.cellDef = cellDef;
6
+ }
7
+ unregister() {
8
+ this.cellDef = null;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateColumnDefinition, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableTemplateColumnDefinition, isStandalone: true, selector: "[madColumnDef]", inputs: { madColumnDef: "madColumnDef" }, ngImport: i0 }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateColumnDefinition, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[madColumnDef]',
17
+ standalone: true,
18
+ }]
19
+ }], propDecorators: { madColumnDef: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS10ZW1wbGF0ZS1jb2x1bW4tZGVmaW5pdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtdGVtcGxhdGUvZGF0YS10YWJsZS10ZW1wbGF0ZS1jb2x1bW4tZGVmaW5pdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2pELE1BQU0sT0FBTyxpQ0FBaUM7SUFNckMsUUFBUSxDQUFDLE9BQXdDO1FBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs4R0FaVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFKN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR0MsWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlVGVtcGxhdGVDZWxsRGVmaW5pdGlvbiB9IGZyb20gJy4vZGF0YS10YWJsZS10ZW1wbGF0ZS1jZWxsLWRlZmluaXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hZENvbHVtbkRlZl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVUZW1wbGF0ZUNvbHVtbkRlZmluaXRpb24ge1xuICBASW5wdXQoKVxuICBtYWRDb2x1bW5EZWY6IHN0cmluZztcblxuICBjZWxsRGVmOiBEYXRhVGFibGVUZW1wbGF0ZUNlbGxEZWZpbml0aW9uIHwgbnVsbDtcblxuICBwdWJsaWMgcmVnaXN0ZXIoY2VsbERlZjogRGF0YVRhYmxlVGVtcGxhdGVDZWxsRGVmaW5pdGlvbikge1xuICAgIHRoaXMuY2VsbERlZiA9IGNlbGxEZWY7XG4gIH1cblxuICBwdWJsaWMgdW5yZWdpc3RlcigpIHtcbiAgICB0aGlzLmNlbGxEZWYgPSBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./data-table-template-expandable-column-definition.directive";
4
+ export class DataTableTemplateExpandableCellDefinition {
5
+ constructor(templateRef, columnDef) {
6
+ this.templateRef = templateRef;
7
+ this.columnDef = columnDef;
8
+ }
9
+ ngOnInit() {
10
+ this.columnDef.register(this);
11
+ }
12
+ ngOnDestroy() {
13
+ this.columnDef.unregister();
14
+ }
15
+ getCellTemplate() {
16
+ return this.templateRef;
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateExpandableCellDefinition, deps: [{ token: i0.TemplateRef }, { token: i1.DataTableTemplateExpandableColumnDefinition }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableTemplateExpandableCellDefinition, isStandalone: true, selector: "[madExpandableCellDef]", ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateExpandableCellDefinition, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[madExpandableCellDef]',
25
+ standalone: true,
26
+ }]
27
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.DataTableTemplateExpandableColumnDefinition }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS10ZW1wbGF0ZS1leHBhbmRhYmxlLWNlbGwtZGVmaW5pdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtdGVtcGxhdGUvZGF0YS10YWJsZS10ZW1wbGF0ZS1leHBhbmRhYmxlLWNlbGwtZGVmaW5pdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0MsTUFBTSxlQUFlLENBQUM7OztBQU8xRSxNQUFNLE9BQU8seUNBQXlDO0lBQ3BELFlBQ1UsV0FBNkIsRUFDOUIsU0FBc0Q7UUFEckQsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQTZDO0lBQzVELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7OEdBaEJVLHlDQUF5QztrR0FBekMseUNBQXlDOzsyRkFBekMseUNBQXlDO2tCQUpyRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVUZW1wbGF0ZUV4cGFuZGFibGVDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLXRlbXBsYXRlLWV4cGFuZGFibGUtY29sdW1uLWRlZmluaXRpb24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hZEV4cGFuZGFibGVDZWxsRGVmXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZVRlbXBsYXRlRXhwYW5kYWJsZUNlbGxEZWZpbml0aW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyBjb2x1bW5EZWY6IERhdGFUYWJsZVRlbXBsYXRlRXhwYW5kYWJsZUNvbHVtbkRlZmluaXRpb24sXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkRlZi5yZWdpc3Rlcih0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uRGVmLnVucmVnaXN0ZXIoKTtcbiAgfVxuXG4gIGdldENlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVJlZjtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DataTableTemplateExpandableColumnDefinition {
4
+ register(cellDef) {
5
+ this.cellDef = cellDef;
6
+ }
7
+ unregister() {
8
+ this.cellDef = null;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateExpandableColumnDefinition, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: DataTableTemplateExpandableColumnDefinition, isStandalone: true, selector: "[madExpandableColumnDef]", inputs: { madExpandableColumnDef: "madExpandableColumnDef" }, ngImport: i0 }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DataTableTemplateExpandableColumnDefinition, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[madExpandableColumnDef]',
17
+ standalone: true,
18
+ }]
19
+ }], propDecorators: { madExpandableColumnDef: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS10ZW1wbGF0ZS1leHBhbmRhYmxlLWNvbHVtbi1kZWZpbml0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS10ZW1wbGF0ZS9kYXRhLXRhYmxlLXRlbXBsYXRlLWV4cGFuZGFibGUtY29sdW1uLWRlZmluaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRCxNQUFNLE9BQU8sMkNBQTJDO0lBTS9DLFFBQVEsQ0FBQyxPQUFrRDtRQUNoRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7OEdBWlUsMkNBQTJDO2tHQUEzQywyQ0FBMkM7OzJGQUEzQywyQ0FBMkM7a0JBSnZELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdDLHNCQUFzQjtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFUYWJsZVRlbXBsYXRlRXhwYW5kYWJsZUNlbGxEZWZpbml0aW9uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLXRlbXBsYXRlLWV4cGFuZGFibGUtY2VsbC1kZWZpbml0aW9uLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYWRFeHBhbmRhYmxlQ29sdW1uRGVmXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZVRlbXBsYXRlRXhwYW5kYWJsZUNvbHVtbkRlZmluaXRpb24ge1xuICBASW5wdXQoKVxuICBtYWRFeHBhbmRhYmxlQ29sdW1uRGVmOiBzdHJpbmc7XG5cbiAgY2VsbERlZjogRGF0YVRhYmxlVGVtcGxhdGVFeHBhbmRhYmxlQ2VsbERlZmluaXRpb24gfCBudWxsO1xuXG4gIHB1YmxpYyByZWdpc3RlcihjZWxsRGVmOiBEYXRhVGFibGVUZW1wbGF0ZUV4cGFuZGFibGVDZWxsRGVmaW5pdGlvbikge1xuICAgIHRoaXMuY2VsbERlZiA9IGNlbGxEZWY7XG4gIH1cblxuICBwdWJsaWMgdW5yZWdpc3RlcigpIHtcbiAgICB0aGlzLmNlbGxEZWYgPSBudWxsO1xuICB9XG59XG4iXX0=