@datarailsshared/datarailsshared 1.6.232 → 1.6.236
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/_storybook-styles.scss +3 -0
- package/assets/styles/_styles.scss +3 -0
- package/datarailsshared-datarailsshared-1.6.236.tgz +0 -0
- package/esm2022/lib/decorators/decorators.mjs +26 -0
- package/esm2022/lib/dr-grid/components/cells/cell-action/cell-action.component.mjs +95 -0
- package/esm2022/lib/dr-grid/components/cells/cell-badge-status/cell-badge-status.component.mjs +49 -0
- package/esm2022/lib/dr-grid/components/cells/cell-button/cell-button.component.mjs +38 -0
- package/esm2022/lib/dr-grid/components/cells/cell-checkbox/cell-checkbox.component.mjs +50 -0
- package/esm2022/lib/dr-grid/components/cells/cell-children-list/cell-children-list.component.mjs +141 -0
- package/esm2022/lib/dr-grid/components/cells/cell-custom-template/cell-custom-template.component.mjs +28 -0
- package/esm2022/lib/dr-grid/components/cells/cell-icon-actions/cell-icon-actions.component.mjs +101 -0
- package/esm2022/lib/dr-grid/components/cells/cell-icon-text-edit/cell-icon-text-edit.component.mjs +130 -0
- package/esm2022/lib/dr-grid/components/cells/cell-link/cell-link.component.mjs +94 -0
- package/esm2022/lib/dr-grid/components/cells/cell-select/cell-select.component.mjs +45 -0
- package/esm2022/lib/dr-grid/components/cells/cell-set-as-default/cell-set-as-default.component.mjs +48 -0
- package/esm2022/lib/dr-grid/components/cells/cell-split-rows/cell-split-rows.component.mjs +99 -0
- package/esm2022/lib/dr-grid/components/cells/cell-toggle/cell-toggle.component.mjs +38 -0
- package/esm2022/lib/dr-grid/components/cells/tbl-header/tbl-header.component.mjs +169 -0
- package/esm2022/lib/dr-grid/components/dr-grid-columns-filter-popover/dr-grid-columns-filter-popover.component.mjs +87 -0
- package/esm2022/lib/dr-grid/components/dr-grid-no-rows/dr-grid-no-rows.component.mjs +10 -0
- package/esm2022/lib/dr-grid/components/dr-grid-pagination/dr-grid-pagination.component.mjs +150 -0
- package/esm2022/lib/dr-grid/components/dr-grid-toolbar/dr-grid-toolbar.component.mjs +194 -0
- package/esm2022/lib/dr-grid/components/tbl-toggle-button-header/tbl-toggle-button-header.component.mjs +46 -0
- package/esm2022/lib/dr-grid/dr-grid.component.mjs +364 -0
- package/esm2022/lib/dr-grid/dr-grid.mjs +26 -0
- package/esm2022/lib/dr-grid/models/dr-grid-events.mjs +9 -0
- package/esm2022/lib/dr-grid/models/dr-grid-theme.mjs +27 -0
- package/esm2022/lib/dr-grid/models/interfaces.mjs +6 -0
- package/esm2022/lib/dr-grid/services/abstract-single-grid.mjs +136 -0
- package/esm2022/lib/dr-grid/services/grid-utils.mjs +53 -0
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +2 -2
- package/esm2022/lib/pipes/indeterminate/indeterminate.pipe.mjs +38 -0
- package/esm2022/local-api.mjs +6 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +2335 -265
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/decorators/decorators.d.ts +2 -0
- package/lib/dr-grid/components/cells/cell-action/cell-action.component.d.ts +37 -0
- package/lib/dr-grid/components/cells/cell-badge-status/cell-badge-status.component.d.ts +22 -0
- package/lib/dr-grid/components/cells/cell-button/cell-button.component.d.ts +19 -0
- package/lib/dr-grid/components/cells/cell-checkbox/cell-checkbox.component.d.ts +24 -0
- package/lib/dr-grid/components/cells/cell-children-list/cell-children-list.component.d.ts +21 -0
- package/lib/dr-grid/components/cells/cell-custom-template/cell-custom-template.component.d.ts +23 -0
- package/lib/dr-grid/components/cells/cell-icon-actions/cell-icon-actions.component.d.ts +35 -0
- package/lib/dr-grid/components/cells/cell-icon-text-edit/cell-icon-text-edit.component.d.ts +34 -0
- package/lib/dr-grid/components/cells/cell-link/cell-link.component.d.ts +33 -0
- package/lib/dr-grid/components/cells/cell-select/cell-select.component.d.ts +22 -0
- package/lib/dr-grid/components/cells/cell-set-as-default/cell-set-as-default.component.d.ts +16 -0
- package/lib/dr-grid/components/cells/cell-split-rows/cell-split-rows.component.d.ts +19 -0
- package/lib/dr-grid/components/cells/cell-toggle/cell-toggle.component.d.ts +15 -0
- package/lib/dr-grid/components/cells/tbl-header/tbl-header.component.d.ts +23 -0
- package/lib/dr-grid/components/dr-grid-columns-filter-popover/dr-grid-columns-filter-popover.component.d.ts +18 -0
- package/lib/dr-grid/components/dr-grid-no-rows/dr-grid-no-rows.component.d.ts +6 -0
- package/lib/dr-grid/components/dr-grid-pagination/dr-grid-pagination.component.d.ts +25 -0
- package/lib/dr-grid/components/dr-grid-toolbar/dr-grid-toolbar.component.d.ts +37 -0
- package/lib/dr-grid/components/tbl-toggle-button-header/tbl-toggle-button-header.component.d.ts +31 -0
- package/lib/dr-grid/dr-grid.component.d.ts +86 -0
- package/lib/dr-grid/dr-grid.d.ts +25 -0
- package/lib/dr-grid/models/dr-grid-events.d.ts +7 -0
- package/lib/dr-grid/models/dr-grid-theme.d.ts +3 -0
- package/lib/dr-grid/models/interfaces.d.ts +125 -0
- package/lib/dr-grid/services/abstract-single-grid.d.ts +37 -0
- package/lib/dr-grid/services/grid-utils.d.ts +11 -0
- package/lib/pipes/indeterminate/indeterminate.pipe.d.ts +12 -0
- package/local-api.d.ts +4 -1
- package/package.json +4 -2
- package/styles.css +7995 -0
- package/datarailsshared-datarailsshared-1.6.232.tgz +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { catchError, tap } from 'rxjs/operators';
|
|
2
|
+
import { Component, Inject, Injector, ViewChild } from '@angular/core';
|
|
3
|
+
import { isEqual as _isEqual } from 'lodash';
|
|
4
|
+
import { Router } from '@angular/router';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { getColumnSortingBySortType } from './grid-utils';
|
|
7
|
+
import { GridDrEventType } from '../models/dr-grid-events';
|
|
8
|
+
import { DrGridPaginationComponent } from '../components/dr-grid-pagination/dr-grid-pagination.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class AbstractSingleGridComponent {
|
|
11
|
+
set gridApi(api) {
|
|
12
|
+
if (this._gridApi === api) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this._gridApi = api;
|
|
16
|
+
if (api) {
|
|
17
|
+
this.subscribeOnSort();
|
|
18
|
+
this.subscribeOnUpdateTableParams();
|
|
19
|
+
this.subscribeCustomFilter();
|
|
20
|
+
this.subscribeMenuAction();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
get gridApi() {
|
|
24
|
+
return this._gridApi;
|
|
25
|
+
}
|
|
26
|
+
constructor(injector) {
|
|
27
|
+
this.startLoading$ = new BehaviorSubject(true);
|
|
28
|
+
this.router = injector.get(Router);
|
|
29
|
+
}
|
|
30
|
+
onChangeParams() { }
|
|
31
|
+
onAfterUpdateTableParams() { }
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
const search = this.router.routerState?.snapshot?.root?.queryParams?.['search'];
|
|
34
|
+
if (search) {
|
|
35
|
+
this.params.search = search;
|
|
36
|
+
this.router.navigate([], { queryParams: { search: null }, queryParamsHandling: 'merge' });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
getData(fetch$, noLoad) {
|
|
40
|
+
this.startLoading$.next(true);
|
|
41
|
+
return fetch$?.pipe(tap(() => this.startLoading$.next(false)), tap((res) => (this.count = res?.count)), catchError((err) => {
|
|
42
|
+
if (this.pagination) {
|
|
43
|
+
this.pagination.setCount = 0;
|
|
44
|
+
this.pagination.setPage = 1;
|
|
45
|
+
this.pagination.updatePagination();
|
|
46
|
+
delete this.params.page;
|
|
47
|
+
this.startLoading$.next(false);
|
|
48
|
+
}
|
|
49
|
+
throw err;
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
onSearch($event) {
|
|
53
|
+
if (this.pagination) {
|
|
54
|
+
this.pagination.page = 1;
|
|
55
|
+
this.pagination.updatePagination();
|
|
56
|
+
}
|
|
57
|
+
delete this.params.page;
|
|
58
|
+
if ($event && typeof $event === 'string') {
|
|
59
|
+
this.params.search = $event;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
delete this.params.search;
|
|
63
|
+
}
|
|
64
|
+
this.onChangeParams();
|
|
65
|
+
}
|
|
66
|
+
pageChange(page) {
|
|
67
|
+
if (page >= 1) {
|
|
68
|
+
this.params.page = page;
|
|
69
|
+
this.onChangeParams();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
delete this.params.page;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
onFilter($event) {
|
|
76
|
+
if ($event && !_isEqual(this.params.filter, $event)) {
|
|
77
|
+
this.params.filter = $event;
|
|
78
|
+
this.onChangeParams();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
subscribeOnSort() {
|
|
82
|
+
this.gridApi.drEvents.on(GridDrEventType.UPDATE_SORT).subscribe((sort) => {
|
|
83
|
+
if (this.params) {
|
|
84
|
+
const field = sort.header.column.getColDef().field;
|
|
85
|
+
this.params.ordering = getColumnSortingBySortType(sort.sort, field);
|
|
86
|
+
}
|
|
87
|
+
this.onChangeParams();
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
subscribeCustomFilter() {
|
|
91
|
+
this._gridApi.drEvents.on(GridDrEventType.UPDATE_FILTER).subscribe((filterMap) => {
|
|
92
|
+
if (this.params) {
|
|
93
|
+
this.params.filtering = filterMap;
|
|
94
|
+
this.onChangeParams();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
subscribeOnUpdateTableParams() {
|
|
99
|
+
this._gridApi.drEvents.on(GridDrEventType.UPDATE_PARAMS).subscribe((params) => {
|
|
100
|
+
if (this.params) {
|
|
101
|
+
this.params.filtering = params?.filtering;
|
|
102
|
+
this.params.ordering = params?.ordering;
|
|
103
|
+
}
|
|
104
|
+
params?.filtering?.forEach((filterText, columnName) => {
|
|
105
|
+
this.gridApi.drEvents.filtersMap.set(columnName, filterText);
|
|
106
|
+
});
|
|
107
|
+
this.onAfterUpdateTableParams();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
subscribeMenuAction() {
|
|
111
|
+
this._gridApi.drEvents
|
|
112
|
+
.on(GridDrEventType.MENU_ACTION)
|
|
113
|
+
.subscribe((item) => this.onMenuAction(item));
|
|
114
|
+
}
|
|
115
|
+
/** @nocollapse */ static { this.ɵfac = function AbstractSingleGridComponent_Factory(t) { return new (t || AbstractSingleGridComponent)(i0.ɵɵdirectiveInject(Injector)); }; }
|
|
116
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: AbstractSingleGridComponent, selectors: [["dr-abstract-single-grid"]], viewQuery: function AbstractSingleGridComponent_Query(rf, ctx) { if (rf & 1) {
|
|
117
|
+
i0.ɵɵviewQuery(DrGridPaginationComponent, 5);
|
|
118
|
+
} if (rf & 2) {
|
|
119
|
+
let _t;
|
|
120
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.pagination = _t.first);
|
|
121
|
+
} }, decls: 0, vars: 0, template: function AbstractSingleGridComponent_Template(rf, ctx) { }, encapsulation: 2 }); }
|
|
122
|
+
}
|
|
123
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AbstractSingleGridComponent, [{
|
|
124
|
+
type: Component,
|
|
125
|
+
args: [{
|
|
126
|
+
selector: 'dr-abstract-single-grid',
|
|
127
|
+
template: '',
|
|
128
|
+
}]
|
|
129
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
130
|
+
type: Inject,
|
|
131
|
+
args: [Injector]
|
|
132
|
+
}] }]; }, { pagination: [{
|
|
133
|
+
type: ViewChild,
|
|
134
|
+
args: [DrGridPaginationComponent]
|
|
135
|
+
}] }); })();
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2luZ2xlLWdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1ncmlkL3NlcnZpY2VzL2Fic3RyYWN0LXNpbmdsZS1ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOztBQU0xRyxNQUFNLE9BQWdCLDJCQUEyQjtJQUc3QyxJQUFJLE9BQU8sQ0FBQyxHQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxHQUFHLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFFcEIsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsSUFBSSxP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TUFBTSxFQUFFO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDM0M7WUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDakIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsSUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7K0dBeElpQiwyQkFBMkIsdUJBa0NmLFFBQVE7bUdBbENwQiwyQkFBMkI7MkJBK0JsQyx5QkFBeUI7Ozs7Ozt1RkEvQmxCLDJCQUEyQjtjQUpoRCxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsUUFBUSxFQUFFLEVBQUU7YUFDZjs7c0JBbUMwQixNQUFNO3VCQUFDLFFBQVE7d0JBSEEsVUFBVTtrQkFBL0MsU0FBUzttQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VxdWFsIGFzIF9pc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldENvbHVtblNvcnRpbmdCeVNvcnRUeXBlIH0gZnJvbSAnLi9ncmlkLXV0aWxzJztcbmltcG9ydCB7XG4gICAgR3JpZEFwaSxcbiAgICBJR3JpZERyRmlsdGVyRXZlbnQsXG4gICAgSUdyaWREck1lbnVBY3Rpb25FdmVudCxcbiAgICBJR3JpZERyU29ydEV2ZW50LFxuICAgIElHcmlkRHJVcGRhdGVQYXJhbXNFdmVudCxcbiAgICBJR3JpZFBhcmFtc0ZpbHRlcixcbiAgICBJR3JpZERhdGFXaXRoUGFnaW5hdGlvbixcbn0gZnJvbSAnLi4vbW9kZWxzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR3JpZERyRXZlbnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2RyLWdyaWQtZXZlbnRzJztcbmltcG9ydCB7IERyR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RyLWdyaWQtcGFnaW5hdGlvbi9kci1ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1hYnN0cmFjdC1zaW5nbGUtZ3JpZCcsXG4gICAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNpbmdsZUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgX2dyaWRBcGkhOiBHcmlkQXBpO1xuXG4gICAgc2V0IGdyaWRBcGkoYXBpOiBHcmlkQXBpKSB7XG4gICAgICAgIGlmICh0aGlzLl9ncmlkQXBpID09PSBhcGkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2dyaWRBcGkgPSBhcGk7XG5cbiAgICAgICAgaWYgKGFwaSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVPblNvcnQoKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlT25VcGRhdGVUYWJsZVBhcmFtcygpO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVDdXN0b21GaWx0ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlTWVudUFjdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGdyaWRBcGkoKTogR3JpZEFwaSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncmlkQXBpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWFkb25seSBzdGFydExvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIHBhcmFtczoge1xuICAgICAgICBzZWFyY2g/OiBzdHJpbmc7XG4gICAgICAgIHBhZ2U/OiBudW1iZXI7XG4gICAgICAgIGZpbHRlcj86IElHcmlkUGFyYW1zRmlsdGVyO1xuICAgICAgICBmaWx0ZXJpbmc/OiBJR3JpZERyRmlsdGVyRXZlbnQ7XG4gICAgICAgIG9yZGVyaW5nPzogc3RyaW5nO1xuICAgIH07XG4gICAgQFZpZXdDaGlsZChEckdyaWRQYWdpbmF0aW9uQ29tcG9uZW50KSBwYWdpbmF0aW9uOiBEckdyaWRQYWdpbmF0aW9uQ29tcG9uZW50O1xuICAgIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKEBJbmplY3QoSW5qZWN0b3IpIGluamVjdG9yKSB7XG4gICAgICAgIHRoaXMucm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VQYXJhbXMoKTogdm9pZCB7fVxuXG4gICAgb25BZnRlclVwZGF0ZVRhYmxlUGFyYW1zKCk6IHZvaWQge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWFyY2ggPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZT8uc25hcHNob3Q/LnJvb3Q/LnF1ZXJ5UGFyYW1zPy5bJ3NlYXJjaCddO1xuICAgICAgICBpZiAoc2VhcmNoKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmFtcy5zZWFyY2ggPSBzZWFyY2g7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwgeyBxdWVyeVBhcmFtczogeyBzZWFyY2g6IG51bGwgfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGE8VD4oZmV0Y2gkLCBub0xvYWQ/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc3RhcnRMb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICByZXR1cm4gZmV0Y2gkPy5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuc3RhcnRMb2FkaW5nJC5uZXh0KGZhbHNlKSksXG4gICAgICAgICAgICB0YXAoKHJlczogSUdyaWREYXRhV2l0aFBhZ2luYXRpb248VD4pID0+ICh0aGlzLmNvdW50ID0gcmVzPy5jb3VudCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24uc2V0Q291bnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24uc2V0UGFnZSA9IDE7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi51cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnBhcmFtcy5wYWdlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uU2VhcmNoKCRldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlID0gMTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbi51cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIHRoaXMucGFyYW1zLnBhZ2U7XG4gICAgICAgIGlmICgkZXZlbnQgJiYgdHlwZW9mICRldmVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zLnNlYXJjaCA9ICRldmVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnBhcmFtcy5zZWFyY2g7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZVBhcmFtcygpO1xuICAgIH1cblxuICAgIHBhZ2VDaGFuZ2UocGFnZTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChwYWdlID49IDEpIHtcbiAgICAgICAgICAgIHRoaXMucGFyYW1zLnBhZ2UgPSBwYWdlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVBhcmFtcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMucGFyYW1zLnBhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZpbHRlcigkZXZlbnQ6IElHcmlkUGFyYW1zRmlsdGVyKSB7XG4gICAgICAgIGlmICgkZXZlbnQgJiYgIV9pc0VxdWFsKHRoaXMucGFyYW1zLmZpbHRlciwgJGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5wYXJhbXMuZmlsdGVyID0gJGV2ZW50O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVBhcmFtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlT25Tb3J0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdyaWRBcGkuZHJFdmVudHMub24oR3JpZERyRXZlbnRUeXBlLlVQREFURV9TT1JUKS5zdWJzY3JpYmUoKHNvcnQ6IElHcmlkRHJTb3J0RXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gc29ydC5oZWFkZXIuY29sdW1uLmdldENvbERlZigpLmZpZWxkO1xuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLm9yZGVyaW5nID0gZ2V0Q29sdW1uU29ydGluZ0J5U29ydFR5cGUoc29ydC5zb3J0LCBmaWVsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlUGFyYW1zKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZUN1c3RvbUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZEFwaS5kckV2ZW50cy5vbihHcmlkRHJFdmVudFR5cGUuVVBEQVRFX0ZJTFRFUikuc3Vic2NyaWJlKChmaWx0ZXJNYXApID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLmZpbHRlcmluZyA9IGZpbHRlck1hcDtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlUGFyYW1zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZU9uVXBkYXRlVGFibGVQYXJhbXMoKSB7XG4gICAgICAgIHRoaXMuX2dyaWRBcGkuZHJFdmVudHMub24oR3JpZERyRXZlbnRUeXBlLlVQREFURV9QQVJBTVMpLnN1YnNjcmliZSgocGFyYW1zOiBJR3JpZERyVXBkYXRlUGFyYW1zRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtcykge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLmZpbHRlcmluZyA9IHBhcmFtcz8uZmlsdGVyaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLm9yZGVyaW5nID0gcGFyYW1zPy5vcmRlcmluZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFyYW1zPy5maWx0ZXJpbmc/LmZvckVhY2goKGZpbHRlclRleHQsIGNvbHVtbk5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRBcGkuZHJFdmVudHMuZmlsdGVyc01hcC5zZXQoY29sdW1uTmFtZSwgZmlsdGVyVGV4dCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5vbkFmdGVyVXBkYXRlVGFibGVQYXJhbXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlTWVudUFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZEFwaS5kckV2ZW50c1xuICAgICAgICAgICAgLm9uKEdyaWREckV2ZW50VHlwZS5NRU5VX0FDVElPTilcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IElHcmlkRHJNZW51QWN0aW9uRXZlbnQpID0+IHRoaXMub25NZW51QWN0aW9uKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25NZW51QWN0aW9uPyhpdGVtOiBJR3JpZERyTWVudUFjdGlvbkV2ZW50KTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GridSortDirections } from '../models/interfaces';
|
|
2
|
+
export const getColumnSortingBySortType = (sort, columnName) => {
|
|
3
|
+
if (sort) {
|
|
4
|
+
return sort === GridSortDirections.ASC ? `-${columnName}` : columnName;
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
return 'null';
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export const getSortTypeByColumnSorting = (columnSorting, columnName) => {
|
|
11
|
+
switch (columnSorting) {
|
|
12
|
+
case `${columnName}`:
|
|
13
|
+
return GridSortDirections.DESC;
|
|
14
|
+
case `-${columnName}`:
|
|
15
|
+
return GridSortDirections.ASC;
|
|
16
|
+
default:
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export const gridSumAggregation = (acc, value) => acc + value;
|
|
21
|
+
export const gridSortNumber = (valueA, valueB) => valueA - valueB;
|
|
22
|
+
export const gridSortArrayByLength = (valueA, valueB) => valueA.length - valueB.length;
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
export const gridSortDate = (valueA, valueB) => new Date(valueA) - new Date(valueB);
|
|
25
|
+
export const gridSortWithSystem = (key) => (a, b, an, bn) => an.data.system + `${an.data[key]}` > bn.data.system + `${bn.data[key]}`
|
|
26
|
+
? 1
|
|
27
|
+
: bn.data.system + `${bn.data[key]}` > an.data.system + `${an.data[key]}`
|
|
28
|
+
? -1
|
|
29
|
+
: 0;
|
|
30
|
+
export const gridSortWithFormatter = (key, formatter, useObject) => (a, b, an, bn) => {
|
|
31
|
+
const firstVal = useObject ? formatter(an.data) : formatter(an.data[key]);
|
|
32
|
+
const secondVal = useObject ? formatter(bn.data) : formatter(bn.data[key]);
|
|
33
|
+
return firstVal > secondVal ? 1 : secondVal > firstVal ? -1 : 0;
|
|
34
|
+
};
|
|
35
|
+
export const gridSortWithSystemAndFormatter = (key, formatter, useObject) => (a, b, an, bn) => {
|
|
36
|
+
const firstVal = useObject ? formatter(an.data) : formatter(an.data[key]);
|
|
37
|
+
const secondVal = useObject ? formatter(bn.data) : formatter(bn.data[key]);
|
|
38
|
+
return an.data.system + firstVal > bn.data.system + secondVal
|
|
39
|
+
? 1
|
|
40
|
+
: bn.data.system + secondVal > an.data.system + firstVal
|
|
41
|
+
? -1
|
|
42
|
+
: 0;
|
|
43
|
+
};
|
|
44
|
+
export const gridSortArrayWithSystem = (key) => (a, b, an, bn) => {
|
|
45
|
+
const firstVal = an.data[key] ? an.data[key].join(', ') : '';
|
|
46
|
+
const secondVal = bn.data[key] ? bn.data[key].join(', ') : '';
|
|
47
|
+
return an.data.system + firstVal > bn.data.system + secondVal
|
|
48
|
+
? 1
|
|
49
|
+
: bn.data.system + secondVal > an.data.system + firstVal
|
|
50
|
+
? -1
|
|
51
|
+
: 0;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWdyaWQvc2VydmljZXMvZ3JpZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxJQUE4QixFQUFFLFVBQWtCLEVBQVUsRUFBRTtJQUNyRyxJQUFJLElBQUksRUFBRTtRQUNOLE9BQU8sSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0tBQzFFO1NBQU07UUFDSCxPQUFPLE1BQU0sQ0FBQztLQUNqQjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsYUFBcUIsRUFBRSxVQUFrQixFQUE0QixFQUFFO0lBQzlHLFFBQVEsYUFBYSxFQUFFO1FBQ25CLEtBQUssR0FBRyxVQUFVLEVBQUU7WUFDaEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDbkMsS0FBSyxJQUFJLFVBQVUsRUFBRTtZQUNqQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUNsQztZQUNJLE9BQU8sSUFBSSxDQUFDO0tBQ25CO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFVLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBRXRGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWMsRUFBRSxNQUFjLEVBQVUsRUFBRSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFhLEVBQUUsTUFBYSxFQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7QUFFN0csYUFBYTtBQUNiLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQXVCLEVBQUUsTUFBdUIsRUFBVSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDeEQsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN2RSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVkLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDbEYsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxPQUFPLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0lBQzNGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFM0UsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUTtZQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUU5RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRO1lBQ3RELENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JpZFNvcnREaXJlY3Rpb24sIEdyaWRTb3J0RGlyZWN0aW9ucyB9IGZyb20gJy4uL21vZGVscy9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtblNvcnRpbmdCeVNvcnRUeXBlID0gKHNvcnQ6IEdyaWRTb3J0RGlyZWN0aW9uIHwgbnVsbCwgY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAoc29ydCkge1xuICAgICAgICByZXR1cm4gc29ydCA9PT0gR3JpZFNvcnREaXJlY3Rpb25zLkFTQyA/IGAtJHtjb2x1bW5OYW1lfWAgOiBjb2x1bW5OYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnbnVsbCc7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNvcnRUeXBlQnlDb2x1bW5Tb3J0aW5nID0gKGNvbHVtblNvcnRpbmc6IHN0cmluZywgY29sdW1uTmFtZTogc3RyaW5nKTogR3JpZFNvcnREaXJlY3Rpb24gfCBudWxsID0+IHtcbiAgICBzd2l0Y2ggKGNvbHVtblNvcnRpbmcpIHtcbiAgICAgICAgY2FzZSBgJHtjb2x1bW5OYW1lfWA6XG4gICAgICAgICAgICByZXR1cm4gR3JpZFNvcnREaXJlY3Rpb25zLkRFU0M7XG4gICAgICAgIGNhc2UgYC0ke2NvbHVtbk5hbWV9YDpcbiAgICAgICAgICAgIHJldHVybiBHcmlkU29ydERpcmVjdGlvbnMuQVNDO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdyaWRTdW1BZ2dyZWdhdGlvbiA9IChhY2M6IG51bWJlciwgdmFsdWU6IG51bWJlcik6IG51bWJlciA9PiBhY2MgKyB2YWx1ZTtcblxuZXhwb3J0IGNvbnN0IGdyaWRTb3J0TnVtYmVyID0gKHZhbHVlQTogbnVtYmVyLCB2YWx1ZUI6IG51bWJlcik6IG51bWJlciA9PiB2YWx1ZUEgLSB2YWx1ZUI7XG5cbmV4cG9ydCBjb25zdCBncmlkU29ydEFycmF5QnlMZW5ndGggPSAodmFsdWVBOiBhbnlbXSwgdmFsdWVCOiBhbnlbXSk6IG51bWJlciA9PiB2YWx1ZUEubGVuZ3RoIC0gdmFsdWVCLmxlbmd0aDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IGdyaWRTb3J0RGF0ZSA9ICh2YWx1ZUE6IHN0cmluZyB8IG51bWJlciwgdmFsdWVCOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgPT4gbmV3IERhdGUodmFsdWVBKSAtIG5ldyBEYXRlKHZhbHVlQik7XG5cbmV4cG9ydCBjb25zdCBncmlkU29ydFdpdGhTeXN0ZW0gPSAoa2V5KSA9PiAoYSwgYiwgYW4sIGJuKSA9PlxuICAgIGFuLmRhdGEuc3lzdGVtICsgYCR7YW4uZGF0YVtrZXldfWAgPiBibi5kYXRhLnN5c3RlbSArIGAke2JuLmRhdGFba2V5XX1gXG4gICAgICAgID8gMVxuICAgICAgICA6IGJuLmRhdGEuc3lzdGVtICsgYCR7Ym4uZGF0YVtrZXldfWAgPiBhbi5kYXRhLnN5c3RlbSArIGAke2FuLmRhdGFba2V5XX1gXG4gICAgICAgICAgPyAtMVxuICAgICAgICAgIDogMDtcblxuZXhwb3J0IGNvbnN0IGdyaWRTb3J0V2l0aEZvcm1hdHRlciA9IChrZXksIGZvcm1hdHRlciwgdXNlT2JqZWN0PykgPT4gKGEsIGIsIGFuLCBibikgPT4ge1xuICAgIGNvbnN0IGZpcnN0VmFsID0gdXNlT2JqZWN0ID8gZm9ybWF0dGVyKGFuLmRhdGEpIDogZm9ybWF0dGVyKGFuLmRhdGFba2V5XSk7XG4gICAgY29uc3Qgc2Vjb25kVmFsID0gdXNlT2JqZWN0ID8gZm9ybWF0dGVyKGJuLmRhdGEpIDogZm9ybWF0dGVyKGJuLmRhdGFba2V5XSk7XG4gICAgcmV0dXJuIGZpcnN0VmFsID4gc2Vjb25kVmFsID8gMSA6IHNlY29uZFZhbCA+IGZpcnN0VmFsID8gLTEgOiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyaWRTb3J0V2l0aFN5c3RlbUFuZEZvcm1hdHRlciA9IChrZXksIGZvcm1hdHRlciwgdXNlT2JqZWN0PykgPT4gKGEsIGIsIGFuLCBibikgPT4ge1xuICAgIGNvbnN0IGZpcnN0VmFsID0gdXNlT2JqZWN0ID8gZm9ybWF0dGVyKGFuLmRhdGEpIDogZm9ybWF0dGVyKGFuLmRhdGFba2V5XSk7XG4gICAgY29uc3Qgc2Vjb25kVmFsID0gdXNlT2JqZWN0ID8gZm9ybWF0dGVyKGJuLmRhdGEpIDogZm9ybWF0dGVyKGJuLmRhdGFba2V5XSk7XG5cbiAgICByZXR1cm4gYW4uZGF0YS5zeXN0ZW0gKyBmaXJzdFZhbCA+IGJuLmRhdGEuc3lzdGVtICsgc2Vjb25kVmFsXG4gICAgICAgID8gMVxuICAgICAgICA6IGJuLmRhdGEuc3lzdGVtICsgc2Vjb25kVmFsID4gYW4uZGF0YS5zeXN0ZW0gKyBmaXJzdFZhbFxuICAgICAgICAgID8gLTFcbiAgICAgICAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3QgZ3JpZFNvcnRBcnJheVdpdGhTeXN0ZW0gPSAoa2V5KSA9PiAoYSwgYiwgYW4sIGJuKSA9PiB7XG4gICAgY29uc3QgZmlyc3RWYWwgPSBhbi5kYXRhW2tleV0gPyBhbi5kYXRhW2tleV0uam9pbignLCAnKSA6ICcnO1xuICAgIGNvbnN0IHNlY29uZFZhbCA9IGJuLmRhdGFba2V5XSA/IGJuLmRhdGFba2V5XS5qb2luKCcsICcpIDogJyc7XG5cbiAgICByZXR1cm4gYW4uZGF0YS5zeXN0ZW0gKyBmaXJzdFZhbCA+IGJuLmRhdGEuc3lzdGVtICsgc2Vjb25kVmFsXG4gICAgICAgID8gMVxuICAgICAgICA6IGJuLmRhdGEuc3lzdGVtICsgc2Vjb25kVmFsID4gYW4uZGF0YS5zeXN0ZW0gKyBmaXJzdFZhbFxuICAgICAgICAgID8gLTFcbiAgICAgICAgICA6IDA7XG59O1xuIl19
|