@colijnit/corecomponents_v12 12.0.51 → 12.0.52
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/bundles/colijnit-corecomponents_v12.umd.js +76 -61
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/lib/components/input-combo-box/input-combo-box.component.js +2 -1
- package/esm2015/lib/components/pagination/pagination.component.js +8 -60
- package/esm2015/lib/components/pagination/pagination.service.js +1 -1
- package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +71 -3
- package/fesm2015/colijnit-corecomponents_v12.js +78 -61
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/pagination/pagination.component.d.ts +2 -4
- package/lib/components/pagination-bar/pagination-bar.component.d.ts +11 -3
- package/package.json +1 -1
|
@@ -32,6 +32,7 @@ InputComboBoxComponent.decorators = [
|
|
|
32
32
|
template: `
|
|
33
33
|
<ejs-combobox #combo [dataSource]="collection"
|
|
34
34
|
[fields]="fields"
|
|
35
|
+
[disabled]="readonly"
|
|
35
36
|
[placeholder]="placeholder"
|
|
36
37
|
[autofill]="true"
|
|
37
38
|
[ngModel]="model"
|
|
@@ -73,4 +74,4 @@ InputComboBoxComponent.propDecorators = {
|
|
|
73
74
|
valueChange: [{ type: Output }],
|
|
74
75
|
showClass: [{ type: HostBinding, args: ["class.co-input-combo-box",] }]
|
|
75
76
|
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1jb21iby1ib3gvaW5wdXQtY29tYm8tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUFFLE1BQU0sRUFDaEIsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUErQjFFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxrQkFBdUI7SUEyQmpFLFlBQ3FCLGFBQTRCLEVBQ3JDLGNBQWlDLEVBQ2pDLHdCQUFrRCxFQUNsRCxzQkFBZ0UsRUFDaEUsYUFBb0MsRUFDdkMsVUFBdUI7UUFFOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFQaEYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUEwQztRQUNoRSxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQWhCekIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBZ0I5RCxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQWRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFjTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7WUF2RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO3FCQUN0RCxFQUFFO3dCQUNELE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFdBQVcsRUFBRSxzQkFBc0I7cUJBQ3BDLENBQUM7Z0JBQ0YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQS9CTyxhQUFhLHVCQTREaEIsUUFBUTtZQTFFWCxpQkFBaUI7WUFFakIsd0JBQXdCO1lBVWxCLHVDQUF1QztZQUN2QyxvQkFBb0I7WUFWMUIsVUFBVTs7O29CQTRDVCxTQUFTLFNBQUMsT0FBTzt5QkFHakIsS0FBSztxQkFHTCxLQUFLO3VCQUdMLEtBQUs7MEJBR0wsS0FBSzt3QkFHTCxLQUFLOzBCQUdMLE1BQU07d0JBR04sV0FBVyxTQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCwgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCIuLi9mb3JtL2Zvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiLi4vYmFzZS9jb21wb25lbnQtaW50ZXJmYWNlLW5hbWVcIjtcclxuaW1wb3J0IHtDb21ib0JveENvbXBvbmVudH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRyb3Bkb3duc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28taW5wdXQtY29tYm8tYm94XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxlanMtY29tYm9ib3ggI2NvbWJvIFtkYXRhU291cmNlXT1cImNvbGxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvZmlsbF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAgICAgIHNob3dDbGVhckJ1dHRvbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBmbG9hdExhYmVsVHlwZT1cIkF1dG9cIlxyXG4gICAgPlxyXG4gICAgPC9lanMtY29tYm9ib3g+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWQtaW5kaWNhdG9yXCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI3ZhbGlkYXRpb25FcnJvcj48L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21ib0JveENvbXBvbmVudClcclxuICB9LCB7XHJcbiAgICBwcm92aWRlOiBCYXNlSW5wdXRDb21wb25lbnQsXHJcbiAgICB1c2VFeGlzdGluZzogSW5wdXRDb21ib0JveENvbXBvbmVudFxyXG4gIH1dLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Q29tYm9Cb3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8YW55PiB7XHJcbiAgQFZpZXdDaGlsZChcImNvbWJvXCIpXHJcbiAgcHVibGljIGNvbWJvOiBDb21ib0JveENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sbGVjdGlvbjogT2JqZWN0W10gfCBzdHJpbmdbXSB8IG51bWJlcltdIHwgYm9vbGVhbltdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaWVsZHM6IE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWQ6IG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3BQb3B1cDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28taW5wdXQtY29tYm8tYm94XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbXBvbmVudDogRm9ybUNvbXBvbmVudCxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lcj86IEZvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBuZ1pvbmVXcmFwcGVyPzogTmdab25lV3JhcHBlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZj86IEVsZW1lbnRSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyLCBuZ1pvbmVXcmFwcGVyLCBlbGVtZW50UmVmKTtcclxuICAgIHN1cGVyLl9tYXJrQXNPblB1c2goKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvcFBvcHVwICYmIHRoaXMubW9kZWwgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNvbWJvLnNob3dQb3B1cCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -11,7 +11,8 @@ export class PaginationComponent {
|
|
|
11
11
|
// Emits the new page number.
|
|
12
12
|
this.pageChange = new EventEmitter();
|
|
13
13
|
this.showClass = true;
|
|
14
|
-
this.
|
|
14
|
+
this.totalItems = 1;
|
|
15
|
+
this.itemsPerPage = 20;
|
|
15
16
|
this.changeSub = this._paginationService.change.subscribe((id) => {
|
|
16
17
|
if (this.id === id) {
|
|
17
18
|
this._updatePageLinks();
|
|
@@ -70,11 +71,12 @@ export class PaginationComponent {
|
|
|
70
71
|
*/
|
|
71
72
|
_updatePageLinks() {
|
|
72
73
|
let paginationInstance = this._paginationService.getInstance(this.id);
|
|
73
|
-
this.pages = this.createPageArray(paginationInstance.currentPage, paginationInstance.itemsPerPage, paginationInstance.totalItems, this.maxSize);
|
|
74
74
|
const correctedCurrentPage = this.outOfBoundCorrection(paginationInstance);
|
|
75
75
|
if (correctedCurrentPage !== paginationInstance.currentPage) {
|
|
76
76
|
this.setCurrentPage(correctedCurrentPage);
|
|
77
77
|
}
|
|
78
|
+
this.totalItems = paginationInstance.totalItems;
|
|
79
|
+
this.itemsPerPage = paginationInstance.itemsPerPage;
|
|
78
80
|
}
|
|
79
81
|
getCurrentPage() {
|
|
80
82
|
return this._paginationService.getCurrentPage(this.id);
|
|
@@ -97,61 +99,6 @@ export class PaginationComponent {
|
|
|
97
99
|
}
|
|
98
100
|
return instance.currentPage;
|
|
99
101
|
}
|
|
100
|
-
// Returns an array of IPage objects to use in the pagination controls.
|
|
101
|
-
createPageArray(currentPage, itemsPerPage, totalItems, paginationRange) {
|
|
102
|
-
// paginationRange could be a string if passed from attribute, so cast to number.
|
|
103
|
-
paginationRange = +paginationRange;
|
|
104
|
-
let pages = [];
|
|
105
|
-
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
106
|
-
const halfWay = Math.ceil(paginationRange / 2);
|
|
107
|
-
const isStart = currentPage <= halfWay;
|
|
108
|
-
const isEnd = totalPages - halfWay < currentPage;
|
|
109
|
-
const isMiddle = !isStart && !isEnd;
|
|
110
|
-
let ellipsesNeeded = paginationRange < totalPages;
|
|
111
|
-
let i = 1;
|
|
112
|
-
while (i <= totalPages && i <= paginationRange) {
|
|
113
|
-
let label;
|
|
114
|
-
let pageNumber = this.calculatePageNumber(i, currentPage, paginationRange, totalPages);
|
|
115
|
-
let openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));
|
|
116
|
-
let closingEllipsesNeeded = (i === paginationRange - 1 && (isMiddle || isStart));
|
|
117
|
-
if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {
|
|
118
|
-
label = '...';
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
label = '' + pageNumber;
|
|
122
|
-
}
|
|
123
|
-
pages.push({
|
|
124
|
-
label: label,
|
|
125
|
-
value: pageNumber
|
|
126
|
-
});
|
|
127
|
-
i++;
|
|
128
|
-
}
|
|
129
|
-
return pages;
|
|
130
|
-
}
|
|
131
|
-
// Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.
|
|
132
|
-
calculatePageNumber(i, currentPage, paginationRange, totalPages) {
|
|
133
|
-
let halfWay = Math.ceil(paginationRange / 2);
|
|
134
|
-
if (i === paginationRange) {
|
|
135
|
-
return totalPages;
|
|
136
|
-
}
|
|
137
|
-
else if (i === 1) {
|
|
138
|
-
return i;
|
|
139
|
-
}
|
|
140
|
-
else if (paginationRange < totalPages) {
|
|
141
|
-
if (totalPages - halfWay < currentPage) {
|
|
142
|
-
return totalPages - paginationRange + i;
|
|
143
|
-
}
|
|
144
|
-
else if (halfWay < currentPage) {
|
|
145
|
-
return currentPage - halfWay + i;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
return i;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
return i;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
102
|
}
|
|
156
103
|
PaginationComponent.decorators = [
|
|
157
104
|
{ type: Component, args: [{
|
|
@@ -163,11 +110,12 @@ PaginationComponent.decorators = [
|
|
|
163
110
|
</div>
|
|
164
111
|
|
|
165
112
|
<co-pagination-bar
|
|
166
|
-
[
|
|
113
|
+
[currentPage]="getCurrentPage()"
|
|
114
|
+
[totalItems]="totalItems"
|
|
115
|
+
[itemsPerPage]="itemsPerPage"
|
|
167
116
|
[directionLinks]="directionLinks"
|
|
168
117
|
[previousLabel]="previousLabel"
|
|
169
118
|
[nextLabel]="nextLabel"
|
|
170
|
-
[currentPage]="getCurrentPage()"
|
|
171
119
|
(previousClick)="goToPreviousPage()"
|
|
172
120
|
(nextClick)="goToNextPage()"
|
|
173
121
|
(pageClick)="setCurrentPage($event)"
|
|
@@ -191,4 +139,4 @@ PaginationComponent.propDecorators = {
|
|
|
191
139
|
pageChange: [{ type: Output }],
|
|
192
140
|
showClass: [{ type: HostBinding, args: ['class.co-pagination',] }]
|
|
193
141
|
};
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFBRSxXQUFXLEVBQ3pCLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQXdCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQWlDOUIsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUF6QmxELFlBQU8sR0FBVyxDQUFDLENBQUM7UUFHcEIsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFHL0Isa0JBQWEsR0FBVyxlQUFlLENBQUM7UUFHeEMsY0FBUyxHQUFXLGlCQUFpQixDQUFDO1FBR3RDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFakMsNkJBQTZCO1FBRWIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3ZFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUt6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDdkUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7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YUFDVjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQzs7O1lBN01GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdkJPLGlCQUFpQjs7O3VCQXlCdEIsU0FBUyxTQUFDLFVBQVU7aUJBR3BCLEtBQUs7c0JBR0wsS0FBSzs2QkFHTCxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLO3lCQUlMLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVBhZ2UgfSBmcm9tIFwiLi4vcGFnaW5hdGlvbi1iYXIvcGFnaW5hdGlvbi1iYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7SVBhZ2luYXRpb25JbnN0YW5jZX0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuaW1wb3J0IHtQYWdpbmF0aW9uU2VydmljZX0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1wYWdpbmF0aW9uJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24tY29tcG9uZW50LW1haW4td3JhcHBlclwiICpuZ0lmPVwiIXNob3VsZEJlSGlkZGVuKClcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLXBhZ2luYXRpb24tYmFyXHJcbiAgICAgICAgW3BhZ2VzXT1cInBhZ2VzXCJcclxuICAgICAgICBbZGlyZWN0aW9uTGlua3NdPVwiZGlyZWN0aW9uTGlua3NcIlxyXG4gICAgICAgIFtwcmV2aW91c0xhYmVsXT1cInByZXZpb3VzTGFiZWxcIlxyXG4gICAgICAgIFtuZXh0TGFiZWxdPVwibmV4dExhYmVsXCJcclxuICAgICAgICBbY3VycmVudFBhZ2VdPVwiZ2V0Q3VycmVudFBhZ2UoKVwiXHJcbiAgICAgICAgKHByZXZpb3VzQ2xpY2spPVwiZ29Ub1ByZXZpb3VzUGFnZSgpXCJcclxuICAgICAgICAobmV4dENsaWNrKT1cImdvVG9OZXh0UGFnZSgpXCJcclxuICAgICAgICAocGFnZUNsaWNrKT1cInNldEN1cnJlbnRQYWdlKCRldmVudClcIlxyXG4gICAgICA+PC9jby1wYWdpbmF0aW9uLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJylcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFNpemU6IG51bWJlciA9IDc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpcmVjdGlvbkxpbmtzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlvdXNMYWJlbDogc3RyaW5nID0gJ1ZvcmlnZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBuZXh0TGFiZWw6IHN0cmluZyA9ICdWb2xnZW5kZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbWl0cyB0aGUgbmV3IHBhZ2UgbnVtYmVyLlxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXBhZ2luYXRpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgcGFnZXM6IElQYWdlW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBjaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGFnaW5hdGlvblNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmNoYW5nZVN1YiA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmNoYW5nZS5zdWJzY3JpYmUoKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLkRFRkFVTFRfSUQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91cGRhdGVQYWdlTGlua3MoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub0ZpcnN0UGFnZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09uRmlyc3RQYWdlKCkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50UGFnZSgxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzT25GaXJzdFBhZ2UoKSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuZ2V0Q3VycmVudFBhZ2UoKSAtIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9OZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09uTGFzdFBhZ2UoKSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuZ2V0Q3VycmVudFBhZ2UoKSArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEN1cnJlbnRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNPbkZpcnN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRQYWdlKCkgPT09IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNPbkxhc3RQYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFzdFBhZ2UoKSA9PT0gdGhpcy5nZXRDdXJyZW50UGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3VsZEJlSGlkZGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmF1dG9IaWRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldEluc3RhbmNlKCk7XHJcbiAgICAgIHJldHVybiAoaW5zdGFuY2UudG90YWxJdGVtcyA8PSBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgcGFnZSBsaW5rcyBhbmQgY2hlY2tzIHRoYXQgdGhlIGN1cnJlbnQgcGFnZSBpcyB2YWxpZC4gU2hvdWxkIHJ1biB3aGVuZXZlciB0aGVcclxuICAgKiBQYWdpbmF0aW9uU2VydmljZS5jaGFuZ2Ugc3RyZWFtIGVtaXRzIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgSUQsIG9yIHdoZW4gYW55IG9mIHRoZVxyXG4gICAqIGlucHV0IHZhbHVlcyBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3VwZGF0ZVBhZ2VMaW5rcygpOiB2b2lkIHtcclxuICAgIGxldCBwYWdpbmF0aW9uSW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIHRoaXMucGFnZXMgPSB0aGlzLmNyZWF0ZVBhZ2VBcnJheShwYWdpbmF0aW9uSW5zdGFuY2UuY3VycmVudFBhZ2UsIHBhZ2luYXRpb25JbnN0YW5jZS5pdGVtc1BlclBhZ2UsIHBhZ2luYXRpb25JbnN0YW5jZS50b3RhbEl0ZW1zLCB0aGlzLm1heFNpemUpO1xyXG5cclxuICAgIGNvbnN0IGNvcnJlY3RlZEN1cnJlbnRQYWdlOiBudW1iZXIgPSB0aGlzLm91dE9mQm91bmRDb3JyZWN0aW9uKHBhZ2luYXRpb25JbnN0YW5jZSk7XHJcbiAgICBpZiAoY29ycmVjdGVkQ3VycmVudFBhZ2UgIT09IHBhZ2luYXRpb25JbnN0YW5jZS5jdXJyZW50UGFnZSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKGNvcnJlY3RlZEN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRQYWdlKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExhc3RQYWdlKCk6IG51bWJlciB7XHJcbiAgICBsZXQgaW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIHJldHVybiBNYXRoLmNlaWwoaW5zdGFuY2UudG90YWxJdGVtcyAvIGluc3RhbmNlLml0ZW1zUGVyUGFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgdGhhdCB0aGUgaW5zdGFuY2UuY3VycmVudFBhZ2UgcHJvcGVydHkgaXMgd2l0aGluIGJvdW5kcyBmb3IgdGhlIGN1cnJlbnQgcGFnZSByYW5nZS5cclxuICAgKiBJZiBub3QsIHJldHVybiBhIGNvcnJlY3QgdmFsdWUgZm9yIGN1cnJlbnRQYWdlLCBvciB0aGUgY3VycmVudCB2YWx1ZSBpZiBPSy5cclxuICAgKi9cclxuICBwcml2YXRlIG91dE9mQm91bmRDb3JyZWN0aW9uKGluc3RhbmNlOiBJUGFnaW5hdGlvbkluc3RhbmNlKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHRvdGFsUGFnZXM6IG51bWJlciA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgIGlmICh0b3RhbFBhZ2VzIDwgaW5zdGFuY2UuY3VycmVudFBhZ2UgJiYgMCA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgcmV0dXJuIHRvdGFsUGFnZXM7XHJcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLmN1cnJlbnRQYWdlIDwgMSkge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaW5zdGFuY2UuY3VycmVudFBhZ2U7XHJcbiAgfVxyXG5cclxuICAvLyBSZXR1cm5zIGFuIGFycmF5IG9mIElQYWdlIG9iamVjdHMgdG8gdXNlIGluIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzLlxyXG4gIHByaXZhdGUgY3JlYXRlUGFnZUFycmF5KGN1cnJlbnRQYWdlOiBudW1iZXIsIGl0ZW1zUGVyUGFnZTogbnVtYmVyLCB0b3RhbEl0ZW1zOiBudW1iZXIsIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyKTogSVBhZ2VbXSB7XHJcbiAgICAvLyBwYWdpbmF0aW9uUmFuZ2UgY291bGQgYmUgYSBzdHJpbmcgaWYgcGFzc2VkIGZyb20gYXR0cmlidXRlLCBzbyBjYXN0IHRvIG51bWJlci5cclxuICAgIHBhZ2luYXRpb25SYW5nZSA9ICtwYWdpbmF0aW9uUmFuZ2U7XHJcbiAgICBsZXQgcGFnZXM6IElQYWdlW10gPSBbXTtcclxuICAgIGNvbnN0IHRvdGFsUGFnZXM6IG51bWJlciA9IE1hdGguY2VpbCh0b3RhbEl0ZW1zIC8gaXRlbXNQZXJQYWdlKTtcclxuICAgIGNvbnN0IGhhbGZXYXk6IG51bWJlciA9IE1hdGguY2VpbChwYWdpbmF0aW9uUmFuZ2UgLyAyKTtcclxuICAgIGNvbnN0IGlzU3RhcnQ6IGJvb2xlYW4gPSBjdXJyZW50UGFnZSA8PSBoYWxmV2F5O1xyXG4gICAgY29uc3QgaXNFbmQ6IGJvb2xlYW4gPSB0b3RhbFBhZ2VzIC0gaGFsZldheSA8IGN1cnJlbnRQYWdlO1xyXG4gICAgY29uc3QgaXNNaWRkbGU6IGJvb2xlYW4gPSAhaXNTdGFydCAmJiAhaXNFbmQ7XHJcbiAgICBsZXQgZWxsaXBzZXNOZWVkZWQ6IGJvb2xlYW4gPSBwYWdpbmF0aW9uUmFuZ2UgPCB0b3RhbFBhZ2VzO1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDE7XHJcbiAgICB3aGlsZSAoaSA8PSB0b3RhbFBhZ2VzICYmIGkgPD0gcGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgIGxldCBsYWJlbDogc3RyaW5nO1xyXG4gICAgICBsZXQgcGFnZU51bWJlcjogbnVtYmVyID0gdGhpcy5jYWxjdWxhdGVQYWdlTnVtYmVyKGksIGN1cnJlbnRQYWdlLCBwYWdpbmF0aW9uUmFuZ2UsIHRvdGFsUGFnZXMpO1xyXG4gICAgICBsZXQgb3BlbmluZ0VsbGlwc2VzTmVlZGVkOiBib29sZWFuID0gKGkgPT09IDIgJiYgKGlzTWlkZGxlIHx8IGlzRW5kKSk7XHJcbiAgICAgIGxldCBjbG9zaW5nRWxsaXBzZXNOZWVkZWQ6IGJvb2xlYW4gPSAoaSA9PT0gcGFnaW5hdGlvblJhbmdlIC0gMSAmJiAoaXNNaWRkbGUgfHwgaXNTdGFydCkpO1xyXG4gICAgICBpZiAoZWxsaXBzZXNOZWVkZWQgJiYgKG9wZW5pbmdFbGxpcHNlc05lZWRlZCB8fCBjbG9zaW5nRWxsaXBzZXNOZWVkZWQpKSB7XHJcbiAgICAgICAgbGFiZWwgPSAnLi4uJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsYWJlbCA9ICcnICsgcGFnZU51bWJlcjtcclxuICAgICAgfVxyXG4gICAgICBwYWdlcy5wdXNoKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgdmFsdWU6IHBhZ2VOdW1iZXJcclxuICAgICAgfSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIHJldHVybiBwYWdlcztcclxuICB9XHJcblxyXG4gIC8vIEdpdmVuIHRoZSBwb3NpdGlvbiBpbiB0aGUgc2VxdWVuY2Ugb2YgcGFnaW5hdGlvbiBsaW5rcyBbaV0sIGZpZ3VyZSBvdXQgd2hhdCBwYWdlIG51bWJlciBjb3JyZXNwb25kcyB0byB0aGF0IHBvc2l0aW9uLlxyXG4gIHByaXZhdGUgY2FsY3VsYXRlUGFnZU51bWJlcihpOiBudW1iZXIsIGN1cnJlbnRQYWdlOiBudW1iZXIsIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyLCB0b3RhbFBhZ2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGhhbGZXYXk6IG51bWJlciA9IE1hdGguY2VpbChwYWdpbmF0aW9uUmFuZ2UgLyAyKTtcclxuICAgIGlmIChpID09PSBwYWdpbmF0aW9uUmFuZ2UpIHtcclxuICAgICAgcmV0dXJuIHRvdGFsUGFnZXM7XHJcbiAgICB9IGVsc2UgaWYgKGkgPT09IDEpIHtcclxuICAgICAgcmV0dXJuIGk7XHJcbiAgICB9IGVsc2UgaWYgKHBhZ2luYXRpb25SYW5nZSA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgaWYgKHRvdGFsUGFnZXMgLSBoYWxmV2F5IDwgY3VycmVudFBhZ2UpIHtcclxuICAgICAgICByZXR1cm4gdG90YWxQYWdlcyAtIHBhZ2luYXRpb25SYW5nZSArIGk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGFsZldheSA8IGN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQYWdlIC0gaGFsZldheSArIGk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBeUJ6RCxNQUFNLE9BQU8sbUJBQW1CO0lBbUM5QixZQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTNCbEQsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUdwQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUcvQixrQkFBYSxHQUFXLGVBQWUsQ0FBQztRQUd4QyxjQUFTLEdBQVcsaUJBQWlCLENBQUM7UUFHdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVqQyw2QkFBNkI7UUFFYixlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdkUsY0FBUyxHQUFZLElBQUksQ0FBQztRQUUxQixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBTS9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUN2RSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJ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QUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xGLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRTtZQUN2RCxPQUFPLFVBQVUsQ0FBQztTQUNuQjthQUFNLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUM5QixDQUFDOzs7WUEvSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeEJRLGlCQUFpQjs7O3VCQTBCdkIsU0FBUyxTQUFDLFVBQVU7aUJBR3BCLEtBQUs7c0JBR0wsS0FBSzs2QkFHTCxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLO3lCQUlMLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElQYWdpbmF0aW9uSW5zdGFuY2UgfSBmcm9tICcuL3BhZ2luYXRpb24taW5zdGFuY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcGFnaW5hdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLWNvbXBvbmVudC1tYWluLXdyYXBwZXJcIiAqbmdJZj1cIiFzaG91bGRCZUhpZGRlbigpXCI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxjby1wYWdpbmF0aW9uLWJhclxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJnZXRDdXJyZW50UGFnZSgpXCJcclxuICAgICAgICBbdG90YWxJdGVtc109XCJ0b3RhbEl0ZW1zXCJcclxuICAgICAgICBbaXRlbXNQZXJQYWdlXT1cIml0ZW1zUGVyUGFnZVwiXHJcbiAgICAgICAgW2RpcmVjdGlvbkxpbmtzXT1cImRpcmVjdGlvbkxpbmtzXCJcclxuICAgICAgICBbcHJldmlvdXNMYWJlbF09XCJwcmV2aW91c0xhYmVsXCJcclxuICAgICAgICBbbmV4dExhYmVsXT1cIm5leHRMYWJlbFwiXHJcbiAgICAgICAgKHByZXZpb3VzQ2xpY2spPVwiZ29Ub1ByZXZpb3VzUGFnZSgpXCJcclxuICAgICAgICAobmV4dENsaWNrKT1cImdvVG9OZXh0UGFnZSgpXCJcclxuICAgICAgICAocGFnZUNsaWNrKT1cInNldEN1cnJlbnRQYWdlKCRldmVudClcIlxyXG4gICAgICA+PC9jby1wYWdpbmF0aW9uLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJylcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFNpemU6IG51bWJlciA9IDc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpcmVjdGlvbkxpbmtzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlvdXNMYWJlbDogc3RyaW5nID0gJ1ZvcmlnZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBuZXh0TGFiZWw6IHN0cmluZyA9ICdWb2xnZW5kZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbWl0cyB0aGUgbmV3IHBhZ2UgbnVtYmVyLlxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXBhZ2luYXRpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgdG90YWxJdGVtczogbnVtYmVyID0gMTtcclxuICBwdWJsaWMgaXRlbXNQZXJQYWdlOiBudW1iZXIgPSAyMDtcclxuXHJcbiAgcHJpdmF0ZSBjaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhZ2luYXRpb25TZXJ2aWNlOiBQYWdpbmF0aW9uU2VydmljZSkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdWIgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5jaGFuZ2Uuc3Vic2NyaWJlKChpZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlkID09PSBpZCkge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZVBhZ2VMaW5rcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlkKSB7XHJcbiAgICAgIHRoaXMuaWQgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VwZGF0ZVBhZ2VMaW5rcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9GaXJzdFBhZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNPbkZpcnN0UGFnZSgpKSB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2UoMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1ByZXZpb3VzUGFnZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09uRmlyc3RQYWdlKCkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50UGFnZSh0aGlzLmdldEN1cnJlbnRQYWdlKCkgLSAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvTmV4dFBhZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNPbkxhc3RQYWdlKCkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50UGFnZSh0aGlzLmdldEN1cnJlbnRQYWdlKCkgKyAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDdXJyZW50UGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzT25GaXJzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50UGFnZSgpID09PSAxO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzT25MYXN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldExhc3RQYWdlKCkgPT09IHRoaXMuZ2V0Q3VycmVudFBhZ2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG91bGRCZUhpZGRlbigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5hdXRvSGlkZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXRJbnN0YW5jZSgpO1xyXG4gICAgICByZXR1cm4gKGluc3RhbmNlLnRvdGFsSXRlbXMgPD0gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIHBhZ2UgbGlua3MgYW5kIGNoZWNrcyB0aGF0IHRoZSBjdXJyZW50IHBhZ2UgaXMgdmFsaWQuIFNob3VsZCBydW4gd2hlbmV2ZXIgdGhlXHJcbiAgICogUGFnaW5hdGlvblNlcnZpY2UuY2hhbmdlIHN0cmVhbSBlbWl0cyBhIHZhbHVlIG1hdGNoaW5nIHRoZSBjdXJyZW50IElELCBvciB3aGVuIGFueSBvZiB0aGVcclxuICAgKiBpbnB1dCB2YWx1ZXMgY2hhbmdlcy5cclxuICAgKi9cclxuICBwcml2YXRlIF91cGRhdGVQYWdlTGlua3MoKTogdm9pZCB7XHJcbiAgICBsZXQgcGFnaW5hdGlvbkluc3RhbmNlOiBJUGFnaW5hdGlvbkluc3RhbmNlID0gdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcblxyXG4gICAgY29uc3QgY29ycmVjdGVkQ3VycmVudFBhZ2U6IG51bWJlciA9IHRoaXMub3V0T2ZCb3VuZENvcnJlY3Rpb24ocGFnaW5hdGlvbkluc3RhbmNlKTtcclxuICAgIGlmIChjb3JyZWN0ZWRDdXJyZW50UGFnZSAhPT0gcGFnaW5hdGlvbkluc3RhbmNlLmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgIHRoaXMuc2V0Q3VycmVudFBhZ2UoY29ycmVjdGVkQ3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG90YWxJdGVtcyA9IHBhZ2luYXRpb25JbnN0YW5jZS50b3RhbEl0ZW1zO1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBwYWdpbmF0aW9uSW5zdGFuY2UuaXRlbXNQZXJQYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEN1cnJlbnRQYWdlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0Q3VycmVudFBhZ2UodGhpcy5pZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGFzdFBhZ2UoKTogbnVtYmVyIHtcclxuICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgcmV0dXJuIE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyB0aGF0IHRoZSBpbnN0YW5jZS5jdXJyZW50UGFnZSBwcm9wZXJ0eSBpcyB3aXRoaW4gYm91bmRzIGZvciB0aGUgY3VycmVudCBwYWdlIHJhbmdlLlxyXG4gICAqIElmIG5vdCwgcmV0dXJuIGEgY29ycmVjdCB2YWx1ZSBmb3IgY3VycmVudFBhZ2UsIG9yIHRoZSBjdXJyZW50IHZhbHVlIGlmIE9LLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgb3V0T2ZCb3VuZENvcnJlY3Rpb24oaW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UpOiBudW1iZXIge1xyXG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gTWF0aC5jZWlsKGluc3RhbmNlLnRvdGFsSXRlbXMgLyBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgaWYgKHRvdGFsUGFnZXMgPCBpbnN0YW5jZS5jdXJyZW50UGFnZSAmJiAwIDwgdG90YWxQYWdlcykge1xyXG4gICAgICByZXR1cm4gdG90YWxQYWdlcztcclxuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2UuY3VycmVudFBhZ2UgPCAxKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnN0YW5jZS5jdXJyZW50UGFnZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -85,4 +85,4 @@ PaginationService.decorators = [
|
|
|
85
85
|
{ type: Injectable }
|
|
86
86
|
];
|
|
87
87
|
PaginationService.ctorParameters = () => [];
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVcxQjtRQVJPLFdBQU0sR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQU10QyxjQUFTLEdBQTBDLEVBQUUsQ0FBQztJQUd2RSxDQUFDO0lBUEQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3hDLENBQUM7SUFPTSxRQUFRLENBQUMsUUFBNkI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZCxRQUFRLENBQUMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDSCxJQUFJLE9BQU8sR0FBWSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQztTQUNKO0lBQ0wsQ0FBQztJQUVELG1DQUFtQztJQUM1QixjQUFjLENBQUMsRUFBVTtRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLFFBQVEsR0FBd0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLGFBQWEsQ0FBQyxFQUFVLEVBQUUsVUFBa0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELDJDQUEyQztJQUNwQyxlQUFlLENBQUMsRUFBVSxFQUFFLFlBQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLEtBQWEsaUJBQWlCLENBQUMsVUFBVTtRQUN4RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQTRCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUFDLFFBQTZCO1FBQ2hELElBQUksT0FBTyxHQUFZLEtBQUssQ0FBQztRQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O0FBekZ1Qiw0QkFBVSxHQUFXLHVCQUF1QixDQUFDOztZQUZ4RSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQge0lQYWdpbmF0aW9uSW5zdGFuY2V9IGZyb20gXCIuL3BhZ2luYXRpb24taW5zdGFuY2VcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lEOiBzdHJpbmcgPSBcIkRFRkFVTFRfUEFHSU5BVElPTl9JRFwiO1xyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2U6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IERFRkFVTFRfSUQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gUGFnaW5hdGlvblNlcnZpY2UuREVGQVVMVF9JRDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlczogeyBbaWQ6IHN0cmluZ106IElQYWdpbmF0aW9uSW5zdGFuY2UgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3RlcihpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghaW5zdGFuY2UuaWQpIHtcclxuICAgICAgICAgICAgaW5zdGFuY2UuaWQgPSBQYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaW5zdGFuY2UuaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBjaGFuZ2VkOiBib29sZWFuID0gdGhpcy51cGRhdGVJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGluc3RhbmNlLmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxyXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgIHB1YmxpYyBzZXRDdXJyZW50UGFnZShpZDogc3RyaW5nLCBwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuaW5zdGFuY2VzW2lkXTtcclxuICAgICAgICAgICAgbGV0IG1heFBhZ2U6IG51bWJlciA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2UgPD0gbWF4UGFnZSAmJiAxIDw9IHBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS50b3RhbEl0ZW1zXHJcbiAgICBwdWJsaWMgc2V0VG90YWxJdGVtcyhpZDogc3RyaW5nLCB0b3RhbEl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdICYmIDAgPD0gdG90YWxJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0udG90YWxJdGVtcyA9IHRvdGFsSXRlbXM7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS5pdGVtc1BlclBhZ2UuXHJcbiAgICBwdWJsaWMgc2V0SXRlbXNQZXJQYWdlKGlkOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0uaXRlbXNQZXJQYWdlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIGNsb25lIG9mIHRoZSBwYWdpbmF0aW9uIGluc3RhbmNlIG9iamVjdCBtYXRjaGluZyB0aGUgaWQuIElmIG5vXHJcbiAgICAgKiBpZCBzcGVjaWZpZWQsIHJldHVybnMgdGhlIGluc3RhbmNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGRlZmF1bHQgaWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRJbnN0YW5jZShpZDogc3RyaW5nID0gUGFnaW5hdGlvblNlcnZpY2UuREVGQVVMVF9JRCk6IElQYWdpbmF0aW9uSW5zdGFuY2Uge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLkdldFNoYWxsb3dDbG9uZSh0aGlzLmluc3RhbmNlc1tpZF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gPElQYWdpbmF0aW9uSW5zdGFuY2U+e307XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBlYWNoIHByb3BlcnR5IG9mIHRoZSBpbnN0YW5jZSBhbmQgdXBkYXRlIGFueSB0aGF0IGhhdmUgY2hhbmdlZC4gUmV0dXJuXHJcbiAgICAgKiB0cnVlIGlmIGFueSBjaGFuZ2VzIHdlcmUgbWFkZSwgZWxzZSByZXR1cm4gZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlSW5zdGFuY2UoaW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgY2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAobGV0IHByb3AgaW4gdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdKSB7XHJcbiAgICAgICAgICAgIGlmIChpbnN0YW5jZVtwcm9wXSAhPT0gdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdW3Byb3BdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF1bcHJvcF0gPSBpbnN0YW5jZVtwcm9wXTtcclxuICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
2
|
export class PaginationBarComponent {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.pages = [];
|
|
5
4
|
this.directionLinks = true;
|
|
6
5
|
this.previousLabel = 'Vorige pagina';
|
|
7
6
|
this.nextLabel = 'Volgende pagina';
|
|
8
7
|
this.currentPage = 1;
|
|
8
|
+
this.itemsPerPage = 20;
|
|
9
|
+
this.totalItems = 1;
|
|
10
|
+
this.paginationRange = 8;
|
|
9
11
|
this.previousClick = new EventEmitter();
|
|
10
12
|
this.nextClick = new EventEmitter();
|
|
11
13
|
this.pageClick = new EventEmitter();
|
|
14
|
+
this.pages = [];
|
|
12
15
|
}
|
|
13
16
|
showClass() {
|
|
14
17
|
return true;
|
|
15
18
|
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
|
|
21
|
+
this.pages = this._createPageArray();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (changes['currentPage'].currentValue !== changes['currentPage'].previousValue) {
|
|
25
|
+
this.pages = this._createPageArray();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
16
28
|
isOnFirstPage() {
|
|
17
29
|
return this.currentPage === 1;
|
|
18
30
|
}
|
|
@@ -29,6 +41,60 @@ export class PaginationBarComponent {
|
|
|
29
41
|
this.currentPage = value;
|
|
30
42
|
this.pageClick.emit(value);
|
|
31
43
|
}
|
|
44
|
+
// Returns an array of IPage objects to use in the pagination controls.
|
|
45
|
+
_createPageArray() {
|
|
46
|
+
// paginationRange could be a string if passed from attribute, so cast to number.
|
|
47
|
+
this.paginationRange = +this.paginationRange;
|
|
48
|
+
let pages = [];
|
|
49
|
+
const halfWay = Math.ceil(this.paginationRange / 2);
|
|
50
|
+
const isStart = this.currentPage <= halfWay;
|
|
51
|
+
const isEnd = this.totalPages - halfWay < this.currentPage;
|
|
52
|
+
const isMiddle = !isStart && !isEnd;
|
|
53
|
+
let ellipsesNeeded = this.paginationRange < this.totalPages;
|
|
54
|
+
let i = 1;
|
|
55
|
+
while (i <= this.totalPages && i <= this.paginationRange) {
|
|
56
|
+
let label;
|
|
57
|
+
let pageNumber = this._calculatePageNumber(i);
|
|
58
|
+
let openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));
|
|
59
|
+
let closingEllipsesNeeded = (i === this.paginationRange - 1 && (isMiddle || isStart));
|
|
60
|
+
if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {
|
|
61
|
+
label = '...';
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
label = '' + pageNumber;
|
|
65
|
+
}
|
|
66
|
+
pages.push({
|
|
67
|
+
label: label,
|
|
68
|
+
value: pageNumber
|
|
69
|
+
});
|
|
70
|
+
i++;
|
|
71
|
+
}
|
|
72
|
+
return pages;
|
|
73
|
+
}
|
|
74
|
+
// Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.
|
|
75
|
+
_calculatePageNumber(i) {
|
|
76
|
+
let halfWay = Math.ceil(this.paginationRange / 2);
|
|
77
|
+
if (i === this.paginationRange) {
|
|
78
|
+
return this.totalPages;
|
|
79
|
+
}
|
|
80
|
+
else if (i === 1) {
|
|
81
|
+
return i;
|
|
82
|
+
}
|
|
83
|
+
else if (this.paginationRange < this.totalPages) {
|
|
84
|
+
if (this.totalPages - halfWay < this.currentPage) {
|
|
85
|
+
return this.totalPages - this.paginationRange + i;
|
|
86
|
+
}
|
|
87
|
+
else if (halfWay < this.currentPage) {
|
|
88
|
+
return this.currentPage - halfWay + i;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return i;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return i;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
32
98
|
}
|
|
33
99
|
PaginationBarComponent.decorators = [
|
|
34
100
|
{ type: Component, args: [{
|
|
@@ -50,14 +116,16 @@ PaginationBarComponent.decorators = [
|
|
|
50
116
|
},] }
|
|
51
117
|
];
|
|
52
118
|
PaginationBarComponent.propDecorators = {
|
|
53
|
-
pages: [{ type: Input }],
|
|
54
119
|
directionLinks: [{ type: Input }],
|
|
55
120
|
previousLabel: [{ type: Input }],
|
|
56
121
|
nextLabel: [{ type: Input }],
|
|
57
122
|
currentPage: [{ type: Input }],
|
|
123
|
+
itemsPerPage: [{ type: Input }],
|
|
124
|
+
totalItems: [{ type: Input }],
|
|
125
|
+
paginationRange: [{ type: Input }],
|
|
58
126
|
previousClick: [{ type: Output }],
|
|
59
127
|
nextClick: [{ type: Output }],
|
|
60
128
|
pageClick: [{ type: Output }],
|
|
61
129
|
showClass: [{ type: HostBinding, args: ["class.co-pagination-bar",] }]
|
|
62
130
|
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24tYmFyL3BhZ2luYXRpb24tYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXdCdkcsTUFBTSxPQUFPLHNCQUFzQjtJQWpCbkM7UUFvQlMsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUdwQixtQkFBYyxHQUFZLElBQUksQ0FBQztRQUcvQixrQkFBYSxHQUFXLGVBQWUsQ0FBQztRQUd4QyxjQUFTLEdBQVcsaUJBQWlCLENBQUM7UUFHdEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFHeEIsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc3RCxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHekQsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBMkJoRSxDQUFDO0lBeEJRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7O1lBbkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztLQVlQO2dCQUNILGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7b0JBR0UsS0FBSzs2QkFHTCxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSzswQkFHTCxLQUFLOzRCQUdMLE1BQU07d0JBR04sTUFBTTt3QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2Uge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcGFnaW5hdGlvbi1iYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxyXG4gICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1wcmV2aW91c1wiPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvblByZXZpb3VzQ2xpY2soKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpc09uRmlyc3RQYWdlKClcIj57eyBwcmV2aW91c0xhYmVsIH19PC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIiBbY2xhc3MuY3VycmVudF09XCJjdXJyZW50UGFnZSA9PT0gcGFnZS52YWx1ZVwiIChjbGljayk9XCJvblBhZ2VDbGljayhwYWdlLnZhbHVlKVwiPlxyXG4gICAgICAgIDxzcGFuPnt7cGFnZS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1uZXh0XCI+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cIm9uTmV4dENsaWNrKClcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNPbkxhc3RQYWdlKClcIj57eyBuZXh0TGFiZWwgfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gICAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZXM6IElQYWdlW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlyZWN0aW9uTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmV2aW91c0xhYmVsOiBzdHJpbmcgPSAnVm9yaWdlIHBhZ2luYSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5leHRMYWJlbDogc3RyaW5nID0gJ1ZvbGdlbmRlIHBhZ2luYSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcHJldmlvdXNDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbmV4dENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwYWdlQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXBhZ2luYXRpb24tYmFyXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzT25GaXJzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA9PT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc09uTGFzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlcy5sZW5ndGggPT09IHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QcmV2aW91c0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c0NsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5leHRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMubmV4dENsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBhZ2VDbGljayh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gdmFsdWU7XHJcbiAgICB0aGlzLnBhZ2VDbGljay5lbWl0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24tYmFyL3BhZ2luYXRpb24tYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUF3QnZCLE1BQU0sT0FBTyxzQkFBc0I7SUFqQm5DO1FBb0JTLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRy9CLGtCQUFhLEdBQVcsZUFBZSxDQUFDO1FBR3hDLGNBQVMsR0FBVyxpQkFBaUIsQ0FBQztRQUd0QyxnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUd4QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUcxQixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBR3ZCLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBRzVCLGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHN0QsY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3pELGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU92RCxVQUFLLEdBQVksRUFBRSxDQUFDO0lBb0Y3QixDQUFDO0lBeEZRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2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LENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEQsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQ25EO2lCQUFNLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7U0FDRjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7OztZQXpJRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7S0FZUDtnQkFDSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OzZCQUdFLEtBQUs7NEJBR0wsS0FBSzt3QkFHTCxLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSzt5QkFHTCxLQUFLOzhCQUdMLEtBQUs7NEJBR0wsTUFBTTt3QkFHTixNQUFNO3dCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVBhZ2Uge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcGFnaW5hdGlvbi1iYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHVsIGNsYXNzPVwicGFnaW5hdGlvblwiPlxyXG4gICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1wcmV2aW91c1wiPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJvblByZXZpb3VzQ2xpY2soKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpc09uRmlyc3RQYWdlKClcIj57eyBwcmV2aW91c0xhYmVsIH19PC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIiBbY2xhc3MuY3VycmVudF09XCJjdXJyZW50UGFnZSA9PT0gcGFnZS52YWx1ZVwiIChjbGljayk9XCJvblBhZ2VDbGljayhwYWdlLnZhbHVlKVwiPlxyXG4gICAgICAgIDxzcGFuPnt7cGFnZS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1uZXh0XCI+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cIm9uTmV4dENsaWNrKClcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNPbkxhc3RQYWdlKClcIj57eyBuZXh0TGFiZWwgfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gICAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXJlY3Rpb25MaW5rczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByZXZpb3VzTGFiZWw6IHN0cmluZyA9ICdWb3JpZ2UgcGFnaW5hJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmV4dExhYmVsOiBzdHJpbmcgPSAnVm9sZ2VuZGUgcGFnaW5hJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VycmVudFBhZ2U6IG51bWJlciA9IDE7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGl0ZW1zUGVyUGFnZTogbnVtYmVyID0gMjA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRvdGFsSXRlbXM6IG51bWJlciA9IDE7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyID0gODtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHByZXZpb3VzQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG5leHRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGFnZUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1wYWdpbmF0aW9uLWJhclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdlczogSVBhZ2VbXSA9IFtdO1xyXG4gIHB1YmxpYyB0b3RhbFBhZ2VzOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG90YWxQYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XHJcbiAgICB0aGlzLnBhZ2VzID0gdGhpcy5fY3JlYXRlUGFnZUFycmF5KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2N1cnJlbnRQYWdlJ10uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzWydjdXJyZW50UGFnZSddLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgdGhpcy5wYWdlcyA9IHRoaXMuX2NyZWF0ZVBhZ2VBcnJheSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzT25GaXJzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA9PT0gMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc09uTGFzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlcy5sZW5ndGggPT09IHRoaXMuY3VycmVudFBhZ2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QcmV2aW91c0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c0NsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5leHRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMubmV4dENsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBhZ2VDbGljayh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gdmFsdWU7XHJcbiAgICB0aGlzLnBhZ2VDbGljay5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYW4gYXJyYXkgb2YgSVBhZ2Ugb2JqZWN0cyB0byB1c2UgaW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlUGFnZUFycmF5KCk6IElQYWdlW10ge1xyXG4gICAgLy8gcGFnaW5hdGlvblJhbmdlIGNvdWxkIGJlIGEgc3RyaW5nIGlmIHBhc3NlZCBmcm9tIGF0dHJpYnV0ZSwgc28gY2FzdCB0byBudW1iZXIuXHJcbiAgICB0aGlzLnBhZ2luYXRpb25SYW5nZSA9ICt0aGlzLnBhZ2luYXRpb25SYW5nZTtcclxuICAgIGxldCBwYWdlczogSVBhZ2VbXSA9IFtdO1xyXG4gICAgY29uc3QgaGFsZldheTogbnVtYmVyID0gTWF0aC5jZWlsKHRoaXMucGFnaW5hdGlvblJhbmdlIC8gMik7XHJcbiAgICBjb25zdCBpc1N0YXJ0OiBib29sZWFuID0gdGhpcy5jdXJyZW50UGFnZSA8PSBoYWxmV2F5O1xyXG4gICAgY29uc3QgaXNFbmQ6IGJvb2xlYW4gPSB0aGlzLnRvdGFsUGFnZXMgLSBoYWxmV2F5IDwgdGhpcy5jdXJyZW50UGFnZTtcclxuICAgIGNvbnN0IGlzTWlkZGxlOiBib29sZWFuID0gIWlzU3RhcnQgJiYgIWlzRW5kO1xyXG4gICAgbGV0IGVsbGlwc2VzTmVlZGVkOiBib29sZWFuID0gdGhpcy5wYWdpbmF0aW9uUmFuZ2UgPCB0aGlzLnRvdGFsUGFnZXM7XHJcbiAgICBsZXQgaTogbnVtYmVyID0gMTtcclxuICAgIHdoaWxlIChpIDw9IHRoaXMudG90YWxQYWdlcyAmJiBpIDw9IHRoaXMucGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgIGxldCBsYWJlbDogc3RyaW5nO1xyXG4gICAgICBsZXQgcGFnZU51bWJlcjogbnVtYmVyID0gdGhpcy5fY2FsY3VsYXRlUGFnZU51bWJlcihpKTtcclxuICAgICAgbGV0IG9wZW5pbmdFbGxpcHNlc05lZWRlZDogYm9vbGVhbiA9IChpID09PSAyICYmIChpc01pZGRsZSB8fCBpc0VuZCkpO1xyXG4gICAgICBsZXQgY2xvc2luZ0VsbGlwc2VzTmVlZGVkOiBib29sZWFuID0gKGkgPT09IHRoaXMucGFnaW5hdGlvblJhbmdlIC0gMSAmJiAoaXNNaWRkbGUgfHwgaXNTdGFydCkpO1xyXG4gICAgICBpZiAoZWxsaXBzZXNOZWVkZWQgJiYgKG9wZW5pbmdFbGxpcHNlc05lZWRlZCB8fCBjbG9zaW5nRWxsaXBzZXNOZWVkZWQpKSB7XHJcbiAgICAgICAgbGFiZWwgPSAnLi4uJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsYWJlbCA9ICcnICsgcGFnZU51bWJlcjtcclxuICAgICAgfVxyXG4gICAgICBwYWdlcy5wdXNoKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgdmFsdWU6IHBhZ2VOdW1iZXJcclxuICAgICAgfSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIHJldHVybiBwYWdlcztcclxuICB9XHJcblxyXG4gIC8vIEdpdmVuIHRoZSBwb3NpdGlvbiBpbiB0aGUgc2VxdWVuY2Ugb2YgcGFnaW5hdGlvbiBsaW5rcyBbaV0sIGZpZ3VyZSBvdXQgd2hhdCBwYWdlIG51bWJlciBjb3JyZXNwb25kcyB0byB0aGF0IHBvc2l0aW9uLlxyXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhZ2VOdW1iZXIoaTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBoYWxmV2F5OiBudW1iZXIgPSBNYXRoLmNlaWwodGhpcy5wYWdpbmF0aW9uUmFuZ2UgLyAyKTtcclxuICAgIGlmIChpID09PSB0aGlzLnBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3RhbFBhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChpID09PSAxKSB7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhZ2luYXRpb25SYW5nZSA8IHRoaXMudG90YWxQYWdlcykge1xyXG4gICAgICBpZiAodGhpcy50b3RhbFBhZ2VzIC0gaGFsZldheSA8IHRoaXMuY3VycmVudFBhZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b3RhbFBhZ2VzIC0gdGhpcy5wYWdpbmF0aW9uUmFuZ2UgKyBpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhhbGZXYXkgPCB0aGlzLmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgLSBoYWxmV2F5ICsgaTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -5804,6 +5804,7 @@ InputComboBoxComponent.decorators = [
|
|
|
5804
5804
|
template: `
|
|
5805
5805
|
<ejs-combobox #combo [dataSource]="collection"
|
|
5806
5806
|
[fields]="fields"
|
|
5807
|
+
[disabled]="readonly"
|
|
5807
5808
|
[placeholder]="placeholder"
|
|
5808
5809
|
[autofill]="true"
|
|
5809
5810
|
[ngModel]="model"
|
|
@@ -9291,18 +9292,30 @@ SimpleGridComponent.propDecorators = {
|
|
|
9291
9292
|
|
|
9292
9293
|
class PaginationBarComponent {
|
|
9293
9294
|
constructor() {
|
|
9294
|
-
this.pages = [];
|
|
9295
9295
|
this.directionLinks = true;
|
|
9296
9296
|
this.previousLabel = 'Vorige pagina';
|
|
9297
9297
|
this.nextLabel = 'Volgende pagina';
|
|
9298
9298
|
this.currentPage = 1;
|
|
9299
|
+
this.itemsPerPage = 20;
|
|
9300
|
+
this.totalItems = 1;
|
|
9301
|
+
this.paginationRange = 8;
|
|
9299
9302
|
this.previousClick = new EventEmitter();
|
|
9300
9303
|
this.nextClick = new EventEmitter();
|
|
9301
9304
|
this.pageClick = new EventEmitter();
|
|
9305
|
+
this.pages = [];
|
|
9302
9306
|
}
|
|
9303
9307
|
showClass() {
|
|
9304
9308
|
return true;
|
|
9305
9309
|
}
|
|
9310
|
+
ngOnInit() {
|
|
9311
|
+
this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
|
|
9312
|
+
this.pages = this._createPageArray();
|
|
9313
|
+
}
|
|
9314
|
+
ngOnChanges(changes) {
|
|
9315
|
+
if (changes['currentPage'].currentValue !== changes['currentPage'].previousValue) {
|
|
9316
|
+
this.pages = this._createPageArray();
|
|
9317
|
+
}
|
|
9318
|
+
}
|
|
9306
9319
|
isOnFirstPage() {
|
|
9307
9320
|
return this.currentPage === 1;
|
|
9308
9321
|
}
|
|
@@ -9319,6 +9332,60 @@ class PaginationBarComponent {
|
|
|
9319
9332
|
this.currentPage = value;
|
|
9320
9333
|
this.pageClick.emit(value);
|
|
9321
9334
|
}
|
|
9335
|
+
// Returns an array of IPage objects to use in the pagination controls.
|
|
9336
|
+
_createPageArray() {
|
|
9337
|
+
// paginationRange could be a string if passed from attribute, so cast to number.
|
|
9338
|
+
this.paginationRange = +this.paginationRange;
|
|
9339
|
+
let pages = [];
|
|
9340
|
+
const halfWay = Math.ceil(this.paginationRange / 2);
|
|
9341
|
+
const isStart = this.currentPage <= halfWay;
|
|
9342
|
+
const isEnd = this.totalPages - halfWay < this.currentPage;
|
|
9343
|
+
const isMiddle = !isStart && !isEnd;
|
|
9344
|
+
let ellipsesNeeded = this.paginationRange < this.totalPages;
|
|
9345
|
+
let i = 1;
|
|
9346
|
+
while (i <= this.totalPages && i <= this.paginationRange) {
|
|
9347
|
+
let label;
|
|
9348
|
+
let pageNumber = this._calculatePageNumber(i);
|
|
9349
|
+
let openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));
|
|
9350
|
+
let closingEllipsesNeeded = (i === this.paginationRange - 1 && (isMiddle || isStart));
|
|
9351
|
+
if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {
|
|
9352
|
+
label = '...';
|
|
9353
|
+
}
|
|
9354
|
+
else {
|
|
9355
|
+
label = '' + pageNumber;
|
|
9356
|
+
}
|
|
9357
|
+
pages.push({
|
|
9358
|
+
label: label,
|
|
9359
|
+
value: pageNumber
|
|
9360
|
+
});
|
|
9361
|
+
i++;
|
|
9362
|
+
}
|
|
9363
|
+
return pages;
|
|
9364
|
+
}
|
|
9365
|
+
// Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.
|
|
9366
|
+
_calculatePageNumber(i) {
|
|
9367
|
+
let halfWay = Math.ceil(this.paginationRange / 2);
|
|
9368
|
+
if (i === this.paginationRange) {
|
|
9369
|
+
return this.totalPages;
|
|
9370
|
+
}
|
|
9371
|
+
else if (i === 1) {
|
|
9372
|
+
return i;
|
|
9373
|
+
}
|
|
9374
|
+
else if (this.paginationRange < this.totalPages) {
|
|
9375
|
+
if (this.totalPages - halfWay < this.currentPage) {
|
|
9376
|
+
return this.totalPages - this.paginationRange + i;
|
|
9377
|
+
}
|
|
9378
|
+
else if (halfWay < this.currentPage) {
|
|
9379
|
+
return this.currentPage - halfWay + i;
|
|
9380
|
+
}
|
|
9381
|
+
else {
|
|
9382
|
+
return i;
|
|
9383
|
+
}
|
|
9384
|
+
}
|
|
9385
|
+
else {
|
|
9386
|
+
return i;
|
|
9387
|
+
}
|
|
9388
|
+
}
|
|
9322
9389
|
}
|
|
9323
9390
|
PaginationBarComponent.decorators = [
|
|
9324
9391
|
{ type: Component, args: [{
|
|
@@ -9340,11 +9407,13 @@ PaginationBarComponent.decorators = [
|
|
|
9340
9407
|
},] }
|
|
9341
9408
|
];
|
|
9342
9409
|
PaginationBarComponent.propDecorators = {
|
|
9343
|
-
pages: [{ type: Input }],
|
|
9344
9410
|
directionLinks: [{ type: Input }],
|
|
9345
9411
|
previousLabel: [{ type: Input }],
|
|
9346
9412
|
nextLabel: [{ type: Input }],
|
|
9347
9413
|
currentPage: [{ type: Input }],
|
|
9414
|
+
itemsPerPage: [{ type: Input }],
|
|
9415
|
+
totalItems: [{ type: Input }],
|
|
9416
|
+
paginationRange: [{ type: Input }],
|
|
9348
9417
|
previousClick: [{ type: Output }],
|
|
9349
9418
|
nextClick: [{ type: Output }],
|
|
9350
9419
|
pageClick: [{ type: Output }],
|
|
@@ -9567,7 +9636,8 @@ class PaginationComponent {
|
|
|
9567
9636
|
// Emits the new page number.
|
|
9568
9637
|
this.pageChange = new EventEmitter();
|
|
9569
9638
|
this.showClass = true;
|
|
9570
|
-
this.
|
|
9639
|
+
this.totalItems = 1;
|
|
9640
|
+
this.itemsPerPage = 20;
|
|
9571
9641
|
this.changeSub = this._paginationService.change.subscribe((id) => {
|
|
9572
9642
|
if (this.id === id) {
|
|
9573
9643
|
this._updatePageLinks();
|
|
@@ -9626,11 +9696,12 @@ class PaginationComponent {
|
|
|
9626
9696
|
*/
|
|
9627
9697
|
_updatePageLinks() {
|
|
9628
9698
|
let paginationInstance = this._paginationService.getInstance(this.id);
|
|
9629
|
-
this.pages = this.createPageArray(paginationInstance.currentPage, paginationInstance.itemsPerPage, paginationInstance.totalItems, this.maxSize);
|
|
9630
9699
|
const correctedCurrentPage = this.outOfBoundCorrection(paginationInstance);
|
|
9631
9700
|
if (correctedCurrentPage !== paginationInstance.currentPage) {
|
|
9632
9701
|
this.setCurrentPage(correctedCurrentPage);
|
|
9633
9702
|
}
|
|
9703
|
+
this.totalItems = paginationInstance.totalItems;
|
|
9704
|
+
this.itemsPerPage = paginationInstance.itemsPerPage;
|
|
9634
9705
|
}
|
|
9635
9706
|
getCurrentPage() {
|
|
9636
9707
|
return this._paginationService.getCurrentPage(this.id);
|
|
@@ -9653,61 +9724,6 @@ class PaginationComponent {
|
|
|
9653
9724
|
}
|
|
9654
9725
|
return instance.currentPage;
|
|
9655
9726
|
}
|
|
9656
|
-
// Returns an array of IPage objects to use in the pagination controls.
|
|
9657
|
-
createPageArray(currentPage, itemsPerPage, totalItems, paginationRange) {
|
|
9658
|
-
// paginationRange could be a string if passed from attribute, so cast to number.
|
|
9659
|
-
paginationRange = +paginationRange;
|
|
9660
|
-
let pages = [];
|
|
9661
|
-
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
|
9662
|
-
const halfWay = Math.ceil(paginationRange / 2);
|
|
9663
|
-
const isStart = currentPage <= halfWay;
|
|
9664
|
-
const isEnd = totalPages - halfWay < currentPage;
|
|
9665
|
-
const isMiddle = !isStart && !isEnd;
|
|
9666
|
-
let ellipsesNeeded = paginationRange < totalPages;
|
|
9667
|
-
let i = 1;
|
|
9668
|
-
while (i <= totalPages && i <= paginationRange) {
|
|
9669
|
-
let label;
|
|
9670
|
-
let pageNumber = this.calculatePageNumber(i, currentPage, paginationRange, totalPages);
|
|
9671
|
-
let openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));
|
|
9672
|
-
let closingEllipsesNeeded = (i === paginationRange - 1 && (isMiddle || isStart));
|
|
9673
|
-
if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {
|
|
9674
|
-
label = '...';
|
|
9675
|
-
}
|
|
9676
|
-
else {
|
|
9677
|
-
label = '' + pageNumber;
|
|
9678
|
-
}
|
|
9679
|
-
pages.push({
|
|
9680
|
-
label: label,
|
|
9681
|
-
value: pageNumber
|
|
9682
|
-
});
|
|
9683
|
-
i++;
|
|
9684
|
-
}
|
|
9685
|
-
return pages;
|
|
9686
|
-
}
|
|
9687
|
-
// Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.
|
|
9688
|
-
calculatePageNumber(i, currentPage, paginationRange, totalPages) {
|
|
9689
|
-
let halfWay = Math.ceil(paginationRange / 2);
|
|
9690
|
-
if (i === paginationRange) {
|
|
9691
|
-
return totalPages;
|
|
9692
|
-
}
|
|
9693
|
-
else if (i === 1) {
|
|
9694
|
-
return i;
|
|
9695
|
-
}
|
|
9696
|
-
else if (paginationRange < totalPages) {
|
|
9697
|
-
if (totalPages - halfWay < currentPage) {
|
|
9698
|
-
return totalPages - paginationRange + i;
|
|
9699
|
-
}
|
|
9700
|
-
else if (halfWay < currentPage) {
|
|
9701
|
-
return currentPage - halfWay + i;
|
|
9702
|
-
}
|
|
9703
|
-
else {
|
|
9704
|
-
return i;
|
|
9705
|
-
}
|
|
9706
|
-
}
|
|
9707
|
-
else {
|
|
9708
|
-
return i;
|
|
9709
|
-
}
|
|
9710
|
-
}
|
|
9711
9727
|
}
|
|
9712
9728
|
PaginationComponent.decorators = [
|
|
9713
9729
|
{ type: Component, args: [{
|
|
@@ -9719,11 +9735,12 @@ PaginationComponent.decorators = [
|
|
|
9719
9735
|
</div>
|
|
9720
9736
|
|
|
9721
9737
|
<co-pagination-bar
|
|
9722
|
-
[
|
|
9738
|
+
[currentPage]="getCurrentPage()"
|
|
9739
|
+
[totalItems]="totalItems"
|
|
9740
|
+
[itemsPerPage]="itemsPerPage"
|
|
9723
9741
|
[directionLinks]="directionLinks"
|
|
9724
9742
|
[previousLabel]="previousLabel"
|
|
9725
9743
|
[nextLabel]="nextLabel"
|
|
9726
|
-
[currentPage]="getCurrentPage()"
|
|
9727
9744
|
(previousClick)="goToPreviousPage()"
|
|
9728
9745
|
(nextClick)="goToNextPage()"
|
|
9729
9746
|
(pageClick)="setCurrentPage($event)"
|