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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wvbWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wvbWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUVQLFdBQVcsR0FFWixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBV3ZELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7Ozs7OztPQU1HO0lBQ00sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFOUU7Ozs7OztPQU1HO0lBQ00sV0FBVyxHQUF3QixZQUFZLENBQUM7SUFFekQ7OztPQUdHO0lBQ00sSUFBSSxDQUF5QjtJQUV0Qzs7Ozs7T0FLRztJQUNILElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEtBQTBCO1FBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQzt3R0ExRVUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsd0lDbkJ6Qyw2MENBc0NBLHV6RkR4QlksV0FBVyw4ZkFBRSxPQUFPLHVjQUFFLGNBQWMsa3RCQUFFLGFBQWE7OzRGQUtsRCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0Usd0JBQXdCLFdBQ3pCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBR2xELElBQUk7OEJBbUJQLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0Ryb3BMaXN0LFxuICBEcm9wTGlzdE9yaWVudGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xuaW1wb3J0IHsgQU5JTUFUSU9OX01PRFVMRV9UWVBFLCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgU29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBNYXRNdWx0aVNvcnREaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vcHVibGljLWFwaVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWF0LW11bHRpLXNvcnQtY29udHJvbFwiLFxuICBpbXBvcnRzOiBbQ2RrRHJvcExpc3QsIENka0RyYWcsIE1hdENoaXBzTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXQtbXVsdGktc29ydC1jb250cm9sLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vbWF0LW11bHRpLXNvcnQtY29udHJvbC5jb21wb25lbnQuc2Nzc1wiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRNdWx0aVNvcnRDb250cm9sQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEluamVjdHMgdGhlIEFOSU1BVElPTl9NT0RVTEVfVFlQRSB0b2tlbiwgd2hpY2ggaW5kaWNhdGVzIHRoZSB0eXBlIG9mIGFuaW1hdGlvbiBtb2R1bGUgYmVpbmcgdXNlZC5cbiAgICogVGhpcyBpcyBhbiBvcHRpb25hbCBkZXBlbmRlbmN5IGFuZCBtYXkgYmUgdW5kZWZpbmVkIGlmIHRoZSBhbmltYXRpb24gbW9kdWxlIGlzIG5vdCBwcm92aWRlZC5cbiAgICpcbiAgICogQHJlYWRvbmx5XG4gICAqIEB0eXBlIHtBTklNQVRJT05fTU9EVUxFX1RZUEUgfCB1bmRlZmluZWR9XG4gICAqL1xuICByZWFkb25seSBfYW5pbWF0aW9uTW9kdWxlID0gaW5qZWN0KEFOSU1BVElPTl9NT0RVTEVfVFlQRSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgZHJvcCBsaXN0LlxuICAgKiBDYW4gYmUgZWl0aGVyIFwiaG9yaXpvbnRhbFwiIG9yIFwidmVydGljYWxcIi5cbiAgICpcbiAgICogQHR5cGUge0Ryb3BMaXN0T3JpZW50YXRpb259XG4gICAqIEBkZWZhdWx0IFwiaG9yaXpvbnRhbFwiXG4gICAqL1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogRHJvcExpc3RPcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBpbnB1dCBwcm9wZXJ0eSB0aGF0IGFjY2VwdHMgYW4gaW5zdGFuY2Ugb2YgYE1hdE11bHRpU29ydERpcmVjdGl2ZWAuXG4gICAqIFRoaXMgZGlyZWN0aXZlIGlzIHVzZWQgdG8gY29udHJvbCB0aGUgc29ydGluZyBiZWhhdmlvciBvZiB0aGUgdGFibGUuXG4gICAqL1xuICBASW5wdXQoKSBzb3J0PzogTWF0TXVsdGlTb3J0RGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGFycmF5IG9mIFNvcnQgb2JqZWN0cyBmcm9tIHRoZSBjdXJyZW50IHNvcnQgaW5zdGFuY2UuXG4gICAqIElmIHRoZSBzb3J0IGluc3RhbmNlIGlzIG5vdCBkZWZpbmVkLCBpdCByZXR1cm5zIGFuIGVtcHR5IGFycmF5LlxuICAgKlxuICAgKiBAcmV0dXJucyB7U29ydFtdfSBBbiBhcnJheSBvZiBTb3J0IG9iamVjdHMgb3IgYW4gZW1wdHkgYXJyYXkgaWYgbm8gc29ydHMgYXJlIGRlZmluZWQuXG4gICAqL1xuICBnZXQgc29ydHMoKTogU29ydFtdIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0Py5fc29ydHMoKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBjbGljayBldmVudCBvbiBhIHNvcnQgY2hpcC5cbiAgICogVG9nZ2xlcyB0aGUgc29ydCBkaXJlY3Rpb24gZm9yIHRoZSBnaXZlbiBzb3J0IElELlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgc29ydCBmaWVsZCB0byB0b2dnbGUuXG4gICAqIEByZXR1cm5zIHZvaWRcbiAgICovXG4gIG9uQ2hpcENsaWNrKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnQ/LnRvZ2dsZVNvcnREaXJlY3Rpb24oaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIGV2ZW50IHdoZW4gYSBzb3J0IGNoaXAgaXMgcmVtb3ZlZC5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIGlkZW50aWZpZXIgb2YgdGhlIHNvcnQgbGV2ZWwgdG8gYmUgcmVtb3ZlZC5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgb25DaGlwUmVtb3ZlZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0Py5yZW1vdmVTb3J0TGV2ZWwoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCBzb3J0aW5nIGFwcGxpZWQgdG8gdGhlIHRhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgaWRlbnRpZmllciBvZiB0aGUgc29ydCBsZXZlbCB0byBiZSByZW1vdmVkLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBvbkNsZWFyQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0Py5jbGVhclNvcnRpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBkcm9wIGV2ZW50IGZvciBkcmFnLWFuZC1kcm9wIHNvcnRpbmcuXG4gICAqIFJlb3JkZXJzIHRoZSBzb3J0IGxldmVscyBiYXNlZCBvbiB0aGUgcHJldmlvdXMgYW5kIGN1cnJlbnQgaW5kaWNlcy5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGRyYWctYW5kLWRyb3AgZXZlbnQgY29udGFpbmluZyB0aGUgcHJldmlvdXMgYW5kIGN1cnJlbnQgaW5kaWNlcyBvZiB0aGUgc29ydCBvcmRlci5cbiAgICovXG4gIG9uRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8U29ydFtdPik6IHZvaWQge1xuICAgIHRoaXMuc29ydD8ucmVvcmRlclNvcnRMZXZlbChldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICB9XG59XG4iLCI8bWF0LWNoaXAtbGlzdGJveFxuICBjZGtEcm9wTGlzdFxuICBbY2RrRHJvcExpc3RPcmllbnRhdGlvbl09XCJvcmllbnRhdGlvblwiXG4gIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudClcIj5cbiAgPG1hdC1jaGlwXG4gICAgW2Rpc2FibGVkXT1cIiFzb3J0cy5sZW5ndGhcIlxuICAgIFtoaWdobGlnaHRlZF09XCJ0cnVlXCJcbiAgICAoY2xpY2spPVwib25DbGVhckNsaWNrKClcIlxuICAgID48bWF0LWljb24gbWF0Q2hpcEF2YXRhciBmb250SWNvbj1cImNsZWFyX2FsbFwiPjwvbWF0LWljb24+Q2xlYXIgQWxsPC9tYXQtY2hpcFxuICA+XG4gIEBmb3IgKGNvbHVtbiBvZiBzb3J0czsgdHJhY2sgJGluZGV4KSB7XG4gICAgPG1hdC1jaGlwXG4gICAgICBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlclwiXG4gICAgICBjZGtEcmFnXG4gICAgICAoY2xpY2spPVwib25DaGlwQ2xpY2soY29sdW1uLmFjdGl2ZSlcIlxuICAgICAgKHJlbW92ZWQpPVwib25DaGlwUmVtb3ZlZChjb2x1bW4uYWN0aXZlKVwiPlxuICAgICAgPGRpdlxuICAgICAgICBtYXRDaGlwQXZhdGFyXG4gICAgICAgIGNsYXNzPVwibWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciBtYXQtc29ydC1oZWFkZXItc29ydGVkIG1hdC1mb2N1cy1pbmRpY2F0b3JcIlxuICAgICAgICBbY2xhc3MubWF0LXNvcnQtaGVhZGVyLWRlc2NlbmRpbmddPVwiY29sdW1uLmRpcmVjdGlvbiA9PT0gJ2Rlc2MnXCJcbiAgICAgICAgW2NsYXNzLm1hdC1zb3J0LWhlYWRlci1hc2NlbmRpbmddPVwiY29sdW1uLmRpcmVjdGlvbiA9PT0gJ2FzYydcIlxuICAgICAgICBbY2xhc3MubWF0LXNvcnQtaGVhZGVyLWFuaW1hdGlvbnMtZGlzYWJsZWRdPVwiXG4gICAgICAgICAgX2FuaW1hdGlvbk1vZHVsZSA9PT0gJ05vb3BBbmltYXRpb25zJ1xuICAgICAgICBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1hcnJvd1wiPlxuICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNNDQwLTI0MHYtMzY4TDI5Ni00NjRsLTU2LTU2IDI0MC0yNDAgMjQwIDI0MC01NiA1Ni0xNDQtMTQ0djM2OGgtODBaXCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIHt7IGNvbHVtbi5hY3RpdmUgfX1cbiAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZT5cbiAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWNoaXA+XG4gIH1cbjwvbWF0LWNoaXAtbGlzdGJveD5cbiJdfQ==
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
- /* We are using an effect to emit the sortChange event whenever the _sorts signal changes.
16
- * This is necessary because the sortChange event is not emitted when the _sorts signal is updated directly (e.g., this._sorts.set([])).
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, Inject } from "@angular/core";
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 "@angular/material/checkbox";
8
- import * as i2 from "@angular/material/icon";
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
- columns;
11
- constructor(columns) {
12
- this.columns = columns;
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: TABLE_COLUMNS }], target: i0.ɵɵFactoryTarget.Component });
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: i1.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: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
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: undefined, decorators: [{
41
- type: Inject,
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, Injector, Input, } from "@angular/core";
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 injector = Injector.create({
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]", inputs: { columns: ["matTableColumnConfigTrigger", "columns"] }, host: { listeners: { "click": "onClick()" } }, exportAs: ["matTableColumnConfigTrigger"], ngImport: i0 });
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: { columns: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWctdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7O0FBTzVHLE1BQU0sT0FBTyxvQ0FBb0M7SUF3QjVCO0lBQ0E7SUFDQTtJQXpCWCxhQUFhLEdBQ25CLElBQUksQ0FBQztJQUNQOzs7Ozs7T0FNRztJQUVILE9BQU8sQ0FBb0I7SUFFM0I7Ozs7O09BS0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQ21CLFVBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUZsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUNsRCxDQUFDO0lBRUosT0FBTztRQUNMLDhCQUE4QjtRQUM5QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ2xDLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO2FBQ2xELHNCQUFzQixDQUFDLElBQUksQ0FBQzthQUM1QixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7YUFDckIsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2FBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUM7YUFDZCxhQUFhLENBQUM7WUFDYjtnQkFDRSxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRixDQUFDLENBQUM7UUFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxnQkFBZ0I7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGtDQUFrQztTQUNsRCxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9ELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUTtTQUN2QyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FDaEMsQ0FBQSw2QkFBZ0MsQ0FBQSxFQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLFFBQVEsQ0FDVCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQW5FVSxvQ0FBb0M7NEZBQXBDLG9DQUFvQzs7NEZBQXBDLG9DQUFvQztrQkFMaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7b0lBWUMsT0FBTztzQkFETixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBbUIvRCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUQUJMRV9DT0xVTU5TLCBUYWJsZUNvbHVtbiB9IGZyb20gXCIuL21hdC10YWJsZS1jb2x1bW4tY29uZmlnXCI7XG5pbXBvcnQgeyBNYXRUYWJsZUNvbHVtbkNvbmZpZ0NvbXBvbmVudCB9IGZyb20gXCIuL21hdC10YWJsZS1jb2x1bW4tY29uZmlnL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudFwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW21hdFRhYmxlQ29sdW1uQ29uZmlnVHJpZ2dlcl1cIixcbiAgZXhwb3J0QXM6IFwibWF0VGFibGVDb2x1bW5Db25maWdUcmlnZ2VyXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRhYmxlQ29sdW1uQ29uZmlnVHJpZ2dlckRpcmVjdGl2ZTxUPiB7XG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50PFQ+PiB8IG51bGwgPVxuICAgIG51bGw7XG4gIC8qKlxuICAgKiBJbnB1dCBwcm9wZXJ0eSB0aGF0IGFjY2VwdHMgYW4gYXJyYXkgb2YgdGFibGUgY29sdW1uIGNvbmZpZ3VyYXRpb25zLlxuICAgKiBUaGUgYWxpYXMgZm9yIHRoaXMgaW5wdXQgcHJvcGVydHkgaXMgXCJtYXRUYWJsZUNvbHVtbkNvbmZpZ1RyaWdnZXJcIi5cbiAgICogVGhpcyBwcm9wZXJ0eSBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogQHR5cGUge1RhYmxlQ29sdW1uPFQ+W119IGNvbHVtbnMgLSBUaGUgYXJyYXkgb2YgdGFibGUgY29sdW1uIGNvbmZpZ3VyYXRpb25zLlxuICAgKi9cbiAgQElucHV0KHsgYWxpYXM6IFwibWF0VGFibGVDb2x1bW5Db25maWdUcmlnZ2VyXCIsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIGNvbHVtbnMhOiBUYWJsZUNvbHVtbjxUPltdO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZWZlcmVuY2UgdG8gdGhlIE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyB7Q29tcG9uZW50UmVmPE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50PFQ+PiB8IG51bGx9XG4gICAqICAgICAgICAgIFRoZSByZWZlcmVuY2UgdG8gdGhlIE1hdFRhYmxlQ29sdW1uQ29uZmlnQ29tcG9uZW50IGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBnZXQgY29tcG9uZW50UmVmKCk6IENvbXBvbmVudFJlZjxNYXRUYWJsZUNvbHVtbkNvbmZpZ0NvbXBvbmVudDxUPj4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgdGhlIGNvbXBvbmVudCBwb3J0YWxcbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKHRydWUpXG4gICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6IFwiZW5kXCIsXG4gICAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcbiAgICAgICAgICBvdmVybGF5WDogXCJlbmRcIixcbiAgICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICB9KTtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQkxFX0NPTFVNTlMsIHVzZVZhbHVlOiB0aGlzLmNvbHVtbnMgfV0sXG4gICAgICBwYXJlbnQ6IHRoaXMudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcixcbiAgICB9KTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgTWF0VGFibGVDb2x1bW5Db25maWdDb21wb25lbnQ8VD4sXG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICBpbmplY3RvclxuICAgICk7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuICAgIG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBvdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
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 providing table column configurations.
3
+ * Injection token for the storage mechanism used to persist column configuration.
4
4
  *
5
- * This token is used to inject an array of `TableColumn` configurations
6
- * into Angular components or services. The generic type `unknown` is used
7
- * to allow for flexibility in the type of data that can be represented
8
- * by the table columns.
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 TABLE_COLUMNS = new InjectionToken("TABLE_COLUMNS");
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFhL0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FDN0MsZUFBZSxDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgdGFibGUgY29sdW1uLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGRhdGEgb2JqZWN0IHRoYXQgdGhlIHRhYmxlIGRpc3BsYXlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uPFQ+IHtcbiAgaWQ6IGtleW9mIFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBwcm92aWRpbmcgdGFibGUgY29sdW1uIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIFRoaXMgdG9rZW4gaXMgdXNlZCB0byBpbmplY3QgYW4gYXJyYXkgb2YgYFRhYmxlQ29sdW1uYCBjb25maWd1cmF0aW9uc1xuICogaW50byBBbmd1bGFyIGNvbXBvbmVudHMgb3Igc2VydmljZXMuIFRoZSBnZW5lcmljIHR5cGUgYHVua25vd25gIGlzIHVzZWRcbiAqIHRvIGFsbG93IGZvciBmbGV4aWJpbGl0eSBpbiB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkXG4gKiBieSB0aGUgdGFibGUgY29sdW1ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRBQkxFX0NPTFVNTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGFibGVDb2x1bW48dW5rbm93bj4+KFxuICBcIlRBQkxFX0NPTFVNTlNcIlxuKTtcbiJdfQ==
22
+ export const COLUMN_CONFIG_PERSISTENCE_KEY = new InjectionToken("COLUMN_CONFIG_PERSISTENCE_KEY");
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWNvbHVtbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFhL0M7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxjQUFjLENBQ2pFLG1DQUFtQyxDQUNwQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxjQUFjLENBQ2pFLG1DQUFtQyxDQUNwQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxjQUFjLENBQzdELCtCQUErQixDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgdGFibGUgY29sdW1uLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGRhdGEgb2JqZWN0IHRoYXQgdGhlIHRhYmxlIGRpc3BsYXlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uPFQ+IHtcbiAgaWQ6IGtleW9mIFQ7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgc3RvcmFnZSBtZWNoYW5pc20gdXNlZCB0byBwZXJzaXN0IGNvbHVtbiBjb25maWd1cmF0aW9uLlxuICpcbiAqIFRoaXMgdG9rZW4gY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhIGN1c3RvbSBzdG9yYWdlIGltcGxlbWVudGF0aW9uIGZvciBzYXZpbmdcbiAqIGFuZCByZXRyaWV2aW5nIHRoZSBzdGF0ZSBvZiB0YWJsZSBjb2x1bW4gY29uZmlndXJhdGlvbnMuXG4gKlxuICovXG5leHBvcnQgY29uc3QgQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9TVE9SQUdFID0gbmV3IEluamVjdGlvblRva2VuPFN0b3JhZ2U+KFxuICBcIkNPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfU1RPUkFHRVwiXG4pO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIGVuYWJsZSBvciBkaXNhYmxlIGNvbHVtbiBjb25maWd1cmF0aW9uIHBlcnNpc3RlbmNlLlxuICpcbiAqIFRoaXMgdG9rZW4gY2FuIGJlIHByb3ZpZGVkIHdpdGggYSBib29sZWFuIHZhbHVlIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlXG4gKiBjb2x1bW4gY29uZmlndXJhdGlvbnMgc2hvdWxkIGJlIHBlcnNpc3RlZCAoZS5nLiwgaW4gbG9jYWwgc3RvcmFnZSBvciBhIGRhdGFiYXNlKS5cbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBDT0xVTU5fQ09ORklHX1BFUlNJU1RFTkNFX0VOQUJMRUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oXG4gIFwiQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9FTkFCTEVEXCJcbik7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgY29sdW1uIGNvbmZpZ3VyYXRpb24gcGVyc2lzdGVuY2Uga2V5LlxuICogVGhpcyB0b2tlbiBpcyB1c2VkIHRvIHByb3ZpZGUgYSB1bmlxdWUga2V5IGZvciBwZXJzaXN0aW5nIGNvbHVtbiBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTFVNTl9DT05GSUdfUEVSU0lTVEVOQ0VfS0VZID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gIFwiQ09MVU1OX0NPTkZJR19QRVJTSVNURU5DRV9LRVlcIlxuKTtcbiJdfQ==
@@ -1,11 +1,12 @@
1
1
  /*
2
- * Public API Surface of lib
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxpRUFBaUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbGliXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LXRhYmxlLWNvbHVtbi1jb25maWctdHJpZ2dlci5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtbXVsdGktc29ydC10YWJsZS1kYXRhLXNvdXJjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC1tdWx0aS1zb3J0LWhlYWRlci9tYXQtbXVsdGktc29ydC1oZWFkZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQtY29udHJvbC9tYXQtbXVsdGktc29ydC1jb250cm9sLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLmNvbXBvbmVudFwiO1xuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLGlFQUFpRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgc3VyZmFjZSBvZiB0aGUgbGlicmFyeVxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC1tdWx0aS1zb3J0LmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21hdC10YWJsZS1jb2x1bW4tY29uZmlnLXRyaWdnZXIuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQtdGFibGUtZGF0YS1zb3VyY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtdGFibGUtY29sdW1uLWNvbmZpZy1wZXJzaXN0ZW5jZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LW11bHRpLXNvcnQtaGVhZGVyL21hdC1tdWx0aS1zb3J0LWhlYWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tYXQtbXVsdGktc29ydC1jb250cm9sL21hdC1tdWx0aS1zb3J0LWNvbnRyb2wuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbWF0LXRhYmxlLWNvbHVtbi1jb25maWcvbWF0LXRhYmxlLWNvbHVtbi1jb25maWcuY29tcG9uZW50XCI7XG4iXX0=