@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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29tYm8tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC1jb21iby1ib3gvaW5wdXQtY29tYm8tYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUFFLE1BQU0sRUFDaEIsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUE4QjFFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxrQkFBdUI7SUEyQmpFLFlBQ3FCLGFBQTRCLEVBQ3JDLGNBQWlDLEVBQ2pDLHdCQUFrRCxFQUNsRCxzQkFBZ0UsRUFDaEUsYUFBb0MsRUFDdkMsVUFBdUI7UUFFOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFQaEYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUEwQztRQUNoRSxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQWhCekIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUcxQixnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBZ0I5RCxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQWRNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFjTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7WUF0RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7Z0JBQ0QsU0FBUyxFQUFFLENBQUM7d0JBQ1YsT0FBTyxFQUFFLHdCQUF3Qjt3QkFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztxQkFDdEQsRUFBRTt3QkFDRCxPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixXQUFXLEVBQUUsc0JBQXNCO3FCQUNwQyxDQUFDO2dCQUNGLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE5Qk8sYUFBYSx1QkEyRGhCLFFBQVE7WUF6RVgsaUJBQWlCO1lBRWpCLHdCQUF3QjtZQVVsQix1Q0FBdUM7WUFDdkMsb0JBQW9CO1lBVjFCLFVBQVU7OztvQkEyQ1QsU0FBUyxTQUFDLE9BQU87eUJBR2pCLEtBQUs7cUJBR0wsS0FBSzt1QkFHTCxLQUFLOzBCQUdMLEtBQUs7d0JBR0wsS0FBSzswQkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2V9IGZyb20gXCIuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Tmdab25lV3JhcHBlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9jb3JlL3NlcnZpY2Uvbmctem9uZS13cmFwcGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS9mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSBcIi4uL2Jhc2UvY29tcG9uZW50LWludGVyZmFjZS1uYW1lXCI7XHJcbmltcG9ydCB7Q29tYm9Cb3hDb21wb25lbnR9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1kcm9wZG93bnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWlucHV0LWNvbWJvLWJveFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZWpzLWNvbWJvYm94ICNjb21ibyBbZGF0YVNvdXJjZV09XCJjb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b2ZpbGxdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kZWxDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAgICAgICAgICAgICBzaG93Q2xlYXJCdXR0b249XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgZmxvYXRMYWJlbFR5cGU9XCJBdXRvXCJcclxuICAgID5cclxuICAgIDwvZWpzLWNvbWJvYm94PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWluZGljYXRvclwiPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICN2YWxpZGF0aW9uRXJyb3I+PC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IENPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0Q29tYm9Cb3hDb21wb25lbnQpXHJcbiAgfSwge1xyXG4gICAgcHJvdmlkZTogQmFzZUlucHV0Q29tcG9uZW50LFxyXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0Q29tYm9Cb3hDb21wb25lbnRcclxuICB9XSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dENvbWJvQm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4ge1xyXG4gIEBWaWV3Q2hpbGQoXCJjb21ib1wiKVxyXG4gIHB1YmxpYyBjb21ibzogQ29tYm9Cb3hDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb246IE9iamVjdFtdIHwgc3RyaW5nW10gfCBudW1iZXJbXSB8IGJvb2xlYW5bXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmllbGRzOiBPYmplY3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkOiBudW1iZXIgfCBzdHJpbmcgfCBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG9wUG9wdXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWlucHV0LWNvbWJvLWJveFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGZvcm1Db21wb25lbnQ6IEZvcm1Db21wb25lbnQsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgZm9ybVVzZXJDaGFuZ2VMaXN0ZW5lciwgbmdab25lV3JhcHBlciwgZWxlbWVudFJlZik7XHJcbiAgICBzdXBlci5fbWFya0FzT25QdXNoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3BQb3B1cCAmJiB0aGlzLm1vZGVsID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jb21iby5zaG93UG9wdXAoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
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.pages = [];
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
- [pages]="pages"
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVcxQjtRQVJPLFdBQU0sR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQU10QyxjQUFTLEdBQTBDLEVBQUUsQ0FBQztJQUd2RSxDQUFDO0lBUEQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3hDLENBQUM7SUFPTSxRQUFRLENBQUMsUUFBNkI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZCxRQUFRLENBQUMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDSCxJQUFJLE9BQU8sR0FBWSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQztTQUNKO0lBQ0wsQ0FBQztJQUVELG1DQUFtQztJQUM1QixjQUFjLENBQUMsRUFBVTtRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLFFBQVEsR0FBd0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLGFBQWEsQ0FBQyxFQUFVLEVBQUUsVUFBa0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELDJDQUEyQztJQUNwQyxlQUFlLENBQUMsRUFBVSxFQUFFLFlBQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLEtBQWEsaUJBQWlCLENBQUMsVUFBVTtRQUN4RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQTRCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUFDLFFBQTZCO1FBQ2hELElBQUksT0FBTyxHQUFZLEtBQUssQ0FBQztRQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O0FBeEZ1Qiw0QkFBVSxHQUFXLHVCQUF1QixDQUFDOztZQUZ4RSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQge0lQYWdpbmF0aW9uSW5zdGFuY2V9IGZyb20gXCIuL3BhZ2luYXRpb24taW5zdGFuY2VcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lEOiBzdHJpbmcgPSBcIkRFRkFVTFRfUEFHSU5BVElPTl9JRFwiO1xyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2U6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IERFRkFVTFRfSUQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gUGFnaW5hdGlvblNlcnZpY2UuREVGQVVMVF9JRDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlczogeyBbaWQ6IHN0cmluZ106IElQYWdpbmF0aW9uSW5zdGFuY2UgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3RlcihpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghaW5zdGFuY2UuaWQpIHtcclxuICAgICAgICAgICAgaW5zdGFuY2UuaWQgPSBQYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaW5zdGFuY2UuaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBjaGFuZ2VkOiBib29sZWFuID0gdGhpcy51cGRhdGVJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGluc3RhbmNlLmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxyXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgIHB1YmxpYyBzZXRDdXJyZW50UGFnZShpZDogc3RyaW5nLCBwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuaW5zdGFuY2VzW2lkXTtcclxuICAgICAgICAgICAgbGV0IG1heFBhZ2U6IG51bWJlciA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2UgPD0gbWF4UGFnZSAmJiAxIDw9IHBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS50b3RhbEl0ZW1zXHJcbiAgICBwdWJsaWMgc2V0VG90YWxJdGVtcyhpZDogc3RyaW5nLCB0b3RhbEl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdICYmIDAgPD0gdG90YWxJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0udG90YWxJdGVtcyA9IHRvdGFsSXRlbXM7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS5pdGVtc1BlclBhZ2UuXHJcbiAgICBwdWJsaWMgc2V0SXRlbXNQZXJQYWdlKGlkOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0uaXRlbXNQZXJQYWdlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgY2xvbmUgb2YgdGhlIHBhZ2luYXRpb24gaW5zdGFuY2Ugb2JqZWN0IG1hdGNoaW5nIHRoZSBpZC4gSWYgbm9cclxuICAgICAqIGlkIHNwZWNpZmllZCwgcmV0dXJucyB0aGUgaW5zdGFuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgZGVmYXVsdCBpZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEluc3RhbmNlKGlkOiBzdHJpbmcgPSBQYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEKTogSVBhZ2luYXRpb25JbnN0YW5jZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuR2V0U2hhbGxvd0Nsb25lKHRoaXMuaW5zdGFuY2VzW2lkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiA8SVBhZ2luYXRpb25JbnN0YW5jZT57fTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGVhY2ggcHJvcGVydHkgb2YgdGhlIGluc3RhbmNlIGFuZCB1cGRhdGUgYW55IHRoYXQgaGF2ZSBjaGFuZ2VkLiBSZXR1cm5cclxuICAgICAqIHRydWUgaWYgYW55IGNoYW5nZXMgd2VyZSBtYWRlLCBlbHNlIHJldHVybiBmYWxzZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnN0YW5jZShpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBjaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgaWYgKGluc3RhbmNlW3Byb3BdICE9PSB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF1bcHJvcF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSA9IGluc3RhbmNlW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZWQ7XHJcbiAgICB9XHJcbn0iXX0=
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.pages = [];
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
- [pages]="pages"
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)"