ngx-mat-table-multi-sort 18.1.0 → 18.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.
- package/README.md +2 -0
- package/esm2022/lib/mat-multi-sort-control/mat-multi-sort-control.component.mjs +1 -1
- package/esm2022/lib/mat-multi-sort.directive.mjs +93 -11
- package/esm2022/lib/mat-table-column-config/mat-table-column-config.component.mjs +26 -14
- package/esm2022/lib/mat-table-column-config-persistence.service.mjs +76 -0
- package/esm2022/lib/mat-table-column-config-trigger.directive.mjs +5 -21
- package/esm2022/lib/mat-table-column-config.mjs +19 -7
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/ngx-mat-table-multi-sort.mjs +215 -51
- package/fesm2022/ngx-mat-table-multi-sort.mjs.map +1 -1
- package/lib/mat-multi-sort-control/mat-multi-sort-control.component.d.ts +1 -1
- package/lib/mat-multi-sort.directive.d.ts +47 -5
- package/lib/mat-table-column-config/mat-table-column-config.component.d.ts +9 -3
- package/lib/mat-table-column-config-persistence.service.d.ts +31 -0
- package/lib/mat-table-column-config-trigger.directive.d.ts +1 -10
- package/lib/mat-table-column-config.d.ts +18 -6
- package/package.json +3 -2
- package/public-api.d.ts +1 -0
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ An Angular library that adds multi-sort capability to the Angular Material table
|
|
|
12
12
|
## Features
|
|
13
13
|
|
|
14
14
|
- Extend the Angular Material Table to support multiple sorting
|
|
15
|
+
- Extend the Angular Material Table to allow the user to re-order columns and toggle their visibility.
|
|
16
|
+
- Support persisting the configuration in local, session or custom storage implementations.
|
|
15
17
|
- Supports Angular 18 and 19. Supporting all actively supported Angular versions is planned (see [#5](https://github.com/pgerke/ngx-mat-table-multi-sort/issues/5))
|
|
16
18
|
- Batteries included: The repository contains a demo application that can help you integrate the library with your project
|
|
17
19
|
- 100% covered by automated unit tests and secured by static code analysis
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
84
84
|
}], sort: [{
|
|
85
85
|
type: Input
|
|
86
86
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wvbWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wvbWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUVQLFdBQVcsR0FFWixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBV3ZELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7Ozs7OztPQU1HO0lBQ00sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFOUU7Ozs7OztPQU1HO0lBQ00sV0FBVyxHQUF3QixZQUFZLENBQUM7SUFFekQ7OztPQUdHO0lBQ00sSUFBSSxDQUF5QjtJQUV0Qzs7Ozs7T0FLRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQTBCO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQzt3R0ExRVUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsd0lDbkJ6Qyw2MENBc0NBLHV6RkR4QlksV0FBVyw4ZkFBRSxPQUFPLHVjQUFFLGNBQWMsa3RCQUFFLGFBQWE7OzRGQUtsRCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0Usd0JBQXdCLFdBQ3pCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBR2xELElBQUk7OEJBbUJQLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0Ryb3BMaXN0LFxuICBEcm9wTGlzdE9yaWVudGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFLCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgU29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBNYXRNdWx0aVNvcnREaXJlY3RpdmUgfSBmcm9tIFwiLi4vbWF0LW11bHRpLXNvcnQuZGlyZWN0aXZlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXQtbXVsdGktc29ydC1jb250cm9sXCIsXG4gIGltcG9ydHM6IFtDZGtEcm9wTGlzdCwgQ2RrRHJhZywgTWF0Q2hpcHNNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9tYXQtbXVsdGktc29ydC1jb250cm9sLmNvbXBvbmVudC5zY3NzXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hdE11bHRpU29ydENvbnRyb2xDb21wb25lbnQge1xuICAvKipcbiAgICogSW5qZWN0cyB0aGUgQU5JTUFUSU9OX01PRFVMRV9UWVBFIHRva2VuLCB3aGljaCBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgYW5pbWF0aW9uIG1vZHVsZSBiZWluZyB1c2VkLlxuICAgKiBUaGlzIGlzIGFuIG9wdGlvbmFsIGRlcGVuZGVuY3kgYW5kIG1heSBiZSB1bmRlZmluZWQgaWYgdGhlIGFuaW1hdGlvbiBtb2R1bGUgaXMgbm90IHByb3ZpZGVkLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICogQHR5cGUge0FOSU1BVElPTl9NT0RVTEVfVFlQRSB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHJlYWRvbmx5IF9hbmltYXRpb25Nb2R1bGUgPSBpbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBkcm9wIGxpc3QuXG4gICAqIENhbiBiZSBlaXRoZXIgXCJob3Jpem9udGFsXCIgb3IgXCJ2ZXJ0aWNhbFwiLlxuICAgKlxuICAgKiBAdHlwZSB7RHJvcExpc3RPcmllbnRhdGlvbn1cbiAgICogQGRlZmF1bHQgXCJob3Jpem9udGFsXCJcbiAgICovXG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uOiBEcm9wTGlzdE9yaWVudGF0aW9uID0gXCJob3Jpem9udGFsXCI7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGlucHV0IHByb3BlcnR5IHRoYXQgYWNjZXB0cyBhbiBpbnN0YW5jZSBvZiBgTWF0TXVsdGlTb3J0RGlyZWN0aXZlYC5cbiAgICogVGhpcyBkaXJlY3RpdmUgaXMgdXNlZCB0byBjb250cm9sIHRoZSBzb3J0aW5nIGJlaGF2aW9yIG9mIHRoZSB0YWJsZS5cbiAgICovXG4gIEBJbnB1dCgpIHNvcnQ/OiBNYXRNdWx0aVNvcnREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYXJyYXkgb2YgU29ydCBvYmplY3RzIGZyb20gdGhlIGN1cnJlbnQgc29ydCBpbnN0YW5jZS5cbiAgICogSWYgdGhlIHNvcnQgaW5zdGFuY2UgaXMgbm90IGRlZmluZWQsIGl0IHJldHVybnMgYW4gZW1wdHkgYXJyYXkuXG4gICAqXG4gICAqIEByZXR1cm5zIHtTb3J0W119IEFuIGFycmF5IG9mIFNvcnQgb2JqZWN0cyBvciBhbiBlbXB0eSBhcnJheSBpZiBubyBzb3J0cyBhcmUgZGVmaW5lZC5cbiAgICovXG4gIGdldCBzb3J0cygpOiBTb3J0W10ge1xuICAgIHJldHVybiB0aGlzLnNvcnQ/Ll9zb3J0cygpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGNsaWNrIGV2ZW50IG9uIGEgc29ydCBjaGlwLlxuICAgKiBUb2dnbGVzIHRoZSBzb3J0IGRpcmVjdGlvbiBmb3IgdGhlIGdpdmVuIHNvcnQgSUQuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzb3J0IGZpZWxkIHRvIHRvZ2dsZS5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgb25DaGlwQ2xpY2soaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc29ydD8udG9nZ2xlU29ydERpcmVjdGlvbihpZCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgZXZlbnQgd2hlbiBhIHNvcnQgY2hpcCBpcyByZW1vdmVkLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgc29ydCBsZXZlbCB0byBiZSByZW1vdmVkLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBvbkNoaXBSZW1vdmVkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnQ/LnJlbW92ZVNvcnRMZXZlbChpZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHNvcnRpbmcgYXBwbGllZCB0byB0aGUgdGFibGUuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzb3J0IGxldmVsIHRvIGJlIHJlbW92ZWQuXG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIG9uQ2xlYXJDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnQ/LmNsZWFyU29ydGluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGRyb3AgZXZlbnQgZm9yIGRyYWctYW5kLWRyb3Agc29ydGluZy5cbiAgICogUmVvcmRlcnMgdGhlIHNvcnQgbGV2ZWxzIGJhc2VkIG9uIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBpbmRpY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgZHJhZy1hbmQtZHJvcCBldmVudCBjb250YWluaW5nIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBpbmRpY2VzIG9mIHRoZSBzb3J0IG9yZGVyLlxuICAgKi9cbiAgb25Ecm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxTb3J0W10+KTogdm9pZCB7XG4gICAgdGhpcy5zb3J0Py5yZW9yZGVyU29ydExldmVsKGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cbn1cbiIsIjxtYXQtY2hpcC1saXN0Ym94XG4gIGNka0Ryb3BMaXN0XG4gIFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uXCJcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiPlxuICA8bWF0LWNoaXBcbiAgICBbZGlzYWJsZWRdPVwiIXNvcnRzLmxlbmd0aFwiXG4gICAgW2hpZ2hsaWdodGVkXT1cInRydWVcIlxuICAgIChjbGljayk9XCJvbkNsZWFyQ2xpY2soKVwiXG4gICAgPjxtYXQtaWNvbiBtYXRDaGlwQXZhdGFyIGZvbnRJY29uPVwiY2xlYXJfYWxsXCI+PC9tYXQtaWNvbj5DbGVhciBBbGw8L21hdC1jaGlwXG4gID5cbiAgQGZvciAoY29sdW1uIG9mIHNvcnRzOyB0cmFjayAkaW5kZXgpIHtcbiAgICA8bWF0LWNoaXBcbiAgICAgIGNsYXNzPVwibWF0LXNvcnQtaGVhZGVyXCJcbiAgICAgIGNka0RyYWdcbiAgICAgIChjbGljayk9XCJvbkNoaXBDbGljayhjb2x1bW4uYWN0aXZlKVwiXG4gICAgICAocmVtb3ZlZCk9XCJvbkNoaXBSZW1vdmVkKGNvbHVtbi5hY3RpdmUpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIG1hdENoaXBBdmF0YXJcbiAgICAgICAgY2xhc3M9XCJtYXQtc29ydC1oZWFkZXItY29udGFpbmVyIG1hdC1zb3J0LWhlYWRlci1zb3J0ZWQgbWF0LWZvY3VzLWluZGljYXRvclwiXG4gICAgICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItZGVzY2VuZGluZ109XCJjb2x1bW4uZGlyZWN0aW9uID09PSAnZGVzYydcIlxuICAgICAgICBbY2xhc3MubWF0LXNvcnQtaGVhZGVyLWFzY2VuZGluZ109XCJjb2x1bW4uZGlyZWN0aW9uID09PSAnYXNjJ1wiXG4gICAgICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItYW5pbWF0aW9ucy1kaXNhYmxlZF09XCJcbiAgICAgICAgICBfYW5pbWF0aW9uTW9kdWxlID09PSAnTm9vcEFuaW1hdGlvbnMnXG4gICAgICAgIFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LXNvcnQtaGVhZGVyLWFycm93XCI+XG4gICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiBmb2N1c2FibGU9XCJmYWxzZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk00NDAtMjQwdi0zNjhMMjk2LTQ2NGwtNTYtNTYgMjQwLTI0MCAyNDAgMjQwLTU2IDU2LTE0NC0xNDR2MzY4aC04MFpcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3sgY29sdW1uLmFjdGl2ZSB9fVxuICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlPlxuICAgICAgICA8bWF0LWljb24+Y2xlYXI8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtY2hpcD5cbiAgfVxuPC9tYXQtY2hpcC1saXN0Ym94PlxuIl19
|
|
@@ -1,8 +1,49 @@
|
|
|
1
1
|
import { moveItemInArray } from "@angular/cdk/drag-drop";
|
|
2
|
-
import { Directive, effect, signal } from "@angular/core";
|
|
3
|
-
import { MatSort, } from "@angular/material/sort";
|
|
2
|
+
import { Directive, effect, EventEmitter, Inject, InjectionToken, Optional, Output, signal, } from "@angular/core";
|
|
3
|
+
import { MAT_SORT_DEFAULT_OPTIONS, MatSort, } from "@angular/material/sort";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Injection token for the storage mechanism used to persist sorting state.
|
|
7
|
+
*
|
|
8
|
+
* This token can be used to provide a custom storage implementation for persisting
|
|
9
|
+
* the sorting state of a table. By default, it can be set to use localStorage, sessionStorage,
|
|
10
|
+
* or any other storage mechanism that implements the Storage interface.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export const SORT_PERSISTENCE_STORAGE = new InjectionToken("SORT_PERSISTENCE_STORAGE");
|
|
14
|
+
/**
|
|
15
|
+
* Injection token used to enable or disable the persistence of sorting state.
|
|
16
|
+
*
|
|
17
|
+
* This token can be provided in the application's dependency injection system
|
|
18
|
+
* to control whether the sorting state of a table should be persisted across
|
|
19
|
+
* sessions or not.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // To enable sort persistence:
|
|
23
|
+
* providers: [
|
|
24
|
+
* { provide: SORT_PERSISTENCE_ENABLED, useValue: true }
|
|
25
|
+
* ]
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // To disable sort persistence:
|
|
29
|
+
* providers: [
|
|
30
|
+
* { provide: SORT_PERSISTENCE_ENABLED, useValue: false }
|
|
31
|
+
* ]
|
|
32
|
+
*/
|
|
33
|
+
export const SORT_PERSISTENCE_ENABLED = new InjectionToken("SORT_PERSISTENCE_ENABLED");
|
|
34
|
+
/**
|
|
35
|
+
* Injection token for the key used to persist sorting state.
|
|
36
|
+
*
|
|
37
|
+
* This token can be used to provide a custom key for storing
|
|
38
|
+
* the sorting state in a persistence layer, such as local storage
|
|
39
|
+
* or a database.
|
|
40
|
+
*/
|
|
41
|
+
export const SORT_PERSISTENCE_KEY = new InjectionToken("SORT_PERSISTENCE_KEY");
|
|
5
42
|
export class MatMultiSortDirective extends MatSort {
|
|
43
|
+
isPersistenceEnabled;
|
|
44
|
+
key;
|
|
45
|
+
storage;
|
|
46
|
+
persistenceChanged = new EventEmitter();
|
|
6
47
|
/**
|
|
7
48
|
* A writable signal that holds an array of Sort objects.
|
|
8
49
|
* This signal is used to manage the sorting state of the table.
|
|
@@ -10,17 +51,26 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
10
51
|
* @readonly
|
|
11
52
|
*/
|
|
12
53
|
_sorts = signal([]);
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
54
|
+
constructor(isPersistenceEnabled, key, storage, defaultOptions) {
|
|
55
|
+
super(defaultOptions);
|
|
56
|
+
this.isPersistenceEnabled = isPersistenceEnabled;
|
|
57
|
+
this.key = key;
|
|
58
|
+
this.storage = storage;
|
|
59
|
+
this.isPersistenceEnabled ??= true;
|
|
60
|
+
this.key ??= "mat-table-persistence-sort";
|
|
61
|
+
this.storage ??= localStorage;
|
|
62
|
+
if (this.isPersistenceEnabled) {
|
|
63
|
+
const sortsSerialized = this.storage.getItem(this.key);
|
|
64
|
+
this._sorts.set(sortsSerialized ? JSON.parse(sortsSerialized) : []);
|
|
65
|
+
}
|
|
66
|
+
// This is necessary because the sortChange event is not emitted when the _sorts signal is updated directly (e.g., this._sorts.set([])).
|
|
18
67
|
effect(() => {
|
|
19
68
|
const length = this._sorts().length;
|
|
20
69
|
this.sortChange.emit({
|
|
21
70
|
active: length ? this._sorts()[length - 1].active : "",
|
|
22
71
|
direction: length ? this._sorts()[length - 1].direction : "",
|
|
23
72
|
});
|
|
73
|
+
this.persistSortSettings();
|
|
24
74
|
});
|
|
25
75
|
}
|
|
26
76
|
/**
|
|
@@ -62,6 +112,7 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
62
112
|
}
|
|
63
113
|
}
|
|
64
114
|
this.sortChange.emit({ active: this.active, direction: this.direction });
|
|
115
|
+
this.persistSortSettings();
|
|
65
116
|
}
|
|
66
117
|
/**
|
|
67
118
|
* Removes a sort level by its identifier.
|
|
@@ -76,6 +127,7 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
76
127
|
return;
|
|
77
128
|
this._sorts().splice(index, 1);
|
|
78
129
|
this.sortChange.emit();
|
|
130
|
+
this.persistSortSettings();
|
|
79
131
|
}
|
|
80
132
|
/**
|
|
81
133
|
* Reorders the sort level by moving an item in the sort array from a previous index to a current index.
|
|
@@ -89,6 +141,7 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
89
141
|
return;
|
|
90
142
|
moveItemInArray(this._sorts(), previousIndex, currentIndex);
|
|
91
143
|
this.sortChange.emit(this._sorts()[currentIndex]);
|
|
144
|
+
this.persistSortSettings();
|
|
92
145
|
}
|
|
93
146
|
/**
|
|
94
147
|
* Toggles the sort direction for the given column ID.
|
|
@@ -109,6 +162,7 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
109
162
|
});
|
|
110
163
|
this._sorts()[index].direction = this.direction;
|
|
111
164
|
this.sortChange.emit({ active: this.active, direction: this.direction });
|
|
165
|
+
this.persistSortSettings();
|
|
112
166
|
}
|
|
113
167
|
/**
|
|
114
168
|
* Clears the current sorting state.
|
|
@@ -121,9 +175,15 @@ export class MatMultiSortDirective extends MatSort {
|
|
|
121
175
|
this.direction = "";
|
|
122
176
|
this._sorts.set([]);
|
|
123
177
|
this.sortChange.emit();
|
|
178
|
+
this.persistSortSettings();
|
|
179
|
+
}
|
|
180
|
+
persistSortSettings() {
|
|
181
|
+
this.persistenceChanged.emit(this._sorts());
|
|
182
|
+
if (this.isPersistenceEnabled)
|
|
183
|
+
this.storage.setItem(this.key, JSON.stringify(this._sorts()));
|
|
124
184
|
}
|
|
125
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatMultiSortDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
126
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MatMultiSortDirective, isStandalone: true, selector: "[matMultiSort]", host: { classAttribute: "mat-sort" }, exportAs: ["matMultiSort"], usesInheritance: true, ngImport: i0 });
|
|
185
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatMultiSortDirective, deps: [{ token: SORT_PERSISTENCE_ENABLED, optional: true }, { token: SORT_PERSISTENCE_KEY, optional: true }, { token: SORT_PERSISTENCE_STORAGE, optional: true }, { token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
186
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MatMultiSortDirective, isStandalone: true, selector: "[matMultiSort]", outputs: { persistenceChanged: "persistenceChanged" }, host: { classAttribute: "mat-sort" }, exportAs: ["matMultiSort"], usesInheritance: true, ngImport: i0 });
|
|
127
187
|
}
|
|
128
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatMultiSortDirective, decorators: [{
|
|
129
189
|
type: Directive,
|
|
@@ -135,5 +195,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
135
195
|
},
|
|
136
196
|
standalone: true,
|
|
137
197
|
}]
|
|
138
|
-
}], ctorParameters: () => [
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW11bHRpLXNvcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXQtbXVsdGktc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUNMLE9BQU8sR0FJUixNQUFNLHdCQUF3QixDQUFDOztBQVVoQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsT0FBTztJQUNoRDs7Ozs7T0FLRztJQUNNLE1BQU0sR0FBMkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXJEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUjs7V0FFRztRQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdEQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENB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QyxJQUFJLEtBQUssR0FBRyxDQUFDO1lBQUUsT0FBTztRQUV0QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQiwrSkFBK0o7UUFDL0osSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDekMsRUFBRSxFQUFFLEVBQUU7WUFDTixZQUFZLEVBQUUsSUFBSTtTQUNKLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7d0dBL0hVLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFVBQVU7cUJBQ2xCO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vdmVJdGVtSW5BcnJheSB9IGZyb20gXCJAYW5ndWxhci9jZGsvZHJhZy1kcm9wXCI7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBNYXRTb3J0LFxuICBNYXRTb3J0YWJsZSxcbiAgU29ydCxcbiAgU29ydERpcmVjdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttYXRNdWx0aVNvcnRdXCIsXG4gIGV4cG9ydEFzOiBcIm1hdE11bHRpU29ydFwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwibWF0LXNvcnRcIixcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0TXVsdGlTb3J0RGlyZWN0aXZlIGV4dGVuZHMgTWF0U29ydCB7XG4gIC8qKlxuICAgKiBBIHdyaXRhYmxlIHNpZ25hbCB0aGF0IGhvbGRzIGFuIGFycmF5IG9mIFNvcnQgb2JqZWN0cy5cbiAgICogVGhpcyBzaWduYWwgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHNvcnRpbmcgc3RhdGUgb2YgdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IF9zb3J0czogV3JpdGFibGVTaWduYWw8U29ydFtdPiA9IHNpZ25hbChbXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvKiBXZSBhcmUgdXNpbmcgYW4gZWZmZWN0IHRvIGVtaXQgdGhlIHNvcnRDaGFuZ2UgZXZlbnQgd2hlbmV2ZXIgdGhlIF9zb3J0cyBzaWduYWwgY2hhbmdlcy5cbiAgICAgKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBzb3J0Q2hhbmdlIGV2ZW50IGlzIG5vdCBlbWl0dGVkIHdoZW4gdGhlIF9zb3J0cyBzaWduYWwgaXMgdXBkYXRlZCBkaXJlY3RseSAoZS5nLiwgdGhpcy5fc29ydHMuc2V0KFtdKSkuXG4gICAgICovXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuX3NvcnRzKCkubGVuZ3RoO1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoe1xuICAgICAgICBhY3RpdmU6IGxlbmd0aCA/IHRoaXMuX3NvcnRzKClbbGVuZ3RoIC0gMV0uYWN0aXZlIDogXCJcIixcbiAgICAgICAgZGlyZWN0aW9uOiBsZW5ndGggPyB0aGlzLl9zb3J0cygpW2xlbmd0aCAtIDFdLmRpcmVjdGlvbiA6IFwiXCIsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIHNvcnQgZGlyZWN0aW9uIGZvciBhIGdpdmVuIGNvbHVtbiBJRC5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIElEIG9mIHRoZSBjb2x1bW4gdG8gZ2V0IHRoZSBzb3J0IGRpcmVjdGlvbiBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBzb3J0IGRpcmVjdGlvbiAoJ2FzYycsICdkZXNjJywgb3IgJycpIGZvciB0aGUgc3BlY2lmaWVkIGNvbHVtbiBJRC5cbiAgICovXG4gIHB1YmxpYyBnZXRTb3J0RGlyZWN0aW9uKGlkOiBzdHJpbmcpOiBTb3J0RGlyZWN0aW9uIHtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5fc29ydHMoKS5maW5kKChlKSA9PiBlLmFjdGl2ZSA9PT0gaWQpO1xuICAgIHJldHVybiBzb3J0ID8gc29ydC5kaXJlY3Rpb24gOiBcIlwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNvcnQgaW5kZXggb2YgdGhlIGdpdmVuIGNvbHVtbiBJRC5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIElEIG9mIHRoZSBjb2x1bW4gdG8gZ2V0IHRoZSBzb3J0IGluZGV4IGZvci5cbiAgICogQHJldHVybnMgVGhlIHNvcnQgaW5kZXggb2YgdGhlIGNvbHVtbiwgb3IgLTEgaWYgdGhlIGNvbHVtbiBpcyBub3QgYWN0aXZlLlxuICAgKi9cbiAgcHVibGljIGdldFNvcnRJbmRleChpZDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydHMoKS5maW5kSW5kZXgoKGUpID0+IGUuYWN0aXZlID09PSBpZCk7XG4gIH1cblxuICBvdmVycmlkZSBzb3J0KHNvcnRhYmxlOiBNYXRTb3J0YWJsZSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlID0gc29ydGFibGUuaWQ7XG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmdldFNvcnREaXJlY3Rpb24oc29ydGFibGUuaWQpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRTb3J0SW5kZXgoc29ydGFibGUuaWQpO1xuXG4gICAgLy8gSWYgdGhlIGNvbHVtbiBpcyBub3QgYWN0aXZlLCBhZGQgaXQgdG8gdGhlIGxpc3Qgb2YgYWN0aXZlIGNvbHVtbnMuXG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgdGhpcy5kaXJlY3Rpb24gPSBzb3J0YWJsZS5zdGFydCA/IHNvcnRhYmxlLnN0YXJ0IDogdGhpcy5zdGFydDtcbiAgICAgIHRoaXMuX3NvcnRzKCkucHVzaCh7IGFjdGl2ZTogdGhpcy5hY3RpdmUsIGRpcmVjdGlvbjogdGhpcy5kaXJlY3Rpb24gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHRoZSBjb2x1bW4gaXMgYWN0aXZlLCB1cGRhdGUgdGhlIGRpcmVjdGlvbiBvciByZW1vdmUgaXQgaWYgdGhlIGRpcmVjdGlvbiBpcyBlbXB0eS5cbiAgICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5nZXROZXh0U29ydERpcmVjdGlvbihzb3J0YWJsZSk7XG4gICAgICBpZiAoIXRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICAgIHRoaXMuX3NvcnRzKCkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NvcnRzKClbaW5kZXhdLmRpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHsgYWN0aXZlOiB0aGlzLmFjdGl2ZSwgZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgc29ydCBsZXZlbCBieSBpdHMgaWRlbnRpZmllci5cbiAgICogSWYgdGhlIHNvcnQgbGV2ZWwgaXMgbm90IGZvdW5kLCB0aGUgbWV0aG9kIHJldHVybnMgd2l0aG91dCBtYWtpbmcgYW55IGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzb3J0IGxldmVsIHRvIGJlIHJlbW92ZWQuXG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVTb3J0TGV2ZWwoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRTb3J0SW5kZXgoaWQpO1xuICAgIGlmIChpbmRleCA8IDApIHJldHVybjtcblxuICAgIHRoaXMuX3NvcnRzKCkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlb3JkZXJzIHRoZSBzb3J0IGxldmVsIGJ5IG1vdmluZyBhbiBpdGVtIGluIHRoZSBzb3J0IGFycmF5IGZyb20gYSBwcmV2aW91cyBpbmRleCB0byBhIGN1cnJlbnQgaW5kZXguXG4gICAqIElmIHRoZSBwcmV2aW91cyBpbmRleCBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBpbmRleCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgd2l0aG91dCBtYWtpbmcgYW55IGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwcmV2aW91c0luZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBpdGVtIHRvIGJlIG1vdmVkLlxuICAgKiBAcGFyYW0gY3VycmVudEluZGV4IC0gVGhlIGluZGV4IHRvIHdoaWNoIHRoZSBpdGVtIHNob3VsZCBiZSBtb3ZlZC5cbiAgICovXG4gIHB1YmxpYyByZW9yZGVyU29ydExldmVsKHByZXZpb3VzSW5kZXg6IG51bWJlciwgY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocHJldmlvdXNJbmRleCA9PT0gY3VycmVudEluZGV4KSByZXR1cm47XG5cbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5fc29ydHMoKSwgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh0aGlzLl9zb3J0cygpW2N1cnJlbnRJbmRleF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIHNvcnQgZGlyZWN0aW9uIGZvciB0aGUgZ2l2ZW4gY29sdW1uIElELlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbHVtbiB0byB0b2dnbGUgdGhlIHNvcnQgZGlyZWN0aW9uIGZvci5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHVibGljIHRvZ2dsZVNvcnREaXJlY3Rpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRTb3J0SW5kZXgoaWQpO1xuICAgIGlmIChpbmRleCA8IDApIHJldHVybjtcblxuICAgIHRoaXMuYWN0aXZlID0gaWQ7XG4gICAgLy8gVGhlIHZhbHVlIG9mIHRoaXMuZGlyZWN0aW9uIGlzIHVzZWQgaW4gdGhlIGdldE5leHRTb3J0RGlyZWN0aW9uIG1ldGhvZC4gVGhhdCdzIHdoeSBpdCBpcyBuZWNlc3NhcnkgZm9yIGl0IHRvIGJlIHNldCBiZWZvcmUgdGhlIGNhbGwgdG8gZ2V0TmV4dFNvcnREaXJlY3Rpb24uXG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmdldFNvcnREaXJlY3Rpb24oaWQpO1xuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5nZXROZXh0U29ydERpcmVjdGlvbih7XG4gICAgICBpZDogaWQsXG4gICAgICBkaXNhYmxlQ2xlYXI6IHRydWUsXG4gICAgfSBhcyBNYXRTb3J0YWJsZSk7XG4gICAgdGhpcy5fc29ydHMoKVtpbmRleF0uZGlyZWN0aW9uID0gdGhpcy5kaXJlY3Rpb247XG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoeyBhY3RpdmU6IHRoaXMuYWN0aXZlLCBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCBzb3J0aW5nIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbHVtbiB0byB0b2dnbGUgdGhlIHNvcnQgZGlyZWN0aW9uIGZvci5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHVibGljIGNsZWFyU29ydGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IFwiXCI7XG4gICAgdGhpcy5kaXJlY3Rpb24gPSBcIlwiO1xuICAgIHRoaXMuX3NvcnRzLnNldChbXSk7XG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
198
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
199
|
+
type: Optional
|
|
200
|
+
}, {
|
|
201
|
+
type: Inject,
|
|
202
|
+
args: [SORT_PERSISTENCE_ENABLED]
|
|
203
|
+
}] }, { type: undefined, decorators: [{
|
|
204
|
+
type: Optional
|
|
205
|
+
}, {
|
|
206
|
+
type: Inject,
|
|
207
|
+
args: [SORT_PERSISTENCE_KEY]
|
|
208
|
+
}] }, { type: Storage, decorators: [{
|
|
209
|
+
type: Optional
|
|
210
|
+
}, {
|
|
211
|
+
type: Inject,
|
|
212
|
+
args: [SORT_PERSISTENCE_STORAGE]
|
|
213
|
+
}] }, { type: undefined, decorators: [{
|
|
214
|
+
type: Optional
|
|
215
|
+
}, {
|
|
216
|
+
type: Inject,
|
|
217
|
+
args: [MAT_SORT_DEFAULT_OPTIONS]
|
|
218
|
+
}] }], propDecorators: { persistenceChanged: [{
|
|
219
|
+
type: Output
|
|
220
|
+
}] } });
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW11bHRpLXNvcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXQtbXVsdGktc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsT0FBTyxHQUtSLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsMEJBQTBCLENBQzNCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3hELDBCQUEwQixDQUMzQixDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELHNCQUFzQixDQUN2QixDQUFDO0FBVUYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE9BQU87SUFldkM7SUFHVTtJQUdBO0lBbkJGLGtCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFakU7Ozs7O09BS0c7SUFDTSxNQUFNLEdBQTJCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVyRCxZQUdTLG9CQUE2QixFQUduQixHQUFXLEVBR1gsT0FBZ0IsRUFHakMsY0FBa0Q7UUFFbEQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBWGYseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFTO1FBR25CLFFBQUcsR0FBSCxHQUFHLENBQVE7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SUFBSSxDQUFDLG9CQUFvQjtZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO3dHQW5LVSxxQkFBcUIsa0JBY3RCLHdCQUF3Qiw2QkFHeEIsb0JBQW9CLDZCQUdwQix3QkFBd0IsNkJBR3hCLHdCQUF3Qjs0RkF2QnZCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFSakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxVQUFVO3FCQUNsQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWNJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCOzswQkFFL0IsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixRQUFROzswQkFDUixNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBRS9CLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsd0JBQXdCO3lDQXJCakIsa0JBQWtCO3NCQURsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBNQVRfU09SVF9ERUZBVUxUX09QVElPTlMsXG4gIE1hdFNvcnQsXG4gIE1hdFNvcnRhYmxlLFxuICBNYXRTb3J0RGVmYXVsdE9wdGlvbnMsXG4gIFNvcnQsXG4gIFNvcnREaXJlY3Rpb24sXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgc3RvcmFnZSBtZWNoYW5pc20gdXNlZCB0byBwZXJzaXN0IHNvcnRpbmcgc3RhdGUuXG4gKlxuICogVGhpcyB0b2tlbiBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGEgY3VzdG9tIHN0b3JhZ2UgaW1wbGVtZW50YXRpb24gZm9yIHBlcnNpc3RpbmdcbiAqIHRoZSBzb3J0aW5nIHN0YXRlIG9mIGEgdGFibGUuIEJ5IGRlZmF1bHQsIGl0IGNhbiBiZSBzZXQgdG8gdXNlIGxvY2FsU3RvcmFnZSwgc2Vzc2lvblN0b3JhZ2UsXG4gKiBvciBhbnkgb3RoZXIgc3RvcmFnZSBtZWNoYW5pc20gdGhhdCBpbXBsZW1lbnRzIHRoZSBTdG9yYWdlIGludGVyZmFjZS5cbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBTT1JUX1BFUlNJU1RFTkNFX1NUT1JBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RvcmFnZT4oXG4gIFwiU09SVF9QRVJTSVNURU5DRV9TVE9SQUdFXCJcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIHBlcnNpc3RlbmNlIG9mIHNvcnRpbmcgc3RhdGUuXG4gKlxuICogVGhpcyB0b2tlbiBjYW4gYmUgcHJvdmlkZWQgaW4gdGhlIGFwcGxpY2F0aW9uJ3MgZGVwZW5kZW5jeSBpbmplY3Rpb24gc3lzdGVtXG4gKiB0byBjb250cm9sIHdoZXRoZXIgdGhlIHNvcnRpbmcgc3RhdGUgb2YgYSB0YWJsZSBzaG91bGQgYmUgcGVyc2lzdGVkIGFjcm9zc1xuICogc2Vzc2lvbnMgb3Igbm90LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUbyBlbmFibGUgc29ydCBwZXJzaXN0ZW5jZTpcbiAqIHByb3ZpZGVyczogW1xuICogICB7IHByb3ZpZGU6IFNPUlRfUEVSU0lTVEVOQ0VfRU5BQkxFRCwgdXNlVmFsdWU6IHRydWUgfVxuICogXVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUbyBkaXNhYmxlIHNvcnQgcGVyc2lzdGVuY2U6XG4gKiBwcm92aWRlcnM6IFtcbiAqICAgeyBwcm92aWRlOiBTT1JUX1BFUlNJU1RFTkNFX0VOQUJMRUQsIHVzZVZhbHVlOiBmYWxzZSB9XG4gKiBdXG4gKi9cbmV4cG9ydCBjb25zdCBTT1JUX1BFUlNJU1RFTkNFX0VOQUJMRUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oXG4gIFwiU09SVF9QRVJTSVNURU5DRV9FTkFCTEVEXCJcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUga2V5IHVzZWQgdG8gcGVyc2lzdCBzb3J0aW5nIHN0YXRlLlxuICpcbiAqIFRoaXMgdG9rZW4gY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhIGN1c3RvbSBrZXkgZm9yIHN0b3JpbmdcbiAqIHRoZSBzb3J0aW5nIHN0YXRlIGluIGEgcGVyc2lzdGVuY2UgbGF5ZXIsIHN1Y2ggYXMgbG9jYWwgc3RvcmFnZVxuICogb3IgYSBkYXRhYmFzZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNPUlRfUEVSU0lTVEVOQ0VfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gIFwiU09SVF9QRVJTSVNURU5DRV9LRVlcIlxuKTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlttYXRNdWx0aVNvcnRdXCIsXG4gIGV4cG9ydEFzOiBcIm1hdE11bHRpU29ydFwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwibWF0LXNvcnRcIixcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0TXVsdGlTb3J0RGlyZWN0aXZlIGV4dGVuZHMgTWF0U29ydCB7XG4gIEBPdXRwdXQoKVxuICBwcml2YXRlIHJlYWRvbmx5IHBlcnNpc3RlbmNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFtdPigpO1xuXG4gIC8qKlxuICAgKiBBIHdyaXRhYmxlIHNpZ25hbCB0aGF0IGhvbGRzIGFuIGFycmF5IG9mIFNvcnQgb2JqZWN0cy5cbiAgICogVGhpcyBzaWduYWwgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHNvcnRpbmcgc3RhdGUgb2YgdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAcmVhZG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IF9zb3J0czogV3JpdGFibGVTaWduYWw8U29ydFtdPiA9IHNpZ25hbChbXSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNPUlRfUEVSU0lTVEVOQ0VfRU5BQkxFRClcbiAgICBwdWJsaWMgaXNQZXJzaXN0ZW5jZUVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNPUlRfUEVSU0lTVEVOQ0VfS0VZKVxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5OiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNPUlRfUEVSU0lTVEVOQ0VfU1RPUkFHRSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2U6IFN0b3JhZ2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE1BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUylcbiAgICBkZWZhdWx0T3B0aW9ucz86IE1hdFNvcnREZWZhdWx0T3B0aW9ucyB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBzdXBlcihkZWZhdWx0T3B0aW9ucyk7XG5cbiAgICB0aGlzLmlzUGVyc2lzdGVuY2VFbmFibGVkID8/PSB0cnVlO1xuICAgIHRoaXMua2V5ID8/PSBcIm1hdC10YWJsZS1wZXJzaXN0ZW5jZS1zb3J0XCI7XG4gICAgdGhpcy5zdG9yYWdlID8/PSBsb2NhbFN0b3JhZ2U7XG5cbiAgICBpZiAodGhpcy5pc1BlcnNpc3RlbmNlRW5hYmxlZCkge1xuICAgICAgY29uc3Qgc29ydHNTZXJpYWxpemVkID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5rZXkpO1xuICAgICAgdGhpcy5fc29ydHMuc2V0KHNvcnRzU2VyaWFsaXplZCA/IEpTT04ucGFyc2Uoc29ydHNTZXJpYWxpemVkKSA6IFtdKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBzb3J0Q2hhbmdlIGV2ZW50IGlzIG5vdCBlbWl0dGVkIHdoZW4gdGhlIF9zb3J0cyBzaWduYWwgaXMgdXBkYXRlZCBkaXJlY3RseSAoZS5nLiwgdGhpcy5fc29ydHMuc2V0KFtdKSkuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuX3NvcnRzKCkubGVuZ3RoO1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoe1xuICAgICAgICBhY3RpdmU6IGxlbmd0aCA/IHRoaXMuX3NvcnRzKClbbGVuZ3RoIC0gMV0uYWN0aXZlIDogXCJcIixcbiAgICAgICAgZGlyZWN0aW9uOiBsZW5ndGggPyB0aGlzLl9zb3J0cygpW2xlbmd0aCAtIDFdLmRpcmVjdGlvbiA6IFwiXCIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMucGVyc2lzdFNvcnRTZXR0aW5ncygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgc29ydCBkaXJlY3Rpb24gZm9yIGEgZ2l2ZW4gY29sdW1uIElELlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhlIGNvbHVtbiB0byBnZXQgdGhlIHNvcnQgZGlyZWN0aW9uIGZvci5cbiAgICogQHJldHVybnMgVGhlIHNvcnQgZGlyZWN0aW9uICgnYXNjJywgJ2Rlc2MnLCBvciAnJykgZm9yIHRoZSBzcGVjaWZpZWQgY29sdW1uIElELlxuICAgKi9cbiAgcHVibGljIGdldFNvcnREaXJlY3Rpb24oaWQ6IHN0cmluZyk6IFNvcnREaXJlY3Rpb24ge1xuICAgIGNvbnN0IHNvcnQgPSB0aGlzLl9zb3J0cygpLmZpbmQoKGUpID0+IGUuYWN0aXZlID09PSBpZCk7XG4gICAgcmV0dXJuIHNvcnQgPyBzb3J0LmRpcmVjdGlvbiA6IFwiXCI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc29ydCBpbmRleCBvZiB0aGUgZ2l2ZW4gY29sdW1uIElELlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhlIGNvbHVtbiB0byBnZXQgdGhlIHNvcnQgaW5kZXggZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgc29ydCBpbmRleCBvZiB0aGUgY29sdW1uLCBvciAtMSBpZiB0aGUgY29sdW1uIGlzIG5vdCBhY3RpdmUuXG4gICAqL1xuICBwdWJsaWMgZ2V0U29ydEluZGV4KGlkOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zb3J0cygpLmZpbmRJbmRleCgoZSkgPT4gZS5hY3RpdmUgPT09IGlkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNvcnQoc29ydGFibGU6IE1hdFNvcnRhYmxlKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmUgPSBzb3J0YWJsZS5pZDtcbiAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMuZ2V0U29ydERpcmVjdGlvbihzb3J0YWJsZS5pZCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFNvcnRJbmRleChzb3J0YWJsZS5pZCk7XG5cbiAgICAvLyBJZiB0aGUgY29sdW1uIGlzIG5vdCBhY3RpdmUsIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBhY3RpdmUgY29sdW1ucy5cbiAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICB0aGlzLmRpcmVjdGlvbiA9IHNvcnRhYmxlLnN0YXJ0ID8gc29ydGFibGUuc3RhcnQgOiB0aGlzLnN0YXJ0O1xuICAgICAgdGhpcy5fc29ydHMoKS5wdXNoKHsgYWN0aXZlOiB0aGlzLmFjdGl2ZSwgZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGNvbHVtbiBpcyBhY3RpdmUsIHVwZGF0ZSB0aGUgZGlyZWN0aW9uIG9yIHJlbW92ZSBpdCBpZiB0aGUgZGlyZWN0aW9uIGlzIGVtcHR5LlxuICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmdldE5leHRTb3J0RGlyZWN0aW9uKHNvcnRhYmxlKTtcbiAgICAgIGlmICghdGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5fc29ydHMoKS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc29ydHMoKVtpbmRleF0uZGlyZWN0aW9uID0gdGhpcy5kaXJlY3Rpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoeyBhY3RpdmU6IHRoaXMuYWN0aXZlLCBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uIH0pO1xuICAgIHRoaXMucGVyc2lzdFNvcnRTZXR0aW5ncygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBzb3J0IGxldmVsIGJ5IGl0cyBpZGVudGlmaWVyLlxuICAgKiBJZiB0aGUgc29ydCBsZXZlbCBpcyBub3QgZm91bmQsIHRoZSBtZXRob2QgcmV0dXJucyB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcy5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNvcnQgbGV2ZWwgdG8gYmUgcmVtb3ZlZC5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgcHVibGljIHJlbW92ZVNvcnRMZXZlbChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFNvcnRJbmRleChpZCk7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc29ydHMoKS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KCk7XG4gICAgdGhpcy5wZXJzaXN0U29ydFNldHRpbmdzKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVvcmRlcnMgdGhlIHNvcnQgbGV2ZWwgYnkgbW92aW5nIGFuIGl0ZW0gaW4gdGhlIHNvcnQgYXJyYXkgZnJvbSBhIHByZXZpb3VzIGluZGV4IHRvIGEgY3VycmVudCBpbmRleC5cbiAgICogSWYgdGhlIHByZXZpb3VzIGluZGV4IGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IGluZGV4LCB0aGUgZnVuY3Rpb24gcmV0dXJucyB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcy5cbiAgICpcbiAgICogQHBhcmFtIHByZXZpb3VzSW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gYmUgbW92ZWQuXG4gICAqIEBwYXJhbSBjdXJyZW50SW5kZXggLSBUaGUgaW5kZXggdG8gd2hpY2ggdGhlIGl0ZW0gc2hvdWxkIGJlIG1vdmVkLlxuICAgKi9cbiAgcHVibGljIHJlb3JkZXJTb3J0TGV2ZWwocHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwcmV2aW91c0luZGV4ID09PSBjdXJyZW50SW5kZXgpIHJldHVybjtcblxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLl9zb3J0cygpLCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuX3NvcnRzKClbY3VycmVudEluZGV4XSk7XG4gICAgdGhpcy5wZXJzaXN0U29ydFNldHRpbmdzKCk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgc29ydCBkaXJlY3Rpb24gZm9yIHRoZSBnaXZlbiBjb2x1bW4gSUQuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uIHRvIHRvZ2dsZSB0aGUgc29ydCBkaXJlY3Rpb24gZm9yLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlU29ydERpcmVjdGlvbihpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFNvcnRJbmRleChpZCk7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xuXG4gICAgdGhpcy5hY3RpdmUgPSBpZDtcbiAgICAvLyBUaGUgdmFsdWUgb2YgdGhpcy5kaXJlY3Rpb24gaXMgdXNlZCBpbiB0aGUgZ2V0TmV4dFNvcnREaXJlY3Rpb24gbWV0aG9kLiBUaGF0J3Mgd2h5IGl0IGlzIG5lY2Vzc2FyeSBmb3IgaXQgdG8gYmUgc2V0IGJlZm9yZSB0aGUgY2FsbCB0byBnZXROZXh0U29ydERpcmVjdGlvbi5cbiAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMuZ2V0U29ydERpcmVjdGlvbihpZCk7XG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmdldE5leHRTb3J0RGlyZWN0aW9uKHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGRpc2FibGVDbGVhcjogdHJ1ZSxcbiAgICB9IGFzIE1hdFNvcnRhYmxlKTtcbiAgICB0aGlzLl9zb3J0cygpW2luZGV4XS5kaXJlY3Rpb24gPSB0aGlzLmRpcmVjdGlvbjtcbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7IGFjdGl2ZTogdGhpcy5hY3RpdmUsIGRpcmVjdGlvbjogdGhpcy5kaXJlY3Rpb24gfSk7XG4gICAgdGhpcy5wZXJzaXN0U29ydFNldHRpbmdzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHNvcnRpbmcgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uIHRvIHRvZ2dsZSB0aGUgc29ydCBkaXJlY3Rpb24gZm9yLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBwdWJsaWMgY2xlYXJTb3J0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlID0gXCJcIjtcbiAgICB0aGlzLmRpcmVjdGlvbiA9IFwiXCI7XG4gICAgdGhpcy5fc29ydHMuc2V0KFtdKTtcbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCgpO1xuICAgIHRoaXMucGVyc2lzdFNvcnRTZXR0aW5ncygpO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJzaXN0U29ydFNldHRpbmdzKCk6IHZvaWQge1xuICAgIHRoaXMucGVyc2lzdGVuY2VDaGFuZ2VkLmVtaXQodGhpcy5fc29ydHMoKSk7XG4gICAgaWYgKHRoaXMuaXNQZXJzaXN0ZW5jZUVuYWJsZWQpXG4gICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5fc29ydHMoKSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import { CdkDrag, CdkDropList, moveItemInArray, } from "@angular/cdk/drag-drop";
|
|
2
|
-
import { Component
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
3
|
import { MatCheckboxModule } from "@angular/material/checkbox";
|
|
4
4
|
import { MatIconModule } from "@angular/material/icon";
|
|
5
|
-
import { TABLE_COLUMNS } from "../mat-table-column-config";
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
8
|
-
import * as i2 from "@angular/material/
|
|
6
|
+
import * as i1 from "../mat-table-column-config-persistence.service";
|
|
7
|
+
import * as i2 from "@angular/material/checkbox";
|
|
8
|
+
import * as i3 from "@angular/material/icon";
|
|
9
9
|
export class MatTableColumnConfigComponent {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
persistenceService;
|
|
11
|
+
subscription;
|
|
12
|
+
columns = [];
|
|
13
|
+
constructor(persistenceService) {
|
|
14
|
+
this.persistenceService = persistenceService;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.subscription = this.persistenceService
|
|
18
|
+
.getColumns()
|
|
19
|
+
.subscribe((columns) => {
|
|
20
|
+
this.columns = columns;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
ngOnDestroy() {
|
|
24
|
+
this.subscription?.unsubscribe();
|
|
25
|
+
this.subscription = undefined;
|
|
13
26
|
}
|
|
14
27
|
/**
|
|
15
28
|
* Handles the event when a dragged column is dropped.
|
|
@@ -19,6 +32,7 @@ export class MatTableColumnConfigComponent {
|
|
|
19
32
|
*/
|
|
20
33
|
onColumnDropped(event) {
|
|
21
34
|
moveItemInArray(this.columns, event.previousIndex, event.currentIndex);
|
|
35
|
+
this.persistenceService.columns = this.columns;
|
|
22
36
|
}
|
|
23
37
|
/**
|
|
24
38
|
* Toggles the visibility of a column based on its identifier.
|
|
@@ -30,15 +44,13 @@ export class MatTableColumnConfigComponent {
|
|
|
30
44
|
if (index < 0)
|
|
31
45
|
return;
|
|
32
46
|
this.columns[index].visible = !this.columns[index].visible;
|
|
47
|
+
this.persistenceService.columns = this.columns;
|
|
33
48
|
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigComponent, deps: [{ token:
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MatTableColumnConfigComponent, isStandalone: true, selector: "mat-table-column-config", ngImport: i0, template: "<div\n cdkDropList\n class=\"table-column-list mat-elevation-z4\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onColumnDropped($event)\">\n @for (column of columns; track column.id) {\n <div cdkDrag class=\"table-column\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n <mat-checkbox\n [checked]=\"column.visible\"\n (change)=\"onColumnVisibilityChanged(column.id)\"\n >{{ column.label }}</mat-checkbox\n >\n </div>\n }\n</div>\n", styles: [".cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .15s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.table-column-list{background-color:var(--mat-sys-surface-container, #eeeeee);color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87))}.table-column{background:var(--mat-sys-surface, #ffffff);display:flex;justify-content:flex-start;align-items:center;height:48px;padding:0 16px 0 8px}.table-column mat-icon{margin-right:16px}.table-column mat-checkbox{line-height:48px;color:#000000de;font-size:14px;font-weight:400}.table-column:last-child{border:none}.cdk-drop-list-dragging .table-column:not(.cdk-drag-placeholder){transition:transform .15s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type:
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigComponent, deps: [{ token: i1.MatTableColumnConfigPersistenceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MatTableColumnConfigComponent, isStandalone: true, selector: "mat-table-column-config", ngImport: i0, template: "<div\n cdkDropList\n class=\"table-column-list mat-elevation-z4\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onColumnDropped($event)\">\n @for (column of columns; track column.id) {\n <div cdkDrag class=\"table-column\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n <mat-checkbox\n [checked]=\"column.visible\"\n (change)=\"onColumnVisibilityChanged(column.id)\"\n >{{ column.label }}</mat-checkbox\n >\n </div>\n }\n</div>\n", styles: [".cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .15s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.table-column-list{background-color:var(--mat-sys-surface-container, #eeeeee);color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87))}.table-column{background:var(--mat-sys-surface, #ffffff);display:flex;justify-content:flex-start;align-items:center;height:48px;padding:0 16px 0 8px}.table-column mat-icon{margin-right:16px}.table-column mat-checkbox{line-height:48px;color:#000000de;font-size:14px;font-weight:400}.table-column:last-child{border:none}.cdk-drop-list-dragging .table-column:not(.cdk-drag-placeholder){transition:transform .15s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
36
51
|
}
|
|
37
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigComponent, decorators: [{
|
|
38
53
|
type: Component,
|
|
39
54
|
args: [{ selector: "mat-table-column-config", imports: [CdkDropList, CdkDrag, MatCheckboxModule, MatIconModule], standalone: true, template: "<div\n cdkDropList\n class=\"table-column-list mat-elevation-z4\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"onColumnDropped($event)\">\n @for (column of columns; track column.id) {\n <div cdkDrag class=\"table-column\">\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\n <mat-checkbox\n [checked]=\"column.visible\"\n (change)=\"onColumnVisibilityChanged(column.id)\"\n >{{ column.label }}</mat-checkbox\n >\n </div>\n }\n</div>\n", styles: [".cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .15s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.table-column-list{background-color:var(--mat-sys-surface-container, #eeeeee);color:var(--mat-sys-on-surface, rgba(0, 0, 0, .87))}.table-column{background:var(--mat-sys-surface, #ffffff);display:flex;justify-content:flex-start;align-items:center;height:48px;padding:0 16px 0 8px}.table-column mat-icon{margin-right:16px}.table-column mat-checkbox{line-height:48px;color:#000000de;font-size:14px;font-weight:400}.table-column:last-child{border:none}.cdk-drop-list-dragging .table-column:not(.cdk-drag-placeholder){transition:transform .15s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
40
|
-
}], ctorParameters: () => [{ type:
|
|
41
|
-
|
|
42
|
-
args: [TABLE_COLUMNS]
|
|
43
|
-
}] }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxFQUNYLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBU3hFLE1BQU0sT0FBTyw2QkFBNkI7SUFDSTtJQUE1QyxZQUE0QyxPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7SUFFekU7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsS0FBcUI7UUFDbkMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxFQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPO1FBRXRCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0QsQ0FBQzt3R0F2QlUsNkJBQTZCLGtCQUNwQixhQUFhOzRGQUR0Qiw2QkFBNkIsbUZDbEIxQyx3ZkFnQkEsNjFCREhZLFdBQVcsOGZBQUUsT0FBTyx1Y0FBRSxpQkFBaUIsb1lBQUUsYUFBYTs7NEZBS3JELDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSx5QkFBeUIsV0FDMUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxjQUdyRCxJQUFJOzswQkFHSCxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDZGtEcmFnLFxuICBDZGtEcmFnRHJvcCxcbiAgQ2RrRHJvcExpc3QsXG4gIG1vdmVJdGVtSW5BcnJheSxcbn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IFRBQkxFX0NPTFVNTlMsIFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4uL21hdC10YWJsZS1jb2x1bW4tY29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXQtdGFibGUtY29sdW1uLWNvbmZpZ1wiLFxuICBpbXBvcnRzOiBbQ2RrRHJvcExpc3QsIENka0RyYWcsIE1hdENoZWNrYm94TW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudC5zY3NzXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50PFQ+IHtcbiAgY29uc3RydWN0b3IoQEluamVjdChUQUJMRV9DT0xVTU5TKSByZWFkb25seSBjb2x1bW5zOiBUYWJsZUNvbHVtbjxUPltdKSB7fVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBldmVudCB3aGVuIGEgZHJhZ2dlZCBjb2x1bW4gaXMgZHJvcHBlZC5cbiAgICogVGhpcyBtZXRob2QgdXBkYXRlcyB0aGUgb3JkZXIgb2YgY29sdW1ucyBiYXNlZCBvbiB0aGUgZHJhZyBhbmQgZHJvcCBhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBldmVudCBvYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZHJhZyBhbmQgZHJvcCBhY3Rpb24uXG4gICAqL1xuICBvbkNvbHVtbkRyb3BwZWQoZXZlbnQ6IENka0RyYWdEcm9wPFQ+KTogdm9pZCB7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sdW1ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIGEgY29sdW1uIGJhc2VkIG9uIGl0cyBpZGVudGlmaWVyLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uIHdob3NlIHZpc2liaWxpdHkgaXMgdG8gYmUgY2hhbmdlZC5cbiAgICovXG4gIG9uQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWQoaWQ6IGtleW9mIFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29sdW1ucy5maW5kSW5kZXgoKGNvbHVtbikgPT4gY29sdW1uLmlkID09PSBpZCk7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb2x1bW5zW2luZGV4XS52aXNpYmxlID0gIXRoaXMuY29sdW1uc1tpbmRleF0udmlzaWJsZTtcbiAgfVxufVxuIiwiPGRpdlxuICBjZGtEcm9wTGlzdFxuICBjbGFzcz1cInRhYmxlLWNvbHVtbi1saXN0IG1hdC1lbGV2YXRpb24tejRcIlxuICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uQ29sdW1uRHJvcHBlZCgkZXZlbnQpXCI+XG4gIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayBjb2x1bW4uaWQpIHtcbiAgICA8ZGl2IGNka0RyYWcgY2xhc3M9XCJ0YWJsZS1jb2x1bW5cIj5cbiAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgW2NoZWNrZWRdPVwiY29sdW1uLnZpc2libGVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWQoY29sdW1uLmlkKVwiXG4gICAgICAgID57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1jaGVja2JveFxuICAgICAgPlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
55
|
+
}], ctorParameters: () => [{ type: i1.MatTableColumnConfigPersistenceService }] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxFQUNYLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBWXZELE1BQU0sT0FBTyw2QkFBNkI7SUFLckI7SUFKWCxZQUFZLENBQTJCO0lBQy9DLE9BQU8sR0FBcUIsRUFBRSxDQUFDO0lBRS9CLFlBQ21CLGtCQUE2RDtRQUE3RCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJDO0lBQzdFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCO2FBQ3hDLFVBQVUsRUFBRTthQUNaLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxLQUFxQjtRQUNuQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxFQUFXO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPO1FBRXRCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2pELENBQUM7d0dBM0NVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLG1GQ3BCMUMsd2ZBZ0JBLDYxQkREWSxXQUFXLDhmQUFFLE9BQU8sdWNBQUUsaUJBQWlCLG9ZQUFFLGFBQWE7OzRGQUtyRCw2QkFBNkI7a0JBUHpDLFNBQVM7K0JBQ0UseUJBQXlCLFdBQzFCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLENBQUMsY0FHckQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENka0RyYWcsXG4gIENka0RyYWdEcm9wLFxuICBDZGtEcm9wTGlzdCxcbiAgbW92ZUl0ZW1JbkFycmF5LFxufSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vbWF0LXRhYmxlLWNvbHVtbi1jb25maWdcIjtcbmltcG9ydCB7IE1hdFRhYmxlQ29sdW1uQ29uZmlnUGVyc2lzdGVuY2VTZXJ2aWNlIH0gZnJvbSBcIi4uL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLXBlcnNpc3RlbmNlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hdC10YWJsZS1jb2x1bW4tY29uZmlnXCIsXG4gIGltcG9ydHM6IFtDZGtEcm9wTGlzdCwgQ2RrRHJhZywgTWF0Q2hlY2tib3hNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vbWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50LnNjc3NcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGFibGVDb2x1bW5Db25maWdDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIGNvbHVtbnM6IFRhYmxlQ29sdW1uPFQ+W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBlcnNpc3RlbmNlU2VydmljZTogTWF0VGFibGVDb2x1bW5Db25maWdQZXJzaXN0ZW5jZVNlcnZpY2U8VD5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2VcbiAgICAgIC5nZXRDb2x1bW5zKClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbHVtbnMpID0+IHtcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgZXZlbnQgd2hlbiBhIGRyYWdnZWQgY29sdW1uIGlzIGRyb3BwZWQuXG4gICAqIFRoaXMgbWV0aG9kIHVwZGF0ZXMgdGhlIG9yZGVyIG9mIGNvbHVtbnMgYmFzZWQgb24gdGhlIGRyYWcgYW5kIGRyb3AgYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRyYWcgYW5kIGRyb3AgYWN0aW9uLlxuICAgKi9cbiAgb25Db2x1bW5Ecm9wcGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxUPik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuY29sdW1ucyA9IHRoaXMuY29sdW1ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIGEgY29sdW1uIGJhc2VkIG9uIGl0cyBpZGVudGlmaWVyLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgY29sdW1uIHdob3NlIHZpc2liaWxpdHkgaXMgdG8gYmUgY2hhbmdlZC5cbiAgICovXG4gIG9uQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWQoaWQ6IGtleW9mIFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29sdW1ucy5maW5kSW5kZXgoKGNvbHVtbikgPT4gY29sdW1uLmlkID09PSBpZCk7XG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb2x1bW5zW2luZGV4XS52aXNpYmxlID0gIXRoaXMuY29sdW1uc1tpbmRleF0udmlzaWJsZTtcbiAgICB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNka0Ryb3BMaXN0XG4gIGNsYXNzPVwidGFibGUtY29sdW1uLWxpc3QgbWF0LWVsZXZhdGlvbi16NFwiXG4gIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXG4gIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Db2x1bW5Ecm9wcGVkKCRldmVudClcIj5cbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbi5pZCkge1xuICAgIDxkaXYgY2RrRHJhZyBjbGFzcz1cInRhYmxlLWNvbHVtblwiPlxuICAgICAgPG1hdC1pY29uIGNka0RyYWdIYW5kbGU+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJjb2x1bW4udmlzaWJsZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25Db2x1bW5WaXNpYmlsaXR5Q2hhbmdlZChjb2x1bW4uaWQpXCJcbiAgICAgICAgPnt7IGNvbHVtbi5sYWJlbCB9fTwvbWF0LWNoZWNrYm94XG4gICAgICA+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject } from "rxjs";
|
|
3
|
+
import { COLUMN_CONFIG_PERSISTENCE_ENABLED, COLUMN_CONFIG_PERSISTENCE_KEY, COLUMN_CONFIG_PERSISTENCE_STORAGE, } from "./mat-table-column-config";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MatTableColumnConfigPersistenceService {
|
|
6
|
+
isPersistenceEnabled;
|
|
7
|
+
key;
|
|
8
|
+
storage;
|
|
9
|
+
columns$ = new BehaviorSubject([]);
|
|
10
|
+
/**
|
|
11
|
+
* Gets the current table columns configuration.
|
|
12
|
+
*
|
|
13
|
+
* @returns {TableColumn<T>[]} An array of table columns.
|
|
14
|
+
*/
|
|
15
|
+
get columns() {
|
|
16
|
+
return this.columns$.getValue();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Sets the columns configuration for the table and persists the configuration.
|
|
20
|
+
*
|
|
21
|
+
* @param value - An array of `TableColumn<T>` representing the new column configuration.
|
|
22
|
+
*/
|
|
23
|
+
set columns(value) {
|
|
24
|
+
this.columns$.next(value);
|
|
25
|
+
this.persistColumnConfig(value);
|
|
26
|
+
}
|
|
27
|
+
constructor(isPersistenceEnabled, key, storage) {
|
|
28
|
+
this.isPersistenceEnabled = isPersistenceEnabled;
|
|
29
|
+
this.key = key;
|
|
30
|
+
this.storage = storage;
|
|
31
|
+
this.isPersistenceEnabled ??= true;
|
|
32
|
+
this.key ??= "mat-table-persistence-column-config";
|
|
33
|
+
this.storage ??= localStorage;
|
|
34
|
+
if (this.isPersistenceEnabled) {
|
|
35
|
+
const columnsSerialized = this.storage.getItem(this.key);
|
|
36
|
+
this.columns$.next(columnsSerialized ? JSON.parse(columnsSerialized) : []);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Retrieves an observable stream of table columns.
|
|
41
|
+
*
|
|
42
|
+
* @returns {Observable<TableColumn<T>[]>} An observable that emits an array of table columns.
|
|
43
|
+
*/
|
|
44
|
+
getColumns() {
|
|
45
|
+
return this.columns$.asObservable();
|
|
46
|
+
}
|
|
47
|
+
persistColumnConfig(columns) {
|
|
48
|
+
if (!this.isPersistenceEnabled)
|
|
49
|
+
return;
|
|
50
|
+
this.storage.setItem(this.key, JSON.stringify(columns));
|
|
51
|
+
}
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigPersistenceService, deps: [{ token: COLUMN_CONFIG_PERSISTENCE_ENABLED, optional: true }, { token: COLUMN_CONFIG_PERSISTENCE_KEY, optional: true }, { token: COLUMN_CONFIG_PERSISTENCE_STORAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigPersistenceService, providedIn: "root" });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigPersistenceService, decorators: [{
|
|
56
|
+
type: Injectable,
|
|
57
|
+
args: [{
|
|
58
|
+
providedIn: "root",
|
|
59
|
+
}]
|
|
60
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
61
|
+
type: Optional
|
|
62
|
+
}, {
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [COLUMN_CONFIG_PERSISTENCE_ENABLED]
|
|
65
|
+
}] }, { type: undefined, decorators: [{
|
|
66
|
+
type: Optional
|
|
67
|
+
}, {
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [COLUMN_CONFIG_PERSISTENCE_KEY]
|
|
70
|
+
}] }, { type: Storage, decorators: [{
|
|
71
|
+
type: Optional
|
|
72
|
+
}, {
|
|
73
|
+
type: Inject,
|
|
74
|
+
args: [COLUMN_CONFIG_PERSISTENCE_STORAGE]
|
|
75
|
+
}] }] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWctcGVyc2lzdGVuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWF0LXRhYmxlLWNvbHVtbi1jb25maWctcGVyc2lzdGVuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLDZCQUE2QixFQUM3QixpQ0FBaUMsR0FFbEMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFLbkMsTUFBTSxPQUFPLHNDQUFzQztJQXlCeEM7SUFHVTtJQUdBO0lBOUJGLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFBRSxDQUFDLENBQUM7SUFFdEU7Ozs7T0FJRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLE9BQU8sQ0FBQyxLQUF1QjtRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBR1Msb0JBQTZCLEVBR25CLEdBQVcsRUFHWCxPQUFnQjtRQU4xQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVM7UUFHbkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUdYLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxLQUFLLHFDQUFxQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDdkQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQXlCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CO1lBQUUsT0FBTztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO3dHQXpEVSxzQ0FBc0Msa0JBd0J2QyxpQ0FBaUMsNkJBR2pDLDZCQUE2Qiw2QkFHN0IsaUNBQWlDOzRHQTlCaEMsc0NBQXNDLGNBRnJDLE1BQU07OzRGQUVQLHNDQUFzQztrQkFIbEQsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXdCSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGlDQUFpQzs7MEJBRXhDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsNkJBQTZCOzswQkFFcEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICBDT0xVTU5fQ09ORklHX1BFUlNJU1RFTkNFX0VOQUJMRUQsXG4gIENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfS0VZLFxuICBDT0xVTU5fQ09ORklHX1BFUlNJU1RFTkNFX1NUT1JBR0UsXG4gIFRhYmxlQ29sdW1uLFxufSBmcm9tIFwiLi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZ1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRUYWJsZUNvbHVtbkNvbmZpZ1BlcnNpc3RlbmNlU2VydmljZTxUPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlQ29sdW1uPFQ+W10+KFtdKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB0YWJsZSBjb2x1bW5zIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtUYWJsZUNvbHVtbjxUPltdfSBBbiBhcnJheSBvZiB0YWJsZSBjb2x1bW5zLlxuICAgKi9cbiAgcHVibGljIGdldCBjb2x1bW5zKCk6IFRhYmxlQ29sdW1uPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sdW1ucyBjb25maWd1cmF0aW9uIGZvciB0aGUgdGFibGUgYW5kIHBlcnNpc3RzIHRoZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBBbiBhcnJheSBvZiBgVGFibGVDb2x1bW48VD5gIHJlcHJlc2VudGluZyB0aGUgbmV3IGNvbHVtbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHNldCBjb2x1bW5zKHZhbHVlOiBUYWJsZUNvbHVtbjxUPltdKSB7XG4gICAgdGhpcy5jb2x1bW5zJC5uZXh0KHZhbHVlKTtcbiAgICB0aGlzLnBlcnNpc3RDb2x1bW5Db25maWcodmFsdWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfRU5BQkxFRClcbiAgICBwdWJsaWMgaXNQZXJzaXN0ZW5jZUVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfS0VZKVxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5OiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfU1RPUkFHRSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2U6IFN0b3JhZ2VcbiAgKSB7XG4gICAgdGhpcy5pc1BlcnNpc3RlbmNlRW5hYmxlZCA/Pz0gdHJ1ZTtcbiAgICB0aGlzLmtleSA/Pz0gXCJtYXQtdGFibGUtcGVyc2lzdGVuY2UtY29sdW1uLWNvbmZpZ1wiO1xuICAgIHRoaXMuc3RvcmFnZSA/Pz0gbG9jYWxTdG9yYWdlO1xuXG4gICAgaWYgKHRoaXMuaXNQZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGNvbHVtbnNTZXJpYWxpemVkID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5rZXkpO1xuICAgICAgdGhpcy5jb2x1bW5zJC5uZXh0KFxuICAgICAgICBjb2x1bW5zU2VyaWFsaXplZCA/IEpTT04ucGFyc2UoY29sdW1uc1NlcmlhbGl6ZWQpIDogW11cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbiBvYnNlcnZhYmxlIHN0cmVhbSBvZiB0YWJsZSBjb2x1bW5zLlxuICAgKlxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUYWJsZUNvbHVtbjxUPltdPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIHRhYmxlIGNvbHVtbnMuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29sdW1ucygpOiBPYnNlcnZhYmxlPFRhYmxlQ29sdW1uPFQ+W10+IHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVyc2lzdENvbHVtbkNvbmZpZyhjb2x1bW5zOiBUYWJsZUNvbHVtbjxUPltdKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzUGVyc2lzdGVuY2VFbmFibGVkKSByZXR1cm47XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIEpTT04uc3RyaW5naWZ5KGNvbHVtbnMpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ComponentPortal } from "@angular/cdk/portal";
|
|
2
|
-
import { Directive, HostListener,
|
|
3
|
-
import { TABLE_COLUMNS } from "./mat-table-column-config";
|
|
2
|
+
import { Directive, HostListener, } from "@angular/core";
|
|
4
3
|
import { MatTableColumnConfigComponent } from "./mat-table-column-config/mat-table-column-config.component";
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "@angular/cdk/overlay";
|
|
@@ -9,14 +8,6 @@ export class MatTableColumnConfigTriggerDirective {
|
|
|
9
8
|
overlay;
|
|
10
9
|
viewContainerRef;
|
|
11
10
|
_componentRef = null;
|
|
12
|
-
/**
|
|
13
|
-
* Input property that accepts an array of table column configurations.
|
|
14
|
-
* The alias for this input property is "matTableColumnConfigTrigger".
|
|
15
|
-
* This property is required.
|
|
16
|
-
*
|
|
17
|
-
* @type {TableColumn<T>[]} columns - The array of table column configurations.
|
|
18
|
-
*/
|
|
19
|
-
columns;
|
|
20
11
|
/**
|
|
21
12
|
* Gets the reference to the MatTableColumnConfigComponent.
|
|
22
13
|
*
|
|
@@ -53,11 +44,7 @@ export class MatTableColumnConfigTriggerDirective {
|
|
|
53
44
|
hasBackdrop: true,
|
|
54
45
|
backdropClass: "cdk-overlay-transparent-backdrop",
|
|
55
46
|
});
|
|
56
|
-
const
|
|
57
|
-
providers: [{ provide: TABLE_COLUMNS, useValue: this.columns }],
|
|
58
|
-
parent: this.viewContainerRef.injector,
|
|
59
|
-
});
|
|
60
|
-
const portal = new ComponentPortal((MatTableColumnConfigComponent), this.viewContainerRef, injector);
|
|
47
|
+
const portal = new ComponentPortal((MatTableColumnConfigComponent), this.viewContainerRef, this.viewContainerRef.injector);
|
|
61
48
|
this._componentRef = overlayRef.attach(portal);
|
|
62
49
|
overlayRef.backdropClick().subscribe(() => {
|
|
63
50
|
overlayRef.detach();
|
|
@@ -66,7 +53,7 @@ export class MatTableColumnConfigTriggerDirective {
|
|
|
66
53
|
});
|
|
67
54
|
}
|
|
68
55
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
69
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MatTableColumnConfigTriggerDirective, isStandalone: true, selector: "[matTableColumnConfigTrigger]",
|
|
56
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MatTableColumnConfigTriggerDirective, isStandalone: true, selector: "[matTableColumnConfigTrigger]", host: { listeners: { "click": "onClick()" } }, exportAs: ["matTableColumnConfigTrigger"], ngImport: i0 });
|
|
70
57
|
}
|
|
71
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatTableColumnConfigTriggerDirective, decorators: [{
|
|
72
59
|
type: Directive,
|
|
@@ -75,11 +62,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
75
62
|
exportAs: "matTableColumnConfigTrigger",
|
|
76
63
|
standalone: true,
|
|
77
64
|
}]
|
|
78
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: {
|
|
79
|
-
type: Input,
|
|
80
|
-
args: [{ alias: "matTableColumnConfigTrigger", required: true }]
|
|
81
|
-
}], onClick: [{
|
|
65
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { onClick: [{
|
|
82
66
|
type: HostListener,
|
|
83
67
|
args: ["click"]
|
|
84
68
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWctdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksR0FFYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7O0FBTzVHLE1BQU0sT0FBTyxvQ0FBb0M7SUFlNUI7SUFDQTtJQUNBO0lBaEJYLGFBQWEsR0FDbkIsSUFBSSxDQUFDO0lBRVA7Ozs7O09BS0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ21CLFVBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUNsRCxDQUFDO0lBR0osT0FBTztRQUNMLDhCQUE4QjtRQUM5QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ2xDLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO2FBQ2xELHNCQUFzQixDQUFDLElBQUksQ0FBQzthQUM1QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7YUFDckIsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2FBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUM7YUFDZCxhQUFhLENBQUM7WUFDYjtnQkFDRSxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUFDLENBQUM7UUFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxnQkFBZ0I7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztTQUNsRCxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FDaEMsQ0FBQSw2QkFBZ0MsQ0FBQSxFQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQy9CLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0MsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBdkRVLG9DQUFvQzs0RkFBcEMsb0NBQW9DOzs0RkFBcEMsb0NBQW9DO2tCQUxoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtvSUFzQkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50IH0gZnJvbSBcIi4vbWF0LXRhYmxlLWNvbHVtbi1jb25maWcvbWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbbWF0VGFibGVDb2x1bW5Db25maWdUcmlnZ2VyXVwiLFxuICBleHBvcnRBczogXCJtYXRUYWJsZUNvbHVtbkNvbmZpZ1RyaWdnZXJcIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGFibGVDb2x1bW5Db25maWdUcmlnZ2VyRGlyZWN0aXZlPFQ+IHtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8TWF0VGFibGVDb2x1bW5Db25maWdDb21wb25lbnQ8VD4+IHwgbnVsbCA9XG4gICAgbnVsbDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBNYXRUYWJsZUNvbHVtbkNvbmZpZ0NvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMge0NvbXBvbmVudFJlZjxNYXRUYWJsZUNvbHVtbkNvbmZpZ0NvbXBvbmVudDxUPj4gfCBudWxsfVxuICAgKiAgICAgICAgICBUaGUgcmVmZXJlbmNlIHRvIHRoZSBNYXRUYWJsZUNvbHVtbkNvbmZpZ0NvbXBvbmVudCBpZiBpdCBleGlzdHMsIG90aGVyd2lzZSBudWxsLlxuICAgKi9cbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8TWF0VGFibGVDb2x1bW5Db25maWdDb21wb25lbnQ8VD4+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgdGhlIGNvbXBvbmVudCBwb3J0YWxcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKHRydWUpXG4gICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6IFwiZW5kXCIsXG4gICAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcbiAgICAgICAgICBvdmVybGF5WDogXCJlbmRcIixcbiAgICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICB9KTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgTWF0VGFibGVDb2x1bW5Db25maWdDb21wb25lbnQ8VD4sXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3JcbiAgICApO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gbnVsbDtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
|
2
2
|
/**
|
|
3
|
-
* Injection token for
|
|
3
|
+
* Injection token for the storage mechanism used to persist column configuration.
|
|
4
4
|
*
|
|
5
|
-
* This token
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
|
|
5
|
+
* This token can be used to provide a custom storage implementation for saving
|
|
6
|
+
* and retrieving the state of table column configurations.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export const COLUMN_CONFIG_PERSISTENCE_STORAGE = new InjectionToken("COLUMN_CONFIG_PERSISTENCE_STORAGE");
|
|
10
|
+
/**
|
|
11
|
+
* Injection token used to enable or disable column configuration persistence.
|
|
12
|
+
*
|
|
13
|
+
* This token can be provided with a boolean value to indicate whether the
|
|
14
|
+
* column configurations should be persisted (e.g., in local storage or a database).
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export const COLUMN_CONFIG_PERSISTENCE_ENABLED = new InjectionToken("COLUMN_CONFIG_PERSISTENCE_ENABLED");
|
|
18
|
+
/**
|
|
19
|
+
* Injection token for the column configuration persistence key.
|
|
20
|
+
* This token is used to provide a unique key for persisting column configurations.
|
|
9
21
|
*/
|
|
10
|
-
export const
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
export const COLUMN_CONFIG_PERSISTENCE_KEY = new InjectionToken("COLUMN_CONFIG_PERSISTENCE_KEY");
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFhL0M7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxjQUFjLENBQ2pFLG1DQUFtQyxDQUNwQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxjQUFjLENBQ2pFLG1DQUFtQyxDQUNwQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELCtCQUErQixDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgdGFibGUgY29sdW1uLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGRhdGEgb2JqZWN0IHRoYXQgdGhlIHRhYmxlIGRpc3BsYXlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uPFQ+IHtcbiAgaWQ6IGtleW9mIFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgc3RvcmFnZSBtZWNoYW5pc20gdXNlZCB0byBwZXJzaXN0IGNvbHVtbiBjb25maWd1cmF0aW9uLlxuICpcbiAqIFRoaXMgdG9rZW4gY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhIGN1c3RvbSBzdG9yYWdlIGltcGxlbWVudGF0aW9uIGZvciBzYXZpbmdcbiAqIGFuZCByZXRyaWV2aW5nIHRoZSBzdGF0ZSBvZiB0YWJsZSBjb2x1bW4gY29uZmlndXJhdGlvbnMuXG4gKlxuICovXG5leHBvcnQgY29uc3QgQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9TVE9SQUdFID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JhZ2U+KFxuICBcIkNPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfU1RPUkFHRVwiXG4pO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIGVuYWJsZSBvciBkaXNhYmxlIGNvbHVtbiBjb25maWd1cmF0aW9uIHBlcnNpc3RlbmNlLlxuICpcbiAqIFRoaXMgdG9rZW4gY2FuIGJlIHByb3ZpZGVkIHdpdGggYSBib29sZWFuIHZhbHVlIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlXG4gKiBjb2x1bW4gY29uZmlndXJhdGlvbnMgc2hvdWxkIGJlIHBlcnNpc3RlZCAoZS5nLiwgaW4gbG9jYWwgc3RvcmFnZSBvciBhIGRhdGFiYXNlKS5cbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBDT0xVTU5fQ09ORklHX1BFUlNJU1RFTkNFX0VOQUJMRUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oXG4gIFwiQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9FTkFCTEVEXCJcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgY29sdW1uIGNvbmZpZ3VyYXRpb24gcGVyc2lzdGVuY2Uga2V5LlxuICogVGhpcyB0b2tlbiBpcyB1c2VkIHRvIHByb3ZpZGUgYSB1bmlxdWUga2V5IGZvciBwZXJzaXN0aW5nIGNvbHVtbiBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gIFwiQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9LRVlcIlxuKTtcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Public API
|
|
2
|
+
* Public API surface of the library
|
|
3
3
|
*/
|
|
4
4
|
export * from "./lib/mat-table-column-config";
|
|
5
5
|
export * from "./lib/mat-multi-sort.directive";
|
|
6
6
|
export * from "./lib/mat-table-column-config-trigger.directive";
|
|
7
7
|
export * from "./lib/mat-multi-sort-table-data-source";
|
|
8
|
+
export * from "./lib/mat-table-column-config-persistence.service";
|
|
8
9
|
export * from "./lib/mat-multi-sort-header/mat-multi-sort-header.component";
|
|
9
10
|
export * from "./lib/mat-multi-sort-control/mat-multi-sort-control.component";
|
|
10
11
|
export * from "./lib/mat-table-column-config/mat-table-column-config.component";
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlFQUFpRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgc3VyZmFjZSBvZiB0aGUgbGlicmFyeVxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC1tdWx0aS1zb3J0LmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLXRyaWdnZXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQtdGFibGUtZGF0YS1zb3VyY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy1wZXJzaXN0ZW5jZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQtaGVhZGVyL21hdC1tdWx0aS1zb3J0LWhlYWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtbXVsdGktc29ydC1jb250cm9sL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LXRhYmxlLWNvbHVtbi1jb25maWcvbWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50XCI7XG4iXX0=
|