@angular-generic-table/core 5.0.0-rc.16 → 5.0.0-rc.17
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/esm2020/lib/core.component.mjs +83 -24
- package/esm2020/lib/models/gt-pagination.mjs +1 -1
- package/esm2020/lib/models/table-events.interface.mjs +1 -1
- package/esm2020/lib/models/table-info.interface.mjs +1 -1
- package/esm2020/lib/pagination/pagination.component.mjs +86 -27
- package/esm2020/lib/utilities/utilities.mjs +36 -1
- package/esm2020/public-api.mjs +8 -1
- package/fesm2015/angular-generic-table-core.mjs +206 -53
- package/fesm2015/angular-generic-table-core.mjs.map +1 -1
- package/fesm2020/angular-generic-table-core.mjs +202 -49
- package/fesm2020/angular-generic-table-core.mjs.map +1 -1
- package/lib/core.component.d.ts +20 -7
- package/lib/models/gt-pagination.d.ts +8 -0
- package/lib/models/table-events.interface.d.ts +4 -0
- package/lib/models/table-info.interface.d.ts +3 -1
- package/lib/pagination/pagination.component.d.ts +49 -11
- package/lib/utilities/utilities.d.ts +21 -1
- package/package.json +1 -1
- package/public-api.d.ts +7 -0
- package/scss/index.scss +6 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXZlbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtZXZlbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuL3RhYmxlLXJvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3RPcmRlciwgR3RTb3J0T3JkZXIgfSBmcm9tICcuL3RhYmxlLXNvcnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBHdFJvd0NsaWNrRXZlbnQ8UiA9IFRhYmxlUm93PiB7XG4gIHJvdzogUjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3RSb3dIb3ZlckV2ZW50PFIgPSBUYWJsZVJvdz4ge1xuICByb3c6IFIgfCBudWxsO1xuICBpbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgZXZlbnQ/OiBNb3VzZUV2ZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd0U29ydEV2ZW50PFIgPSBUYWJsZVJvdz4ge1xuICBrZXk6IGtleW9mIFI7XG4gIG9yZGVyOiBHdE9yZGVyO1xuICBjdXJyZW50U29ydE9yZGVyOiBHdFNvcnRPcmRlcjxSPjtcbiAgZXZlbnQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXZlbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtZXZlbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuL3RhYmxlLXJvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3RPcmRlciwgR3RTb3J0T3JkZXIgfSBmcm9tICcuL3RhYmxlLXNvcnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBHdFJvd0NsaWNrRXZlbnQ8UiA9IFRhYmxlUm93PiB7XG4gIHJvdzogUjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3RSb3dIb3ZlckV2ZW50PFIgPSBUYWJsZVJvdz4ge1xuICByb3c6IFIgfCBudWxsO1xuICBpbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgZXZlbnQ/OiBNb3VzZUV2ZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd0U29ydEV2ZW50PFIgPSBUYWJsZVJvdz4ge1xuICBrZXk6IGtleW9mIFI7XG4gIG9yZGVyOiBHdE9yZGVyO1xuICBjdXJyZW50U29ydE9yZGVyOiBHdFNvcnRPcmRlcjxSPjtcbiAgZXZlbnQ/OiBNb3VzZUV2ZW50O1xuICBhZGRTb3J0S2V5OiBib29sZWFuIC8qKiBBZGQgYWRkaXRpb25hbCBrZXkgdG8gc29ydCBvbiBtdWx0aXBsZSBwcm9wZXJ0aWVzPyBUcnVlIGlmIHRoZSB1c2VyIGlzIGhvbGRpbmcgc2hpZnQgd2hpbGUgc29ydGluZyAqLztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHdFBhZ2VDaGFuZ2VFdmVudCB7XG4gIGluZGV4OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5mby5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL3RhYmxlLWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhYmxlSW5mbyB7XG4gIG51bWJlck9mUmVjb3JkczogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlVG90YWw6IG51bWJlcjtcbiAgbGF6eUxvYWRlZD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import { combineLatest, ReplaySubject } from 'rxjs';
|
|
3
|
-
import { map, pluck, switchMap } from 'rxjs/operators';
|
|
4
|
-
import {
|
|
3
|
+
import { map, pluck, shareReplay, switchMap } from 'rxjs/operators';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
6
7
|
export class PaginationComponent {
|
|
7
8
|
constructor() {
|
|
8
|
-
this.
|
|
9
|
+
this._table$ = new ReplaySubject(1);
|
|
9
10
|
this._ariaLabels = {
|
|
10
11
|
nav: 'Table pagination',
|
|
11
12
|
button: 'Go to page ',
|
|
@@ -16,58 +17,111 @@ export class PaginationComponent {
|
|
|
16
17
|
button: 'page-link',
|
|
17
18
|
};
|
|
18
19
|
this._paginationLength = 5;
|
|
19
|
-
|
|
20
|
+
/** paginationListItems$ - observable for page numbers to show based on number of pages and current position */
|
|
21
|
+
this.paginationListItems$ = this._table$.pipe(switchMap((core) => combineLatest([
|
|
22
|
+
core?.table$.pipe(pluck('info')),
|
|
23
|
+
core?.currentPaginationIndex$,
|
|
24
|
+
])), map(([info, currentPage]) => this._generateList(info.pageTotal, currentPage)), shareReplay(1));
|
|
25
|
+
}
|
|
26
|
+
get pagingInfo() {
|
|
27
|
+
return (this._pagingInfo || {
|
|
28
|
+
pageNext: null,
|
|
29
|
+
pageCurrent: null,
|
|
30
|
+
pagePrevious: null,
|
|
31
|
+
pageSize: null,
|
|
32
|
+
numberOfRecords: null,
|
|
33
|
+
pageTotal: null,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/** pagingInfo
|
|
37
|
+
* @description when provided, pagination component will use this information to render pagination instead of data from table. Use this option when pagination is handled by backend (server side).
|
|
38
|
+
* @type info - metadata for pagination component
|
|
39
|
+
*/
|
|
40
|
+
set pagingInfo(info) {
|
|
41
|
+
this._pagingInfo = info;
|
|
20
42
|
}
|
|
21
43
|
get paginationLength() {
|
|
22
44
|
return this._paginationLength;
|
|
23
45
|
}
|
|
24
|
-
|
|
25
|
-
|
|
46
|
+
/** paginationLength
|
|
47
|
+
* @description number of buttons to show in pagination
|
|
48
|
+
* @type length - number of buttons to show. Defaults to: `5`
|
|
49
|
+
*/
|
|
50
|
+
set paginationLength(length) {
|
|
51
|
+
this._paginationLength = +length;
|
|
26
52
|
}
|
|
27
53
|
get classes() {
|
|
28
54
|
return this._classes;
|
|
29
55
|
}
|
|
30
|
-
|
|
31
|
-
|
|
56
|
+
/** classes
|
|
57
|
+
* @description classes that should be used within pagination component for different elements
|
|
58
|
+
* @type classes - classes to be used. Defaults to: `{
|
|
59
|
+
* ul: 'pagination',
|
|
60
|
+
* li: 'page-item',
|
|
61
|
+
* button: 'page-link',
|
|
62
|
+
* }`
|
|
63
|
+
*/
|
|
64
|
+
set classes(classes) {
|
|
65
|
+
this._classes = classes;
|
|
32
66
|
}
|
|
33
67
|
get ariaLabels() {
|
|
34
68
|
return this._ariaLabels;
|
|
35
69
|
}
|
|
36
|
-
|
|
37
|
-
|
|
70
|
+
/** ariaLabels
|
|
71
|
+
* @description aria labels that describe pagination component
|
|
72
|
+
* @type labels - aria labels for pagination. Defaults to: `{
|
|
73
|
+
* nav: 'Table pagination',
|
|
74
|
+
* button: 'Go to page ',
|
|
75
|
+
* }`
|
|
76
|
+
*/
|
|
77
|
+
set ariaLabels(labels) {
|
|
78
|
+
this._ariaLabels = labels;
|
|
38
79
|
}
|
|
39
80
|
get table() {
|
|
40
81
|
return this._table;
|
|
41
82
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
83
|
+
/** table
|
|
84
|
+
* @description table component to which pagination is attached
|
|
85
|
+
* @type tableRef - table component
|
|
86
|
+
*/
|
|
87
|
+
set table(tableRef) {
|
|
88
|
+
this._table = tableRef;
|
|
89
|
+
this._table$.next(tableRef);
|
|
45
90
|
}
|
|
46
|
-
|
|
91
|
+
/** generate list - generate an array with page numbers to show based on number of pages and current position
|
|
92
|
+
* @param numberOfPages number of pages to show
|
|
93
|
+
* @param currentPosition current position (page index) being shown in table
|
|
94
|
+
* @returns Array<number> array of page numbers to show
|
|
95
|
+
*/
|
|
96
|
+
_generateList(numberOfPages, currentPosition) {
|
|
47
97
|
const middle = Math.floor(this.paginationLength / 2);
|
|
48
|
-
const length =
|
|
98
|
+
const length = numberOfPages < this.paginationLength
|
|
99
|
+
? numberOfPages
|
|
100
|
+
: this.paginationLength;
|
|
49
101
|
return Array.from({ length }, (_, i) => {
|
|
50
102
|
if (i === 0) {
|
|
51
103
|
return 1;
|
|
52
104
|
}
|
|
53
|
-
else if (
|
|
105
|
+
else if (numberOfPages < this.paginationLength) {
|
|
54
106
|
return i + 1;
|
|
55
107
|
}
|
|
56
108
|
else if (i + 1 === length) {
|
|
57
|
-
return
|
|
109
|
+
return numberOfPages;
|
|
58
110
|
}
|
|
59
|
-
else if (currentPosition > middle &&
|
|
111
|
+
else if (currentPosition > middle &&
|
|
112
|
+
currentPosition < numberOfPages - middle) {
|
|
60
113
|
return i + currentPosition - (middle - 1);
|
|
61
114
|
}
|
|
62
115
|
else if (currentPosition > middle &&
|
|
63
|
-
currentPosition <
|
|
116
|
+
currentPosition < numberOfPages - (middle - 1)) {
|
|
64
117
|
return i + currentPosition - middle;
|
|
65
118
|
}
|
|
66
119
|
else if (currentPosition > middle &&
|
|
67
|
-
currentPosition ===
|
|
120
|
+
currentPosition === numberOfPages - (middle - 1)) {
|
|
68
121
|
return i + currentPosition - (middle + 1);
|
|
69
122
|
}
|
|
70
|
-
else if (currentPosition > middle &&
|
|
123
|
+
else if (currentPosition > middle &&
|
|
124
|
+
currentPosition === numberOfPages - 1) {
|
|
71
125
|
return i + currentPosition - (middle + 2);
|
|
72
126
|
}
|
|
73
127
|
else {
|
|
@@ -75,18 +129,23 @@ export class PaginationComponent {
|
|
|
75
129
|
}
|
|
76
130
|
});
|
|
77
131
|
}
|
|
78
|
-
|
|
132
|
+
/** go to page
|
|
133
|
+
* @param index - page index to go to
|
|
134
|
+
*/
|
|
135
|
+
goToPage(index) {
|
|
79
136
|
if (this.table) {
|
|
80
|
-
this.table.
|
|
137
|
+
this.table.paginationIndex = index - 1;
|
|
81
138
|
}
|
|
82
139
|
}
|
|
83
140
|
}
|
|
84
141
|
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PaginationComponent, isStandalone: true, selector: "angular-generic-table-pagination", inputs: { paginationLength: "paginationLength", classes: "classes", ariaLabels: "ariaLabels", table: "table" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n links:
|
|
142
|
+
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PaginationComponent, isStandalone: true, selector: "angular-generic-table-pagination", inputs: { pagingInfo: "pagingInfo", paginationLength: "paginationLength", classes: "classes", ariaLabels: "ariaLabels", table: "table" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n links: paginationListItems$ | async,\n currentPosition: table?.currentPaginationIndex$ | async\n } as pagination\"\n>\n <nav\n *ngIf=\"pagination.links && pagination.links.length > 1\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabels.nav\"\n class=\"gt-pagination\"\n [class]=\"classes.nav\"\n >\n <ul [class]=\"classes.ul\">\n <ng-container\n *ngFor=\"\n let position of pagination!.links;\n let i = index;\n let last = last\n \"\n >\n <li\n [class]=\"classes.li\"\n [class.active]=\"position === (pagination!.currentPosition || 0) + 1\"\n >\n <button\n [class]=\"classes.button\"\n [attr.aria-label]=\"ariaLabels.button + position\"\n (click)=\"goToPage(position)\"\n >\n {{ position }}\n </button>\n </li>\n <li\n [class]=\"classes.li\"\n class=\"gt-ellipsis\"\n *ngIf=\"position + 1 !== pagination!.links![i + 1] && !last\"\n >\n <button [class]=\"classes.button\" disabled tabindex=\"-1\"></button>\n </li>\n </ng-container>\n </ul>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
86
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
87
144
|
type: Component,
|
|
88
|
-
args: [{ selector: 'angular-generic-table-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
89
|
-
}], propDecorators: {
|
|
145
|
+
args: [{ selector: 'angular-generic-table-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<ng-container\n *ngIf=\"{\n links: paginationListItems$ | async,\n currentPosition: table?.currentPaginationIndex$ | async\n } as pagination\"\n>\n <nav\n *ngIf=\"pagination.links && pagination.links.length > 1\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabels.nav\"\n class=\"gt-pagination\"\n [class]=\"classes.nav\"\n >\n <ul [class]=\"classes.ul\">\n <ng-container\n *ngFor=\"\n let position of pagination!.links;\n let i = index;\n let last = last\n \"\n >\n <li\n [class]=\"classes.li\"\n [class.active]=\"position === (pagination!.currentPosition || 0) + 1\"\n >\n <button\n [class]=\"classes.button\"\n [attr.aria-label]=\"ariaLabels.button + position\"\n (click)=\"goToPage(position)\"\n >\n {{ position }}\n </button>\n </li>\n <li\n [class]=\"classes.li\"\n class=\"gt-ellipsis\"\n *ngIf=\"position + 1 !== pagination!.links![i + 1] && !last\"\n >\n <button [class]=\"classes.button\" disabled tabindex=\"-1\"></button>\n </li>\n </ng-container>\n </ul>\n </nav>\n</ng-container>\n" }]
|
|
146
|
+
}], propDecorators: { pagingInfo: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], paginationLength: [{
|
|
90
149
|
type: Input
|
|
91
150
|
}], classes: [{
|
|
92
151
|
type: Input
|
|
@@ -95,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
95
154
|
}], table: [{
|
|
96
155
|
type: Input
|
|
97
156
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUzNELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFxQ0UsV0FBTSxHQUFpQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRCxnQkFBVyxHQUEyQjtZQUM1QyxHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLE1BQU0sRUFBRSxhQUFhO1NBQ3RCLENBQUM7UUFDTSxhQUFRLEdBQXdCO1lBQ3RDLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxXQUFXO1lBQ2YsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQztRQUNNLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM1QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNqQixhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFD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QU07Z0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnSEFyRlUsbUJBQW1CO29HQUFuQixtQkFBbUIsNE1DakJoQyxndENBNENBLHVDRDdCWSxTQUFTLDhDQUFFLElBQUksNkZBQUUsT0FBTzsyRkFFdkIsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGtDQUFrQyxtQkFFM0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzs4QkFPdEIsZ0JBQWdCO3NCQUE1QixLQUFLO2dCQU9PLE9BQU87c0JBQW5CLEtBQUs7Z0JBT08sVUFBVTtzQkFBdEIsS0FBSztnQkFNTyxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgcGx1Y2ssIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvcmVDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBHdFBhZ2luYXRpb25BcmlhTGFiZWxzLFxuICBHdFBhZ2luYXRpb25DbGFzc2VzLFxufSBmcm9tICcuLi9tb2RlbHMvZ3QtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nRm9yT2YsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLWdlbmVyaWMtdGFibGUtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWYsIE5nRm9yT2ZdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgZ2V0IHBhZ2luYXRpb25MZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnaW5hdGlvbkxlbmd0aDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBwYWdpbmF0aW9uTGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9wYWdpbmF0aW9uTGVuZ3RoID0gK3ZhbHVlO1xuICB9XG4gIGdldCBjbGFzc2VzKCk6IEd0UGFnaW5hdGlvbkNsYXNzZXMge1xuICAgIHJldHVybiB0aGlzLl9jbGFzc2VzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGNsYXNzZXModmFsdWU6IEd0UGFnaW5hdGlvbkNsYXNzZXMpIHtcbiAgICB0aGlzLl9jbGFzc2VzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGFyaWFMYWJlbHMoKTogR3RQYWdpbmF0aW9uQXJpYUxhYmVscyB7XG4gICAgcmV0dXJuIHRoaXMuX2FyaWFMYWJlbHM7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXJpYUxhYmVscyh2YWx1ZTogR3RQYWdpbmF0aW9uQXJpYUxhYmVscykge1xuICAgIHRoaXMuX2FyaWFMYWJlbHMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgdGFibGUoKTogQ29yZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIDxDb3JlQ29tcG9uZW50PnRoaXMuX3RhYmxlO1xuICB9XG4gIEBJbnB1dCgpIHNldCB0YWJsZSh2YWx1ZTogQ29yZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX3RhYmxlID0gdmFsdWU7XG4gICAgdGhpcy50YWJsZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICB0YWJsZSQ6IFJlcGxheVN1YmplY3Q8Q29yZUNvbXBvbmVudD4gPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgcHJpdmF0ZSBfdGFibGU6IENvcmVDb21wb25lbnQgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2FyaWFMYWJlbHM6IEd0UGFnaW5hdGlvbkFyaWFMYWJlbHMgPSB7XG4gICAgbmF2OiAnVGFibGUgcGFnaW5hdGlvbicsXG4gICAgYnV0dG9uOiAnR28gdG8gcGFnZSAnLFxuICB9O1xuICBwcml2YXRlIF9jbGFzc2VzOiBHdFBhZ2luYXRpb25DbGFzc2VzID0ge1xuICAgIHVsOiAncGFnaW5hdGlvbicsXG4gICAgbGk6ICdwYWdlLWl0ZW0nLFxuICAgIGJ1dHRvbjogJ3BhZ2UtbGluaycsXG4gIH07XG4gIHByaXZhdGUgX3BhZ2luYXRpb25MZW5ndGg6IG51bWJlciA9IDU7XG4gIHBhZ2luYXRpb24kID0gdGhpcy50YWJsZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGNvcmUpID0+XG4gICAgICBjb21iaW5lTGF0ZXN0KFtjb3JlPy50YWJsZSQucGlwZShwbHVjaygnaW5mbycpKSwgY29yZT8uY3VycmVudFBhZ2UkXSlcbiAgICApLFxuICAgIG1hcCgoW2luZm8sIGN1cnJlbnRQYWdlXSkgPT4gdGhpcy5nZW5lcmF0ZUxpc3QoaW5mby5wYWdlVG90YWwsIGN1cnJlbnRQYWdlKSlcbiAgKTtcblxuICBnZW5lcmF0ZUxpc3QocGFnZXM6IG51bWJlciwgY3VycmVudFBvc2l0aW9uOiBudW1iZXIpOiBBcnJheTxudW1iZXI+IHtcbiAgICBjb25zdCBtaWRkbGUgPSBNYXRoLmZsb29yKHRoaXMucGFnaW5hdGlvbkxlbmd0aCAvIDIpO1xuICAgIGNvbnN0IGxlbmd0aCA9XG4gICAgICBwYWdlcyA8IHRoaXMucGFnaW5hdGlvbkxlbmd0aCA/IHBhZ2VzIDogdGhpcy5wYWdpbmF0aW9uTGVuZ3RoO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgKF8sIGkpID0+IHtcbiAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfSBlbHNlIGlmIChwYWdlcyA8IHRoaXMucGFnaW5hdGlvbkxlbmd0aCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9IGVsc2UgaWYgKGkgKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHBhZ2VzO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50UG9zaXRpb24gPiBtaWRkbGUgJiYgY3VycmVudFBvc2l0aW9uIDwgcGFnZXMgLSBtaWRkbGUpIHtcbiAgICAgICAgcmV0dXJuIGkgKyBjdXJyZW50UG9zaXRpb24gLSAobWlkZGxlIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPiBtaWRkbGUgJiZcbiAgICAgICAgY3VycmVudFBvc2l0aW9uIDwgcGFnZXMgLSAobWlkZGxlIC0gMSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIG1pZGRsZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJlxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPT09IHBhZ2VzIC0gKG1pZGRsZSAtIDEpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGkgKyBjdXJyZW50UG9zaXRpb24gLSAobWlkZGxlICsgMSk7XG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJiBjdXJyZW50UG9zaXRpb24gPT09IHBhZ2VzIC0gMSkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIChtaWRkbGUgKyAyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpICsgMTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdvdG8ocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFibGUpIHtcbiAgICAgIHRoaXMudGFibGUucGFnZSA9IHBhZ2UgLSAxO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBsaW5rczogcGFnaW5hdGlvbiQgfCBhc3luYyxcbiAgICBjdXJyZW50UG9zaXRpb246IHRhYmxlPy5jdXJyZW50UGFnZSQgfCBhc3luY1xuICB9IGFzIHBhZ2luYXRpb25cIlxuPlxuICA8bmF2XG4gICAgKm5nSWY9XCJwYWdpbmF0aW9uLmxpbmtzICYmIHBhZ2luYXRpb24ubGlua3MubGVuZ3RoID4gMVwiXG4gICAgcm9sZT1cIm5hdmlnYXRpb25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVscy5uYXZcIlxuICAgIGNsYXNzPVwiZ3QtcGFnaW5hdGlvblwiXG4gICAgW2NsYXNzXT1cImNsYXNzZXMubmF2XCJcbiAgPlxuICAgIDx1bCBbY2xhc3NdPVwiY2xhc3Nlcy51bFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgcG9zaXRpb24gb2YgcGFnaW5hdGlvbiEubGlua3M7XG4gICAgICAgICAgbGV0IGkgPSBpbmRleDtcbiAgICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGxpXG4gICAgICAgICAgW2NsYXNzXT1cImNsYXNzZXMubGlcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwicG9zaXRpb24gPT09IChwYWdpbmF0aW9uIS5jdXJyZW50UG9zaXRpb24gfHwgMCkgKyAxXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIFtjbGFzc109XCJjbGFzc2VzLmJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbHMuYnV0dG9uICsgcG9zaXRpb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImdvdG8ocG9zaXRpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwb3NpdGlvbiB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICBbY2xhc3NdPVwiY2xhc3Nlcy5saVwiXG4gICAgICAgICAgY2xhc3M9XCJndC1lbGxpcHNpc1wiXG4gICAgICAgICAgKm5nSWY9XCJwb3NpdGlvbiArIDEgIT09IHBhZ2luYXRpb24hLmxpbmtzIVtpICsgMV0gJiYgIWxhc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiY2xhc3Nlcy5idXR0b25cIiBkaXNhYmxlZCB0YWJpbmRleD1cIi0xXCI+PC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFpRlUsWUFBTyxHQUFpQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUEyQjtZQUM1QyxHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLE1BQU0sRUFBRSxhQUFhO1NBQ3RCLENBQUM7UUFDTSxhQUFRLEdBQXdCO1lBQ3RDLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxXQUFXO1lBQ2YsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQztRQUNNLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUV0QyxnSEFBZ0g7UUFDaEgseUJBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFN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ZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBsdWNrLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEd0UGFnaW5hdGlvbkFyaWFMYWJlbHMsXG4gIEd0UGFnaW5hdGlvbkNsYXNzZXMsXG4gIEd0UGFnaW5hdGlvbkluZm8sXG59IGZyb20gJy4uL21vZGVscy9ndC1wYWdpbmF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItZ2VuZXJpYy10YWJsZS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBnZXQgcGFnaW5nSW5mbygpOiBHdFBhZ2luYXRpb25JbmZvIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fcGFnaW5nSW5mbyB8fCB7XG4gICAgICAgIHBhZ2VOZXh0OiBudWxsLFxuICAgICAgICBwYWdlQ3VycmVudDogbnVsbCxcbiAgICAgICAgcGFnZVByZXZpb3VzOiBudWxsLFxuICAgICAgICBwYWdlU2l6ZTogbnVsbCxcbiAgICAgICAgbnVtYmVyT2ZSZWNvcmRzOiBudWxsLFxuICAgICAgICBwYWdlVG90YWw6IG51bGwsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuICAvKiogcGFnaW5nSW5mb1xuICAgKiBAZGVzY3JpcHRpb24gd2hlbiBwcm92aWRlZCwgcGFnaW5hdGlvbiBjb21wb25lbnQgd2lsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byByZW5kZXIgcGFnaW5hdGlvbiBpbnN0ZWFkIG9mIGRhdGEgZnJvbSB0YWJsZS4gVXNlIHRoaXMgb3B0aW9uIHdoZW4gcGFnaW5hdGlvbiBpcyBoYW5kbGVkIGJ5IGJhY2tlbmQgKHNlcnZlciBzaWRlKS5cbiAgICogQHR5cGUgaW5mbyAtIG1ldGFkYXRhIGZvciBwYWdpbmF0aW9uIGNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBhZ2luZ0luZm8oaW5mbzogR3RQYWdpbmF0aW9uSW5mbykge1xuICAgIHRoaXMuX3BhZ2luZ0luZm8gPSBpbmZvO1xuICB9XG4gIGdldCBwYWdpbmF0aW9uTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2luYXRpb25MZW5ndGg7XG4gIH1cblxuICAvKiogcGFnaW5hdGlvbkxlbmd0aFxuICAgKiBAZGVzY3JpcHRpb24gbnVtYmVyIG9mIGJ1dHRvbnMgdG8gc2hvdyBpbiBwYWdpbmF0aW9uXG4gICAqIEB0eXBlIGxlbmd0aCAtIG51bWJlciBvZiBidXR0b25zIHRvIHNob3cuIERlZmF1bHRzIHRvOiBgNWBcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwYWdpbmF0aW9uTGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkxlbmd0aCA9ICtsZW5ndGg7XG4gIH1cbiAgZ2V0IGNsYXNzZXMoKTogR3RQYWdpbmF0aW9uQ2xhc3NlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXNzZXM7XG4gIH1cblxuICAvKiogY2xhc3Nlc1xuICAgKiBAZGVzY3JpcHRpb24gY2xhc3NlcyB0aGF0IHNob3VsZCBiZSB1c2VkIHdpdGhpbiBwYWdpbmF0aW9uIGNvbXBvbmVudCBmb3IgZGlmZmVyZW50IGVsZW1lbnRzXG4gICAqIEB0eXBlIGNsYXNzZXMgLSBjbGFzc2VzIHRvIGJlIHVzZWQuIERlZmF1bHRzIHRvOiBge1xuICAgKiAgICAgdWw6ICdwYWdpbmF0aW9uJyxcbiAgICogICAgIGxpOiAncGFnZS1pdGVtJyxcbiAgICogICAgIGJ1dHRvbjogJ3BhZ2UtbGluaycsXG4gICAqICAgfWBcbiAgICovXG4gIEBJbnB1dCgpIHNldCBjbGFzc2VzKGNsYXNzZXM6IEd0UGFnaW5hdGlvbkNsYXNzZXMpIHtcbiAgICB0aGlzLl9jbGFzc2VzID0gY2xhc3NlcztcbiAgfVxuICBnZXQgYXJpYUxhYmVscygpOiBHdFBhZ2luYXRpb25BcmlhTGFiZWxzIHtcbiAgICByZXR1cm4gdGhpcy5fYXJpYUxhYmVscztcbiAgfVxuXG4gIC8qKiBhcmlhTGFiZWxzXG4gICAqIEBkZXNjcmlwdGlvbiBhcmlhIGxhYmVscyB0aGF0IGRlc2NyaWJlIHBhZ2luYXRpb24gY29tcG9uZW50XG4gICAqIEB0eXBlIGxhYmVscyAtIGFyaWEgbGFiZWxzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0cyB0bzogYHtcbiAgICogICAgIG5hdjogJ1RhYmxlIHBhZ2luYXRpb24nLFxuICAgKiAgICAgYnV0dG9uOiAnR28gdG8gcGFnZSAnLFxuICAgKiAgIH1gXG4gICAqL1xuICBASW5wdXQoKSBzZXQgYXJpYUxhYmVscyhsYWJlbHM6IEd0UGFnaW5hdGlvbkFyaWFMYWJlbHMpIHtcbiAgICB0aGlzLl9hcmlhTGFiZWxzID0gbGFiZWxzO1xuICB9XG4gIGdldCB0YWJsZSgpOiBDb3JlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gPENvcmVDb21wb25lbnQ+dGhpcy5fdGFibGU7XG4gIH1cblxuICAvKiogdGFibGVcbiAgICogQGRlc2NyaXB0aW9uIHRhYmxlIGNvbXBvbmVudCB0byB3aGljaCBwYWdpbmF0aW9uIGlzIGF0dGFjaGVkXG4gICAqIEB0eXBlIHRhYmxlUmVmIC0gdGFibGUgY29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgdGFibGUodGFibGVSZWY6IENvcmVDb21wb25lbnQpIHtcbiAgICB0aGlzLl90YWJsZSA9IHRhYmxlUmVmO1xuICAgIHRoaXMuX3RhYmxlJC5uZXh0KHRhYmxlUmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2luZ0luZm86IEd0UGFnaW5hdGlvbkluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3RhYmxlJDogUmVwbGF5U3ViamVjdDxDb3JlQ29tcG9uZW50PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICBwcml2YXRlIF90YWJsZTogQ29yZUNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfYXJpYUxhYmVsczogR3RQYWdpbmF0aW9uQXJpYUxhYmVscyA9IHtcbiAgICBuYXY6ICdUYWJsZSBwYWdpbmF0aW9uJyxcbiAgICBidXR0b246ICdHbyB0byBwYWdlICcsXG4gIH07XG4gIHByaXZhdGUgX2NsYXNzZXM6IEd0UGFnaW5hdGlvbkNsYXNzZXMgPSB7XG4gICAgdWw6ICdwYWdpbmF0aW9uJyxcbiAgICBsaTogJ3BhZ2UtaXRlbScsXG4gICAgYnV0dG9uOiAncGFnZS1saW5rJyxcbiAgfTtcbiAgcHJpdmF0ZSBfcGFnaW5hdGlvbkxlbmd0aDogbnVtYmVyID0gNTtcblxuICAvKiogcGFnaW5hdGlvbkxpc3RJdGVtcyQgLSBvYnNlcnZhYmxlIGZvciBwYWdlIG51bWJlcnMgdG8gc2hvdyBiYXNlZCBvbiBudW1iZXIgb2YgcGFnZXMgYW5kIGN1cnJlbnQgcG9zaXRpb24gICovXG4gIHBhZ2luYXRpb25MaXN0SXRlbXMkID0gdGhpcy5fdGFibGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb3JlKSA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIGNvcmU/LnRhYmxlJC5waXBlKHBsdWNrKCdpbmZvJykpLFxuICAgICAgICBjb3JlPy5jdXJyZW50UGFnaW5hdGlvbkluZGV4JCxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtpbmZvLCBjdXJyZW50UGFnZV0pID0+XG4gICAgICB0aGlzLl9nZW5lcmF0ZUxpc3QoaW5mby5wYWdlVG90YWwsIGN1cnJlbnRQYWdlKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKiogZ2VuZXJhdGUgbGlzdCAtIGdlbmVyYXRlIGFuIGFycmF5IHdpdGggcGFnZSBudW1iZXJzIHRvIHNob3cgYmFzZWQgb24gbnVtYmVyIG9mIHBhZ2VzIGFuZCBjdXJyZW50IHBvc2l0aW9uXG4gICAqIEBwYXJhbSBudW1iZXJPZlBhZ2VzIG51bWJlciBvZiBwYWdlcyB0byBzaG93XG4gICAqIEBwYXJhbSBjdXJyZW50UG9zaXRpb24gY3VycmVudCBwb3NpdGlvbiAocGFnZSBpbmRleCkgYmVpbmcgc2hvd24gaW4gdGFibGVcbiAgICogQHJldHVybnMgQXJyYXk8bnVtYmVyPiBhcnJheSBvZiBwYWdlIG51bWJlcnMgdG8gc2hvd1xuICAgKi9cbiAgcHJpdmF0ZSBfZ2VuZXJhdGVMaXN0KFxuICAgIG51bWJlck9mUGFnZXM6IG51bWJlcixcbiAgICBjdXJyZW50UG9zaXRpb246IG51bWJlclxuICApOiBBcnJheTxudW1iZXI+IHtcbiAgICBjb25zdCBtaWRkbGUgPSBNYXRoLmZsb29yKHRoaXMucGFnaW5hdGlvbkxlbmd0aCAvIDIpO1xuICAgIGNvbnN0IGxlbmd0aCA9XG4gICAgICBudW1iZXJPZlBhZ2VzIDwgdGhpcy5wYWdpbmF0aW9uTGVuZ3RoXG4gICAgICAgID8gbnVtYmVyT2ZQYWdlc1xuICAgICAgICA6IHRoaXMucGFnaW5hdGlvbkxlbmd0aDtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBpKSA9PiB7XG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSBpZiAobnVtYmVyT2ZQYWdlcyA8IHRoaXMucGFnaW5hdGlvbkxlbmd0aCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9IGVsc2UgaWYgKGkgKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bWJlck9mUGFnZXM7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPiBtaWRkbGUgJiZcbiAgICAgICAgY3VycmVudFBvc2l0aW9uIDwgbnVtYmVyT2ZQYWdlcyAtIG1pZGRsZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBpICsgY3VycmVudFBvc2l0aW9uIC0gKG1pZGRsZSAtIDEpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY3VycmVudFBvc2l0aW9uID4gbWlkZGxlICYmXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA8IG51bWJlck9mUGFnZXMgLSAobWlkZGxlIC0gMSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIG1pZGRsZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJlxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPT09IG51bWJlck9mUGFnZXMgLSAobWlkZGxlIC0gMSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIChtaWRkbGUgKyAxKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJlxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPT09IG51bWJlck9mUGFnZXMgLSAxXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGkgKyBjdXJyZW50UG9zaXRpb24gLSAobWlkZGxlICsgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogZ28gdG8gcGFnZVxuICAgKiBAcGFyYW0gaW5kZXggLSBwYWdlIGluZGV4IHRvIGdvIHRvXG4gICAqL1xuICBnb1RvUGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFibGUpIHtcbiAgICAgIHRoaXMudGFibGUucGFnaW5hdGlvbkluZGV4ID0gaW5kZXggLSAxO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBsaW5rczogcGFnaW5hdGlvbkxpc3RJdGVtcyQgfCBhc3luYyxcbiAgICBjdXJyZW50UG9zaXRpb246IHRhYmxlPy5jdXJyZW50UGFnaW5hdGlvbkluZGV4JCB8IGFzeW5jXG4gIH0gYXMgcGFnaW5hdGlvblwiXG4+XG4gIDxuYXZcbiAgICAqbmdJZj1cInBhZ2luYXRpb24ubGlua3MgJiYgcGFnaW5hdGlvbi5saW5rcy5sZW5ndGggPiAxXCJcbiAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxzLm5hdlwiXG4gICAgY2xhc3M9XCJndC1wYWdpbmF0aW9uXCJcbiAgICBbY2xhc3NdPVwiY2xhc3Nlcy5uYXZcIlxuICA+XG4gICAgPHVsIFtjbGFzc109XCJjbGFzc2VzLnVsXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBwb3NpdGlvbiBvZiBwYWdpbmF0aW9uIS5saW5rcztcbiAgICAgICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bGlcbiAgICAgICAgICBbY2xhc3NdPVwiY2xhc3Nlcy5saVwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJwb3NpdGlvbiA9PT0gKHBhZ2luYXRpb24hLmN1cnJlbnRQb3NpdGlvbiB8fCAwKSArIDFcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzZXMuYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVscy5idXR0b24gKyBwb3NpdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocG9zaXRpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwb3NpdGlvbiB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICBbY2xhc3NdPVwiY2xhc3Nlcy5saVwiXG4gICAgICAgICAgY2xhc3M9XCJndC1lbGxpcHNpc1wiXG4gICAgICAgICAgKm5nSWY9XCJwb3NpdGlvbiArIDEgIT09IHBhZ2luYXRpb24hLmxpbmtzIVtpICsgMV0gJiYgIWxhc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiY2xhc3Nlcy5idXR0b25cIiBkaXNhYmxlZCB0YWJpbmRleD1cIi0xXCI+PC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -126,6 +126,7 @@ export let calculate = (data, config) => {
|
|
|
126
126
|
};
|
|
127
127
|
};
|
|
128
128
|
/** sortOnMultipleKeys
|
|
129
|
+
* @description Sort data on multiple keys
|
|
129
130
|
* @param {GtSortOrder} keys - array with sort config objects to sort on, data will be sorted according to array order
|
|
130
131
|
* @returns sort function
|
|
131
132
|
*/
|
|
@@ -142,4 +143,38 @@ export const sortOnMultipleKeys = (keys) => {
|
|
|
142
143
|
return 0;
|
|
143
144
|
};
|
|
144
145
|
};
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3V0aWxpdGllcy91dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLElBQUksTUFBNkIsQ0FBQztBQUN6QyxNQUFNLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLElBQUksVUFBaUMsQ0FBQztBQUM3QyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0tBQ2hDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDO0tBQzlCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO0tBQ3ZCLElBQUksRUFBRSxDQUFDO0FBRVosTUFBTSxDQUFDLElBQUksS0FHZ0IsQ0FBQztBQUM1QixLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDM0IsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUN2QztJQUNELElBQUksU0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxNQUFNLEtBQUss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QyxDQUFDO0lBQ2pFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4uL21vZGVscy90YWJsZS1yb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhYmxlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3RTb3J0T3JkZXIgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtc29ydC5pbnRlcmZhY2UnO1xuZXhwb3J0IGxldCBkYXNoZWQ6IChzOiBzdHJpbmcpID0+IHN0cmluZztcbmRhc2hlZCA9IChzOiBzdHJpbmcpID0+IHMucmVwbGFjZSgvW0EtWl0vZywgKG0pID0+ICctJyArIG0udG9Mb3dlckNhc2UoKSk7XG5cbmV4cG9ydCBsZXQgY2FwaXRhbGl6ZTogKHM6IHN0cmluZykgPT4gc3RyaW5nO1xuY2FwaXRhbGl6ZSA9IChzKSA9PlxuICAocy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHMuc2xpY2UoMSkpXG4gICAgLnJlcGxhY2UoL18vZywgJyAnKVxuICAgIC5yZXBsYWNlKC8oW0EtWl1bYS16XSspL2csICcgJDEnKVxuICAgIC5yZXBsYWNlKC8oW0EtWl17Mix9KS9nLCAnICQxJylcbiAgICAucmVwbGFjZSgvXFxzezIsfS9nLCAnICcpXG4gICAgLnRyaW0oKTtcblxuZXhwb3J0IGxldCBjaHVuazogKFxuICBhcnJheTogQXJyYXk8YW55PixcbiAgY2h1bmtTaXplOiBudW1iZXJcbikgPT4gQXJyYXk8QXJyYXk8VGFibGVSb3c+PjtcbmNodW5rID0gKGFycmF5LCBjaHVua1NpemUpID0+IHtcbiAgaWYgKGNodW5rU2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY2h1bmsgc2l6ZScpO1xuICB9XG4gIGlmIChjaHVua1NpemUgPT09IDAgJiYgIWNodW5rU2l6ZSkge1xuICAgIHJldHVybiBbYXJyYXldO1xuICB9XG4gIGNvbnN0IENIVU5LID0gW107XG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBhcnJheS5sZW5ndGg7IGkgPCBsZW47IGkgKz0gY2h1bmtTaXplKSB7XG4gICAgQ0hVTksucHVzaChhcnJheS5zbGljZShpLCBpICsgY2h1bmtTaXplKSk7XG4gIH1cbiAgcmV0dXJuIENIVU5LO1xufTtcblxuZXhwb3J0IGxldCBzZWFyY2g6IChcbiAgdGV4dDogc3RyaW5nLFxuICBjYXNlU2Vuc2l0aXZlOiBib29sZWFuLFxuICBkYXRhOiBBcnJheTxUYWJsZVJvdz4sXG4gIGNvbmZpZzogVGFibGVDb25maWdcbikgPT4gVGFibGVSb3dbXTtcbnNlYXJjaCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBjYXNlU2Vuc2l0aXZlOiBib29sZWFuLFxuICBkYXRhOiBBcnJheTxUYWJsZVJvdz4sXG4gIGNvbmZpZzogVGFibGVDb25maWdcbikgPT4ge1xuICBpZiAoY29uZmlnLmNvbHVtbnMpIHtcbiAgICBjb25zdCBzZWFyY2hDb2x1bW5zID0gT2JqZWN0LmtleXMoY29uZmlnLmNvbHVtbnMpLmZpbHRlcihcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIChrZXkpID0+XG4gICAgICAgIGNvbmZpZy5jb2x1bW5zICYmXG4gICAgICAgICFjb25maWcuY29sdW1uc1trZXldPy5oaWRkZW4gJiZcbiAgICAgICAgY29uZmlnLmNvbHVtbnNba2V5XT8uc2VhcmNoICE9PSBmYWxzZVxuICAgICk7XG5cbiAgICBjb25zdCBGSUxURVJFRCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qgcm93ID0gZGF0YVtpXTtcbiAgICAgIGNvbnN0IG1hdGNoID1cbiAgICAgICAgT2JqZWN0LmVudHJpZXMocm93KVxuICAgICAgICAgIC5maWx0ZXIoKFtrZXksIHZhbHVlXSkgPT4gc2VhcmNoQ29sdW1ucy5pbmRleE9mKGtleSkgIT09IC0xKVxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdLCBpbmRleCk6IHN0cmluZyA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWFyY2ggPSBjb25maWc/LmNvbHVtbnMhW2tleV0/LnNlYXJjaDtcbiAgICAgICAgICAgIC8vIGlmIHNlYXJjaCBpcyBhIGZ1bmN0aW9uLi4uXG4gICAgICAgICAgICBpZiAodHlwZW9mIHNlYXJjaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAvLyAuLi51c2Ugc2VhcmNoIGZ1bmN0aW9uIHRvIHJldHVybiB2YWx1ZSB0byBzZWFyY2hcbiAgICAgICAgICAgICAgdmFsdWUgPSBzZWFyY2gocm93LCBrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIGFjYyArXG4gICAgICAgICAgICAgIChpbmRleCA9PT0gMCA/ICcnIDogJyA/ICcpICtcbiAgICAgICAgICAgICAgKGNhc2VTZW5zaXRpdmUgPyB2YWx1ZSArICcnIDogKHZhbHVlICsgJycpLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sICcnKVxuICAgICAgICAgIC5pbmRleE9mKGNhc2VTZW5zaXRpdmUgPyB0ZXh0IDogdGV4dC50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgRklMVEVSRURbRklMVEVSRUQubGVuZ3RoXSA9IHJvdztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIEZJTFRFUkVEO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG59O1xuXG5leHBvcnQgbGV0IGNhbGN1bGF0ZSA9IChkYXRhOiBBcnJheTxUYWJsZVJvdz4sIGNvbmZpZzogVGFibGVDb25maWcpID0+IHtcbiAgY29uc3QgQ0FMQ1VMQVRJT05TOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBjb25zdCBDT0xVTU5fQ0FMQ1VMQVRJT05TOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PHN0cmluZz4gfSA9IHt9O1xuICBsZXQgQ0FMQ1VMQVRFRCA9IE9iamVjdC5lbnRyaWVzKGNvbmZpZy5mb290ZXI/LmNvbHVtbnMgfHwge30pXG4gICAgLmZpbHRlcihcbiAgICAgIChbY29sdW1uTmFtZSwgY2FsY3VsYXRpb25zXSkgPT5cbiAgICAgICAgT2JqZWN0LnZhbHVlcyhjYWxjdWxhdGlvbnMgfHwge30pLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSBmYWxzZSlcbiAgICAgICAgICAubGVuZ3RoID49IDBcbiAgICApXG4gICAgLnJlZHVjZSgoYWNjOiBhbnksIFtjb2x1bW5OYW1lLCBjYWxjdWxhdGlvbnNdLCBpbmRleCkgPT4ge1xuICAgICAgYWNjW2NvbHVtbk5hbWVdID0gT2JqZWN0LmVudHJpZXMoY2FsY3VsYXRpb25zIHx8IHt9KVxuICAgICAgICAuZmlsdGVyKChbY2FsY3VsYXRpb24sIHZhbHVlXSkgPT4gdmFsdWUgIT09IGZhbHNlKVxuICAgICAgICAucmVkdWNlKChhY2M6IGFueSwgW2NhbGN1bGF0aW9uLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICBpZiAoQ09MVU1OX0NBTENVTEFUSU9OU1tjb2x1bW5OYW1lXSkge1xuICAgICAgICAgICAgQ09MVU1OX0NBTENVTEFUSU9OU1tjb2x1bW5OYW1lXS5wdXNoKGNhbGN1bGF0aW9uKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBDT0xVTU5fQ0FMQ1VMQVRJT05TW2NvbHVtbk5hbWVdID0gW2NhbGN1bGF0aW9uXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQ0FMQ1VMQVRJT05TW2NhbGN1bGF0aW9uXSA9IHRydWU7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZShkYXRhLCBjb2x1bW5OYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYWNjW2NhbGN1bGF0aW9uXSA9IHZhbHVlID09PSB0cnVlID8gMCA6IHZhbHVlO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICBpZiAoT2JqZWN0LmtleXMoQ0FMQ1VMQVRFRCkubGVuZ3RoID4gMCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgT2JqZWN0LmVudHJpZXMoQ09MVU1OX0NBTENVTEFUSU9OUykuZm9yRWFjaCgoW2NvbHVtbiwgY2FsY3VsYXRpb25zXSkgPT4ge1xuICAgICAgICBpZiAoY2FsY3VsYXRpb25zLmluZGV4T2YoJ3N1bScpID4gLTEpIHtcbiAgICAgICAgICBDQUxDVUxBVEVEW2NvbHVtbl0uc3VtICs9IGRhdGFbaV1bY29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgY2FsY3VsYXRpb25zLmluZGV4T2YoJ2F2ZycpID4gLTEgJiZcbiAgICAgICAgICBjYWxjdWxhdGlvbnMuaW5kZXhPZignc3VtJykgPT09IC0xXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChDQUxDVUxBVEVEW2NvbHVtbl0uc3VtID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIENBTENVTEFURURbY29sdW1uXS5zdW0gPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBDQUxDVUxBVEVEW2NvbHVtbl0uc3VtICs9IGRhdGFbaV1bY29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgY2FsY3VsYXRpb25zLmluZGV4T2YoJ21heCcpID4gLTEgJiZcbiAgICAgICAgICAoIUNBTENVTEFURURbY29sdW1uXS5tYXggfHwgK2RhdGFbaV1bY29sdW1uXSA+IENBTENVTEFURURbY29sdW1uXS5tYXgpXG4gICAgICAgICkge1xuICAgICAgICAgIENBTENVTEFURURbY29sdW1uXS5tYXggPSArZGF0YVtpXVtjb2x1bW5dO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjYWxjdWxhdGlvbnMuaW5kZXhPZignbWluJykgPiAtMSAmJlxuICAgICAgICAgICghQ0FMQ1VMQVRFRFtjb2x1bW5dLm1pbiB8fCArZGF0YVtpXVtjb2x1bW5dIDwgQ0FMQ1VMQVRFRFtjb2x1bW5dLm1pbilcbiAgICAgICAgKSB7XG4gICAgICAgICAgQ0FMQ1VMQVRFRFtjb2x1bW5dLm1pbiA9ICtkYXRhW2ldW2NvbHVtbl07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBPYmplY3QuZW50cmllcyhDT0xVTU5fQ0FMQ1VMQVRJT05TKS5mb3JFYWNoKChbY29sdW1uLCBjYWxjdWxhdGlvbnNdKSA9PiB7XG4gICAgICBpZiAoY2FsY3VsYXRpb25zLmluZGV4T2YoJ2F2ZycpICE9PSAtMSkge1xuICAgICAgICBDQUxDVUxBVEVEW2NvbHVtbl0uYXZnID0gQ0FMQ1VMQVRFRFtjb2x1bW5dPy5zdW0gLyBkYXRhLmxlbmd0aDtcbiAgICAgICAgLy8gaWYgc3VtIGlzIG5vdCBwYXJ0IG9mIGNhbGN1bGF0aW9ucyBjb25maWcuLi5cbiAgICAgICAgaWYgKGNhbGN1bGF0aW9ucy5pbmRleE9mKCdzdW0nKSA9PT0gLTEgJiYgQ0FMQ1VMQVRFRFtjb2x1bW5dLnN1bSkge1xuICAgICAgICAgIC8vIC4uLnJlbW92ZSBpdFxuICAgICAgICAgIGRlbGV0ZSBDQUxDVUxBVEVEW2NvbHVtbl0uc3VtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2FsY3VsYXRpb25zLmluZGV4T2YoJ2NvdW50JykgIT09IC0xKSB7XG4gICAgICAgIENBTENVTEFURURbY29sdW1uXS5jb3VudCA9IGRhdGEubGVuZ3RoO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiB7XG4gICAgY2FsY3VsYXRlZDogQ0FMQ1VMQVRFRCxcbiAgICBjYWxjdWxhdGlvbnM6IE9iamVjdC5rZXlzKENBTENVTEFUSU9OUykuc29ydChcbiAgICAgIChhLCBiKSA9PlxuICAgICAgICAoY29uZmlnLmZvb3Rlcj8ucm93T3JkZXI/LmluZGV4T2YoYSkgfHwgMCkgLVxuICAgICAgICAoY29uZmlnLmZvb3Rlcj8ucm93T3JkZXI/LmluZGV4T2YoYikgfHwgMClcbiAgICApLFxuICAgIGNhbGN1bGF0ZWRDb2x1bW5zQ291bnQ6IE9iamVjdC5rZXlzKENBTENVTEFURUQpLmxlbmd0aCB8fCAwLFxuICB9O1xufTtcblxuLyoqIHNvcnRPbk11bHRpcGxlS2V5c1xuICogQHBhcmFtIHtHdFNvcnRPcmRlcn0ga2V5cyAtIGFycmF5IHdpdGggc29ydCBjb25maWcgb2JqZWN0cyB0byBzb3J0IG9uLCBkYXRhIHdpbGwgYmUgc29ydGVkIGFjY29yZGluZyB0byBhcnJheSBvcmRlclxuICogQHJldHVybnMgc29ydCBmdW5jdGlvblxuICovXG5leHBvcnQgY29uc3Qgc29ydE9uTXVsdGlwbGVLZXlzID0gKFxuICBrZXlzOiBHdFNvcnRPcmRlclxuKTogKChhOiBUYWJsZVJvdywgYjogVGFibGVSb3cpID0+IG51bWJlcikgPT4ge1xuICBjb25zdCBvcmRlciA9IGtleXMubWFwKChrZXkpID0+IChrZXkub3JkZXIgPT09ICdkZXNjJyA/IC0xIDogMSkpO1xuICByZXR1cm4gKGEsIGIpID0+IHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG8gPSBrZXlzW2ldLmtleTtcbiAgICAgIGlmIChhW29dID4gYltvXSkgcmV0dXJuIG9yZGVyW2ldO1xuICAgICAgaWYgKGFbb10gPCBiW29dKSByZXR1cm4gLW9yZGVyW2ldO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfTtcbn07XG4iXX0=
|
|
146
|
+
/** parseSortOrderParams
|
|
147
|
+
* @description Convert sort order query param to array with sort config objects
|
|
148
|
+
* @param sortParams - Query param string where each sort config object is separated by comma and order is indicated by + (ascending) or - (descending), e.g. _'name,-age'_
|
|
149
|
+
* @returns GtSortOrder - Array with sort config objects
|
|
150
|
+
*/
|
|
151
|
+
export const parseSortOrderParams = (sortParams) => {
|
|
152
|
+
const sortParamsArray = sortParams.split(',');
|
|
153
|
+
return sortParamsArray.map((sortParam) => {
|
|
154
|
+
const [key, order] = sortParam.split(':');
|
|
155
|
+
return {
|
|
156
|
+
key: key.replace(/^[+-]/, ''),
|
|
157
|
+
order: order === 'desc' ? 'desc' : 'asc',
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
/** sortOrderConfigToParam
|
|
162
|
+
* @description Convert sort config object to string that can be used as query param when sorting is implemented server side
|
|
163
|
+
* @param sortConfig - Sort config object
|
|
164
|
+
* @returns string - Query param string where order is indicated by + (ascending) or - (descending), e.g. _'-name'_
|
|
165
|
+
*/
|
|
166
|
+
export const sortOrderConfigToParam = (sortConfig) => {
|
|
167
|
+
const order = sortConfig.order === 'desc' ? '-' : '+';
|
|
168
|
+
return `${order}${sortConfig.key}`;
|
|
169
|
+
};
|
|
170
|
+
/** sortOrderToParams
|
|
171
|
+
* @description Convert sort order array to string that can be used as query param when sorting is implemented server side
|
|
172
|
+
* @param sortOrder - Array with sort config objects
|
|
173
|
+
* @returns string - Query param string where each sort config object is separated by comma and order is indicated by + (ascending) or - (descending), e.g. _'name,-age'_
|
|
174
|
+
*/
|
|
175
|
+
export const sortOrderToParams = (sortOrder) => {
|
|
176
|
+
return sortOrder
|
|
177
|
+
.map((sortConfig) => sortOrderConfigToParam(sortConfig))
|
|
178
|
+
.join(',');
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3V0aWxpdGllcy91dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLElBQUksTUFBNkIsQ0FBQztBQUN6QyxNQUFNLEdBQUcsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLElBQUksVUFBaUMsQ0FBQztBQUM3QyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsQixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0tBQ2hDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDO0tBQzlCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO0tBQ3ZCLElBQUksRUFBRSxDQUFDO0FBRVosTUFBTSxDQUFDLElBQUksS0FHZ0IsQ0FBQztBQUM1QixLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDM0IsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUN2QztJQUNELElBQUksU0FBUyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxNQUFNLEtBQUss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QixHQUFHLENBQ3BDLFVBQXNDLEVBQzlCLEVBQUU7SUFDVixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdEQsT0FBTyxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDckMsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBc0IsRUFBVSxFQUFFO0lBQ2xFLE9BQU8sU0FBUztTQUNiLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtcm93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEd0U29ydENvbmZpZywgR3RTb3J0T3JkZXIgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtc29ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3RTb3J0RXZlbnQgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtZXZlbnRzLmludGVyZmFjZSc7XG5leHBvcnQgbGV0IGRhc2hlZDogKHM6IHN0cmluZykgPT4gc3RyaW5nO1xuZGFzaGVkID0gKHM6IHN0cmluZykgPT4gcy5yZXBsYWNlKC9bQS1aXS9nLCAobSkgPT4gJy0nICsgbS50b0xvd2VyQ2FzZSgpKTtcblxuZXhwb3J0IGxldCBjYXBpdGFsaXplOiAoczogc3RyaW5nKSA9PiBzdHJpbmc7XG5jYXBpdGFsaXplID0gKHMpID0+XG4gIChzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKSlcbiAgICAucmVwbGFjZSgvXy9nLCAnICcpXG4gICAgLnJlcGxhY2UoLyhbQS1aXVthLXpdKykvZywgJyAkMScpXG4gICAgLnJlcGxhY2UoLyhbQS1aXXsyLH0pL2csICcgJDEnKVxuICAgIC5yZXBsYWNlKC9cXHN7Mix9L2csICcgJylcbiAgICAudHJpbSgpO1xuXG5leHBvcnQgbGV0IGNodW5rOiAoXG4gIGFycmF5OiBBcnJheTxhbnk+LFxuICBjaHVua1NpemU6IG51bWJlclxuKSA9PiBBcnJheTxBcnJheTxUYWJsZVJvdz4+O1xuY2h1bmsgPSAoYXJyYXksIGNodW5rU2l6ZSkgPT4ge1xuICBpZiAoY2h1bmtTaXplIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjaHVuayBzaXplJyk7XG4gIH1cbiAgaWYgKGNodW5rU2l6ZSA9PT0gMCAmJiAhY2h1bmtTaXplKSB7XG4gICAgcmV0dXJuIFthcnJheV07XG4gIH1cbiAgY29uc3QgQ0hVTksgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSArPSBjaHVua1NpemUpIHtcbiAgICBDSFVOSy5wdXNoKGFycmF5LnNsaWNlKGksIGkgKyBjaHVua1NpemUpKTtcbiAgfVxuICByZXR1cm4gQ0hVTks7XG59O1xuXG5leHBvcnQgbGV0IHNlYXJjaDogKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4sXG4gIGRhdGE6IEFycmF5PFRhYmxlUm93PixcbiAgY29uZmlnOiBUYWJsZUNvbmZpZ1xuKSA9PiBUYWJsZVJvd1tdO1xuc2VhcmNoID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4sXG4gIGRhdGE6IEFycmF5PFRhYmxlUm93PixcbiAgY29uZmlnOiBUYWJsZUNvbmZpZ1xuKSA9PiB7XG4gIGlmIChjb25maWcuY29sdW1ucykge1xuICAgIGNvbnN0IHNlYXJjaENvbHVtbnMgPSBPYmplY3Qua2V5cyhjb25maWcuY29sdW1ucykuZmlsdGVyKFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgKGtleSkgPT5cbiAgICAgICAgY29uZmlnLmNvbHVtbnMgJiZcbiAgICAgICAgIWNvbmZpZy5jb2x1bW5zW2tleV0/LmhpZGRlbiAmJlxuICAgICAgICBjb25maWcuY29sdW1uc1trZXldPy5zZWFyY2ggIT09IGZhbHNlXG4gICAgKTtcblxuICAgIGNvbnN0IEZJTFRFUkVEID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCByb3cgPSBkYXRhW2ldO1xuICAgICAgY29uc3QgbWF0Y2ggPVxuICAgICAgICBPYmplY3QuZW50cmllcyhyb3cpXG4gICAgICAgICAgLmZpbHRlcigoW2tleSwgdmFsdWVdKSA9PiBzZWFyY2hDb2x1bW5zLmluZGV4T2Yoa2V5KSAhPT0gLTEpXG4gICAgICAgICAgLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0sIGluZGV4KTogc3RyaW5nID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaCA9IGNvbmZpZz8uY29sdW1ucyFba2V5XT8uc2VhcmNoO1xuICAgICAgICAgICAgLy8gaWYgc2VhcmNoIGlzIGEgZnVuY3Rpb24uLi5cbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIC8vIC4uLnVzZSBzZWFyY2ggZnVuY3Rpb24gdG8gcmV0dXJuIHZhbHVlIHRvIHNlYXJjaFxuICAgICAgICAgICAgICB2YWx1ZSA9IHNlYXJjaChyb3csIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgYWNjICtcbiAgICAgICAgICAgICAgKGluZGV4ID09PSAwID8gJycgOiAnID8gJykgK1xuICAgICAgICAgICAgICAoY2FzZVNlbnNpdGl2ZSA/IHZhbHVlICsgJycgOiAodmFsdWUgKyAnJykudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSwgJycpXG4gICAgICAgICAgLmluZGV4T2YoY2FzZVNlbnNpdGl2ZSA/IHRleHQgOiB0ZXh0LnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBGSUxURVJFRFtGSUxURVJFRC5sZW5ndGhdID0gcm93O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gRklMVEVSRUQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgY2FsY3VsYXRlID0gKGRhdGE6IEFycmF5PFRhYmxlUm93PiwgY29uZmlnOiBUYWJsZUNvbmZpZykgPT4ge1xuICBjb25zdCBDQUxDVUxBVElPTlM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIGNvbnN0IENPTFVNTl9DQUxDVUxBVElPTlM6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8c3RyaW5nPiB9ID0ge307XG4gIGxldCBDQUxDVUxBVEVEID0gT2JqZWN0LmVudHJpZXMoY29uZmlnLmZvb3Rlcj8uY29sdW1ucyB8fCB7fSlcbiAgICAuZmlsdGVyKFxuICAgICAgKFtjb2x1bW5OYW1lLCBjYWxjdWxhdGlvbnNdKSA9PlxuICAgICAgICBPYmplY3QudmFsdWVzKGNhbGN1bGF0aW9ucyB8fCB7fSkuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IGZhbHNlKVxuICAgICAgICAgIC5sZW5ndGggPj0gMFxuICAgIClcbiAgICAucmVkdWNlKChhY2M6IGFueSwgW2NvbHVtbk5hbWUsIGNhbGN1bGF0aW9uc10sIGluZGV4KSA9PiB7XG4gICAgICBhY2NbY29sdW1uTmFtZV0gPSBPYmplY3QuZW50cmllcyhjYWxjdWxhdGlvbnMgfHwge30pXG4gICAgICAgIC5maWx0ZXIoKFtjYWxjdWxhdGlvbiwgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gZmFsc2UpXG4gICAgICAgIC5yZWR1Y2UoKGFjYzogYW55LCBbY2FsY3VsYXRpb24sIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGlmIChDT0xVTU5fQ0FMQ1VMQVRJT05TW2NvbHVtbk5hbWVdKSB7XG4gICAgICAgICAgICBDT0xVTU5fQ0FMQ1VMQVRJT05TW2NvbHVtbk5hbWVdLnB1c2goY2FsY3VsYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIENPTFVNTl9DQUxDVUxBVElPTlNbY29sdW1uTmFtZV0gPSBbY2FsY3VsYXRpb25dO1xuICAgICAgICAgIH1cbiAgICAgICAgICBDQUxDVUxBVElPTlNbY2FsY3VsYXRpb25dID0gdHJ1ZTtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlKGRhdGEsIGNvbHVtbk5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhY2NbY2FsY3VsYXRpb25dID0gdmFsdWUgPT09IHRydWUgPyAwIDogdmFsdWU7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG4gIGlmIChPYmplY3Qua2V5cyhDQUxDVUxBVEVEKS5sZW5ndGggPiAwKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICBPYmplY3QuZW50cmllcyhDT0xVTU5fQ0FMQ1VMQVRJT05TKS5mb3JFYWNoKChbY29sdW1uLCBjYWxjdWxhdGlvbnNdKSA9PiB7XG4gICAgICAgIGlmIChjYWxjdWxhdGlvbnMuaW5kZXhPZignc3VtJykgPiAtMSkge1xuICAgICAgICAgIENBTENVTEFURURbY29sdW1uXS5zdW0gKz0gZGF0YVtpXVtjb2x1bW5dO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjYWxjdWxhdGlvbnMuaW5kZXhPZignYXZnJykgPiAtMSAmJlxuICAgICAgICAgIGNhbGN1bGF0aW9ucy5pbmRleE9mKCdzdW0nKSA9PT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKENBTENVTEFURURbY29sdW1uXS5zdW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgQ0FMQ1VMQVRFRFtjb2x1bW5dLnN1bSA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIENBTENVTEFURURbY29sdW1uXS5zdW0gKz0gZGF0YVtpXVtjb2x1bW5dO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjYWxjdWxhdGlvbnMuaW5kZXhPZignbWF4JykgPiAtMSAmJlxuICAgICAgICAgICghQ0FMQ1VMQVRFRFtjb2x1bW5dLm1heCB8fCArZGF0YVtpXVtjb2x1bW5dID4gQ0FMQ1VMQVRFRFtjb2x1bW5dLm1heClcbiAgICAgICAgKSB7XG4gICAgICAgICAgQ0FMQ1VMQVRFRFtjb2x1bW5dLm1heCA9ICtkYXRhW2ldW2NvbHVtbl07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNhbGN1bGF0aW9ucy5pbmRleE9mKCdtaW4nKSA+IC0xICYmXG4gICAgICAgICAgKCFDQUxDVUxBVEVEW2NvbHVtbl0ubWluIHx8ICtkYXRhW2ldW2NvbHVtbl0gPCBDQUxDVUxBVEVEW2NvbHVtbl0ubWluKVxuICAgICAgICApIHtcbiAgICAgICAgICBDQUxDVUxBVEVEW2NvbHVtbl0ubWluID0gK2RhdGFbaV1bY29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIE9iamVjdC5lbnRyaWVzKENPTFVNTl9DQUxDVUxBVElPTlMpLmZvckVhY2goKFtjb2x1bW4sIGNhbGN1bGF0aW9uc10pID0+IHtcbiAgICAgIGlmIChjYWxjdWxhdGlvbnMuaW5kZXhPZignYXZnJykgIT09IC0xKSB7XG4gICAgICAgIENBTENVTEFURURbY29sdW1uXS5hdmcgPSBDQUxDVUxBVEVEW2NvbHVtbl0/LnN1bSAvIGRhdGEubGVuZ3RoO1xuICAgICAgICAvLyBpZiBzdW0gaXMgbm90IHBhcnQgb2YgY2FsY3VsYXRpb25zIGNvbmZpZy4uLlxuICAgICAgICBpZiAoY2FsY3VsYXRpb25zLmluZGV4T2YoJ3N1bScpID09PSAtMSAmJiBDQUxDVUxBVEVEW2NvbHVtbl0uc3VtKSB7XG4gICAgICAgICAgLy8gLi4ucmVtb3ZlIGl0XG4gICAgICAgICAgZGVsZXRlIENBTENVTEFURURbY29sdW1uXS5zdW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjYWxjdWxhdGlvbnMuaW5kZXhPZignY291bnQnKSAhPT0gLTEpIHtcbiAgICAgICAgQ0FMQ1VMQVRFRFtjb2x1bW5dLmNvdW50ID0gZGF0YS5sZW5ndGg7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjYWxjdWxhdGVkOiBDQUxDVUxBVEVELFxuICAgIGNhbGN1bGF0aW9uczogT2JqZWN0LmtleXMoQ0FMQ1VMQVRJT05TKS5zb3J0KFxuICAgICAgKGEsIGIpID0+XG4gICAgICAgIChjb25maWcuZm9vdGVyPy5yb3dPcmRlcj8uaW5kZXhPZihhKSB8fCAwKSAtXG4gICAgICAgIChjb25maWcuZm9vdGVyPy5yb3dPcmRlcj8uaW5kZXhPZihiKSB8fCAwKVxuICAgICksXG4gICAgY2FsY3VsYXRlZENvbHVtbnNDb3VudDogT2JqZWN0LmtleXMoQ0FMQ1VMQVRFRCkubGVuZ3RoIHx8IDAsXG4gIH07XG59O1xuXG4vKiogc29ydE9uTXVsdGlwbGVLZXlzXG4gKiBAZGVzY3JpcHRpb24gU29ydCBkYXRhIG9uIG11bHRpcGxlIGtleXNcbiAqIEBwYXJhbSB7R3RTb3J0T3JkZXJ9IGtleXMgLSBhcnJheSB3aXRoIHNvcnQgY29uZmlnIG9iamVjdHMgdG8gc29ydCBvbiwgZGF0YSB3aWxsIGJlIHNvcnRlZCBhY2NvcmRpbmcgdG8gYXJyYXkgb3JkZXJcbiAqIEByZXR1cm5zIHNvcnQgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHNvcnRPbk11bHRpcGxlS2V5cyA9IChcbiAga2V5czogR3RTb3J0T3JkZXJcbik6ICgoYTogVGFibGVSb3csIGI6IFRhYmxlUm93KSA9PiBudW1iZXIpID0+IHtcbiAgY29uc3Qgb3JkZXIgPSBrZXlzLm1hcCgoa2V5KSA9PiAoa2V5Lm9yZGVyID09PSAnZGVzYycgPyAtMSA6IDEpKTtcbiAgcmV0dXJuIChhLCBiKSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBvID0ga2V5c1tpXS5rZXk7XG4gICAgICBpZiAoYVtvXSA+IGJbb10pIHJldHVybiBvcmRlcltpXTtcbiAgICAgIGlmIChhW29dIDwgYltvXSkgcmV0dXJuIC1vcmRlcltpXTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH07XG59O1xuXG4vKiogcGFyc2VTb3J0T3JkZXJQYXJhbXNcbiAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0IHNvcnQgb3JkZXIgcXVlcnkgcGFyYW0gdG8gYXJyYXkgd2l0aCBzb3J0IGNvbmZpZyBvYmplY3RzXG4gKiBAcGFyYW0gc29ydFBhcmFtcyAtIFF1ZXJ5IHBhcmFtIHN0cmluZyB3aGVyZSBlYWNoIHNvcnQgY29uZmlnIG9iamVjdCBpcyBzZXBhcmF0ZWQgYnkgY29tbWEgYW5kIG9yZGVyIGlzIGluZGljYXRlZCBieSArIChhc2NlbmRpbmcpIG9yIC0gKGRlc2NlbmRpbmcpLCBlLmcuIF8nbmFtZSwtYWdlJ19cbiAqIEByZXR1cm5zIEd0U29ydE9yZGVyIC0gQXJyYXkgd2l0aCBzb3J0IGNvbmZpZyBvYmplY3RzXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZVNvcnRPcmRlclBhcmFtcyA9IChzb3J0UGFyYW1zOiBzdHJpbmcpOiBHdFNvcnRPcmRlciA9PiB7XG4gIGNvbnN0IHNvcnRQYXJhbXNBcnJheSA9IHNvcnRQYXJhbXMuc3BsaXQoJywnKTtcbiAgcmV0dXJuIHNvcnRQYXJhbXNBcnJheS5tYXAoKHNvcnRQYXJhbSkgPT4ge1xuICAgIGNvbnN0IFtrZXksIG9yZGVyXSA9IHNvcnRQYXJhbS5zcGxpdCgnOicpO1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IGtleS5yZXBsYWNlKC9eWystXS8sICcnKSxcbiAgICAgIG9yZGVyOiBvcmRlciA9PT0gJ2Rlc2MnID8gJ2Rlc2MnIDogJ2FzYycsXG4gICAgfTtcbiAgfSk7XG59O1xuXG4vKiogc29ydE9yZGVyQ29uZmlnVG9QYXJhbVxuICogQGRlc2NyaXB0aW9uIENvbnZlcnQgc29ydCBjb25maWcgb2JqZWN0IHRvIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIGFzIHF1ZXJ5IHBhcmFtIHdoZW4gc29ydGluZyBpcyBpbXBsZW1lbnRlZCBzZXJ2ZXIgc2lkZVxuICogQHBhcmFtIHNvcnRDb25maWcgLSBTb3J0IGNvbmZpZyBvYmplY3RcbiAqIEByZXR1cm5zIHN0cmluZyAtIFF1ZXJ5IHBhcmFtIHN0cmluZyB3aGVyZSBvcmRlciBpcyBpbmRpY2F0ZWQgYnkgKyAoYXNjZW5kaW5nKSBvciAtIChkZXNjZW5kaW5nKSwgZS5nLiBfJy1uYW1lJ19cbiAqL1xuZXhwb3J0IGNvbnN0IHNvcnRPcmRlckNvbmZpZ1RvUGFyYW0gPSAoXG4gIHNvcnRDb25maWc6IEd0U29ydEV2ZW50IHwgR3RTb3J0Q29uZmlnXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBvcmRlciA9IHNvcnRDb25maWcub3JkZXIgPT09ICdkZXNjJyA/ICctJyA6ICcrJztcbiAgcmV0dXJuIGAke29yZGVyfSR7c29ydENvbmZpZy5rZXl9YDtcbn07XG5cbi8qKiBzb3J0T3JkZXJUb1BhcmFtc1xuICogQGRlc2NyaXB0aW9uIENvbnZlcnQgc29ydCBvcmRlciBhcnJheSB0byBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBhcyBxdWVyeSBwYXJhbSB3aGVuIHNvcnRpbmcgaXMgaW1wbGVtZW50ZWQgc2VydmVyIHNpZGVcbiAqIEBwYXJhbSBzb3J0T3JkZXIgLSBBcnJheSB3aXRoIHNvcnQgY29uZmlnIG9iamVjdHNcbiAqIEByZXR1cm5zIHN0cmluZyAtIFF1ZXJ5IHBhcmFtIHN0cmluZyB3aGVyZSBlYWNoIHNvcnQgY29uZmlnIG9iamVjdCBpcyBzZXBhcmF0ZWQgYnkgY29tbWEgYW5kIG9yZGVyIGlzIGluZGljYXRlZCBieSArIChhc2NlbmRpbmcpIG9yIC0gKGRlc2NlbmRpbmcpLCBlLmcuIF8nbmFtZSwtYWdlJ19cbiAqL1xuZXhwb3J0IGNvbnN0IHNvcnRPcmRlclRvUGFyYW1zID0gKHNvcnRPcmRlcjogR3RTb3J0T3JkZXIpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gc29ydE9yZGVyXG4gICAgLm1hcCgoc29ydENvbmZpZykgPT4gc29ydE9yZGVyQ29uZmlnVG9QYXJhbShzb3J0Q29uZmlnKSlcbiAgICAuam9pbignLCcpO1xufTtcbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -14,4 +14,11 @@ export * from './lib/models/table-row.interface';
|
|
|
14
14
|
export * from './lib/models/table-sort.interface';
|
|
15
15
|
export * from './lib/models/table-meta.interface';
|
|
16
16
|
export * from './lib/models/table-events.interface';
|
|
17
|
-
|
|
17
|
+
export * from './lib/models/gt-pagination';
|
|
18
|
+
export * from './lib/utilities/utilities';
|
|
19
|
+
export * from './lib/pipes/capital-case.pipe';
|
|
20
|
+
export * from './lib/pipes/dash-case.pipe';
|
|
21
|
+
export * from './lib/pipes/dynamic.pipe';
|
|
22
|
+
export * from './lib/pipes/highlight.pipe';
|
|
23
|
+
export * from './lib/pipes/sort-class.pipe';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvcmVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3QtZGVsdGEvZ3QtZGVsdGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtY29sdW1uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtaW5mby5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RhYmxlLXJvdy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RhYmxlLXNvcnQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWJsZS1tZXRhLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvdGFibGUtZXZlbnRzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZ3QtcGFnaW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsaXRpZXMvdXRpbGl0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2NhcGl0YWwtY2FzZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2Rhc2gtY2FzZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2R5bmFtaWMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9oaWdobGlnaHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zb3J0LWNsYXNzLnBpcGUnO1xuIl19
|