ngx-st-tables 1.1.0 → 1.1.1
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.
|
@@ -98,6 +98,7 @@ export class LocalTableComponent {
|
|
|
98
98
|
clearSearch() {
|
|
99
99
|
this.searchModel = '';
|
|
100
100
|
this.tableSource.filter = this.searchModel;
|
|
101
|
+
this.pageIndex = 0;
|
|
101
102
|
this.updateSearchToUrl();
|
|
102
103
|
}
|
|
103
104
|
checkIfActionVisible(row, action) {
|
|
@@ -212,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
212
213
|
}], data: [{
|
|
213
214
|
type: Input
|
|
214
215
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYWwtdGFibGUvbG9jYWwtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYWwtdGFibGUvbG9jYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFNekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlL0MsTUFBTSxPQUFPLG1CQUFtQjtJQTBENUIsWUFDWSxpQkFBb0MsRUFDcEMsY0FBaUMsRUFDakMsTUFBYyxFQUNkLGNBQThCO1FBSDlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFuRDFDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHdEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQXdCOUIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBS2hDLG1CQUFjLEdBQXVDLEVBQUUsQ0FBQztRQUN4RCxlQUFVLEdBQTRDLElBQUksQ0FB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QUFFLENBQUM7SUFDL0IsQ0FBQzs7Z0hBaE9RLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFYQUNqQixZQUFZLHVFQUNaLE9BQU8sZ0RDakN0Qix1dU9BOEhBOzJGRC9GYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07MExBR3RCLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSCxJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU87Z0JBR2xCLGFBQWE7c0JBRFosS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRUYWJsZURhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHtNYXRQYWdpbmF0b3J9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7U3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtbG9jYWwtdGFibGUtY29sdW1ucy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgICBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwsXHJcbiAgICBTdExvY2FsVGFibGVDb2x1bW5Nb2RlbFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9sb2NhbC10YWJsZS9zdC1sb2NhbC10YWJsZS1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQge01hdFNvcnR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XHJcbmltcG9ydCB7U3RDb25maWd1cmF0aW9uc1NldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtY29uZmlndXJhdGlvbnMtc2V0dGluZ3MubW9kZWxcIjtcclxuaW1wb3J0IHtTdEdsb2JhbFNlYXJjaFNldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtZ2xvYmFsLXNlYXJjaC1zZXR0aW5ncy5tb2RlbFwiO1xyXG5pbXBvcnQge1N0TG9jYWxTdG9yYWdlQ29uZmlndXJhdGlvbk1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2xvY2FsLXRhYmxlL3N0LWxvY2FsLXN0b3JhZ2UtY29uZmlndXJhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQge0xvY2FsVGFibGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbG9jYWwtdGFibGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NvcnREaXJlY3Rpb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0L3NvcnQtZGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7U3RUYWJsZVNldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtdGFibGUtc2V0dGluZ3MubW9kZWxcIjtcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd4LXN0LWxvY2FsLXRhYmxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2NhbC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2NhbC10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gICAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB0YWJsZVNldHRpbmdzOiBTdFRhYmxlU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2xvYmFsU2VhcmNoU2V0dGluZ3M6IFN0R2xvYmFsU2VhcmNoU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd1BpY2tDb2x1bW5zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNvbmZpZ3VyYXRpb25zU2V0dGluZ3M6IFN0Q29uZmlndXJhdGlvbnNTZXR0aW5nc01vZGVsO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBsb2NhbFN0b3JhZ2VOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGNvbHVtbnMoY29sdW1uczogU3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zQXJyYXkgPSB0aGlzLmdldENvbHVtbnNBcnJheSgpO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ29sdW1ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb2x1bW5zKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW5zO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGF0YShkYXRhOiBhbnlbXSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhIHx8IFtdO1xyXG5cclxuICAgICAgICB0aGlzLnNldFRhYmxlU291cmNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoTW9kZWwgPSAnJztcclxuICAgIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcbiAgICB0YWJsZVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XHJcblxyXG4gICAgY29sdW1uc0FycmF5OiBTdExvY2FsVGFibGVDb2x1bW5Nb2RlbFtdO1xyXG5cclxuICAgIGNvbmZpZ3VyYXRpb25zOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbFtdID0gW107XHJcbiAgICBpbml0Q29uZmlnOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbCB8IG51bGwgPSBudWxsO1xyXG4gICAgYWN0aXZlQ29uZmlnOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbCB8IG51bGwgPSBudWxsO1xyXG4gICAgcGFnZUluZGV4ID0gMDtcclxuXHJcbiAgICBwcml2YXRlIF9kYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfY29sdW1uczogU3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFRhYmxlU2VydmljZTogTG9jYWxUYWJsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlTmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbnNTZXR0aW5ncykge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsVGFibGVTZXJ2aWNlLmxvY2FsU3RvcmFnZU5hbWUgPSB0aGlzLmNvbmZpZ3VyYXRpb25zU2V0dGluZ3M/LmxvY2FsU3RvcmFnZU5hbWUgfHwgJyc7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENvbmZpZ3MoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25zU2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnBhZ2VTaXplID0gcmVzLnBhZ2VTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29uZmlnc1RvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnRGaWVsZE5hbWUgPSByZXMuYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnREaXJlY3Rpb24gPSByZXMuZGlyZWN0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29uZmlnc1RvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xyXG5cclxuICAgICAgICBpZiAocGFyYW1zLmdldCgnc3RMb2NhbFRhYmxlUGFnZUluZGV4JykpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYXJzZUludChwYXJhbXMuZ2V0KCdzdExvY2FsVGFibGVQYWdlSW5kZXgnKSEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9IHBhcmFtcy5nZXQoJ3N0TG9jYWxUYWJsZVNlYXJjaCcpIHx8ICcnO1xyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaE1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVTb3VyY2UuZmlsdGVyID0gdGhpcy5zZWFyY2hNb2RlbC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNlYXJjaCgpIHtcclxuICAgICAgICB0aGlzLnRhYmxlU291cmNlLmZpbHRlciA9IHRoaXMuc2VhcmNoTW9kZWwudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSAwO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaFRvVXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJTZWFyY2goKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9ICcnO1xyXG4gICAgICAgIHRoaXMudGFibGVTb3VyY2UuZmlsdGVyID0gdGhpcy5zZWFyY2hNb2RlbDtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2hUb1VybCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZBY3Rpb25WaXNpYmxlKHJvdzogYW55LCBhY3Rpb246IExvY2FsVGFibGVBY3Rpb25Db2x1bW5Nb2RlbCkge1xyXG4gICAgICAgIGlmIChhY3Rpb24uc2hvdykge1xyXG4gICAgICAgICAgICByZXR1cm4gYWN0aW9uLnNob3cocm93KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29sdW1uVmlzaWJsZUNoYW5nZWQoY29sdW1uOiBTdExvY2FsVGFibGVDb2x1bW5Nb2RlbCkge1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ29sdW1ucygpO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZ3NUb0xvY2FsU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5ld0NvbmZpZ0NyZWF0ZWQobmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q29uZmlnID0gdGhpcy5nZW5lcmF0ZU5ld0NvbmZpZyhuYW1lKTtcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25zLnB1c2gobmV3Q29uZmlnKTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWdzVG9Mb2NhbFN0b3JhZ2UoKTtcclxuICAgICAgICB0aGlzLmluaXRDb25maWcgPSBuZXdDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uZmlnUmVtb3ZlZChjb25maWdJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9ucyA9IHRoaXMuY29uZmlndXJhdGlvbnMuZmlsdGVyKGNvbmZpZyA9PiBjb25maWcuY29uZmlnSWQgIT09IGNvbmZpZ0lkKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZ3NUb0xvY2FsU3RvcmFnZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpZ0NoYW5nZWQoY29uZmlnSWQ6IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZUNvbmZpZyA9IChjb25maWdJZCkgPyB0aGlzLmNvbmZpZ3VyYXRpb25zLmZpbmQoY29uZmlnID0+IGNvbmZpZy5jb25maWdJZCA9PT0gY29uZmlnSWQpISA6IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ29uZmlnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVDb25maWcodGhpcy5hY3RpdmVDb25maWcucGFnZVNpemUsIHRoaXMuYWN0aXZlQ29uZmlnLmNvbHVtbnNEaXNhYmxlZCwgdGhpcy5hY3RpdmVDb25maWcuc29ydEZpZWxkTmFtZSwgdGhpcy5hY3RpdmVDb25maWcuc29ydERpcmVjdGlvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRUYWJsZUNvbmZpZyh0aGlzLnBhZ2VTaXplLCBbXSwgbnVsbCwgbnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWFyY2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcGFnZUNoYW5nZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gZXZlbnQucGFnZUluZGV4O1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaFRvVXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2hUb1VybCgpIHtcclxuICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgICAgICAgc3RMb2NhbFRhYmxlU2VhcmNoOiB0aGlzLnNlYXJjaE1vZGVsLFxyXG4gICAgICAgICAgICBzdExvY2FsVGFibGVQYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4vJ10sIHtxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGV9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUNvbmZpZ3NUb0xvY2FsU3RvcmFnZSgpIHtcclxuICAgICAgICB0aGlzLmxvY2FsVGFibGVTZXJ2aWNlLnNhdmVDb25maWdzKHRoaXMuY29uZmlndXJhdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGFibGVTb3VyY2UoKSB7XHJcbiAgICAgICAgdGhpcy50YWJsZVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8YW55Pih0aGlzLl9kYXRhKTtcclxuICAgICAgICB0aGlzLnRhYmxlU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMudGFibGVTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgICB0aGlzLnRhYmxlU291cmNlLmZpbHRlciA9IHRoaXMuc2VhcmNoTW9kZWw7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldERpc3BsYXllZENvbHVtbnMoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gT2JqZWN0LmtleXModGhpcy5jb2x1bW5zKS5maWx0ZXIoKGNvbHVtbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uc1tjb2x1bW5dLnZpc2libGU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5zQXJyYXkoKTogU3RMb2NhbFRhYmxlQ29sdW1uTW9kZWxbXSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2NvbHVtbnMpXHJcbiAgICAgICAgICAgIC5tYXAoKGNvbHVtbikgPT4gdGhpcy5fY29sdW1uc1tjb2x1bW5dKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGxvYWRDb25maWdzKCkge1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbnMgPSB0aGlzLmxvY2FsVGFibGVTZXJ2aWNlLmdldENvbmZpZ3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdlbmVyYXRlTmV3Q29uZmlnKGNvbmZpZ05hbWU6IHN0cmluZyk6IFN0TG9jYWxTdG9yYWdlQ29uZmlndXJhdGlvbk1vZGVsIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb25maWdJZDogRGF0ZS5ub3coKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICBjb25maWdOYW1lOiBjb25maWdOYW1lLFxyXG4gICAgICAgICAgICBjb2x1bW5zRGlzYWJsZWQ6IHRoaXMuY29sdW1uc0FycmF5LmZpbHRlcihjb2x1bW4gPT4gIWNvbHVtbi52aXNpYmxlKS5tYXAoY29sdW1uID0+IGNvbHVtbi50cmFuc2xhdGVDb2x1bW5OYW1lKSxcclxuICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxyXG4gICAgICAgICAgICBzb3J0RmllbGROYW1lOiAodGhpcy5zb3J0LmRpcmVjdGlvbiAmJiB0aGlzLnNvcnQuYWN0aXZlKSA/IHRoaXMuc29ydC5hY3RpdmUgOiBudWxsLFxyXG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiB0aGlzLnNvcnQuZGlyZWN0aW9uIHx8IG51bGxcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUYWJsZUNvbmZpZyhwYWdlU2l6ZTogbnVtYmVyLCBkaXNhYmxlZENvbHVtbnM6IHN0cmluZ1tdLCBzb3J0RmllbGROYW1lOiBzdHJpbmcgfCBudWxsLCBzb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICAgICAgdGhpcy5zb3J0LnNvcnQoe2lkOiBzb3J0RmllbGROYW1lIHx8ICcnLCBzdGFydDogc29ydERpcmVjdGlvbiB8fCAnYXNjJywgZGlzYWJsZUNsZWFyOiBmYWxzZX0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbHVtbnNBcnJheS5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgICAgIGNvbHVtbi52aXNpYmxlID0gZGlzYWJsZWRDb2x1bW5zLmluZGV4T2YoY29sdW1uLnRyYW5zbGF0ZUNvbHVtbk5hbWUpID09PSAtMTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXllZENvbHVtbnMoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibG9jYWwtdGFibGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCByb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAwO1wiICpuZ0lmPVwiY29uZmlndXJhdGlvbnNTZXR0aW5ncyB8fCBhbGxvd1BpY2tDb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiIHN0eWxlPVwicGFkZGluZzogMDtcIiAqbmdJZj1cImFsbG93UGlja0NvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiY29sLWF1dG9cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiY29sdW1uc01lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdfd2Vla1xyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1tZW51ICNjb2x1bW5zTWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJhZnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zQXJyYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiIWNvbHVtbi5ub3RTaG93SW5Db2x1bW5QaWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29sdW1uLnZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjb2x1bW5WaXNpYmxlQ2hhbmdlZChjb2x1bW4pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiA1cHg7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4udHJhbnNsYXRlQ29sdW1uTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxhcHAtY29uZmlndXJhdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZ3VyYXRpb25zU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWd1cmF0aW9uc1NldHRpbmdzXT1cImNvbmZpZ3VyYXRpb25zU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWd1cmF0aW9uc109XCJjb25maWd1cmF0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2luaXRTZWxlY3RlZENvbmZpZ109XCJpbml0Q29uZmlnXCJcclxuICAgICAgICAgICAgICAgICAgICAoY3JlYXRlTmV3Q29uZmlnKT1cIm5ld0NvbmZpZ0NyZWF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKHJlbW92ZUNvbmZpZyk9XCJjb25maWdSZW1vdmVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2VDb25maWcpPVwiY29uZmlnQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvYXBwLWNvbmZpZ3VyYXRpb25zPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCIgc3R5bGU9XCJwYWRkaW5nOiAwO1wiICpuZ0lmPVwiZ2xvYmFsU2VhcmNoU2V0dGluZ3M/LnNob3dcIj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7Z2xvYmFsU2VhcmNoU2V0dGluZ3M/LmxhYmVsIHx8ICdTZWFyY2gnfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiYXBwbHlTZWFyY2goKVwiIFsobmdNb2RlbCldPVwic2VhcmNoTW9kZWxcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDx0YWJsZSBbbmdDbGFzc109XCJ7J25vLWhvdmVyJzogIXRhYmxlU2V0dGluZ3M/LnJvd0NsaWNrQWN0aW9ufVwiIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJ0YWJsZVNvdXJjZVwiIG1hdFNvcnQ+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2x1bW5cIiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRpc3BsYXllZENvbHVtbnNcIj5cclxuICAgICAgICAgICAgPHRoXHJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsXHJcbiAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInt7Y29sdW1uc1tjb2x1bW5dLndpZHRoID8gKCd3aWR0aDonICsgY29sdW1uc1tjb2x1bW5dLndpZHRoKSA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29sdW1uc1tjb2x1bW5dLnNvcnRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e2NvbHVtbnNbY29sdW1uXS50cmFuc2xhdGVDb2x1bW5OYW1lICB9fVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBzZWFyY2gtaWNvblwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbnNbY29sdW1uXS5zZWFyY2hcIj5cclxuICAgICAgICAgICAgICAgICAgICBzZWFyY2hcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2NvbHVtbnNbY29sdW1uXS5zZWFyY2hMYWJlbCB8fCAnU2VhcmNoJ319PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiYXBwbHlTZWFyY2goKVwiIFsobmdNb2RlbCldPVwic2VhcmNoTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKGNsaWNrKT1cInNlYXJjaE1vZGVsPScnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ7e2NvbHVtbnNbY29sdW1uXS53aWR0aCA/ICgnd2lkdGg6JyArIGNvbHVtbnNbY29sdW1uXS53aWR0aCkgOiAnJ319XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J2p1c3RpZnktY29udGVudC1lbmQnOiBjb2x1bW5zW2NvbHVtbl0uZmxleFJpZ2h0fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uc1tjb2x1bW5dLmFjdGlvbnMgJiYgY29sdW1uc1tjb2x1bW5dLmFjdGlvbnMhLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29sdW1uc1tjb2x1bW5dLmFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrSWZBY3Rpb25WaXNpYmxlKGVsZW1lbnQsIGFjdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb2wtYXV0b1wiIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhYWN0aW9uLnVybCAmJiBhY3Rpb24uYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7KGFjdGlvbi50b29sdGlwTmFtZSB8fCAnJykgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiEhIShhY3Rpb24udG9vbHRpcE5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5hY3Rpb24oZWxlbWVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj57e2FjdGlvbi5pY29uTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCJhY3Rpb24udXJsXCIgW3JvdXRlckxpbmtdPVwiYWN0aW9uLnVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb2wtYXV0b1wiIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3soYWN0aW9uLnRvb2x0aXBOYW1lIHx8ICcnKSB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiEhIShhY3Rpb24udG9vbHRpcE5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj57e2FjdGlvbi5pY29uTmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uc1tjb2x1bW5dLmFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uc1tjb2x1bW5dLnRyYW5zbGF0ZVZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowXCI+e3tjb2x1bW5zW2NvbHVtbl0udHJhbnNsYXRlVmFsdWUhW2VsZW1lbnRbY29sdW1uXV0gfHwgJycgfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uc1tjb2x1bW5dLnRyYW5zbGF0ZVZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uc1tjb2x1bW5dLnR5cGUgfHwgY29sdW1uc1tjb2x1bW5dLnR5cGUgPT09ICdzdHJpbmcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MFwiPnt7ZWxlbWVudFtjb2x1bW5dfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbnNbY29sdW1uXS50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowXCI+e3tlbGVtZW50W2NvbHVtbl0gfCBzdERhdGVUaW1lRm9ybWF0UGlwZX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxyXG4gICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIChjbGljayk9XCJ0YWJsZVNldHRpbmdzPy5yb3dDbGlja0FjdGlvbiA/IHRhYmxlU2V0dGluZ3Mucm93Q2xpY2tBY3Rpb24ocm93KSA6IG51bGxcIj48L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxtYXQtcGFnaW5hdG9yIFtwYWdlSW5kZXhdPVwicGFnZUluZGV4XCIgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDE1LCAyMCwgMjVdXCIgKHBhZ2UpPVwicGFnZUNoYW5nZWQoJGV2ZW50KVwiIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYWwtdGFibGUvbG9jYWwtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXRhYmxlcy9zcmMvbGliL2NvbXBvbmVudHMvbG9jYWwtdGFibGUvbG9jYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFNekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlL0MsTUFBTSxPQUFPLG1CQUFtQjtJQTBENUIsWUFDWSxpQkFBb0MsRUFDcEMsY0FBaUMsRUFDakMsTUFBYyxFQUNkLGNBQThCO1FBSDlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFuRDFDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHdEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBTWxDLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQXdCOUIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBS2hDLG1CQUFjLEdBQXVDLEVBQUUsQ0FBQztRQUN4RCxlQUFVLEdBQTRDLElBQUksQ0FB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QUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Z0hBak9RLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFYQUNqQixZQUFZLHVFQUNaLE9BQU8sZ0RDakN0Qix1dU9BOEhBOzJGRC9GYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07MExBR3RCLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSCxJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU87Z0JBR2xCLGFBQWE7c0JBRFosS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNYXRUYWJsZURhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHtNYXRQYWdpbmF0b3J9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7U3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtbG9jYWwtdGFibGUtY29sdW1ucy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgICBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwsXHJcbiAgICBTdExvY2FsVGFibGVDb2x1bW5Nb2RlbFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9sb2NhbC10YWJsZS9zdC1sb2NhbC10YWJsZS1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQge01hdFNvcnR9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XHJcbmltcG9ydCB7U3RDb25maWd1cmF0aW9uc1NldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtY29uZmlndXJhdGlvbnMtc2V0dGluZ3MubW9kZWxcIjtcclxuaW1wb3J0IHtTdEdsb2JhbFNlYXJjaFNldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtZ2xvYmFsLXNlYXJjaC1zZXR0aW5ncy5tb2RlbFwiO1xyXG5pbXBvcnQge1N0TG9jYWxTdG9yYWdlQ29uZmlndXJhdGlvbk1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2xvY2FsLXRhYmxlL3N0LWxvY2FsLXN0b3JhZ2UtY29uZmlndXJhdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQge0xvY2FsVGFibGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbG9jYWwtdGFibGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1NvcnREaXJlY3Rpb259IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0L3NvcnQtZGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7U3RUYWJsZVNldHRpbmdzTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvbG9jYWwtdGFibGUvc3QtdGFibGUtc2V0dGluZ3MubW9kZWxcIjtcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd4LXN0LWxvY2FsLXRhYmxlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2NhbC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2NhbC10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gICAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICB0YWJsZVNldHRpbmdzOiBTdFRhYmxlU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2xvYmFsU2VhcmNoU2V0dGluZ3M6IFN0R2xvYmFsU2VhcmNoU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcGFnZVNpemU6IG51bWJlciA9IDEwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBhbGxvd1BpY2tDb2x1bW5zOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNvbmZpZ3VyYXRpb25zU2V0dGluZ3M6IFN0Q29uZmlndXJhdGlvbnNTZXR0aW5nc01vZGVsO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBsb2NhbFN0b3JhZ2VOYW1lOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGNvbHVtbnMoY29sdW1uczogU3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zQXJyYXkgPSB0aGlzLmdldENvbHVtbnNBcnJheSgpO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheWVkQ29sdW1ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb2x1bW5zKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW5zO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGF0YShkYXRhOiBhbnlbXSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhIHx8IFtdO1xyXG5cclxuICAgICAgICB0aGlzLnNldFRhYmxlU291cmNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoTW9kZWwgPSAnJztcclxuICAgIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcbiAgICB0YWJsZVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XHJcblxyXG4gICAgY29sdW1uc0FycmF5OiBTdExvY2FsVGFibGVDb2x1bW5Nb2RlbFtdO1xyXG5cclxuICAgIGNvbmZpZ3VyYXRpb25zOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbFtdID0gW107XHJcbiAgICBpbml0Q29uZmlnOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbCB8IG51bGwgPSBudWxsO1xyXG4gICAgYWN0aXZlQ29uZmlnOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbCB8IG51bGwgPSBudWxsO1xyXG4gICAgcGFnZUluZGV4ID0gMDtcclxuXHJcbiAgICBwcml2YXRlIF9kYXRhOiBhbnlbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBfY29sdW1uczogU3RMb2NhbFRhYmxlQ29sdW1uc01vZGVsID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFRhYmxlU2VydmljZTogTG9jYWxUYWJsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlTmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhcnNlSW50KHBhZ2VTaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbnNTZXR0aW5ncykge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsVGFibGVTZXJ2aWNlLmxvY2FsU3RvcmFnZU5hbWUgPSB0aGlzLmNvbmZpZ3VyYXRpb25zU2V0dGluZ3M/LmxvY2FsU3RvcmFnZU5hbWUgfHwgJyc7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENvbmZpZ3MoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb25zU2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnBhZ2VTaXplID0gcmVzLnBhZ2VTaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29uZmlnc1RvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnRGaWVsZE5hbWUgPSByZXMuYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnREaXJlY3Rpb24gPSByZXMuZGlyZWN0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ29uZmlnc1RvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xyXG5cclxuICAgICAgICBpZiAocGFyYW1zLmdldCgnc3RMb2NhbFRhYmxlUGFnZUluZGV4JykpIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYXJzZUludChwYXJhbXMuZ2V0KCdzdExvY2FsVGFibGVQYWdlSW5kZXgnKSEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9IHBhcmFtcy5nZXQoJ3N0TG9jYWxUYWJsZVNlYXJjaCcpIHx8ICcnO1xyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaE1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVTb3VyY2UuZmlsdGVyID0gdGhpcy5zZWFyY2hNb2RlbC50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplID0gdGhpcy5wYWdlU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNlYXJjaCgpIHtcclxuICAgICAgICB0aGlzLnRhYmxlU291cmNlLmZpbHRlciA9IHRoaXMuc2VhcmNoTW9kZWwudHJpbSgpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgdGhpcy5wYWdlSW5kZXggPSAwO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaFRvVXJsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJTZWFyY2goKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9ICcnO1xyXG4gICAgICAgIHRoaXMudGFibGVTb3VyY2UuZmlsdGVyID0gdGhpcy5zZWFyY2hNb2RlbDtcclxuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IDA7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoVG9VcmwoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmQWN0aW9uVmlzaWJsZShyb3c6IGFueSwgYWN0aW9uOiBMb2NhbFRhYmxlQWN0aW9uQ29sdW1uTW9kZWwpIHtcclxuICAgICAgICBpZiAoYWN0aW9uLnNob3cpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbi5zaG93KHJvdyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbHVtblZpc2libGVDaGFuZ2VkKGNvbHVtbjogU3RMb2NhbFRhYmxlQ29sdW1uTW9kZWwpIHtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXllZENvbHVtbnMoKTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWdzVG9Mb2NhbFN0b3JhZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXdDb25maWdDcmVhdGVkKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHRoaXMuZ2VuZXJhdGVOZXdDb25maWcobmFtZSk7XHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9ucy5wdXNoKG5ld0NvbmZpZyk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlQ29uZmlnc1RvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgICAgdGhpcy5pbml0Q29uZmlnID0gbmV3Q29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpZ1JlbW92ZWQoY29uZmlnSWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbnMgPSB0aGlzLmNvbmZpZ3VyYXRpb25zLmZpbHRlcihjb25maWcgPT4gY29uZmlnLmNvbmZpZ0lkICE9PSBjb25maWdJZCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWdzVG9Mb2NhbFN0b3JhZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25maWdDaGFuZ2VkKGNvbmZpZ0lkOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVDb25maWcgPSAoY29uZmlnSWQpID8gdGhpcy5jb25maWd1cmF0aW9ucy5maW5kKGNvbmZpZyA9PiBjb25maWcuY29uZmlnSWQgPT09IGNvbmZpZ0lkKSEgOiBudWxsO1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUNvbmZpZykge1xyXG4gICAgICAgICAgICB0aGlzLnNldFRhYmxlQ29uZmlnKHRoaXMuYWN0aXZlQ29uZmlnLnBhZ2VTaXplLCB0aGlzLmFjdGl2ZUNvbmZpZy5jb2x1bW5zRGlzYWJsZWQsIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnRGaWVsZE5hbWUsIHRoaXMuYWN0aXZlQ29uZmlnLnNvcnREaXJlY3Rpb24pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGFibGVDb25maWcodGhpcy5wYWdlU2l6ZSwgW10sIG51bGwsIG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VhcmNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhZ2VDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcclxuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IGV2ZW50LnBhZ2VJbmRleDtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2hUb1VybCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2VhcmNoVG9VcmwoKSB7XHJcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIHN0TG9jYWxUYWJsZVNlYXJjaDogdGhpcy5zZWFyY2hNb2RlbCxcclxuICAgICAgICAgICAgc3RMb2NhbFRhYmxlUGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLyddLCB7cXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zLCByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb25maWdzVG9Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICAgICAgdGhpcy5sb2NhbFRhYmxlU2VydmljZS5zYXZlQ29uZmlncyh0aGlzLmNvbmZpZ3VyYXRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRhYmxlU291cmNlKCkge1xyXG4gICAgICAgIHRoaXMudGFibGVTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPGFueT4odGhpcy5fZGF0YSk7XHJcbiAgICAgICAgdGhpcy50YWJsZVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgICAgICB0aGlzLnRhYmxlU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgICAgdGhpcy50YWJsZVNvdXJjZS5maWx0ZXIgPSB0aGlzLnNlYXJjaE1vZGVsO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXREaXNwbGF5ZWRDb2x1bW5zKCkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IE9iamVjdC5rZXlzKHRoaXMuY29sdW1ucykuZmlsdGVyKChjb2x1bW4pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbnNbY29sdW1uXS52aXNpYmxlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q29sdW1uc0FycmF5KCk6IFN0TG9jYWxUYWJsZUNvbHVtbk1vZGVsW10ge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9jb2x1bW5zKVxyXG4gICAgICAgICAgICAubWFwKChjb2x1bW4pID0+IHRoaXMuX2NvbHVtbnNbY29sdW1uXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBsb2FkQ29uZmlncygpIHtcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb25zID0gdGhpcy5sb2NhbFRhYmxlU2VydmljZS5nZXRDb25maWdzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZU5ld0NvbmZpZyhjb25maWdOYW1lOiBzdHJpbmcpOiBTdExvY2FsU3RvcmFnZUNvbmZpZ3VyYXRpb25Nb2RlbCB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY29uZmlnSWQ6IERhdGUubm93KCkudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgY29uZmlnTmFtZTogY29uZmlnTmFtZSxcclxuICAgICAgICAgICAgY29sdW1uc0Rpc2FibGVkOiB0aGlzLmNvbHVtbnNBcnJheS5maWx0ZXIoY29sdW1uID0+ICFjb2x1bW4udmlzaWJsZSkubWFwKGNvbHVtbiA9PiBjb2x1bW4udHJhbnNsYXRlQ29sdW1uTmFtZSksXHJcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgc29ydEZpZWxkTmFtZTogKHRoaXMuc29ydC5kaXJlY3Rpb24gJiYgdGhpcy5zb3J0LmFjdGl2ZSkgPyB0aGlzLnNvcnQuYWN0aXZlIDogbnVsbCxcclxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0LmRpcmVjdGlvbiB8fCBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGFibGVDb25maWcocGFnZVNpemU6IG51bWJlciwgZGlzYWJsZWRDb2x1bW5zOiBzdHJpbmdbXSwgc29ydEZpZWxkTmFtZTogc3RyaW5nIHwgbnVsbCwgc29ydERpcmVjdGlvbjogU29ydERpcmVjdGlvbiB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgICAgIHRoaXMuc29ydC5zb3J0KHtpZDogc29ydEZpZWxkTmFtZSB8fCAnJywgc3RhcnQ6IHNvcnREaXJlY3Rpb24gfHwgJ2FzYycsIGRpc2FibGVDbGVhcjogZmFsc2V9KTtcclxuXHJcbiAgICAgICAgdGhpcy5jb2x1bW5zQXJyYXkuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICBjb2x1bW4udmlzaWJsZSA9IGRpc2FibGVkQ29sdW1ucy5pbmRleE9mKGNvbHVtbi50cmFuc2xhdGVDb2x1bW5OYW1lKSA9PT0gLTE7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5ZWRDb2x1bW5zKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxvY2FsLXRhYmxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwicGFkZGluZzogMDtcIiAqbmdJZj1cImNvbmZpZ3VyYXRpb25zU2V0dGluZ3MgfHwgYWxsb3dQaWNrQ29sdW1uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIiBzdHlsZT1cInBhZGRpbmc6IDA7XCIgKm5nSWY9XCJhbGxvd1BpY2tDb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImNvbC1hdXRvXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbHVtbnNNZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3X3dlZWtcclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjY29sdW1uc01lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYWZ0ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc0FycmF5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSAqbmdJZj1cIiFjb2x1bW4ubm90U2hvd0luQ29sdW1uUGlja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbHVtbi52aXNpYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29sdW1uVmlzaWJsZUNoYW5nZWQoY29sdW1uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4O1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sdW1uLnRyYW5zbGF0ZUNvbHVtbk5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8YXBwLWNvbmZpZ3VyYXRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWd1cmF0aW9uc1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlndXJhdGlvbnNTZXR0aW5nc109XCJjb25maWd1cmF0aW9uc1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29uZmlndXJhdGlvbnNdPVwiY29uZmlndXJhdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbml0U2VsZWN0ZWRDb25maWddPVwiaW5pdENvbmZpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZU5ld0NvbmZpZyk9XCJuZXdDb25maWdDcmVhdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChyZW1vdmVDb25maWcpPVwiY29uZmlnUmVtb3ZlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlQ29uZmlnKT1cImNvbmZpZ0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC1jb25maWd1cmF0aW9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiIHN0eWxlPVwicGFkZGluZzogMDtcIiAqbmdJZj1cImdsb2JhbFNlYXJjaFNldHRpbmdzPy5zaG93XCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57e2dsb2JhbFNlYXJjaFNldHRpbmdzPy5sYWJlbCB8fCAnU2VhcmNoJ319PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImFwcGx5U2VhcmNoKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaE1vZGVsXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKGNsaWNrKT1cImNsZWFyU2VhcmNoKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJmb250LXNpemU6IDIycHhcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8dGFibGUgW25nQ2xhc3NdPVwieyduby1ob3Zlcic6ICF0YWJsZVNldHRpbmdzPy5yb3dDbGlja0FjdGlvbn1cIiBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidGFibGVTb3VyY2VcIiBtYXRTb3J0PlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uXCIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5zXCI+XHJcbiAgICAgICAgICAgIDx0aFxyXG4gICAgICAgICAgICAgICAgICAgIG1hdC1oZWFkZXItY2VsbFxyXG4gICAgICAgICAgICAgICAgICAgICptYXRIZWFkZXJDZWxsRGVmXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ7e2NvbHVtbnNbY29sdW1uXS53aWR0aCA/ICgnd2lkdGg6JyArIGNvbHVtbnNbY29sdW1uXS53aWR0aCkgOiAnJ319XCJcclxuICAgICAgICAgICAgICAgICAgICBtYXQtc29ydC1oZWFkZXJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNvbHVtbnNbY29sdW1uXS5zb3J0XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3tjb2x1bW5zW2NvbHVtbl0udHJhbnNsYXRlQ29sdW1uTmFtZSAgfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgc2VhcmNoLWljb25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW5zW2NvbHVtbl0uc2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tjb2x1bW5zW2NvbHVtbl0uc2VhcmNoTGFiZWwgfHwgJ1NlYXJjaCd9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImFwcGx5U2VhcmNoKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaE1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJDbGVhclwiIChjbGljayk9XCJzZWFyY2hNb2RlbD0nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwie3tjb2x1bW5zW2NvbHVtbl0ud2lkdGggPyAoJ3dpZHRoOicgKyBjb2x1bW5zW2NvbHVtbl0ud2lkdGgpIDogJyd9fVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydqdXN0aWZ5LWNvbnRlbnQtZW5kJzogY29sdW1uc1tjb2x1bW5dLmZsZXhSaWdodH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbnNbY29sdW1uXS5hY3Rpb25zICYmIGNvbHVtbnNbY29sdW1uXS5hY3Rpb25zIS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbHVtbnNbY29sdW1uXS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja0lmQWN0aW9uVmlzaWJsZShlbGVtZW50LCBhY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29sLWF1dG9cIiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWFjdGlvbi51cmwgJiYgYWN0aW9uLmFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyhhY3Rpb24udG9vbHRpcE5hbWUgfHwgJycpIH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhISEoYWN0aW9uLnRvb2x0aXBOYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uYWN0aW9uKGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+e3thY3Rpb24uaWNvbk5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiYWN0aW9uLnVybFwiIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi51cmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29sLWF1dG9cIiBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7KGFjdGlvbi50b29sdGlwTmFtZSB8fCAnJykgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09XCIhISEoYWN0aW9uLnRvb2x0aXBOYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+e3thY3Rpb24uaWNvbk5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbnNbY29sdW1uXS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbnNbY29sdW1uXS50cmFuc2xhdGVWYWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MFwiPnt7Y29sdW1uc1tjb2x1bW5dLnRyYW5zbGF0ZVZhbHVlIVtlbGVtZW50W2NvbHVtbl1dIHx8ICcnIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbnNbY29sdW1uXS50cmFuc2xhdGVWYWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbnNbY29sdW1uXS50eXBlIHx8IGNvbHVtbnNbY29sdW1uXS50eXBlID09PSAnc3RyaW5nJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW46MDtwYWRkaW5nOjBcIj57e2VsZW1lbnRbY29sdW1uXX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5zW2NvbHVtbl0udHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MFwiPnt7ZWxlbWVudFtjb2x1bW5dIHwgc3REYXRlVGltZUZvcm1hdFBpcGV9fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiAoY2xpY2spPVwidGFibGVTZXR0aW5ncz8ucm93Q2xpY2tBY3Rpb24gPyB0YWJsZVNldHRpbmdzLnJvd0NsaWNrQWN0aW9uKHJvdykgOiBudWxsXCI+PC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8bWF0LXBhZ2luYXRvciBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAxNSwgMjAsIDI1XVwiIChwYWdlKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIiBzaG93Rmlyc3RMYXN0QnV0dG9ucz48L21hdC1wYWdpbmF0b3I+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-st-tables.mjs","sources":["../../../projects/ngx-st-tables/src/lib/services/local-table.service.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.html","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.html","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.ts","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.html","../../../projects/ngx-st-tables/src/lib/st-tables.module.ts","../../../projects/ngx-st-tables/src/public-api.ts","../../../projects/ngx-st-tables/src/ngx-st-tables.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\nimport {StLocalStorageConfigurationModel} from \"../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Injectable()\r\nexport class LocalTableService {\r\n\r\n localStorageName: string = '';\r\n\r\n getConfigs(): StLocalStorageConfigurationModel[] {\r\n if (this.checkLocalStorageName()) {\r\n return JSON.parse(localStorage.getItem(this.localStorageName) || '[]');\r\n }\r\n\r\n return [];\r\n }\r\n\r\n saveConfigs(configs: StLocalStorageConfigurationModel[]) {\r\n if (this.checkLocalStorageName()) {\r\n localStorage.setItem(this.localStorageName, JSON.stringify(configs));\r\n }\r\n }\r\n\r\n private checkLocalStorageName(): boolean {\r\n if (this.localStorageName) {\r\n return true;\r\n } else {\r\n console.warn('YOu have to add configurationsSettings');\r\n return false;\r\n }\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {StConfigurationsSettingsModel} from \"../../../models/local-table/st-configurations-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Component({\r\n selector: 'app-configurations[configurationsSettings]',\r\n templateUrl: './configurations.component.html',\r\n styleUrls: ['./configurations.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ConfigurationsComponent implements OnInit {\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n configurations: StLocalStorageConfigurationModel[];\r\n\r\n @Input()\r\n set initSelectedConfig(config: StLocalStorageConfigurationModel | null) {\r\n this.selectedConfig = config;\r\n }\r\n\r\n @Output()\r\n createNewConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n removeConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n changeConfig = new EventEmitter<string | null>();\r\n\r\n creatingConfiguration = false;\r\n createConfigurationName = '';\r\n\r\n removingConfiguration = false;\r\n\r\n selectedConfig: StLocalStorageConfigurationModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n showCreateConfiguration() {\r\n this.creatingConfiguration = true;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n hideCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n saveCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.createNewConfig.emit(this.createConfigurationName);\r\n }\r\n\r\n deleteConfiguration() {\r\n this.removingConfiguration = true;\r\n }\r\n\r\n acceptDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.removeConfig.emit(this.selectedConfig!.configId);\r\n }\r\n\r\n declineDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n }\r\n\r\n selectedConfigChanged() {\r\n this.changeConfig.emit(this.selectedConfig?.configId || null);\r\n }\r\n}\r\n\r\n\r\n","<div class=\"col-auto row align-items-center\" style=\"padding: 0;\">\r\n <ng-container *ngIf=\"!creatingConfiguration && !removingConfiguration\">\r\n <mat-form-field class=\"col-auto\" style=\"padding-right: 0;\">\r\n <mat-label>{{configurationsSettings.selectLabel}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedConfig\" (ngModelChange)=\"selectedConfigChanged()\">\r\n <mat-option [value]=\"null\"></mat-option>\r\n <mat-option *ngFor=\"let config of configurations\" [value]=\"config\">{{config.configName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"showCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n add\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" [disabled]=\"!selectedConfig\" (click)=\"deleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n delete\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"creatingConfiguration\">\r\n <mat-form-field class=\"col-auto\">\r\n <mat-label>{{configurationsSettings.createLabel}}</mat-label>\r\n <input matInput [(ngModel)]=\"createConfigurationName\">\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"saveCreateConfiguration()\" [disabled]=\"!createConfigurationName\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"hideCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"removingConfiguration\">\r\n <p class=\"col-auto\" style=\"margin: 0; font-weight: bold;font-size: 16px;\">{{configurationsSettings.deleteWarningTitle}}</p>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"acceptDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"declineDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {StLocalTableColumnsModel} from '../../models/local-table/st-local-table-columns.model';\r\nimport {\r\n LocalTableActionColumnModel,\r\n StLocalTableColumnModel\r\n} from '../../models/local-table/st-local-table-column.model';\r\nimport {MatSort} from \"@angular/material/sort\";\r\nimport {StConfigurationsSettingsModel} from \"../../models/local-table/st-configurations-settings.model\";\r\nimport {StGlobalSearchSettingsModel} from \"../../models/local-table/st-global-search-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../models/local-table/st-local-storage-configuration.model\";\r\nimport {LocalTableService} from \"../../services/local-table.service\";\r\nimport {SortDirection} from \"@angular/material/sort/sort-direction\";\r\nimport {StTableSettingsModel} from \"../../models/local-table/st-table-settings.model\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'ngx-st-local-table',\r\n templateUrl: './local-table.component.html',\r\n styleUrls: ['./local-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LocalTableComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @Input()\r\n tableSettings: StTableSettingsModel;\r\n\r\n @Input()\r\n globalSearchSettings: StGlobalSearchSettingsModel;\r\n\r\n @Input()\r\n pageSize: number = 10;\r\n\r\n @Input()\r\n allowPickColumns: boolean = false;\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n localStorageName: string = '';\r\n\r\n @Input()\r\n set columns(columns: StLocalTableColumnsModel) {\r\n this._columns = columns;\r\n this.columnsArray = this.getColumnsArray();\r\n this.setDisplayedColumns();\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n @Input()\r\n set data(data: any[]) {\r\n this._data = data || [];\r\n\r\n this.setTableSource();\r\n }\r\n\r\n get data() {\r\n return this._data;\r\n }\r\n\r\n searchModel = '';\r\n displayedColumns: string[] = [];\r\n tableSource: MatTableDataSource<any>;\r\n\r\n columnsArray: StLocalTableColumnModel[];\r\n\r\n configurations: StLocalStorageConfigurationModel[] = [];\r\n initConfig: StLocalStorageConfigurationModel | null = null;\r\n activeConfig: StLocalStorageConfigurationModel | null = null;\r\n pageIndex = 0;\r\n\r\n private _data: any[] = [];\r\n private _columns: StLocalTableColumnsModel = {};\r\n\r\n constructor(\r\n private localTableService: LocalTableService,\r\n private changeDetector: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorageName) {\r\n const pageSize = localStorage.getItem(this.localStorageName);\r\n if (pageSize) {\r\n this.pageSize = parseInt(pageSize);\r\n }\r\n }\r\n\r\n if (this.configurationsSettings) {\r\n this.localTableService.localStorageName = this.configurationsSettings?.localStorageName || '';\r\n this.loadConfigs();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.configurationsSettings) {\r\n this.paginator.page.subscribe(res => {\r\n if (this.activeConfig) {\r\n this.activeConfig.pageSize = res.pageSize;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n\r\n this.sort.sortChange.subscribe((res) => {\r\n if (this.activeConfig) {\r\n this.activeConfig.sortFieldName = res.active;\r\n this.activeConfig.sortDirection = res.direction;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n }\r\n\r\n const params = new URLSearchParams(location.search);\r\n\r\n if (params.get('stLocalTablePageIndex')) {\r\n this.pageIndex = parseInt(params.get('stLocalTablePageIndex')!);\r\n }\r\n\r\n this.searchModel = params.get('stLocalTableSearch') || '';\r\n if (this.searchModel) {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n }\r\n\r\n this.paginator.pageSize = this.pageSize;\r\n }\r\n\r\n applySearch() {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n clearSearch() {\r\n this.searchModel = '';\r\n this.tableSource.filter = this.searchModel;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n checkIfActionVisible(row: any, action: LocalTableActionColumnModel) {\r\n if (action.show) {\r\n return action.show(row);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n columnVisibleChanged(column: StLocalTableColumnModel) {\r\n this.setDisplayedColumns();\r\n\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n newConfigCreated(name: string) {\r\n const newConfig = this.generateNewConfig(name);\r\n this.configurations.push(newConfig);\r\n\r\n this.updateConfigsToLocalStorage();\r\n this.initConfig = newConfig;\r\n }\r\n\r\n configRemoved(configId: string) {\r\n this.configurations = this.configurations.filter(config => config.configId !== configId);\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n configChanged(configId: string | null) {\r\n this.activeConfig = (configId) ? this.configurations.find(config => config.configId === configId)! : null;\r\n if (this.activeConfig) {\r\n this.setTableConfig(this.activeConfig.pageSize, this.activeConfig.columnsDisabled, this.activeConfig.sortFieldName, this.activeConfig.sortDirection);\r\n } else {\r\n this.setTableConfig(this.pageSize, [], null, null);\r\n this.clearSearch();\r\n }\r\n }\r\n\r\n pageChanged(event: any) {\r\n this.pageIndex = event.pageIndex;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n private updateSearchToUrl() {\r\n const queryParams = {\r\n stLocalTableSearch: this.searchModel,\r\n stLocalTablePageIndex: this.pageIndex\r\n }\r\n\r\n this.router.navigate(['./'], {queryParams: queryParams, relativeTo: this.activatedRoute});\r\n }\r\n\r\n private updateConfigsToLocalStorage() {\r\n this.localTableService.saveConfigs(this.configurations);\r\n }\r\n\r\n private setTableSource() {\r\n this.tableSource = new MatTableDataSource<any>(this._data);\r\n this.tableSource.paginator = this.paginator;\r\n this.tableSource.sort = this.sort;\r\n this.tableSource.filter = this.searchModel;\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n private setDisplayedColumns() {\r\n this.displayedColumns = Object.keys(this.columns).filter((column) => {\r\n return this._columns[column].visible;\r\n });\r\n }\r\n\r\n private getColumnsArray(): StLocalTableColumnModel[] {\r\n return Object.keys(this._columns)\r\n .map((column) => this._columns[column]);\r\n }\r\n\r\n private loadConfigs() {\r\n this.configurations = this.localTableService.getConfigs();\r\n }\r\n\r\n private generateNewConfig(configName: string): StLocalStorageConfigurationModel {\r\n return {\r\n configId: Date.now().toString(),\r\n configName: configName,\r\n columnsDisabled: this.columnsArray.filter(column => !column.visible).map(column => column.translateColumnName),\r\n pageSize: this.paginator.pageSize,\r\n sortFieldName: (this.sort.direction && this.sort.active) ? this.sort.active : null,\r\n sortDirection: this.sort.direction || null\r\n }\r\n }\r\n\r\n private setTableConfig(pageSize: number, disabledColumns: string[], sortFieldName: string | null, sortDirection: SortDirection | null) {\r\n this.paginator.pageSize = pageSize;\r\n this.sort.sort({id: sortFieldName || '', start: sortDirection || 'asc', disableClear: false});\r\n\r\n this.columnsArray.forEach(column => {\r\n column.visible = disabledColumns.indexOf(column.translateColumnName) === -1;\r\n });\r\n this.setDisplayedColumns();\r\n }\r\n}\r\n","<div class=\"local-table\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col row align-items-center\" style=\"padding: 0;\" *ngIf=\"configurationsSettings || allowPickColumns\">\r\n <div class=\"col-auto\" style=\"padding: 0;\" *ngIf=\"allowPickColumns\">\r\n <button mat-icon-button class=\"col-auto\" [matMenuTriggerFor]=\"columnsMenu\">\r\n <span class=\"material-icons-outlined\">\r\n view_week\r\n </span>\r\n </button>\r\n <mat-menu #columnsMenu=\"matMenu\" xPosition=\"after\">\r\n <ng-container *ngFor=\"let column of columnsArray\">\r\n <div mat-menu-item *ngIf=\"!column.notShowInColumnPick\">\r\n <mat-checkbox\r\n [(ngModel)]=\"column.visible\"\r\n (ngModelChange)=\"columnVisibleChanged(column)\"\r\n style=\"margin-top: 5px;\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{column.translateColumnName}}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container>\r\n </mat-menu>\r\n </div>\r\n\r\n <app-configurations\r\n *ngIf=\"configurationsSettings\"\r\n [configurationsSettings]=\"configurationsSettings\"\r\n [configurations]=\"configurations\"\r\n [initSelectedConfig]=\"initConfig\"\r\n (createNewConfig)=\"newConfigCreated($event)\"\r\n (removeConfig)=\"configRemoved($event)\"\r\n (changeConfig)=\"configChanged($event)\"\r\n ></app-configurations>\r\n </div>\r\n\r\n <div class=\"col\" style=\"padding: 0;\" *ngIf=\"globalSearchSettings?.show\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{globalSearchSettings?.label || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSearch()\">\r\n <mat-icon style=\"font-size: 22px\">close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n\r\n </div>\r\n\r\n <table [ngClass]=\"{'no-hover': !tableSettings?.rowClickAction}\" mat-table [dataSource]=\"tableSource\" matSort>\r\n\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of displayedColumns\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\"\r\n mat-sort-header\r\n [disabled]=\"!columns[column].sort\"\r\n >\r\n {{columns[column].translateColumnName }}\r\n <span class=\"material-icons search-icon\" [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\"\r\n *ngIf=\"columns[column].search\">\r\n search\r\n </span>\r\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{columns[column].searchLabel || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\"\r\n (click)=\"$event.stopPropagation()\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"searchModel=''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </mat-menu>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\">\r\n <div class=\"actions-container\" [ngClass]=\"{'justify-content-end': columns[column].flexRight}\"\r\n *ngIf=\"columns[column].actions && columns[column].actions!.length > 0\">\r\n <ng-container *ngFor=\"let action of columns[column].actions\">\r\n <ng-container *ngIf=\"checkIfActionVisible(element, action)\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n *ngIf=\"!action.url && action.action\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n (click)=\"action.action(element)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n\r\n <a *ngIf=\"action.url\" [routerLink]=\"action.url\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!columns[column].actions\">\r\n <ng-container *ngIf=\"columns[column].translateValue\">\r\n <p style=\"margin:0;padding:0\">{{columns[column].translateValue![element[column]] || '' }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!columns[column].translateValue\">\r\n <ng-container *ngIf=\"!columns[column].type || columns[column].type === 'string'\">\r\n <p style=\"margin:0;padding:0\">{{element[column]}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"columns[column].type === 'date'\">\r\n <p style=\"margin:0;padding:0\">{{element[column] | stDateTimeFormatPipe}}</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" (click)=\"tableSettings?.rowClickAction ? tableSettings.rowClickAction(row) : null\"></tr>\r\n </table>\r\n <mat-paginator [pageIndex]=\"pageIndex\" [pageSizeOptions]=\"[5, 10, 15, 20, 25]\" (page)=\"pageChanged($event)\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-st-select-table',\r\n templateUrl: './select-table.html',\r\n styleUrls: ['./select-table.scss', '../../../../assets/base-table.scss']\r\n})\r\nexport class SelectTable implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n tableSource: MatTableDataSource<any>;\r\n columns: string[];\r\n initColumns: { [col: string]: string };\r\n\r\n search = new FormControl('');\r\n rowSelected: any[] = [];\r\n\r\n private _validError = false;\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n required = false;\r\n\r\n @Input()\r\n multiple = false;\r\n\r\n @Input()\r\n initSelected: any;\r\n\r\n @Input()\r\n initSearchVal: any;\r\n\r\n @Input()\r\n searchLabel = 'Search';\r\n\r\n @Input()\r\n selectedLabel = 'Selected';\r\n\r\n @Output()\r\n returnRowSelected = new EventEmitter<any[]>();\r\n\r\n @Input()\r\n set setInitColumns(col: { [col: string]: string }) {\r\n this.columns = ['active', ...Object.keys(col)];\r\n this.initColumns = col;\r\n }\r\n\r\n @Input()\r\n set tableData(data: any[]) {\r\n this.tableSource = new MatTableDataSource<any>(data);\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n @Input()\r\n set validError(error: boolean) {\r\n this._validError = error;\r\n }\r\n\r\n get validError() {\r\n return this._validError;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search.valueChanges.subscribe(res => {\r\n this.tableSource.filter = res.trim().toLowerCase();\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.initSearchVal) {\r\n this.search.setValue(this.initSearchVal);\r\n this.rowClick(this.initSelected);\r\n }\r\n }, 1000);\r\n }\r\n\r\n clearSearch() {\r\n this.search.setValue('');\r\n }\r\n\r\n rowClick(row: any) {\r\n const found = this.rowSelected.find((tmpRow) => tmpRow === row);\r\n if (found) {\r\n this.rowSelected = this.rowSelected.filter((tmpRow) => tmpRow !== row);\r\n } else {\r\n if (this.multiple) {\r\n this.rowSelected.push(row);\r\n } else {\r\n this.rowSelected = [row];\r\n }\r\n }\r\n\r\n this.returnRowSelected.emit(this.rowSelected);\r\n }\r\n\r\n checkActiveRow(row: any) {\r\n return !!(this.rowSelected.find(activeRow => activeRow === row));\r\n }\r\n\r\n}\r\n","<div class=\"shared-table-selector\">\r\n <p class=\"title\" [ngClass]=\"{'error-text': validError}\">{{title}} {{required ? '*' : ''}}</p>\r\n\r\n <div class=\"search-form row align-items-center\">\r\n <div class=\"col-sm-12 col-md row align-items-center\">\r\n <mat-form-field class=\"col\">\r\n <input matInput placeholder=\"{{searchLabel}}\" [formControl]=\"search\">\r\n </mat-form-field>\r\n <div class=\"clear col-auto\">\r\n <i class=\"material-icons\" (click)=\"clearSearch()\">clear</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <table mat-table [dataSource]=\"tableSource\">\r\n <ng-container *ngFor=\"let col of columns\" [matColumnDef]=\"col\" >\r\n <th mat-header-cell *matHeaderCellDef> {{(col === 'active') ? selectedLabel : initColumns[col]}} </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"col === 'active'\">\r\n <i *ngIf=\"checkActiveRow(element)\" class=\"material-icons active-row\">done</i>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"col !== 'active'\">\r\n {{element[col]}}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" (click)=\"rowClick(row)\" [ngClass]=\"{'active': checkActiveRow(row)}\"></tr>\r\n </table>\r\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {RouterModule} from '@angular/router';\r\nimport {MatSortModule} from \"@angular/material/sort\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\r\nimport {ConfigurationsComponent} from './components/local-table/configurations/configurations.component';\r\nimport {LocalTableService} from \"./services/local-table.service\";\r\nimport {LocalTableComponent} from \"./components/local-table/local-table.component\";\r\nimport {StDateFormatModule} from \"ngx-st-date-format\";\r\nimport {SelectTable} from \"./components/select-table/select-table\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LocalTableComponent,\r\n ConfigurationsComponent,\r\n SelectTable\r\n ],\r\n exports: [\r\n LocalTableComponent,\r\n SelectTable\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n StDateFormatModule,\r\n MatSortModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatCheckboxModule\r\n ],\r\n providers: [\r\n LocalTableService\r\n ]\r\n})\r\nexport class StTablesModule {\r\n}\r\n","/*\r\n * Public API Surface of ngx-st-tables\r\n */\r\n\r\nexport * from './lib/services/local-table.service';\r\nexport * from './lib/components/local-table/local-table.component';\r\nexport * from './lib/components/local-table/configurations/configurations.component';\r\nexport * from './lib/components/select-table/select-table';\r\nexport * from './lib/models/local-table/st-configurations-settings.model';\r\nexport * from './lib/models/local-table/st-global-search-settings.model';\r\nexport * from './lib/models/local-table/st-local-storage-configuration.model';\r\nexport * from './lib/models/local-table/st-local-table-column.model';\r\nexport * from './lib/models/local-table/st-local-table-columns.model';\r\nexport * from './lib/models/local-table/st-table-settings.model';\r\nexport * from './lib/st-tables.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5","i7","i1.LocalTableService","i2","i3","i4","i6.ConfigurationsComponent","i13","i14"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-st-tables.mjs","sources":["../../../projects/ngx-st-tables/src/lib/services/local-table.service.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.html","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.html","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.ts","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.html","../../../projects/ngx-st-tables/src/lib/st-tables.module.ts","../../../projects/ngx-st-tables/src/public-api.ts","../../../projects/ngx-st-tables/src/ngx-st-tables.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\nimport {StLocalStorageConfigurationModel} from \"../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Injectable()\r\nexport class LocalTableService {\r\n\r\n localStorageName: string = '';\r\n\r\n getConfigs(): StLocalStorageConfigurationModel[] {\r\n if (this.checkLocalStorageName()) {\r\n return JSON.parse(localStorage.getItem(this.localStorageName) || '[]');\r\n }\r\n\r\n return [];\r\n }\r\n\r\n saveConfigs(configs: StLocalStorageConfigurationModel[]) {\r\n if (this.checkLocalStorageName()) {\r\n localStorage.setItem(this.localStorageName, JSON.stringify(configs));\r\n }\r\n }\r\n\r\n private checkLocalStorageName(): boolean {\r\n if (this.localStorageName) {\r\n return true;\r\n } else {\r\n console.warn('YOu have to add configurationsSettings');\r\n return false;\r\n }\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {StConfigurationsSettingsModel} from \"../../../models/local-table/st-configurations-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Component({\r\n selector: 'app-configurations[configurationsSettings]',\r\n templateUrl: './configurations.component.html',\r\n styleUrls: ['./configurations.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ConfigurationsComponent implements OnInit {\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n configurations: StLocalStorageConfigurationModel[];\r\n\r\n @Input()\r\n set initSelectedConfig(config: StLocalStorageConfigurationModel | null) {\r\n this.selectedConfig = config;\r\n }\r\n\r\n @Output()\r\n createNewConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n removeConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n changeConfig = new EventEmitter<string | null>();\r\n\r\n creatingConfiguration = false;\r\n createConfigurationName = '';\r\n\r\n removingConfiguration = false;\r\n\r\n selectedConfig: StLocalStorageConfigurationModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n showCreateConfiguration() {\r\n this.creatingConfiguration = true;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n hideCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n saveCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.createNewConfig.emit(this.createConfigurationName);\r\n }\r\n\r\n deleteConfiguration() {\r\n this.removingConfiguration = true;\r\n }\r\n\r\n acceptDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.removeConfig.emit(this.selectedConfig!.configId);\r\n }\r\n\r\n declineDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n }\r\n\r\n selectedConfigChanged() {\r\n this.changeConfig.emit(this.selectedConfig?.configId || null);\r\n }\r\n}\r\n\r\n\r\n","<div class=\"col-auto row align-items-center\" style=\"padding: 0;\">\r\n <ng-container *ngIf=\"!creatingConfiguration && !removingConfiguration\">\r\n <mat-form-field class=\"col-auto\" style=\"padding-right: 0;\">\r\n <mat-label>{{configurationsSettings.selectLabel}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedConfig\" (ngModelChange)=\"selectedConfigChanged()\">\r\n <mat-option [value]=\"null\"></mat-option>\r\n <mat-option *ngFor=\"let config of configurations\" [value]=\"config\">{{config.configName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"showCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n add\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" [disabled]=\"!selectedConfig\" (click)=\"deleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n delete\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"creatingConfiguration\">\r\n <mat-form-field class=\"col-auto\">\r\n <mat-label>{{configurationsSettings.createLabel}}</mat-label>\r\n <input matInput [(ngModel)]=\"createConfigurationName\">\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"saveCreateConfiguration()\" [disabled]=\"!createConfigurationName\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"hideCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"removingConfiguration\">\r\n <p class=\"col-auto\" style=\"margin: 0; font-weight: bold;font-size: 16px;\">{{configurationsSettings.deleteWarningTitle}}</p>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"acceptDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"declineDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {StLocalTableColumnsModel} from '../../models/local-table/st-local-table-columns.model';\r\nimport {\r\n LocalTableActionColumnModel,\r\n StLocalTableColumnModel\r\n} from '../../models/local-table/st-local-table-column.model';\r\nimport {MatSort} from \"@angular/material/sort\";\r\nimport {StConfigurationsSettingsModel} from \"../../models/local-table/st-configurations-settings.model\";\r\nimport {StGlobalSearchSettingsModel} from \"../../models/local-table/st-global-search-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../models/local-table/st-local-storage-configuration.model\";\r\nimport {LocalTableService} from \"../../services/local-table.service\";\r\nimport {SortDirection} from \"@angular/material/sort/sort-direction\";\r\nimport {StTableSettingsModel} from \"../../models/local-table/st-table-settings.model\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'ngx-st-local-table',\r\n templateUrl: './local-table.component.html',\r\n styleUrls: ['./local-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LocalTableComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @Input()\r\n tableSettings: StTableSettingsModel;\r\n\r\n @Input()\r\n globalSearchSettings: StGlobalSearchSettingsModel;\r\n\r\n @Input()\r\n pageSize: number = 10;\r\n\r\n @Input()\r\n allowPickColumns: boolean = false;\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n localStorageName: string = '';\r\n\r\n @Input()\r\n set columns(columns: StLocalTableColumnsModel) {\r\n this._columns = columns;\r\n this.columnsArray = this.getColumnsArray();\r\n this.setDisplayedColumns();\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n @Input()\r\n set data(data: any[]) {\r\n this._data = data || [];\r\n\r\n this.setTableSource();\r\n }\r\n\r\n get data() {\r\n return this._data;\r\n }\r\n\r\n searchModel = '';\r\n displayedColumns: string[] = [];\r\n tableSource: MatTableDataSource<any>;\r\n\r\n columnsArray: StLocalTableColumnModel[];\r\n\r\n configurations: StLocalStorageConfigurationModel[] = [];\r\n initConfig: StLocalStorageConfigurationModel | null = null;\r\n activeConfig: StLocalStorageConfigurationModel | null = null;\r\n pageIndex = 0;\r\n\r\n private _data: any[] = [];\r\n private _columns: StLocalTableColumnsModel = {};\r\n\r\n constructor(\r\n private localTableService: LocalTableService,\r\n private changeDetector: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorageName) {\r\n const pageSize = localStorage.getItem(this.localStorageName);\r\n if (pageSize) {\r\n this.pageSize = parseInt(pageSize);\r\n }\r\n }\r\n\r\n if (this.configurationsSettings) {\r\n this.localTableService.localStorageName = this.configurationsSettings?.localStorageName || '';\r\n this.loadConfigs();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.configurationsSettings) {\r\n this.paginator.page.subscribe(res => {\r\n if (this.activeConfig) {\r\n this.activeConfig.pageSize = res.pageSize;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n\r\n this.sort.sortChange.subscribe((res) => {\r\n if (this.activeConfig) {\r\n this.activeConfig.sortFieldName = res.active;\r\n this.activeConfig.sortDirection = res.direction;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n }\r\n\r\n const params = new URLSearchParams(location.search);\r\n\r\n if (params.get('stLocalTablePageIndex')) {\r\n this.pageIndex = parseInt(params.get('stLocalTablePageIndex')!);\r\n }\r\n\r\n this.searchModel = params.get('stLocalTableSearch') || '';\r\n if (this.searchModel) {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n }\r\n\r\n this.paginator.pageSize = this.pageSize;\r\n }\r\n\r\n applySearch() {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n clearSearch() {\r\n this.searchModel = '';\r\n this.tableSource.filter = this.searchModel;\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n checkIfActionVisible(row: any, action: LocalTableActionColumnModel) {\r\n if (action.show) {\r\n return action.show(row);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n columnVisibleChanged(column: StLocalTableColumnModel) {\r\n this.setDisplayedColumns();\r\n\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n newConfigCreated(name: string) {\r\n const newConfig = this.generateNewConfig(name);\r\n this.configurations.push(newConfig);\r\n\r\n this.updateConfigsToLocalStorage();\r\n this.initConfig = newConfig;\r\n }\r\n\r\n configRemoved(configId: string) {\r\n this.configurations = this.configurations.filter(config => config.configId !== configId);\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n configChanged(configId: string | null) {\r\n this.activeConfig = (configId) ? this.configurations.find(config => config.configId === configId)! : null;\r\n if (this.activeConfig) {\r\n this.setTableConfig(this.activeConfig.pageSize, this.activeConfig.columnsDisabled, this.activeConfig.sortFieldName, this.activeConfig.sortDirection);\r\n } else {\r\n this.setTableConfig(this.pageSize, [], null, null);\r\n this.clearSearch();\r\n }\r\n }\r\n\r\n pageChanged(event: any) {\r\n this.pageIndex = event.pageIndex;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n private updateSearchToUrl() {\r\n const queryParams = {\r\n stLocalTableSearch: this.searchModel,\r\n stLocalTablePageIndex: this.pageIndex\r\n }\r\n\r\n this.router.navigate(['./'], {queryParams: queryParams, relativeTo: this.activatedRoute});\r\n }\r\n\r\n private updateConfigsToLocalStorage() {\r\n this.localTableService.saveConfigs(this.configurations);\r\n }\r\n\r\n private setTableSource() {\r\n this.tableSource = new MatTableDataSource<any>(this._data);\r\n this.tableSource.paginator = this.paginator;\r\n this.tableSource.sort = this.sort;\r\n this.tableSource.filter = this.searchModel;\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n private setDisplayedColumns() {\r\n this.displayedColumns = Object.keys(this.columns).filter((column) => {\r\n return this._columns[column].visible;\r\n });\r\n }\r\n\r\n private getColumnsArray(): StLocalTableColumnModel[] {\r\n return Object.keys(this._columns)\r\n .map((column) => this._columns[column]);\r\n }\r\n\r\n private loadConfigs() {\r\n this.configurations = this.localTableService.getConfigs();\r\n }\r\n\r\n private generateNewConfig(configName: string): StLocalStorageConfigurationModel {\r\n return {\r\n configId: Date.now().toString(),\r\n configName: configName,\r\n columnsDisabled: this.columnsArray.filter(column => !column.visible).map(column => column.translateColumnName),\r\n pageSize: this.paginator.pageSize,\r\n sortFieldName: (this.sort.direction && this.sort.active) ? this.sort.active : null,\r\n sortDirection: this.sort.direction || null\r\n }\r\n }\r\n\r\n private setTableConfig(pageSize: number, disabledColumns: string[], sortFieldName: string | null, sortDirection: SortDirection | null) {\r\n this.paginator.pageSize = pageSize;\r\n this.sort.sort({id: sortFieldName || '', start: sortDirection || 'asc', disableClear: false});\r\n\r\n this.columnsArray.forEach(column => {\r\n column.visible = disabledColumns.indexOf(column.translateColumnName) === -1;\r\n });\r\n this.setDisplayedColumns();\r\n }\r\n}\r\n","<div class=\"local-table\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col row align-items-center\" style=\"padding: 0;\" *ngIf=\"configurationsSettings || allowPickColumns\">\r\n <div class=\"col-auto\" style=\"padding: 0;\" *ngIf=\"allowPickColumns\">\r\n <button mat-icon-button class=\"col-auto\" [matMenuTriggerFor]=\"columnsMenu\">\r\n <span class=\"material-icons-outlined\">\r\n view_week\r\n </span>\r\n </button>\r\n <mat-menu #columnsMenu=\"matMenu\" xPosition=\"after\">\r\n <ng-container *ngFor=\"let column of columnsArray\">\r\n <div mat-menu-item *ngIf=\"!column.notShowInColumnPick\">\r\n <mat-checkbox\r\n [(ngModel)]=\"column.visible\"\r\n (ngModelChange)=\"columnVisibleChanged(column)\"\r\n style=\"margin-top: 5px;\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{column.translateColumnName}}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container>\r\n </mat-menu>\r\n </div>\r\n\r\n <app-configurations\r\n *ngIf=\"configurationsSettings\"\r\n [configurationsSettings]=\"configurationsSettings\"\r\n [configurations]=\"configurations\"\r\n [initSelectedConfig]=\"initConfig\"\r\n (createNewConfig)=\"newConfigCreated($event)\"\r\n (removeConfig)=\"configRemoved($event)\"\r\n (changeConfig)=\"configChanged($event)\"\r\n ></app-configurations>\r\n </div>\r\n\r\n <div class=\"col\" style=\"padding: 0;\" *ngIf=\"globalSearchSettings?.show\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{globalSearchSettings?.label || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSearch()\">\r\n <mat-icon style=\"font-size: 22px\">close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n\r\n </div>\r\n\r\n <table [ngClass]=\"{'no-hover': !tableSettings?.rowClickAction}\" mat-table [dataSource]=\"tableSource\" matSort>\r\n\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of displayedColumns\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\"\r\n mat-sort-header\r\n [disabled]=\"!columns[column].sort\"\r\n >\r\n {{columns[column].translateColumnName }}\r\n <span class=\"material-icons search-icon\" [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\"\r\n *ngIf=\"columns[column].search\">\r\n search\r\n </span>\r\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{columns[column].searchLabel || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\"\r\n (click)=\"$event.stopPropagation()\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"searchModel=''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </mat-menu>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\">\r\n <div class=\"actions-container\" [ngClass]=\"{'justify-content-end': columns[column].flexRight}\"\r\n *ngIf=\"columns[column].actions && columns[column].actions!.length > 0\">\r\n <ng-container *ngFor=\"let action of columns[column].actions\">\r\n <ng-container *ngIf=\"checkIfActionVisible(element, action)\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n *ngIf=\"!action.url && action.action\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n (click)=\"action.action(element)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n\r\n <a *ngIf=\"action.url\" [routerLink]=\"action.url\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!columns[column].actions\">\r\n <ng-container *ngIf=\"columns[column].translateValue\">\r\n <p style=\"margin:0;padding:0\">{{columns[column].translateValue![element[column]] || '' }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!columns[column].translateValue\">\r\n <ng-container *ngIf=\"!columns[column].type || columns[column].type === 'string'\">\r\n <p style=\"margin:0;padding:0\">{{element[column]}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"columns[column].type === 'date'\">\r\n <p style=\"margin:0;padding:0\">{{element[column] | stDateTimeFormatPipe}}</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" (click)=\"tableSettings?.rowClickAction ? tableSettings.rowClickAction(row) : null\"></tr>\r\n </table>\r\n <mat-paginator [pageIndex]=\"pageIndex\" [pageSizeOptions]=\"[5, 10, 15, 20, 25]\" (page)=\"pageChanged($event)\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-st-select-table',\r\n templateUrl: './select-table.html',\r\n styleUrls: ['./select-table.scss', '../../../../assets/base-table.scss']\r\n})\r\nexport class SelectTable implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n tableSource: MatTableDataSource<any>;\r\n columns: string[];\r\n initColumns: { [col: string]: string };\r\n\r\n search = new FormControl('');\r\n rowSelected: any[] = [];\r\n\r\n private _validError = false;\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n required = false;\r\n\r\n @Input()\r\n multiple = false;\r\n\r\n @Input()\r\n initSelected: any;\r\n\r\n @Input()\r\n initSearchVal: any;\r\n\r\n @Input()\r\n searchLabel = 'Search';\r\n\r\n @Input()\r\n selectedLabel = 'Selected';\r\n\r\n @Output()\r\n returnRowSelected = new EventEmitter<any[]>();\r\n\r\n @Input()\r\n set setInitColumns(col: { [col: string]: string }) {\r\n this.columns = ['active', ...Object.keys(col)];\r\n this.initColumns = col;\r\n }\r\n\r\n @Input()\r\n set tableData(data: any[]) {\r\n this.tableSource = new MatTableDataSource<any>(data);\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n @Input()\r\n set validError(error: boolean) {\r\n this._validError = error;\r\n }\r\n\r\n get validError() {\r\n return this._validError;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search.valueChanges.subscribe(res => {\r\n this.tableSource.filter = res.trim().toLowerCase();\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.initSearchVal) {\r\n this.search.setValue(this.initSearchVal);\r\n this.rowClick(this.initSelected);\r\n }\r\n }, 1000);\r\n }\r\n\r\n clearSearch() {\r\n this.search.setValue('');\r\n }\r\n\r\n rowClick(row: any) {\r\n const found = this.rowSelected.find((tmpRow) => tmpRow === row);\r\n if (found) {\r\n this.rowSelected = this.rowSelected.filter((tmpRow) => tmpRow !== row);\r\n } else {\r\n if (this.multiple) {\r\n this.rowSelected.push(row);\r\n } else {\r\n this.rowSelected = [row];\r\n }\r\n }\r\n\r\n this.returnRowSelected.emit(this.rowSelected);\r\n }\r\n\r\n checkActiveRow(row: any) {\r\n return !!(this.rowSelected.find(activeRow => activeRow === row));\r\n }\r\n\r\n}\r\n","<div class=\"shared-table-selector\">\r\n <p class=\"title\" [ngClass]=\"{'error-text': validError}\">{{title}} {{required ? '*' : ''}}</p>\r\n\r\n <div class=\"search-form row align-items-center\">\r\n <div class=\"col-sm-12 col-md row align-items-center\">\r\n <mat-form-field class=\"col\">\r\n <input matInput placeholder=\"{{searchLabel}}\" [formControl]=\"search\">\r\n </mat-form-field>\r\n <div class=\"clear col-auto\">\r\n <i class=\"material-icons\" (click)=\"clearSearch()\">clear</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <table mat-table [dataSource]=\"tableSource\">\r\n <ng-container *ngFor=\"let col of columns\" [matColumnDef]=\"col\" >\r\n <th mat-header-cell *matHeaderCellDef> {{(col === 'active') ? selectedLabel : initColumns[col]}} </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"col === 'active'\">\r\n <i *ngIf=\"checkActiveRow(element)\" class=\"material-icons active-row\">done</i>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"col !== 'active'\">\r\n {{element[col]}}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" (click)=\"rowClick(row)\" [ngClass]=\"{'active': checkActiveRow(row)}\"></tr>\r\n </table>\r\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {RouterModule} from '@angular/router';\r\nimport {MatSortModule} from \"@angular/material/sort\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\r\nimport {ConfigurationsComponent} from './components/local-table/configurations/configurations.component';\r\nimport {LocalTableService} from \"./services/local-table.service\";\r\nimport {LocalTableComponent} from \"./components/local-table/local-table.component\";\r\nimport {StDateFormatModule} from \"ngx-st-date-format\";\r\nimport {SelectTable} from \"./components/select-table/select-table\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LocalTableComponent,\r\n ConfigurationsComponent,\r\n SelectTable\r\n ],\r\n exports: [\r\n LocalTableComponent,\r\n SelectTable\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n StDateFormatModule,\r\n MatSortModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatCheckboxModule\r\n ],\r\n providers: [\r\n LocalTableService\r\n ]\r\n})\r\nexport class StTablesModule {\r\n}\r\n","/*\r\n * Public API Surface of ngx-st-tables\r\n */\r\n\r\nexport * from './lib/services/local-table.service';\r\nexport * from './lib/components/local-table/local-table.component';\r\nexport * from './lib/components/local-table/configurations/configurations.component';\r\nexport * from './lib/components/select-table/select-table';\r\nexport * from './lib/models/local-table/st-configurations-settings.model';\r\nexport * from './lib/models/local-table/st-global-search-settings.model';\r\nexport * from './lib/models/local-table/st-local-storage-configuration.model';\r\nexport * from './lib/models/local-table/st-local-table-column.model';\r\nexport * from './lib/models/local-table/st-local-table-columns.model';\r\nexport * from './lib/models/local-table/st-table-settings.model';\r\nexport * from './lib/st-tables.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5","i7","i1.LocalTableService","i2","i3","i4","i6.ConfigurationsComponent","i13","i14"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-st-tables.mjs","sources":["../../../projects/ngx-st-tables/src/lib/services/local-table.service.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.html","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.html","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.ts","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.html","../../../projects/ngx-st-tables/src/lib/st-tables.module.ts","../../../projects/ngx-st-tables/src/public-api.ts","../../../projects/ngx-st-tables/src/ngx-st-tables.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\nimport {StLocalStorageConfigurationModel} from \"../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Injectable()\r\nexport class LocalTableService {\r\n\r\n localStorageName: string = '';\r\n\r\n getConfigs(): StLocalStorageConfigurationModel[] {\r\n if (this.checkLocalStorageName()) {\r\n return JSON.parse(localStorage.getItem(this.localStorageName) || '[]');\r\n }\r\n\r\n return [];\r\n }\r\n\r\n saveConfigs(configs: StLocalStorageConfigurationModel[]) {\r\n if (this.checkLocalStorageName()) {\r\n localStorage.setItem(this.localStorageName, JSON.stringify(configs));\r\n }\r\n }\r\n\r\n private checkLocalStorageName(): boolean {\r\n if (this.localStorageName) {\r\n return true;\r\n } else {\r\n console.warn('YOu have to add configurationsSettings');\r\n return false;\r\n }\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {StConfigurationsSettingsModel} from \"../../../models/local-table/st-configurations-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Component({\r\n selector: 'app-configurations[configurationsSettings]',\r\n templateUrl: './configurations.component.html',\r\n styleUrls: ['./configurations.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ConfigurationsComponent implements OnInit {\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n configurations: StLocalStorageConfigurationModel[];\r\n\r\n @Input()\r\n set initSelectedConfig(config: StLocalStorageConfigurationModel | null) {\r\n this.selectedConfig = config;\r\n }\r\n\r\n @Output()\r\n createNewConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n removeConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n changeConfig = new EventEmitter<string | null>();\r\n\r\n creatingConfiguration = false;\r\n createConfigurationName = '';\r\n\r\n removingConfiguration = false;\r\n\r\n selectedConfig: StLocalStorageConfigurationModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n showCreateConfiguration() {\r\n this.creatingConfiguration = true;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n hideCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n saveCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.createNewConfig.emit(this.createConfigurationName);\r\n }\r\n\r\n deleteConfiguration() {\r\n this.removingConfiguration = true;\r\n }\r\n\r\n acceptDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.removeConfig.emit(this.selectedConfig!.configId);\r\n }\r\n\r\n declineDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n }\r\n\r\n selectedConfigChanged() {\r\n this.changeConfig.emit(this.selectedConfig?.configId || null);\r\n }\r\n}\r\n\r\n\r\n","<div class=\"col-auto row align-items-center\" style=\"padding: 0;\">\r\n <ng-container *ngIf=\"!creatingConfiguration && !removingConfiguration\">\r\n <mat-form-field class=\"col-auto\" style=\"padding-right: 0;\">\r\n <mat-label>{{configurationsSettings.selectLabel}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedConfig\" (ngModelChange)=\"selectedConfigChanged()\">\r\n <mat-option [value]=\"null\"></mat-option>\r\n <mat-option *ngFor=\"let config of configurations\" [value]=\"config\">{{config.configName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"showCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n add\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" [disabled]=\"!selectedConfig\" (click)=\"deleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n delete\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"creatingConfiguration\">\r\n <mat-form-field class=\"col-auto\">\r\n <mat-label>{{configurationsSettings.createLabel}}</mat-label>\r\n <input matInput [(ngModel)]=\"createConfigurationName\">\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"saveCreateConfiguration()\" [disabled]=\"!createConfigurationName\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"hideCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"removingConfiguration\">\r\n <p class=\"col-auto\" style=\"margin: 0; font-weight: bold;font-size: 16px;\">{{configurationsSettings.deleteWarningTitle}}</p>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"acceptDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"declineDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {StLocalTableColumnsModel} from '../../models/local-table/st-local-table-columns.model';\r\nimport {\r\n LocalTableActionColumnModel,\r\n StLocalTableColumnModel\r\n} from '../../models/local-table/st-local-table-column.model';\r\nimport {MatSort} from \"@angular/material/sort\";\r\nimport {StConfigurationsSettingsModel} from \"../../models/local-table/st-configurations-settings.model\";\r\nimport {StGlobalSearchSettingsModel} from \"../../models/local-table/st-global-search-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../models/local-table/st-local-storage-configuration.model\";\r\nimport {LocalTableService} from \"../../services/local-table.service\";\r\nimport {SortDirection} from \"@angular/material/sort/sort-direction\";\r\nimport {StTableSettingsModel} from \"../../models/local-table/st-table-settings.model\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'ngx-st-local-table',\r\n templateUrl: './local-table.component.html',\r\n styleUrls: ['./local-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LocalTableComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @Input()\r\n tableSettings: StTableSettingsModel;\r\n\r\n @Input()\r\n globalSearchSettings: StGlobalSearchSettingsModel;\r\n\r\n @Input()\r\n pageSize: number = 10;\r\n\r\n @Input()\r\n allowPickColumns: boolean = false;\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n localStorageName: string = '';\r\n\r\n @Input()\r\n set columns(columns: StLocalTableColumnsModel) {\r\n this._columns = columns;\r\n this.columnsArray = this.getColumnsArray();\r\n this.setDisplayedColumns();\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n @Input()\r\n set data(data: any[]) {\r\n this._data = data || [];\r\n\r\n this.setTableSource();\r\n }\r\n\r\n get data() {\r\n return this._data;\r\n }\r\n\r\n searchModel = '';\r\n displayedColumns: string[] = [];\r\n tableSource: MatTableDataSource<any>;\r\n\r\n columnsArray: StLocalTableColumnModel[];\r\n\r\n configurations: StLocalStorageConfigurationModel[] = [];\r\n initConfig: StLocalStorageConfigurationModel | null = null;\r\n activeConfig: StLocalStorageConfigurationModel | null = null;\r\n pageIndex = 0;\r\n\r\n private _data: any[] = [];\r\n private _columns: StLocalTableColumnsModel = {};\r\n\r\n constructor(\r\n private localTableService: LocalTableService,\r\n private changeDetector: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorageName) {\r\n const pageSize = localStorage.getItem(this.localStorageName);\r\n if (pageSize) {\r\n this.pageSize = parseInt(pageSize);\r\n }\r\n }\r\n\r\n if (this.configurationsSettings) {\r\n this.localTableService.localStorageName = this.configurationsSettings?.localStorageName || '';\r\n this.loadConfigs();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.configurationsSettings) {\r\n this.paginator.page.subscribe(res => {\r\n if (this.activeConfig) {\r\n this.activeConfig.pageSize = res.pageSize;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n\r\n this.sort.sortChange.subscribe((res) => {\r\n if (this.activeConfig) {\r\n this.activeConfig.sortFieldName = res.active;\r\n this.activeConfig.sortDirection = res.direction;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n }\r\n\r\n const params = new URLSearchParams(location.search);\r\n\r\n if (params.get('stLocalTablePageIndex')) {\r\n this.pageIndex = parseInt(params.get('stLocalTablePageIndex')!);\r\n }\r\n\r\n this.searchModel = params.get('stLocalTableSearch') || '';\r\n if (this.searchModel) {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n }\r\n\r\n this.paginator.pageSize = this.pageSize;\r\n }\r\n\r\n applySearch() {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n clearSearch() {\r\n this.searchModel = '';\r\n this.tableSource.filter = this.searchModel;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n checkIfActionVisible(row: any, action: LocalTableActionColumnModel) {\r\n if (action.show) {\r\n return action.show(row);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n columnVisibleChanged(column: StLocalTableColumnModel) {\r\n this.setDisplayedColumns();\r\n\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n newConfigCreated(name: string) {\r\n const newConfig = this.generateNewConfig(name);\r\n this.configurations.push(newConfig);\r\n\r\n this.updateConfigsToLocalStorage();\r\n this.initConfig = newConfig;\r\n }\r\n\r\n configRemoved(configId: string) {\r\n this.configurations = this.configurations.filter(config => config.configId !== configId);\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n configChanged(configId: string | null) {\r\n this.activeConfig = (configId) ? this.configurations.find(config => config.configId === configId)! : null;\r\n if (this.activeConfig) {\r\n this.setTableConfig(this.activeConfig.pageSize, this.activeConfig.columnsDisabled, this.activeConfig.sortFieldName, this.activeConfig.sortDirection);\r\n } else {\r\n this.setTableConfig(this.pageSize, [], null, null);\r\n this.clearSearch();\r\n }\r\n }\r\n\r\n pageChanged(event: any) {\r\n this.pageIndex = event.pageIndex;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n private updateSearchToUrl() {\r\n const queryParams = {\r\n stLocalTableSearch: this.searchModel,\r\n stLocalTablePageIndex: this.pageIndex\r\n }\r\n\r\n this.router.navigate(['./'], {queryParams: queryParams, relativeTo: this.activatedRoute});\r\n }\r\n\r\n private updateConfigsToLocalStorage() {\r\n this.localTableService.saveConfigs(this.configurations);\r\n }\r\n\r\n private setTableSource() {\r\n this.tableSource = new MatTableDataSource<any>(this._data);\r\n this.tableSource.paginator = this.paginator;\r\n this.tableSource.sort = this.sort;\r\n this.tableSource.filter = this.searchModel;\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n private setDisplayedColumns() {\r\n this.displayedColumns = Object.keys(this.columns).filter((column) => {\r\n return this._columns[column].visible;\r\n });\r\n }\r\n\r\n private getColumnsArray(): StLocalTableColumnModel[] {\r\n return Object.keys(this._columns)\r\n .map((column) => this._columns[column]);\r\n }\r\n\r\n private loadConfigs() {\r\n this.configurations = this.localTableService.getConfigs();\r\n }\r\n\r\n private generateNewConfig(configName: string): StLocalStorageConfigurationModel {\r\n return {\r\n configId: Date.now().toString(),\r\n configName: configName,\r\n columnsDisabled: this.columnsArray.filter(column => !column.visible).map(column => column.translateColumnName),\r\n pageSize: this.paginator.pageSize,\r\n sortFieldName: (this.sort.direction && this.sort.active) ? this.sort.active : null,\r\n sortDirection: this.sort.direction || null\r\n }\r\n }\r\n\r\n private setTableConfig(pageSize: number, disabledColumns: string[], sortFieldName: string | null, sortDirection: SortDirection | null) {\r\n this.paginator.pageSize = pageSize;\r\n this.sort.sort({id: sortFieldName || '', start: sortDirection || 'asc', disableClear: false});\r\n\r\n this.columnsArray.forEach(column => {\r\n column.visible = disabledColumns.indexOf(column.translateColumnName) === -1;\r\n });\r\n this.setDisplayedColumns();\r\n }\r\n}\r\n","<div class=\"local-table\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col row align-items-center\" style=\"padding: 0;\" *ngIf=\"configurationsSettings || allowPickColumns\">\r\n <div class=\"col-auto\" style=\"padding: 0;\" *ngIf=\"allowPickColumns\">\r\n <button mat-icon-button class=\"col-auto\" [matMenuTriggerFor]=\"columnsMenu\">\r\n <span class=\"material-icons-outlined\">\r\n view_week\r\n </span>\r\n </button>\r\n <mat-menu #columnsMenu=\"matMenu\" xPosition=\"after\">\r\n <ng-container *ngFor=\"let column of columnsArray\">\r\n <div mat-menu-item *ngIf=\"!column.notShowInColumnPick\">\r\n <mat-checkbox\r\n [(ngModel)]=\"column.visible\"\r\n (ngModelChange)=\"columnVisibleChanged(column)\"\r\n style=\"margin-top: 5px;\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{column.translateColumnName}}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container>\r\n </mat-menu>\r\n </div>\r\n\r\n <app-configurations\r\n *ngIf=\"configurationsSettings\"\r\n [configurationsSettings]=\"configurationsSettings\"\r\n [configurations]=\"configurations\"\r\n [initSelectedConfig]=\"initConfig\"\r\n (createNewConfig)=\"newConfigCreated($event)\"\r\n (removeConfig)=\"configRemoved($event)\"\r\n (changeConfig)=\"configChanged($event)\"\r\n ></app-configurations>\r\n </div>\r\n\r\n <div class=\"col\" style=\"padding: 0;\" *ngIf=\"globalSearchSettings?.show\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{globalSearchSettings?.label || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSearch()\">\r\n <mat-icon style=\"font-size: 22px\">close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n\r\n </div>\r\n\r\n <table [ngClass]=\"{'no-hover': !tableSettings?.rowClickAction}\" mat-table [dataSource]=\"tableSource\" matSort>\r\n\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of displayedColumns\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\"\r\n mat-sort-header\r\n [disabled]=\"!columns[column].sort\"\r\n >\r\n {{columns[column].translateColumnName }}\r\n <span class=\"material-icons search-icon\" [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\"\r\n *ngIf=\"columns[column].search\">\r\n search\r\n </span>\r\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{columns[column].searchLabel || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\"\r\n (click)=\"$event.stopPropagation()\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"searchModel=''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </mat-menu>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\">\r\n <div class=\"actions-container\" [ngClass]=\"{'justify-content-end': columns[column].flexRight}\"\r\n *ngIf=\"columns[column].actions && columns[column].actions!.length > 0\">\r\n <ng-container *ngFor=\"let action of columns[column].actions\">\r\n <ng-container *ngIf=\"checkIfActionVisible(element, action)\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n *ngIf=\"!action.url && action.action\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n (click)=\"action.action(element)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n\r\n <a *ngIf=\"action.url\" [routerLink]=\"action.url\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!columns[column].actions\">\r\n <ng-container *ngIf=\"columns[column].translateValue\">\r\n <p style=\"margin:0;padding:0\">{{columns[column].translateValue![element[column]] || '' }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!columns[column].translateValue\">\r\n <ng-container *ngIf=\"!columns[column].type || columns[column].type === 'string'\">\r\n <p style=\"margin:0;padding:0\">{{element[column]}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"columns[column].type === 'date'\">\r\n <p style=\"margin:0;padding:0\">{{element[column] | stDateTimeFormatPipe}}</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" (click)=\"tableSettings?.rowClickAction ? tableSettings.rowClickAction(row) : null\"></tr>\r\n </table>\r\n <mat-paginator [pageIndex]=\"pageIndex\" [pageSizeOptions]=\"[5, 10, 15, 20, 25]\" (page)=\"pageChanged($event)\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-st-select-table',\r\n templateUrl: './select-table.html',\r\n styleUrls: ['./select-table.scss', '../../../../assets/base-table.scss']\r\n})\r\nexport class SelectTable implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n tableSource: MatTableDataSource<any>;\r\n columns: string[];\r\n initColumns: { [col: string]: string };\r\n\r\n search = new FormControl('');\r\n rowSelected: any[] = [];\r\n\r\n private _validError = false;\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n required = false;\r\n\r\n @Input()\r\n multiple = false;\r\n\r\n @Input()\r\n initSelected: any;\r\n\r\n @Input()\r\n initSearchVal: any;\r\n\r\n @Input()\r\n searchLabel = 'Search';\r\n\r\n @Input()\r\n selectedLabel = 'Selected';\r\n\r\n @Output()\r\n returnRowSelected = new EventEmitter<any[]>();\r\n\r\n @Input()\r\n set setInitColumns(col: { [col: string]: string }) {\r\n this.columns = ['active', ...Object.keys(col)];\r\n this.initColumns = col;\r\n }\r\n\r\n @Input()\r\n set tableData(data: any[]) {\r\n this.tableSource = new MatTableDataSource<any>(data);\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n @Input()\r\n set validError(error: boolean) {\r\n this._validError = error;\r\n }\r\n\r\n get validError() {\r\n return this._validError;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search.valueChanges.subscribe(res => {\r\n this.tableSource.filter = res.trim().toLowerCase();\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.initSearchVal) {\r\n this.search.setValue(this.initSearchVal);\r\n this.rowClick(this.initSelected);\r\n }\r\n }, 1000);\r\n }\r\n\r\n clearSearch() {\r\n this.search.setValue('');\r\n }\r\n\r\n rowClick(row: any) {\r\n const found = this.rowSelected.find((tmpRow) => tmpRow === row);\r\n if (found) {\r\n this.rowSelected = this.rowSelected.filter((tmpRow) => tmpRow !== row);\r\n } else {\r\n if (this.multiple) {\r\n this.rowSelected.push(row);\r\n } else {\r\n this.rowSelected = [row];\r\n }\r\n }\r\n\r\n this.returnRowSelected.emit(this.rowSelected);\r\n }\r\n\r\n checkActiveRow(row: any) {\r\n return !!(this.rowSelected.find(activeRow => activeRow === row));\r\n }\r\n\r\n}\r\n","<div class=\"shared-table-selector\">\r\n <p class=\"title\" [ngClass]=\"{'error-text': validError}\">{{title}} {{required ? '*' : ''}}</p>\r\n\r\n <div class=\"search-form row align-items-center\">\r\n <div class=\"col-sm-12 col-md row align-items-center\">\r\n <mat-form-field class=\"col\">\r\n <input matInput placeholder=\"{{searchLabel}}\" [formControl]=\"search\">\r\n </mat-form-field>\r\n <div class=\"clear col-auto\">\r\n <i class=\"material-icons\" (click)=\"clearSearch()\">clear</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <table mat-table [dataSource]=\"tableSource\">\r\n <ng-container *ngFor=\"let col of columns\" [matColumnDef]=\"col\" >\r\n <th mat-header-cell *matHeaderCellDef> {{(col === 'active') ? selectedLabel : initColumns[col]}} </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"col === 'active'\">\r\n <i *ngIf=\"checkActiveRow(element)\" class=\"material-icons active-row\">done</i>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"col !== 'active'\">\r\n {{element[col]}}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" (click)=\"rowClick(row)\" [ngClass]=\"{'active': checkActiveRow(row)}\"></tr>\r\n </table>\r\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {RouterModule} from '@angular/router';\r\nimport {MatSortModule} from \"@angular/material/sort\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\r\nimport {ConfigurationsComponent} from './components/local-table/configurations/configurations.component';\r\nimport {LocalTableService} from \"./services/local-table.service\";\r\nimport {LocalTableComponent} from \"./components/local-table/local-table.component\";\r\nimport {StDateFormatModule} from \"ngx-st-date-format\";\r\nimport {SelectTable} from \"./components/select-table/select-table\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LocalTableComponent,\r\n ConfigurationsComponent,\r\n SelectTable\r\n ],\r\n exports: [\r\n LocalTableComponent,\r\n SelectTable\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n StDateFormatModule,\r\n MatSortModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatCheckboxModule\r\n ],\r\n providers: [\r\n LocalTableService\r\n ]\r\n})\r\nexport class StTablesModule {\r\n}\r\n","/*\r\n * Public API Surface of ngx-st-tables\r\n */\r\n\r\nexport * from './lib/services/local-table.service';\r\nexport * from './lib/components/local-table/local-table.component';\r\nexport * from './lib/components/local-table/configurations/configurations.component';\r\nexport * from './lib/components/select-table/select-table';\r\nexport * from './lib/models/local-table/st-configurations-settings.model';\r\nexport * from './lib/models/local-table/st-global-search-settings.model';\r\nexport * from './lib/models/local-table/st-local-storage-configuration.model';\r\nexport * from './lib/models/local-table/st-local-table-column.model';\r\nexport * from './lib/models/local-table/st-local-table-columns.model';\r\nexport * from './lib/models/local-table/st-table-settings.model';\r\nexport * from './lib/st-tables.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5","i7","i1.LocalTableService","i2","i3","i4","i6.ConfigurationsComponent","i13","i14"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-st-tables.mjs","sources":["../../../projects/ngx-st-tables/src/lib/services/local-table.service.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/configurations/configurations.component.html","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.ts","../../../projects/ngx-st-tables/src/lib/components/local-table/local-table.component.html","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.ts","../../../projects/ngx-st-tables/src/lib/components/select-table/select-table.html","../../../projects/ngx-st-tables/src/lib/st-tables.module.ts","../../../projects/ngx-st-tables/src/public-api.ts","../../../projects/ngx-st-tables/src/ngx-st-tables.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\nimport {StLocalStorageConfigurationModel} from \"../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Injectable()\r\nexport class LocalTableService {\r\n\r\n localStorageName: string = '';\r\n\r\n getConfigs(): StLocalStorageConfigurationModel[] {\r\n if (this.checkLocalStorageName()) {\r\n return JSON.parse(localStorage.getItem(this.localStorageName) || '[]');\r\n }\r\n\r\n return [];\r\n }\r\n\r\n saveConfigs(configs: StLocalStorageConfigurationModel[]) {\r\n if (this.checkLocalStorageName()) {\r\n localStorage.setItem(this.localStorageName, JSON.stringify(configs));\r\n }\r\n }\r\n\r\n private checkLocalStorageName(): boolean {\r\n if (this.localStorageName) {\r\n return true;\r\n } else {\r\n console.warn('YOu have to add configurationsSettings');\r\n return false;\r\n }\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {StConfigurationsSettingsModel} from \"../../../models/local-table/st-configurations-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../../models/local-table/st-local-storage-configuration.model\";\r\n\r\n@Component({\r\n selector: 'app-configurations[configurationsSettings]',\r\n templateUrl: './configurations.component.html',\r\n styleUrls: ['./configurations.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ConfigurationsComponent implements OnInit {\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n configurations: StLocalStorageConfigurationModel[];\r\n\r\n @Input()\r\n set initSelectedConfig(config: StLocalStorageConfigurationModel | null) {\r\n this.selectedConfig = config;\r\n }\r\n\r\n @Output()\r\n createNewConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n removeConfig = new EventEmitter<string>();\r\n\r\n @Output()\r\n changeConfig = new EventEmitter<string | null>();\r\n\r\n creatingConfiguration = false;\r\n createConfigurationName = '';\r\n\r\n removingConfiguration = false;\r\n\r\n selectedConfig: StLocalStorageConfigurationModel | null;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n showCreateConfiguration() {\r\n this.creatingConfiguration = true;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n hideCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.createConfigurationName = '';\r\n }\r\n\r\n saveCreateConfiguration() {\r\n this.creatingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.createNewConfig.emit(this.createConfigurationName);\r\n }\r\n\r\n deleteConfiguration() {\r\n this.removingConfiguration = true;\r\n }\r\n\r\n acceptDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n this.selectedConfig = null;\r\n this.removeConfig.emit(this.selectedConfig!.configId);\r\n }\r\n\r\n declineDeleteConfiguration() {\r\n this.removingConfiguration = false;\r\n }\r\n\r\n selectedConfigChanged() {\r\n this.changeConfig.emit(this.selectedConfig?.configId || null);\r\n }\r\n}\r\n\r\n\r\n","<div class=\"col-auto row align-items-center\" style=\"padding: 0;\">\r\n <ng-container *ngIf=\"!creatingConfiguration && !removingConfiguration\">\r\n <mat-form-field class=\"col-auto\" style=\"padding-right: 0;\">\r\n <mat-label>{{configurationsSettings.selectLabel}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedConfig\" (ngModelChange)=\"selectedConfigChanged()\">\r\n <mat-option [value]=\"null\"></mat-option>\r\n <mat-option *ngFor=\"let config of configurations\" [value]=\"config\">{{config.configName}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"showCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n add\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" [disabled]=\"!selectedConfig\" (click)=\"deleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n delete\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"creatingConfiguration\">\r\n <mat-form-field class=\"col-auto\">\r\n <mat-label>{{configurationsSettings.createLabel}}</mat-label>\r\n <input matInput [(ngModel)]=\"createConfigurationName\">\r\n </mat-form-field>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"saveCreateConfiguration()\" [disabled]=\"!createConfigurationName\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"hideCreateConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"removingConfiguration\">\r\n <p class=\"col-auto\" style=\"margin: 0; font-weight: bold;font-size: 16px;\">{{configurationsSettings.deleteWarningTitle}}</p>\r\n <button mat-icon-button class=\"col-auto green-icon\" (click)=\"acceptDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n done\r\n </span>\r\n </button>\r\n <button mat-icon-button class=\"col-auto red-icon\" (click)=\"declineDeleteConfiguration()\">\r\n <span class=\"material-icons-outlined\">\r\n close\r\n </span>\r\n </button>\r\n </ng-container>\r\n</div>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {StLocalTableColumnsModel} from '../../models/local-table/st-local-table-columns.model';\r\nimport {\r\n LocalTableActionColumnModel,\r\n StLocalTableColumnModel\r\n} from '../../models/local-table/st-local-table-column.model';\r\nimport {MatSort} from \"@angular/material/sort\";\r\nimport {StConfigurationsSettingsModel} from \"../../models/local-table/st-configurations-settings.model\";\r\nimport {StGlobalSearchSettingsModel} from \"../../models/local-table/st-global-search-settings.model\";\r\nimport {StLocalStorageConfigurationModel} from \"../../models/local-table/st-local-storage-configuration.model\";\r\nimport {LocalTableService} from \"../../services/local-table.service\";\r\nimport {SortDirection} from \"@angular/material/sort/sort-direction\";\r\nimport {StTableSettingsModel} from \"../../models/local-table/st-table-settings.model\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'ngx-st-local-table',\r\n templateUrl: './local-table.component.html',\r\n styleUrls: ['./local-table.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LocalTableComponent implements OnInit, AfterViewInit {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n\r\n @Input()\r\n tableSettings: StTableSettingsModel;\r\n\r\n @Input()\r\n globalSearchSettings: StGlobalSearchSettingsModel;\r\n\r\n @Input()\r\n pageSize: number = 10;\r\n\r\n @Input()\r\n allowPickColumns: boolean = false;\r\n\r\n @Input()\r\n configurationsSettings: StConfigurationsSettingsModel;\r\n\r\n @Input()\r\n localStorageName: string = '';\r\n\r\n @Input()\r\n set columns(columns: StLocalTableColumnsModel) {\r\n this._columns = columns;\r\n this.columnsArray = this.getColumnsArray();\r\n this.setDisplayedColumns();\r\n }\r\n\r\n get columns() {\r\n return this._columns;\r\n }\r\n\r\n @Input()\r\n set data(data: any[]) {\r\n this._data = data || [];\r\n\r\n this.setTableSource();\r\n }\r\n\r\n get data() {\r\n return this._data;\r\n }\r\n\r\n searchModel = '';\r\n displayedColumns: string[] = [];\r\n tableSource: MatTableDataSource<any>;\r\n\r\n columnsArray: StLocalTableColumnModel[];\r\n\r\n configurations: StLocalStorageConfigurationModel[] = [];\r\n initConfig: StLocalStorageConfigurationModel | null = null;\r\n activeConfig: StLocalStorageConfigurationModel | null = null;\r\n pageIndex = 0;\r\n\r\n private _data: any[] = [];\r\n private _columns: StLocalTableColumnsModel = {};\r\n\r\n constructor(\r\n private localTableService: LocalTableService,\r\n private changeDetector: ChangeDetectorRef,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.localStorageName) {\r\n const pageSize = localStorage.getItem(this.localStorageName);\r\n if (pageSize) {\r\n this.pageSize = parseInt(pageSize);\r\n }\r\n }\r\n\r\n if (this.configurationsSettings) {\r\n this.localTableService.localStorageName = this.configurationsSettings?.localStorageName || '';\r\n this.loadConfigs();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.configurationsSettings) {\r\n this.paginator.page.subscribe(res => {\r\n if (this.activeConfig) {\r\n this.activeConfig.pageSize = res.pageSize;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n\r\n this.sort.sortChange.subscribe((res) => {\r\n if (this.activeConfig) {\r\n this.activeConfig.sortFieldName = res.active;\r\n this.activeConfig.sortDirection = res.direction;\r\n this.updateConfigsToLocalStorage();\r\n }\r\n });\r\n }\r\n\r\n const params = new URLSearchParams(location.search);\r\n\r\n if (params.get('stLocalTablePageIndex')) {\r\n this.pageIndex = parseInt(params.get('stLocalTablePageIndex')!);\r\n }\r\n\r\n this.searchModel = params.get('stLocalTableSearch') || '';\r\n if (this.searchModel) {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n }\r\n\r\n this.paginator.pageSize = this.pageSize;\r\n }\r\n\r\n applySearch() {\r\n this.tableSource.filter = this.searchModel.trim().toLowerCase();\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n clearSearch() {\r\n this.searchModel = '';\r\n this.tableSource.filter = this.searchModel;\r\n this.pageIndex = 0;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n checkIfActionVisible(row: any, action: LocalTableActionColumnModel) {\r\n if (action.show) {\r\n return action.show(row);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n columnVisibleChanged(column: StLocalTableColumnModel) {\r\n this.setDisplayedColumns();\r\n\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n newConfigCreated(name: string) {\r\n const newConfig = this.generateNewConfig(name);\r\n this.configurations.push(newConfig);\r\n\r\n this.updateConfigsToLocalStorage();\r\n this.initConfig = newConfig;\r\n }\r\n\r\n configRemoved(configId: string) {\r\n this.configurations = this.configurations.filter(config => config.configId !== configId);\r\n this.updateConfigsToLocalStorage();\r\n }\r\n\r\n configChanged(configId: string | null) {\r\n this.activeConfig = (configId) ? this.configurations.find(config => config.configId === configId)! : null;\r\n if (this.activeConfig) {\r\n this.setTableConfig(this.activeConfig.pageSize, this.activeConfig.columnsDisabled, this.activeConfig.sortFieldName, this.activeConfig.sortDirection);\r\n } else {\r\n this.setTableConfig(this.pageSize, [], null, null);\r\n this.clearSearch();\r\n }\r\n }\r\n\r\n pageChanged(event: any) {\r\n this.pageIndex = event.pageIndex;\r\n\r\n this.updateSearchToUrl();\r\n }\r\n\r\n private updateSearchToUrl() {\r\n const queryParams = {\r\n stLocalTableSearch: this.searchModel,\r\n stLocalTablePageIndex: this.pageIndex\r\n }\r\n\r\n this.router.navigate(['./'], {queryParams: queryParams, relativeTo: this.activatedRoute});\r\n }\r\n\r\n private updateConfigsToLocalStorage() {\r\n this.localTableService.saveConfigs(this.configurations);\r\n }\r\n\r\n private setTableSource() {\r\n this.tableSource = new MatTableDataSource<any>(this._data);\r\n this.tableSource.paginator = this.paginator;\r\n this.tableSource.sort = this.sort;\r\n this.tableSource.filter = this.searchModel;\r\n this.changeDetector.markForCheck();\r\n }\r\n\r\n private setDisplayedColumns() {\r\n this.displayedColumns = Object.keys(this.columns).filter((column) => {\r\n return this._columns[column].visible;\r\n });\r\n }\r\n\r\n private getColumnsArray(): StLocalTableColumnModel[] {\r\n return Object.keys(this._columns)\r\n .map((column) => this._columns[column]);\r\n }\r\n\r\n private loadConfigs() {\r\n this.configurations = this.localTableService.getConfigs();\r\n }\r\n\r\n private generateNewConfig(configName: string): StLocalStorageConfigurationModel {\r\n return {\r\n configId: Date.now().toString(),\r\n configName: configName,\r\n columnsDisabled: this.columnsArray.filter(column => !column.visible).map(column => column.translateColumnName),\r\n pageSize: this.paginator.pageSize,\r\n sortFieldName: (this.sort.direction && this.sort.active) ? this.sort.active : null,\r\n sortDirection: this.sort.direction || null\r\n }\r\n }\r\n\r\n private setTableConfig(pageSize: number, disabledColumns: string[], sortFieldName: string | null, sortDirection: SortDirection | null) {\r\n this.paginator.pageSize = pageSize;\r\n this.sort.sort({id: sortFieldName || '', start: sortDirection || 'asc', disableClear: false});\r\n\r\n this.columnsArray.forEach(column => {\r\n column.visible = disabledColumns.indexOf(column.translateColumnName) === -1;\r\n });\r\n this.setDisplayedColumns();\r\n }\r\n}\r\n","<div class=\"local-table\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col row align-items-center\" style=\"padding: 0;\" *ngIf=\"configurationsSettings || allowPickColumns\">\r\n <div class=\"col-auto\" style=\"padding: 0;\" *ngIf=\"allowPickColumns\">\r\n <button mat-icon-button class=\"col-auto\" [matMenuTriggerFor]=\"columnsMenu\">\r\n <span class=\"material-icons-outlined\">\r\n view_week\r\n </span>\r\n </button>\r\n <mat-menu #columnsMenu=\"matMenu\" xPosition=\"after\">\r\n <ng-container *ngFor=\"let column of columnsArray\">\r\n <div mat-menu-item *ngIf=\"!column.notShowInColumnPick\">\r\n <mat-checkbox\r\n [(ngModel)]=\"column.visible\"\r\n (ngModelChange)=\"columnVisibleChanged(column)\"\r\n style=\"margin-top: 5px;\"\r\n (click)=\"$event.stopPropagation()\"\r\n >\r\n {{column.translateColumnName}}\r\n </mat-checkbox>\r\n </div>\r\n </ng-container>\r\n </mat-menu>\r\n </div>\r\n\r\n <app-configurations\r\n *ngIf=\"configurationsSettings\"\r\n [configurationsSettings]=\"configurationsSettings\"\r\n [configurations]=\"configurations\"\r\n [initSelectedConfig]=\"initConfig\"\r\n (createNewConfig)=\"newConfigCreated($event)\"\r\n (removeConfig)=\"configRemoved($event)\"\r\n (changeConfig)=\"configChanged($event)\"\r\n ></app-configurations>\r\n </div>\r\n\r\n <div class=\"col\" style=\"padding: 0;\" *ngIf=\"globalSearchSettings?.show\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{globalSearchSettings?.label || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearSearch()\">\r\n <mat-icon style=\"font-size: 22px\">close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </div>\r\n\r\n </div>\r\n\r\n <table [ngClass]=\"{'no-hover': !tableSettings?.rowClickAction}\" mat-table [dataSource]=\"tableSource\" matSort>\r\n\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of displayedColumns\">\r\n <th\r\n mat-header-cell\r\n *matHeaderCellDef\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\"\r\n mat-sort-header\r\n [disabled]=\"!columns[column].sort\"\r\n >\r\n {{columns[column].translateColumnName }}\r\n <span class=\"material-icons search-icon\" [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\"\r\n *ngIf=\"columns[column].search\">\r\n search\r\n </span>\r\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\r\n <mat-form-field class=\"col\">\r\n <mat-label>{{columns[column].searchLabel || 'Search'}}</mat-label>\r\n <input matInput (keyup)=\"applySearch()\" [(ngModel)]=\"searchModel\"\r\n (click)=\"$event.stopPropagation()\">\r\n <button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"searchModel=''\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n </mat-menu>\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\"\r\n style=\"{{columns[column].width ? ('width:' + columns[column].width) : ''}}\">\r\n <div class=\"actions-container\" [ngClass]=\"{'justify-content-end': columns[column].flexRight}\"\r\n *ngIf=\"columns[column].actions && columns[column].actions!.length > 0\">\r\n <ng-container *ngFor=\"let action of columns[column].actions\">\r\n <ng-container *ngIf=\"checkIfActionVisible(element, action)\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n *ngIf=\"!action.url && action.action\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n (click)=\"action.action(element)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n\r\n <a *ngIf=\"action.url\" [routerLink]=\"action.url\">\r\n <button class=\"col-auto\" mat-icon-button\r\n type=\"button\"\r\n matTooltip=\"{{(action.tooltipName || '') }}\"\r\n [matTooltipDisabled]=\"!!!(action.tooltipName)\"\r\n >\r\n <span class=\"material-icons\">{{action.iconName}}</span>\r\n </button>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!columns[column].actions\">\r\n <ng-container *ngIf=\"columns[column].translateValue\">\r\n <p style=\"margin:0;padding:0\">{{columns[column].translateValue![element[column]] || '' }}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!columns[column].translateValue\">\r\n <ng-container *ngIf=\"!columns[column].type || columns[column].type === 'string'\">\r\n <p style=\"margin:0;padding:0\">{{element[column]}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"columns[column].type === 'date'\">\r\n <p style=\"margin:0;padding:0\">{{element[column] | stDateTimeFormatPipe}}</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" (click)=\"tableSettings?.rowClickAction ? tableSettings.rowClickAction(row) : null\"></tr>\r\n </table>\r\n <mat-paginator [pageIndex]=\"pageIndex\" [pageSizeOptions]=\"[5, 10, 15, 20, 25]\" (page)=\"pageChanged($event)\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ngx-st-select-table',\r\n templateUrl: './select-table.html',\r\n styleUrls: ['./select-table.scss', '../../../../assets/base-table.scss']\r\n})\r\nexport class SelectTable implements OnInit {\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n tableSource: MatTableDataSource<any>;\r\n columns: string[];\r\n initColumns: { [col: string]: string };\r\n\r\n search = new FormControl('');\r\n rowSelected: any[] = [];\r\n\r\n private _validError = false;\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n required = false;\r\n\r\n @Input()\r\n multiple = false;\r\n\r\n @Input()\r\n initSelected: any;\r\n\r\n @Input()\r\n initSearchVal: any;\r\n\r\n @Input()\r\n searchLabel = 'Search';\r\n\r\n @Input()\r\n selectedLabel = 'Selected';\r\n\r\n @Output()\r\n returnRowSelected = new EventEmitter<any[]>();\r\n\r\n @Input()\r\n set setInitColumns(col: { [col: string]: string }) {\r\n this.columns = ['active', ...Object.keys(col)];\r\n this.initColumns = col;\r\n }\r\n\r\n @Input()\r\n set tableData(data: any[]) {\r\n this.tableSource = new MatTableDataSource<any>(data);\r\n this.tableSource.paginator = this.paginator;\r\n }\r\n\r\n @Input()\r\n set validError(error: boolean) {\r\n this._validError = error;\r\n }\r\n\r\n get validError() {\r\n return this._validError;\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.search.valueChanges.subscribe(res => {\r\n this.tableSource.filter = res.trim().toLowerCase();\r\n });\r\n\r\n setTimeout(() => {\r\n if (this.initSearchVal) {\r\n this.search.setValue(this.initSearchVal);\r\n this.rowClick(this.initSelected);\r\n }\r\n }, 1000);\r\n }\r\n\r\n clearSearch() {\r\n this.search.setValue('');\r\n }\r\n\r\n rowClick(row: any) {\r\n const found = this.rowSelected.find((tmpRow) => tmpRow === row);\r\n if (found) {\r\n this.rowSelected = this.rowSelected.filter((tmpRow) => tmpRow !== row);\r\n } else {\r\n if (this.multiple) {\r\n this.rowSelected.push(row);\r\n } else {\r\n this.rowSelected = [row];\r\n }\r\n }\r\n\r\n this.returnRowSelected.emit(this.rowSelected);\r\n }\r\n\r\n checkActiveRow(row: any) {\r\n return !!(this.rowSelected.find(activeRow => activeRow === row));\r\n }\r\n\r\n}\r\n","<div class=\"shared-table-selector\">\r\n <p class=\"title\" [ngClass]=\"{'error-text': validError}\">{{title}} {{required ? '*' : ''}}</p>\r\n\r\n <div class=\"search-form row align-items-center\">\r\n <div class=\"col-sm-12 col-md row align-items-center\">\r\n <mat-form-field class=\"col\">\r\n <input matInput placeholder=\"{{searchLabel}}\" [formControl]=\"search\">\r\n </mat-form-field>\r\n <div class=\"clear col-auto\">\r\n <i class=\"material-icons\" (click)=\"clearSearch()\">clear</i>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <table mat-table [dataSource]=\"tableSource\">\r\n <ng-container *ngFor=\"let col of columns\" [matColumnDef]=\"col\" >\r\n <th mat-header-cell *matHeaderCellDef> {{(col === 'active') ? selectedLabel : initColumns[col]}} </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"col === 'active'\">\r\n <i *ngIf=\"checkActiveRow(element)\" class=\"material-icons active-row\">done</i>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"col !== 'active'\">\r\n {{element[col]}}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columns;\" (click)=\"rowClick(row)\" [ngClass]=\"{'active': checkActiveRow(row)}\"></tr>\r\n </table>\r\n <mat-paginator [pageSizeOptions]=\"[5]\"></mat-paginator>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {MatTableModule} from '@angular/material/table';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatIconModule} from '@angular/material/icon';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {MatFormFieldModule} from '@angular/material/form-field';\r\nimport {MatInputModule} from '@angular/material/input';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport {RouterModule} from '@angular/router';\r\nimport {MatSortModule} from \"@angular/material/sort\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {MatSelectModule} from \"@angular/material/select\";\r\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\r\nimport {ConfigurationsComponent} from './components/local-table/configurations/configurations.component';\r\nimport {LocalTableService} from \"./services/local-table.service\";\r\nimport {LocalTableComponent} from \"./components/local-table/local-table.component\";\r\nimport {StDateFormatModule} from \"ngx-st-date-format\";\r\nimport {SelectTable} from \"./components/select-table/select-table\";\r\n\r\n@NgModule({\r\n declarations: [\r\n LocalTableComponent,\r\n ConfigurationsComponent,\r\n SelectTable\r\n ],\r\n exports: [\r\n LocalTableComponent,\r\n SelectTable\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n StDateFormatModule,\r\n MatSortModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatCheckboxModule\r\n ],\r\n providers: [\r\n LocalTableService\r\n ]\r\n})\r\nexport class StTablesModule {\r\n}\r\n","/*\r\n * Public API Surface of ngx-st-tables\r\n */\r\n\r\nexport * from './lib/services/local-table.service';\r\nexport * from './lib/components/local-table/local-table.component';\r\nexport * from './lib/components/local-table/configurations/configurations.component';\r\nexport * from './lib/components/select-table/select-table';\r\nexport * from './lib/models/local-table/st-configurations-settings.model';\r\nexport * from './lib/models/local-table/st-global-search-settings.model';\r\nexport * from './lib/models/local-table/st-local-storage-configuration.model';\r\nexport * from './lib/models/local-table/st-local-table-column.model';\r\nexport * from './lib/models/local-table/st-local-table-columns.model';\r\nexport * from './lib/models/local-table/st-table-settings.model';\r\nexport * from './lib/st-tables.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i5","i7","i1.LocalTableService","i2","i3","i4","i6.ConfigurationsComponent","i13","i14"],"mappings":"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"}
|