@colijnit/corecomponents_v12 12.0.44 → 12.0.47
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 +404 -1
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.d.ts +2 -0
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/colijnit-corecomponents_v12.js +3 -1
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +4 -1
- package/esm2015/lib/components/pagination/paginate.pipe.js +106 -0
- package/esm2015/lib/components/pagination/pagination-instance.js +2 -0
- package/esm2015/lib/components/pagination/pagination.component.js +194 -0
- package/esm2015/lib/components/pagination/pagination.module.js +26 -0
- package/esm2015/lib/components/pagination/pagination.service.js +88 -0
- package/esm2015/public-api.js +3 -1
- package/fesm2015/colijnit-corecomponents_v12.js +406 -1
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/co-dialog/style/_material-definition.scss +1 -1
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +1 -0
- package/lib/components/pagination/paginate.pipe.d.ts +18 -0
- package/lib/components/pagination/pagination-instance.d.ts +14 -0
- package/lib/components/pagination/pagination.component.d.ts +46 -0
- package/lib/components/pagination/pagination.module.d.ts +2 -0
- package/lib/components/pagination/pagination.service.d.ts +24 -0
- package/lib/components/pagination/style/_layout.scss +87 -0
- package/lib/components/pagination/style/_material-definition.scss +6 -0
- package/lib/components/pagination/style/_theme.scss +5 -0
- package/lib/components/pagination/style/material.scss +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -10,6 +10,8 @@ export { BaseGridComponent as ɵq } from './lib/components/grid/base/base-grid.c
|
|
|
10
10
|
export { BaseInlineEditGridComponent as ɵo } from './lib/components/grid/base/base-inline-edit-grid.component';
|
|
11
11
|
export { BaseSelectionGridComponent as ɵn } from './lib/components/grid/base/base-selection-grid.component';
|
|
12
12
|
export { BaseToolbarGridComponent as ɵp } from './lib/components/grid/base/base-toolbar-grid.component';
|
|
13
|
+
export { PaginatePipe as ɵbg } from './lib/components/pagination/paginate.pipe';
|
|
14
|
+
export { PaginationService as ɵbf } from './lib/components/pagination/pagination.service';
|
|
13
15
|
export { PopupShowerService as ɵx } from './lib/components/popup/service/popup-shower.service';
|
|
14
16
|
export { BaseSimpleGridComponent as ɵy } from './lib/components/simple-grid/base-simple-grid.component';
|
|
15
17
|
export { SimpleGridCellComponent as ɵba } from './lib/components/simple-grid/simple-grid-cell.component';
|
|
@@ -32,4 +34,4 @@ export { AppendPipe as ɵs } from './lib/pipes/append.pipe';
|
|
|
32
34
|
export { AppendPipeModule as ɵr } from './lib/pipes/append.pipe.module';
|
|
33
35
|
export { PrependPipe as ɵbc } from './lib/pipes/prepend.pipe';
|
|
34
36
|
export { PrependPipeModule as ɵbb } from './lib/pipes/prepend.pipe.module';
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtY29yZWNvbXBvbmVudHNfdjEyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2NvbGlqbml0LWNvcmVjb21wb25lbnRzX3YxMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDckcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM3RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDMUcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUNBQXVDLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekgsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxHQUFHLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM1RyxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbkcsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDaEgsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDbEcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsVUFBVSxJQUFJLEVBQUUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtCYXNlSW5wdXRDb21wb25lbnQgYXMgybVtfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0IHtCYXNlTW9kdWxlIGFzIMm1an0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UubW9kdWxlJztcbmV4cG9ydCB7Q29tbWl0QnV0dG9uc0NvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFzZS9jb21taXQtYnV0dG9ucy9jb21taXQtYnV0dG9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21taXRCdXR0b25zTW9kdWxlIGFzIMm1dn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9iYXNlL2NvbW1pdC1idXR0b25zL2NvbW1pdC1idXR0b25zLm1vZHVsZSc7XG5leHBvcnQge0Jhc2VHcmlkQ29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkL2Jhc2UvYmFzZS1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQge0Jhc2VJbmxpbmVFZGl0R3JpZENvbXBvbmVudCBhcyDJtW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3JpZC9iYXNlL2Jhc2UtaW5saW5lLWVkaXQtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHtCYXNlU2VsZWN0aW9uR3JpZENvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3JpZC9iYXNlL2Jhc2Utc2VsZWN0aW9uLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7QmFzZVRvb2xiYXJHcmlkQ29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9ncmlkL2Jhc2UvYmFzZS10b29sYmFyLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7UGFnaW5hdGVQaXBlIGFzIMm1Ymd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0ZS5waXBlJztcbmV4cG9ydCB7UGFnaW5hdGlvblNlcnZpY2UgYXMgybViZn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQge1BvcHVwU2hvd2VyU2VydmljZSBhcyDJtXh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcG9wdXAvc2VydmljZS9wb3B1cC1zaG93ZXIuc2VydmljZSc7XG5leHBvcnQge0Jhc2VTaW1wbGVHcmlkQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zaW1wbGUtZ3JpZC9iYXNlLXNpbXBsZS1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQge1NpbXBsZUdyaWRDZWxsQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2ltcGxlLWdyaWQvc2ltcGxlLWdyaWQtY2VsbC5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHtWYWxpZGF0aW9uRXJyb3JNb2R1bGUgYXMgybV0fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGUnO1xuZXhwb3J0IHtJbnB1dEJvb2xlYW4gYXMgybVpfSBmcm9tICcuL2xpYi9jb3JlL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XG5leHBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZSBhcyDJtWt9IGZyb20gJy4vbGliL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2UnO1xuZXhwb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZSBhcyDJtWx9IGZyb20gJy4vbGliL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZSc7XG5leHBvcnQge0NsaWNrT3V0c2lkZU1hc3RlclNlcnZpY2UgYXMgybViZX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGlja291dHNpZGUvY2xpY2stb3V0c2lkZS1tYXN0ZXIuc2VydmljZSc7XG5leHBvcnQge0NsaWNrT3V0c2lkZURpcmVjdGl2ZSBhcyDJtWJkfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQge09ic2VydmVWaXNpYmlsaXR5RGlyZWN0aXZlIGFzIMm1en0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9vYnNlcnZlLXZpc2liaWxpdHkvb2JzZXJ2ZS12aXNpYmlsaXR5LmRpcmVjdGl2ZSc7XG5leHBvcnQge0NvUmlwcGxlRGlyZWN0aXZlIGFzIMm1YyxNRF9SSVBQTEVfR0xPQkFMX09QVElPTlMgYXMgybVifSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7UmlwcGxlTW9kdWxlIGFzIMm1YX0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yaXBwbGUvcmlwcGxlLm1vZHVsZSc7XG5leHBvcnQge0NvU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JpcHBsZS9zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmV4cG9ydCB7Q29TY3JvbGxhYmxlRGlyZWN0aXZlIGFzIMm1Zn0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yaXBwbGUvc2Nyb2xsYWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtDb1ZpZXdwb3J0UnVsZXJTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yaXBwbGUvdmlld3BvcnQtcnVsZXIuc2VydmljZSc7XG5leHBvcnQge1N0b3BDbGlja0RpcmVjdGl2ZSBhcyDJtWh9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc3RvcGNsaWNrL3N0b3AtY2xpY2suZGlyZWN0aXZlJztcbmV4cG9ydCB7U3RvcENsaWNrTW9kdWxlIGFzIMm1Z30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zdG9wY2xpY2svc3RvcC1jbGljay5tb2R1bGUnO1xuZXhwb3J0IHtBcHBlbmRQaXBlIGFzIMm1c30gZnJvbSAnLi9saWIvcGlwZXMvYXBwZW5kLnBpcGUnO1xuZXhwb3J0IHtBcHBlbmRQaXBlTW9kdWxlIGFzIMm1cn0gZnJvbSAnLi9saWIvcGlwZXMvYXBwZW5kLnBpcGUubW9kdWxlJztcbmV4cG9ydCB7UHJlcGVuZFBpcGUgYXMgybViY30gZnJvbSAnLi9saWIvcGlwZXMvcHJlcGVuZC5waXBlJztcbmV4cG9ydCB7UHJlcGVuZFBpcGVNb2R1bGUgYXMgybViYn0gZnJvbSAnLi9saWIvcGlwZXMvcHJlcGVuZC5waXBlLm1vZHVsZSc7Il19
|
|
@@ -10,6 +10,7 @@ export class InputDateRangePickerComponent extends BaseInputComponent {
|
|
|
10
10
|
this.dateRangeChange = new EventEmitter();
|
|
11
11
|
this.close = new EventEmitter();
|
|
12
12
|
this.select = new EventEmitter();
|
|
13
|
+
this.cleared = new EventEmitter();
|
|
13
14
|
}
|
|
14
15
|
showClass() {
|
|
15
16
|
return true;
|
|
@@ -33,6 +34,7 @@ InputDateRangePickerComponent.decorators = [
|
|
|
33
34
|
(ngModelChange)="rangeChange()"
|
|
34
35
|
(close)="close.next($event)"
|
|
35
36
|
(select)="select.next($event)"
|
|
37
|
+
(cleared)="cleared.next($event)"
|
|
36
38
|
[(startDate)]="startDate"
|
|
37
39
|
[(endDate)]="endDate"
|
|
38
40
|
></ejs-daterangepicker>
|
|
@@ -52,6 +54,7 @@ InputDateRangePickerComponent.propDecorators = {
|
|
|
52
54
|
dateRangeChange: [{ type: Output }],
|
|
53
55
|
close: [{ type: Output }],
|
|
54
56
|
select: [{ type: Output }],
|
|
57
|
+
cleared: [{ type: Output }],
|
|
55
58
|
showClass: [{ type: HostBinding, args: ["class.co-input-date-range-picker",] }]
|
|
56
59
|
};
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UtcGlja2VyL2lucHV0LWRhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQXFCaEUsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGtCQUF3QjtJQW5CM0U7O1FBc0JTLGVBQVUsR0FBVyxZQUFZLENBQUM7UUFHbEMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFTekIsb0JBQWUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUcvRCxrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzdELG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbkUsVUFBSyxHQUFxQixJQUFJLFlBQVksRUFBTSxDQUFDO1FBR2pELFdBQU0sR0FBcUIsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUdsRCxZQUFPLEdBQXFCLElBQUksWUFBWSxFQUFNLENBQUM7SUFlNUQsQ0FBQztJQVpRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7O1lBL0RGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7O0dBY1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozt5QkFHRSxLQUFLOzBCQUdMLEtBQUs7d0JBR0wsS0FBSztzQkFHTCxLQUFLOzhCQUdMLE1BQU07NEJBR04sTUFBTTs4QkFHTixNQUFNO29CQUdOLE1BQU07cUJBR04sTUFBTTtzQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28taW5wdXQtZGF0ZS1yYW5nZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZWpzLWRhdGVyYW5nZXBpY2tlclxyXG4gICAgICBbZm9ybWF0XT1cImRhdGVGb3JtYXRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbmdNb2RlbF09XCJtb2RlbFwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAoY2xvc2UpPVwiY2xvc2UubmV4dCgkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3QubmV4dCgkZXZlbnQpXCJcclxuICAgICAgKGNsZWFyZWQpPVwiY2xlYXJlZC5uZXh0KCRldmVudClcIlxyXG4gICAgICBbKHN0YXJ0RGF0ZSldPVwic3RhcnREYXRlXCJcclxuICAgICAgWyhlbmREYXRlKV09XCJlbmREYXRlXCJcclxuICAgID48L2Vqcy1kYXRlcmFuZ2VwaWNrZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVxdWlyZWQtaW5kaWNhdG9yXCI+PC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI3ZhbGlkYXRpb25FcnJvcj48L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXREYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQ8RGF0ZT4ge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSBcImRkLU1NLXl5eXlcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXJ0RGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHN0YXJ0RGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZW5kRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGF0ZVJhbmdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2U6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VsZWN0OiBFdmVudEVtaXR0ZXI8e30+ID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsZWFyZWQ6IEV2ZW50RW1pdHRlcjx7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1pbnB1dC1kYXRlLXJhbmdlLXBpY2tlclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByYW5nZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnREYXRlQ2hhbmdlLmVtaXQodGhpcy5zdGFydERhdGUpO1xyXG4gICAgdGhpcy5lbmREYXRlQ2hhbmdlLmVtaXQodGhpcy5lbmREYXRlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zdGFydERhdGUgJiYgdGhpcy5lbmREYXRlKSB7XHJcbiAgICAgIHRoaXMuZGF0ZVJhbmdlQ2hhbmdlLmVtaXQoW3RoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGVdKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Pipe } from "@angular/core";
|
|
2
|
+
import { PaginationService } from "./pagination.service";
|
|
3
|
+
const LARGE_NUMBER = 999999999;
|
|
4
|
+
export class PaginatePipe {
|
|
5
|
+
constructor(paginateService) {
|
|
6
|
+
this.paginateService = paginateService;
|
|
7
|
+
// store the values from the last time the pipe
|
|
8
|
+
this.state = {};
|
|
9
|
+
}
|
|
10
|
+
transform(collection, args) {
|
|
11
|
+
// When an observable is passed through the AsyncPipe, it will output
|
|
12
|
+
// `null` until the subscription resolves. In this case, we want to
|
|
13
|
+
// use the cached data from the `state` object to prevent the NgFor
|
|
14
|
+
// from flashing empty until the real values arrive.
|
|
15
|
+
if (!(collection instanceof Array)) {
|
|
16
|
+
let _id = args.id || this.paginateService.DEFAULT_ID;
|
|
17
|
+
if (this.state[_id]) {
|
|
18
|
+
return this.state[_id].slice;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return collection;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
let serverSideMode = args.totalItems !== undefined;
|
|
25
|
+
let instance = this._createInstance(collection, args);
|
|
26
|
+
let id = instance.id;
|
|
27
|
+
let start;
|
|
28
|
+
let end;
|
|
29
|
+
let perPage = instance.itemsPerPage;
|
|
30
|
+
this.paginateService.register(instance);
|
|
31
|
+
if (!serverSideMode && collection instanceof Array) {
|
|
32
|
+
perPage = perPage || LARGE_NUMBER;
|
|
33
|
+
start = (instance.currentPage - 1) * perPage;
|
|
34
|
+
end = start + perPage;
|
|
35
|
+
let isIdentical = this._stateIsIdentical(id, collection, start, end);
|
|
36
|
+
if (isIdentical) {
|
|
37
|
+
return this.state[id].slice;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
let slice = collection.slice(start, end);
|
|
41
|
+
this._saveState(id, collection, slice, start, end);
|
|
42
|
+
this.paginateService.change.next(id);
|
|
43
|
+
return slice;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// save the state for server-side collection to avoid null
|
|
47
|
+
// flash as new data loads.
|
|
48
|
+
this._saveState(id, collection, collection, start, end);
|
|
49
|
+
return collection;
|
|
50
|
+
}
|
|
51
|
+
// Create an IPaginationInstance object, using defaults for any optional properties not supplied.
|
|
52
|
+
_createInstance(collection, args) {
|
|
53
|
+
let config = args;
|
|
54
|
+
this._checkConfig(config);
|
|
55
|
+
return {
|
|
56
|
+
id: config.id || this.paginateService.DEFAULT_ID,
|
|
57
|
+
itemsPerPage: config.itemsPerPage || 0,
|
|
58
|
+
currentPage: config.currentPage || 1,
|
|
59
|
+
totalItems: config.totalItems || collection.length
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// Ensure the argument passed to the filter contains the required properties.
|
|
63
|
+
_checkConfig(config) {
|
|
64
|
+
const required = ["itemsPerPage", "currentPage"];
|
|
65
|
+
const missing = required.filter((prop) => !config.hasOwnProperty(prop));
|
|
66
|
+
if (0 < missing.length) {
|
|
67
|
+
throw new Error(`PaginatePipe: Argument is missing the following required properties: ${missing.join(", ")}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* To avoid returning a brand new array each time the pipe is run, we store the state of the sliced
|
|
72
|
+
* array for a given id. This means that the next time the pipe is run on this collection & id, we just
|
|
73
|
+
* need to check that the collection, start and end points are all identical, and if so, return the
|
|
74
|
+
* last sliced array.
|
|
75
|
+
*/
|
|
76
|
+
_saveState(id, collection, slice, start, end) {
|
|
77
|
+
this.state[id] = {
|
|
78
|
+
collection,
|
|
79
|
+
size: collection.length,
|
|
80
|
+
slice,
|
|
81
|
+
start,
|
|
82
|
+
end
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// For a given id, returns true if the collection, size, start and end values are identical.
|
|
86
|
+
_stateIsIdentical(id, collection, start, end) {
|
|
87
|
+
let state = this.state[id];
|
|
88
|
+
if (!state) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return state.collection === collection &&
|
|
92
|
+
state.size === collection.length &&
|
|
93
|
+
state.start === start &&
|
|
94
|
+
state.end === end;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
PaginatePipe.decorators = [
|
|
98
|
+
{ type: Pipe, args: [{
|
|
99
|
+
name: 'paginate',
|
|
100
|
+
pure: false
|
|
101
|
+
},] }
|
|
102
|
+
];
|
|
103
|
+
PaginatePipe.ctorParameters = () => [
|
|
104
|
+
{ type: PaginationService }
|
|
105
|
+
];
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsTUFBTSxZQUFZLEdBQVcsU0FBUyxDQUFDO0FBY3ZDLE1BQU0sT0FBTyxZQUFZO0lBS3JCLFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUh0RCwrQ0FBK0M7UUFDdkMsVUFBSyxHQUFpQyxFQUFFLENBQUM7SUFHakQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxVQUFpQixFQUFFLElBQVM7UUFDekMscUVBQXFFO1FBQ3JFLG1FQUFtRTtRQUNuRSxtRUFBbUU7UUFDbkUsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxDQUFDLFVBQVUsWUFBWSxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLEdBQUcsR0FBUSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBQzFELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUNoQztpQkFBTTtnQkFDSCxPQUFPLFVBQVUsQ0FBQzthQUNyQjtTQUNKO1FBRUQsSUFBSSxjQUFjLEdBQVksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUM7UUFDNUQsSUFBSSxRQUFRLEdBQXdCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksRUFBRSxHQUFX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Q0FBQyxFQUFVLEVBQUUsVUFBaUIsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUMvRSxJQUFJLEtBQUssR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVO1lBQ2xDLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLE1BQU07WUFDaEMsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLO1lBQ3JCLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzFCLENBQUM7OztZQXpHSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxLQUFLO2FBQ2Q7OztZQWhCTyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge1BhZ2luYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi9wYWdpbmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJUGFnaW5hdGlvbkluc3RhbmNlfSBmcm9tIFwiLi9wYWdpbmF0aW9uLWluc3RhbmNlXCI7XHJcblxyXG5jb25zdCBMQVJHRV9OVU1CRVI6IG51bWJlciA9IDk5OTk5OTk5OTtcclxuXHJcbmludGVyZmFjZSBJUGlwZVN0YXRlIHtcclxuICAgIGNvbGxlY3Rpb246IGFueVtdO1xyXG4gICAgc2l6ZTogbnVtYmVyO1xyXG4gICAgc3RhcnQ6IG51bWJlcjtcclxuICAgIGVuZDogbnVtYmVyO1xyXG4gICAgc2xpY2U6IGFueVtdO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAncGFnaW5hdGUnLFxyXG4gICAgcHVyZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIC8vIHN0b3JlIHRoZSB2YWx1ZXMgZnJvbSB0aGUgbGFzdCB0aW1lIHRoZSBwaXBlXHJcbiAgICBwcml2YXRlIHN0YXRlOiB7IFtpZDogc3RyaW5nXTogSVBpcGVTdGF0ZSB9ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwYWdpbmF0ZVNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRyYW5zZm9ybShjb2xsZWN0aW9uOiBhbnlbXSwgYXJnczogYW55KTogYW55IHtcclxuICAgICAgICAvLyBXaGVuIGFuIG9ic2VydmFibGUgaXMgcGFzc2VkIHRocm91Z2ggdGhlIEFzeW5jUGlwZSwgaXQgd2lsbCBvdXRwdXRcclxuICAgICAgICAvLyBgbnVsbGAgdW50aWwgdGhlIHN1YnNjcmlwdGlvbiByZXNvbHZlcy4gSW4gdGhpcyBjYXNlLCB3ZSB3YW50IHRvXHJcbiAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgZGF0YSBmcm9tIHRoZSBgc3RhdGVgIG9iamVjdCB0byBwcmV2ZW50IHRoZSBOZ0ZvclxyXG4gICAgICAgIC8vIGZyb20gZmxhc2hpbmcgZW1wdHkgdW50aWwgdGhlIHJlYWwgdmFsdWVzIGFycml2ZS5cclxuICAgICAgICBpZiAoIShjb2xsZWN0aW9uIGluc3RhbmNlb2YgQXJyYXkpKSB7XHJcbiAgICAgICAgICAgIGxldCBfaWQ6IGFueSA9IGFyZ3MuaWQgfHwgdGhpcy5wYWdpbmF0ZVNlcnZpY2UuREVGQVVMVF9JRDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVbX2lkXSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVbX2lkXS5zbGljZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc2VydmVyU2lkZU1vZGU6IGJvb2xlYW4gPSBhcmdzLnRvdGFsSXRlbXMgIT09IHVuZGVmaW5lZDtcclxuICAgICAgICBsZXQgaW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UgPSB0aGlzLl9jcmVhdGVJbnN0YW5jZShjb2xsZWN0aW9uLCBhcmdzKTtcclxuICAgICAgICBsZXQgaWQ6IHN0cmluZyA9IGluc3RhbmNlLmlkO1xyXG4gICAgICAgIGxldCBzdGFydDogbnVtYmVyO1xyXG4gICAgICAgIGxldCBlbmQ6IG51bWJlcjtcclxuICAgICAgICBsZXQgcGVyUGFnZTogbnVtYmVyID0gaW5zdGFuY2UuaXRlbXNQZXJQYWdlO1xyXG5cclxuICAgICAgICB0aGlzLnBhZ2luYXRlU2VydmljZS5yZWdpc3RlcihpbnN0YW5jZSk7XHJcblxyXG4gICAgICAgIGlmICghc2VydmVyU2lkZU1vZGUgJiYgY29sbGVjdGlvbiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIHBlclBhZ2UgPSBwZXJQYWdlIHx8IExBUkdFX05VTUJFUjtcclxuICAgICAgICAgICAgc3RhcnQgPSAoaW5zdGFuY2UuY3VycmVudFBhZ2UgLSAxKSAqIHBlclBhZ2U7XHJcbiAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgcGVyUGFnZTtcclxuXHJcbiAgICAgICAgICAgIGxldCBpc0lkZW50aWNhbDogYm9vbGVhbiA9IHRoaXMuX3N0YXRlSXNJZGVudGljYWwoaWQsIGNvbGxlY3Rpb24sIHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgICAgICBpZiAoaXNJZGVudGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlW2lkXS5zbGljZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxldCBzbGljZTogYW55W10gPSBjb2xsZWN0aW9uLnNsaWNlKHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZVN0YXRlKGlkLCBjb2xsZWN0aW9uLCBzbGljZSwgc3RhcnQsIGVuZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRlU2VydmljZS5jaGFuZ2UubmV4dChpZCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc2xpY2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHNhdmUgdGhlIHN0YXRlIGZvciBzZXJ2ZXItc2lkZSBjb2xsZWN0aW9uIHRvIGF2b2lkIG51bGxcclxuICAgICAgICAvLyBmbGFzaCBhcyBuZXcgZGF0YSBsb2Fkcy5cclxuICAgICAgICB0aGlzLl9zYXZlU3RhdGUoaWQsIGNvbGxlY3Rpb24sIGNvbGxlY3Rpb24sIHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENyZWF0ZSBhbiBJUGFnaW5hdGlvbkluc3RhbmNlIG9iamVjdCwgdXNpbmcgZGVmYXVsdHMgZm9yIGFueSBvcHRpb25hbCBwcm9wZXJ0aWVzIG5vdCBzdXBwbGllZC5cclxuICAgIHByaXZhdGUgX2NyZWF0ZUluc3RhbmNlKGNvbGxlY3Rpb246IGFueVtdLCBhcmdzOiBhbnkpOiBJUGFnaW5hdGlvbkluc3RhbmNlIHtcclxuICAgICAgICBsZXQgY29uZmlnOiBhbnkgPSBhcmdzO1xyXG4gICAgICAgIHRoaXMuX2NoZWNrQ29uZmlnKGNvbmZpZyk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBjb25maWcuaWQgfHwgdGhpcy5wYWdpbmF0ZVNlcnZpY2UuREVGQVVMVF9JRCxcclxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBjb25maWcuaXRlbXNQZXJQYWdlIHx8IDAsXHJcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBjb25maWcuY3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogY29uZmlnLnRvdGFsSXRlbXMgfHwgY29sbGVjdGlvbi5sZW5ndGhcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEVuc3VyZSB0aGUgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBmaWx0ZXIgY29udGFpbnMgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMuXHJcbiAgICBwcml2YXRlIF9jaGVja0NvbmZpZyhjb25maWc6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkOiBTdHJpbmdbXSA9IFtcIml0ZW1zUGVyUGFnZVwiLCBcImN1cnJlbnRQYWdlXCJdO1xyXG4gICAgICAgIGNvbnN0IG1pc3Npbmc6IFN0cmluZ1tdID0gcmVxdWlyZWQuZmlsdGVyKChwcm9wOiBhbnkpID0+ICFjb25maWcuaGFzT3duUHJvcGVydHkocHJvcCkpO1xyXG4gICAgICAgIGlmICgwIDwgbWlzc2luZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQYWdpbmF0ZVBpcGU6IEFyZ3VtZW50IGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyByZXF1aXJlZCBwcm9wZXJ0aWVzOiAke21pc3Npbmcuam9pbihcIiwgXCIpfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRvIGF2b2lkIHJldHVybmluZyBhIGJyYW5kIG5ldyBhcnJheSBlYWNoIHRpbWUgdGhlIHBpcGUgaXMgcnVuLCB3ZSBzdG9yZSB0aGUgc3RhdGUgb2YgdGhlIHNsaWNlZFxyXG4gICAgICogYXJyYXkgZm9yIGEgZ2l2ZW4gaWQuIFRoaXMgbWVhbnMgdGhhdCB0aGUgbmV4dCB0aW1lIHRoZSBwaXBlIGlzIHJ1biBvbiB0aGlzIGNvbGxlY3Rpb24gJiBpZCwgd2UganVzdFxyXG4gICAgICogbmVlZCB0byBjaGVjayB0aGF0IHRoZSBjb2xsZWN0aW9uLCBzdGFydCBhbmQgZW5kIHBvaW50cyBhcmUgYWxsIGlkZW50aWNhbCwgYW5kIGlmIHNvLCByZXR1cm4gdGhlXHJcbiAgICAgKiBsYXN0IHNsaWNlZCBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2F2ZVN0YXRlKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IGFueVtdLCBzbGljZTogYW55W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdGF0ZVtpZF0gPSB7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXHJcbiAgICAgICAgICAgIHNpemU6IGNvbGxlY3Rpb24ubGVuZ3RoLFxyXG4gICAgICAgICAgICBzbGljZSxcclxuICAgICAgICAgICAgc3RhcnQsXHJcbiAgICAgICAgICAgIGVuZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9yIGEgZ2l2ZW4gaWQsIHJldHVybnMgdHJ1ZSBpZiB0aGUgY29sbGVjdGlvbiwgc2l6ZSwgc3RhcnQgYW5kIGVuZCB2YWx1ZXMgYXJlIGlkZW50aWNhbC5cclxuICAgIHByaXZhdGUgX3N0YXRlSXNJZGVudGljYWwoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IHN0YXRlOiBhbnkgPSB0aGlzLnN0YXRlW2lkXTtcclxuICAgICAgICBpZiAoIXN0YXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0YXRlLmNvbGxlY3Rpb24gPT09IGNvbGxlY3Rpb24gJiZcclxuICAgICAgICAgICAgc3RhdGUuc2l6ZSA9PT0gY29sbGVjdGlvbi5sZW5ndGggJiZcclxuICAgICAgICAgICAgc3RhdGUuc3RhcnQgPT09IHN0YXJ0ICYmXHJcbiAgICAgICAgICAgIHN0YXRlLmVuZCA9PT0gZW5kO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24taW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFJlcHJlc2VudHMgYSBwYWdpbmF0aW9uIGluc3RhbmNlOiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGEgc2luZ2xlIHBhZ2luYXRpb24gY29tcG9uZW50LlxyXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0aW9uSW5zdGFuY2Uge1xyXG4gICAgLy8gQW4gb3B0aW9uYWwgSUQgZm9yIHRoZSBwYWdpbmF0aW9uIGluc3RhbmNlLiBPbmx5IHVzZWZ1bCBpZiB5b3Ugd2lzaCB0byBoYXZlIG1vcmUgdGhhbiBvbmNlIGluc3RhbmNlIGF0IGEgdGltZSBpbiBhIGdpdmVuIGNvbXBvbmVudC5cclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgLy8gVGhlIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnaW5hdGVkIHBhZ2UuXHJcbiAgICBpdGVtc1BlclBhZ2U6IG51bWJlcjtcclxuICAgIC8vIFRoZSBjdXJyZW50IChhY3RpdmUpIHBhZ2UuXHJcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBjb2xsZWN0aW9uLiBPbmx5IHVzZWZ1bCB3aGVuXHJcbiAgICAgKiBkb2luZyBzZXJ2ZXItc2lkZSBwYWdpbmcsIHdoZXJlIHRoZSBjb2xsZWN0aW9uIHNpemUgaXMgbGltaXRlZFxyXG4gICAgICogdG8gYSBzaW5nbGUgcGFnZSByZXR1cm5lZCBieSB0aGUgc2VydmVyIEFQSS5cclxuICAgICAqXHJcbiAgICAgKiBGb3IgaW4tbWVtb3J5IHBhZ2luZywgdGhpcyBwcm9wZXJ0eSBzaG91bGQgbm90IGJlIHNldCwgYXMgaXRcclxuICAgICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdGhlIHZhbHVlIG9mICBjb2xsZWN0aW9uLmxlbmd0aC5cclxuICAgICAqL1xyXG4gICAgdG90YWxJdGVtcz86IG51bWJlcjtcclxufSJdfQ==
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { PaginationService } from './pagination.service';
|
|
3
|
+
export class PaginationComponent {
|
|
4
|
+
constructor(_paginationService) {
|
|
5
|
+
this._paginationService = _paginationService;
|
|
6
|
+
this.maxSize = 7;
|
|
7
|
+
this.directionLinks = true;
|
|
8
|
+
this.previousLabel = 'Vorige pagina';
|
|
9
|
+
this.nextLabel = 'Volgende pagina';
|
|
10
|
+
this.autoHide = false;
|
|
11
|
+
// Emits the new page number.
|
|
12
|
+
this.pageChange = new EventEmitter();
|
|
13
|
+
this.showClass = true;
|
|
14
|
+
this.pages = [];
|
|
15
|
+
this.changeSub = this._paginationService.change.subscribe((id) => {
|
|
16
|
+
if (this.id === id) {
|
|
17
|
+
this._updatePageLinks();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
if (!this.id) {
|
|
23
|
+
this.id = this._paginationService.DEFAULT_ID;
|
|
24
|
+
}
|
|
25
|
+
this._updatePageLinks();
|
|
26
|
+
}
|
|
27
|
+
ngOnChanges() {
|
|
28
|
+
this._updatePageLinks();
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
this.changeSub.unsubscribe();
|
|
32
|
+
}
|
|
33
|
+
goToFirstPage() {
|
|
34
|
+
if (!this.isOnFirstPage()) {
|
|
35
|
+
this.setCurrentPage(1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
goToPreviousPage() {
|
|
39
|
+
if (!this.isOnFirstPage()) {
|
|
40
|
+
this.setCurrentPage(this.getCurrentPage() - 1);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
goToNextPage() {
|
|
44
|
+
if (!this.isOnLastPage()) {
|
|
45
|
+
this.setCurrentPage(this.getCurrentPage() + 1);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
setCurrentPage(page) {
|
|
49
|
+
this.pageChange.emit(page);
|
|
50
|
+
}
|
|
51
|
+
isOnFirstPage() {
|
|
52
|
+
return this.getCurrentPage() === 1;
|
|
53
|
+
}
|
|
54
|
+
isOnLastPage() {
|
|
55
|
+
return this.getLastPage() === this.getCurrentPage();
|
|
56
|
+
}
|
|
57
|
+
shouldBeHidden() {
|
|
58
|
+
if (!this.autoHide) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
let instance = this._paginationService.getInstance();
|
|
63
|
+
return (instance.totalItems <= instance.itemsPerPage);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Updates the page links and checks that the current page is valid. Should run whenever the
|
|
68
|
+
* PaginationService.change stream emits a value matching the current ID, or when any of the
|
|
69
|
+
* input values changes.
|
|
70
|
+
*/
|
|
71
|
+
_updatePageLinks() {
|
|
72
|
+
let paginationInstance = this._paginationService.getInstance(this.id);
|
|
73
|
+
this.pages = this.createPageArray(paginationInstance.currentPage, paginationInstance.itemsPerPage, paginationInstance.totalItems, this.maxSize);
|
|
74
|
+
const correctedCurrentPage = this.outOfBoundCorrection(paginationInstance);
|
|
75
|
+
if (correctedCurrentPage !== paginationInstance.currentPage) {
|
|
76
|
+
this.setCurrentPage(correctedCurrentPage);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getCurrentPage() {
|
|
80
|
+
return this._paginationService.getCurrentPage(this.id);
|
|
81
|
+
}
|
|
82
|
+
getLastPage() {
|
|
83
|
+
let instance = this._paginationService.getInstance(this.id);
|
|
84
|
+
return Math.ceil(instance.totalItems / instance.itemsPerPage);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Checks that the instance.currentPage property is within bounds for the current page range.
|
|
88
|
+
* If not, return a correct value for currentPage, or the current value if OK.
|
|
89
|
+
*/
|
|
90
|
+
outOfBoundCorrection(instance) {
|
|
91
|
+
const totalPages = Math.ceil(instance.totalItems / instance.itemsPerPage);
|
|
92
|
+
if (totalPages < instance.currentPage && 0 < totalPages) {
|
|
93
|
+
return totalPages;
|
|
94
|
+
}
|
|
95
|
+
else if (instance.currentPage < 1) {
|
|
96
|
+
return 1;
|
|
97
|
+
}
|
|
98
|
+
return instance.currentPage;
|
|
99
|
+
}
|
|
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
|
+
}
|
|
156
|
+
PaginationComponent.decorators = [
|
|
157
|
+
{ type: Component, args: [{
|
|
158
|
+
selector: 'co-pagination',
|
|
159
|
+
template: `
|
|
160
|
+
<div class="pagination-component-main-wrapper" *ngIf="!shouldBeHidden()">
|
|
161
|
+
<div>
|
|
162
|
+
<ng-content></ng-content>
|
|
163
|
+
</div>
|
|
164
|
+
<ul class="pagination">
|
|
165
|
+
<li *ngIf="directionLinks" class="pagination-previous">
|
|
166
|
+
<a (click)="goToPreviousPage()" [class.disabled]="isOnFirstPage()">{{ previousLabel }}</a>
|
|
167
|
+
</li>
|
|
168
|
+
<li *ngFor="let page of pages" [class.current]="getCurrentPage() === page.value" (click)="setCurrentPage(page.value)">
|
|
169
|
+
<span>{{page.label}}</span>
|
|
170
|
+
</li>
|
|
171
|
+
<li *ngIf="directionLinks" class="pagination-next">
|
|
172
|
+
<a (click)="goToNextPage()" [class.disabled]="isOnLastPage()">{{ nextLabel }}</a>
|
|
173
|
+
</li>
|
|
174
|
+
</ul>
|
|
175
|
+
</div>
|
|
176
|
+
`,
|
|
177
|
+
encapsulation: ViewEncapsulation.None
|
|
178
|
+
},] }
|
|
179
|
+
];
|
|
180
|
+
PaginationComponent.ctorParameters = () => [
|
|
181
|
+
{ type: PaginationService }
|
|
182
|
+
];
|
|
183
|
+
PaginationComponent.propDecorators = {
|
|
184
|
+
template: [{ type: ViewChild, args: ['template',] }],
|
|
185
|
+
id: [{ type: Input }],
|
|
186
|
+
maxSize: [{ type: Input }],
|
|
187
|
+
directionLinks: [{ type: Input }],
|
|
188
|
+
previousLabel: [{ type: Input }],
|
|
189
|
+
nextLabel: [{ type: Input }],
|
|
190
|
+
autoHide: [{ type: Input }],
|
|
191
|
+
pageChange: [{ type: Output }],
|
|
192
|
+
showClass: [{ type: HostBinding, args: ['class.co-pagination',] }]
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFBRSxXQUFXLEVBQ3pCLEtBQUssRUFJTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQTZCdkQsTUFBTSxPQUFPLG1CQUFtQjtJQWlDOUIsWUFBb0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUF6QmxELFlBQU8sR0FBVyxDQUFDLENBQUM7UUFHcEIsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFHL0Isa0JBQWEsR0FBVyxlQUFlLENBQUM7UUFHeEMsY0FBUyxHQUFXLGlCQUFpQixDQUFDO1FBR3RDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFakMsNkJBQTZCO1FBRWIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3ZFLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFMUIsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUt6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDdkUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7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YUFDVjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQzs7O1lBN01GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBNUJPLGlCQUFpQjs7O3VCQThCdEIsU0FBUyxTQUFDLFVBQVU7aUJBR3BCLEtBQUs7c0JBR0wsS0FBSzs2QkFHTCxLQUFLOzRCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLO3lCQUlMLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7SVBhZ2luYXRpb25JbnN0YW5jZX0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuaW1wb3J0IHtQYWdpbmF0aW9uU2VydmljZX0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGFnZSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbi1jb21wb25lbnQtbWFpbi13cmFwcGVyXCIgKm5nSWY9XCIhc2hvdWxkQmVIaWRkZW4oKVwiPlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIj5cclxuICAgICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1wcmV2aW91c1wiPlxyXG4gICAgICAgICAgPGEgKGNsaWNrKT1cImdvVG9QcmV2aW91c1BhZ2UoKVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpc09uRmlyc3RQYWdlKClcIj57eyBwcmV2aW91c0xhYmVsIH19PC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzXCIgW2NsYXNzLmN1cnJlbnRdPVwiZ2V0Q3VycmVudFBhZ2UoKSA9PT0gcGFnZS52YWx1ZVwiIChjbGljayk9XCJzZXRDdXJyZW50UGFnZShwYWdlLnZhbHVlKVwiPlxyXG4gICAgICAgICAgPHNwYW4+e3twYWdlLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiIGNsYXNzPVwicGFnaW5hdGlvbi1uZXh0XCI+XHJcbiAgICAgICAgICA8YSAoY2xpY2spPVwiZ29Ub05leHRQYWdlKClcIiBbY2xhc3MuZGlzYWJsZWRdPVwiaXNPbkxhc3RQYWdlKClcIj57eyBuZXh0TGFiZWwgfX08L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJylcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGU6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFNpemU6IG51bWJlciA9IDc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpcmVjdGlvbkxpbmtzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlvdXNMYWJlbDogc3RyaW5nID0gJ1ZvcmlnZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBuZXh0TGFiZWw6IHN0cmluZyA9ICdWb2xnZW5kZSBwYWdpbmEnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBFbWl0cyB0aGUgbmV3IHBhZ2UgbnVtYmVyLlxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXBhZ2luYXRpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgcGFnZXM6IElQYWdlW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBjaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGFnaW5hdGlvblNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmNoYW5nZVN1YiA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmNoYW5nZS5zdWJzY3JpYmUoKGlkOiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLkRFRkFVTFRfSUQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91cGRhdGVQYWdlTGlua3MoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub0ZpcnN0UGFnZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09uRmlyc3RQYWdlKCkpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50UGFnZSgxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnb1RvUHJldmlvdXNQYWdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzT25GaXJzdFBhZ2UoKSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuZ2V0Q3VycmVudFBhZ2UoKSAtIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9OZXh0UGFnZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09uTGFzdFBhZ2UoKSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKHRoaXMuZ2V0Q3VycmVudFBhZ2UoKSArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEN1cnJlbnRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNPbkZpcnN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRQYWdlKCkgPT09IDE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNPbkxhc3RQYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFzdFBhZ2UoKSA9PT0gdGhpcy5nZXRDdXJyZW50UGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3VsZEJlSGlkZGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmF1dG9IaWRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldEluc3RhbmNlKCk7XHJcbiAgICAgIHJldHVybiAoaW5zdGFuY2UudG90YWxJdGVtcyA8PSBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgcGFnZSBsaW5rcyBhbmQgY2hlY2tzIHRoYXQgdGhlIGN1cnJlbnQgcGFnZSBpcyB2YWxpZC4gU2hvdWxkIHJ1biB3aGVuZXZlciB0aGVcclxuICAgKiBQYWdpbmF0aW9uU2VydmljZS5jaGFuZ2Ugc3RyZWFtIGVtaXRzIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgSUQsIG9yIHdoZW4gYW55IG9mIHRoZVxyXG4gICAqIGlucHV0IHZhbHVlcyBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3VwZGF0ZVBhZ2VMaW5rcygpOiB2b2lkIHtcclxuICAgIGxldCBwYWdpbmF0aW9uSW5zdGFuY2U6IElQYWdpbmF0aW9uSW5zdGFuY2UgPSB0aGlzLl9wYWdpbmF0aW9uU2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIHRoaXMucGFnZXMgPSB0aGlzLmNyZWF0ZVBhZ2VBcnJheShwYWdpbmF0aW9uSW5zdGFuY2UuY3VycmVudFBhZ2UsIHBhZ2luYXRpb25JbnN0YW5jZS5pdGVtc1BlclBhZ2UsIHBhZ2luYXRpb25JbnN0YW5jZS50b3RhbEl0ZW1zLCB0aGlzLm1heFNpemUpO1xyXG5cclxuICAgIGNvbnN0IGNvcnJlY3RlZEN1cnJlbnRQYWdlOiBudW1iZXIgPSB0aGlzLm91dE9mQm91bmRDb3JyZWN0aW9uKHBhZ2luYXRpb25JbnN0YW5jZSk7XHJcbiAgICBpZiAoY29ycmVjdGVkQ3VycmVudFBhZ2UgIT09IHBhZ2luYXRpb25JbnN0YW5jZS5jdXJyZW50UGFnZSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnRQYWdlKGNvcnJlY3RlZEN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDdXJyZW50UGFnZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2luYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRQYWdlKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYXN0UGFnZSgpOiBudW1iZXIge1xyXG4gICAgbGV0IGluc3RhbmNlOiBJUGFnaW5hdGlvbkluc3RhbmNlID0gdGhpcy5fcGFnaW5hdGlvblNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICByZXR1cm4gTWF0aC5jZWlsKGluc3RhbmNlLnRvdGFsSXRlbXMgLyBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIHRoYXQgdGhlIGluc3RhbmNlLmN1cnJlbnRQYWdlIHByb3BlcnR5IGlzIHdpdGhpbiBib3VuZHMgZm9yIHRoZSBjdXJyZW50IHBhZ2UgcmFuZ2UuXHJcbiAgICogSWYgbm90LCByZXR1cm4gYSBjb3JyZWN0IHZhbHVlIGZvciBjdXJyZW50UGFnZSwgb3IgdGhlIGN1cnJlbnQgdmFsdWUgaWYgT0suXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvdXRPZkJvdW5kQ29ycmVjdGlvbihpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IG51bWJlciB7XHJcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSBNYXRoLmNlaWwoaW5zdGFuY2UudG90YWxJdGVtcyAvIGluc3RhbmNlLml0ZW1zUGVyUGFnZSk7XHJcbiAgICBpZiAodG90YWxQYWdlcyA8IGluc3RhbmNlLmN1cnJlbnRQYWdlICYmIDAgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgIHJldHVybiB0b3RhbFBhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChpbnN0YW5jZS5jdXJyZW50UGFnZSA8IDEpIHtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlLmN1cnJlbnRQYWdlO1xyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBhbiBhcnJheSBvZiBJUGFnZSBvYmplY3RzIHRvIHVzZSBpbiB0aGUgcGFnaW5hdGlvbiBjb250cm9scy5cclxuICBwcml2YXRlIGNyZWF0ZVBhZ2VBcnJheShjdXJyZW50UGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlciwgdG90YWxJdGVtczogbnVtYmVyLCBwYWdpbmF0aW9uUmFuZ2U6IG51bWJlcik6IElQYWdlW10ge1xyXG4gICAgLy8gcGFnaW5hdGlvblJhbmdlIGNvdWxkIGJlIGEgc3RyaW5nIGlmIHBhc3NlZCBmcm9tIGF0dHJpYnV0ZSwgc28gY2FzdCB0byBudW1iZXIuXHJcbiAgICBwYWdpbmF0aW9uUmFuZ2UgPSArcGFnaW5hdGlvblJhbmdlO1xyXG4gICAgbGV0IHBhZ2VzOiBJUGFnZVtdID0gW107XHJcbiAgICBjb25zdCB0b3RhbFBhZ2VzOiBudW1iZXIgPSBNYXRoLmNlaWwodG90YWxJdGVtcyAvIGl0ZW1zUGVyUGFnZSk7XHJcbiAgICBjb25zdCBoYWxmV2F5OiBudW1iZXIgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcbiAgICBjb25zdCBpc1N0YXJ0OiBib29sZWFuID0gY3VycmVudFBhZ2UgPD0gaGFsZldheTtcclxuICAgIGNvbnN0IGlzRW5kOiBib29sZWFuID0gdG90YWxQYWdlcyAtIGhhbGZXYXkgPCBjdXJyZW50UGFnZTtcclxuICAgIGNvbnN0IGlzTWlkZGxlOiBib29sZWFuID0gIWlzU3RhcnQgJiYgIWlzRW5kO1xyXG4gICAgbGV0IGVsbGlwc2VzTmVlZGVkOiBib29sZWFuID0gcGFnaW5hdGlvblJhbmdlIDwgdG90YWxQYWdlcztcclxuICAgIGxldCBpOiBudW1iZXIgPSAxO1xyXG4gICAgd2hpbGUgKGkgPD0gdG90YWxQYWdlcyAmJiBpIDw9IHBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICBsZXQgbGFiZWw6IHN0cmluZztcclxuICAgICAgbGV0IHBhZ2VOdW1iZXI6IG51bWJlciA9IHRoaXMuY2FsY3VsYXRlUGFnZU51bWJlcihpLCBjdXJyZW50UGFnZSwgcGFnaW5hdGlvblJhbmdlLCB0b3RhbFBhZ2VzKTtcclxuICAgICAgbGV0IG9wZW5pbmdFbGxpcHNlc05lZWRlZDogYm9vbGVhbiA9IChpID09PSAyICYmIChpc01pZGRsZSB8fCBpc0VuZCkpO1xyXG4gICAgICBsZXQgY2xvc2luZ0VsbGlwc2VzTmVlZGVkOiBib29sZWFuID0gKGkgPT09IHBhZ2luYXRpb25SYW5nZSAtIDEgJiYgKGlzTWlkZGxlIHx8IGlzU3RhcnQpKTtcclxuICAgICAgaWYgKGVsbGlwc2VzTmVlZGVkICYmIChvcGVuaW5nRWxsaXBzZXNOZWVkZWQgfHwgY2xvc2luZ0VsbGlwc2VzTmVlZGVkKSkge1xyXG4gICAgICAgIGxhYmVsID0gJy4uLic7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGFiZWwgPSAnJyArIHBhZ2VOdW1iZXI7XHJcbiAgICAgIH1cclxuICAgICAgcGFnZXMucHVzaCh7XHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgIHZhbHVlOiBwYWdlTnVtYmVyXHJcbiAgICAgIH0pO1xyXG4gICAgICBpKys7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFnZXM7XHJcbiAgfVxyXG5cclxuICAvLyBHaXZlbiB0aGUgcG9zaXRpb24gaW4gdGhlIHNlcXVlbmNlIG9mIHBhZ2luYXRpb24gbGlua3MgW2ldLCBmaWd1cmUgb3V0IHdoYXQgcGFnZSBudW1iZXIgY29ycmVzcG9uZHMgdG8gdGhhdCBwb3NpdGlvbi5cclxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VOdW1iZXIoaTogbnVtYmVyLCBjdXJyZW50UGFnZTogbnVtYmVyLCBwYWdpbmF0aW9uUmFuZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBoYWxmV2F5OiBudW1iZXIgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcbiAgICBpZiAoaSA9PT0gcGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgIHJldHVybiB0b3RhbFBhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChpID09PSAxKSB7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfSBlbHNlIGlmIChwYWdpbmF0aW9uUmFuZ2UgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgIGlmICh0b3RhbFBhZ2VzIC0gaGFsZldheSA8IGN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRvdGFsUGFnZXMgLSBwYWdpbmF0aW9uUmFuZ2UgKyBpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhhbGZXYXkgPCBjdXJyZW50UGFnZSkge1xyXG4gICAgICAgIHJldHVybiBjdXJyZW50UGFnZSAtIGhhbGZXYXkgKyBpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { PaginationComponent } from "./pagination.component";
|
|
4
|
+
import { PaginatePipe } from "./paginate.pipe";
|
|
5
|
+
import { PaginationService } from "./pagination.service";
|
|
6
|
+
export class PaginationModule {
|
|
7
|
+
}
|
|
8
|
+
PaginationModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule
|
|
12
|
+
],
|
|
13
|
+
providers: [
|
|
14
|
+
PaginationService
|
|
15
|
+
],
|
|
16
|
+
declarations: [
|
|
17
|
+
PaginationComponent,
|
|
18
|
+
PaginatePipe
|
|
19
|
+
],
|
|
20
|
+
exports: [
|
|
21
|
+
PaginationComponent,
|
|
22
|
+
PaginatePipe
|
|
23
|
+
]
|
|
24
|
+
},] }
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFrQnZELE1BQU0sT0FBTyxnQkFBZ0I7OztZQWhCNUIsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO2lCQUNmO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxpQkFBaUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDVixtQkFBbUI7b0JBQ25CLFlBQVk7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLG1CQUFtQjtvQkFDbkIsWUFBWTtpQkFDZjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuXHJcbmltcG9ydCB7UGFnaW5hdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4vcGFnaW5hdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQYWdpbmF0ZVBpcGV9IGZyb20gXCIuL3BhZ2luYXRlLnBpcGVcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uU2VydmljZX0gZnJvbSBcIi4vcGFnaW5hdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFBhZ2luYXRpb25TZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBQYWdpbmF0ZVBpcGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBQYWdpbmF0ZVBpcGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Nb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import { ObjectUtils } from "../../core/utils/object-utils";
|
|
4
|
+
export class PaginationService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.change = new Subject();
|
|
7
|
+
this.instances = {};
|
|
8
|
+
}
|
|
9
|
+
get DEFAULT_ID() {
|
|
10
|
+
return PaginationService.DEFAULT_ID;
|
|
11
|
+
}
|
|
12
|
+
register(instance) {
|
|
13
|
+
if (!instance.id) {
|
|
14
|
+
instance.id = PaginationService.DEFAULT_ID;
|
|
15
|
+
}
|
|
16
|
+
if (!this.instances[instance.id]) {
|
|
17
|
+
this.instances[instance.id] = instance;
|
|
18
|
+
this.change.next(instance.id);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
let changed = this.updateInstance(instance);
|
|
22
|
+
if (changed) {
|
|
23
|
+
this.change.next(instance.id);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// Returns the current page number.
|
|
28
|
+
getCurrentPage(id) {
|
|
29
|
+
if (this.instances[id]) {
|
|
30
|
+
return this.instances[id].currentPage;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Sets the current page number.
|
|
34
|
+
setCurrentPage(id, page) {
|
|
35
|
+
if (this.instances[id]) {
|
|
36
|
+
let instance = this.instances[id];
|
|
37
|
+
let maxPage = Math.ceil(instance.totalItems / instance.itemsPerPage);
|
|
38
|
+
if (page <= maxPage && 1 <= page) {
|
|
39
|
+
this.instances[id].currentPage = page;
|
|
40
|
+
this.change.next(id);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Sets the value of instance.totalItems
|
|
45
|
+
setTotalItems(id, totalItems) {
|
|
46
|
+
if (this.instances[id] && 0 <= totalItems) {
|
|
47
|
+
this.instances[id].totalItems = totalItems;
|
|
48
|
+
this.change.next(id);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Sets the value of instance.itemsPerPage.
|
|
52
|
+
setItemsPerPage(id, itemsPerPage) {
|
|
53
|
+
if (this.instances[id]) {
|
|
54
|
+
this.instances[id].itemsPerPage = itemsPerPage;
|
|
55
|
+
this.change.next(id);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Returns a clone of the pagination instance object matching the id. If no
|
|
60
|
+
* id specified, returns the instance corresponding to the default id.
|
|
61
|
+
*/
|
|
62
|
+
getInstance(id = PaginationService.DEFAULT_ID) {
|
|
63
|
+
if (this.instances[id]) {
|
|
64
|
+
return ObjectUtils.GetShallowClone(this.instances[id]);
|
|
65
|
+
}
|
|
66
|
+
return {};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check each property of the instance and update any that have changed. Return
|
|
70
|
+
* true if any changes were made, else return false.
|
|
71
|
+
*/
|
|
72
|
+
updateInstance(instance) {
|
|
73
|
+
let changed = false;
|
|
74
|
+
for (let prop in this.instances[instance.id]) {
|
|
75
|
+
if (instance[prop] !== this.instances[instance.id][prop]) {
|
|
76
|
+
this.instances[instance.id][prop] = instance[prop];
|
|
77
|
+
changed = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return changed;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
PaginationService.DEFAULT_ID = "DEFAULT_PAGINATION_ID";
|
|
84
|
+
PaginationService.decorators = [
|
|
85
|
+
{ type: Injectable }
|
|
86
|
+
];
|
|
87
|
+
PaginationService.ctorParameters = () => [];
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc3QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHMUQsTUFBTSxPQUFPLGlCQUFpQjtJQVcxQjtRQVJPLFdBQU0sR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQU10QyxjQUFTLEdBQTBDLEVBQUUsQ0FBQztJQUd2RSxDQUFDO0lBUEQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3hDLENBQUM7SUFPTSxRQUFRLENBQUMsUUFBNkI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZCxRQUFRLENBQUMsRUFBRSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDSCxJQUFJLE9BQU8sR0FBWSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNqQztTQUNKO0lBQ0wsQ0FBQztJQUVELG1DQUFtQztJQUM1QixjQUFjLENBQUMsRUFBVTtRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxnQ0FBZ0M7SUFDekIsY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLFFBQVEsR0FBd0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsd0NBQXdDO0lBQ2pDLGFBQWEsQ0FBQyxFQUFVLEVBQUUsVUFBa0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELDJDQUEyQztJQUNwQyxlQUFlLENBQUMsRUFBVSxFQUFFLFlBQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLEtBQWEsaUJBQWlCLENBQUMsVUFBVTtRQUN4RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQTRCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUFDLFFBQTZCO1FBQ2hELElBQUksT0FBTyxHQUFZLEtBQUssQ0FBQztRQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O0FBeEZ1Qiw0QkFBVSxHQUFXLHVCQUF1QixDQUFDOztZQUZ4RSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQge0lQYWdpbmF0aW9uSW5zdGFuY2V9IGZyb20gXCIuL3BhZ2luYXRpb24taW5zdGFuY2VcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uLy4uL2NvcmUvdXRpbHMvb2JqZWN0LXV0aWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lEOiBzdHJpbmcgPSBcIkRFRkFVTFRfUEFHSU5BVElPTl9JRFwiO1xyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2U6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IERFRkFVTFRfSUQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gUGFnaW5hdGlvblNlcnZpY2UuREVGQVVMVF9JRDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlczogeyBbaWQ6IHN0cmluZ106IElQYWdpbmF0aW9uSW5zdGFuY2UgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3RlcihpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghaW5zdGFuY2UuaWQpIHtcclxuICAgICAgICAgICAgaW5zdGFuY2UuaWQgPSBQYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaW5zdGFuY2UuaWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBjaGFuZ2VkOiBib29sZWFuID0gdGhpcy51cGRhdGVJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGluc3RhbmNlLmlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxyXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgIHB1YmxpYyBzZXRDdXJyZW50UGFnZShpZDogc3RyaW5nLCBwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSA9IHRoaXMuaW5zdGFuY2VzW2lkXTtcclxuICAgICAgICAgICAgbGV0IG1heFBhZ2U6IG51bWJlciA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2UgPD0gbWF4UGFnZSAmJiAxIDw9IHBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS50b3RhbEl0ZW1zXHJcbiAgICBwdWJsaWMgc2V0VG90YWxJdGVtcyhpZDogc3RyaW5nLCB0b3RhbEl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdICYmIDAgPD0gdG90YWxJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0udG90YWxJdGVtcyA9IHRvdGFsSXRlbXM7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLm5leHQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS5pdGVtc1BlclBhZ2UuXHJcbiAgICBwdWJsaWMgc2V0SXRlbXNQZXJQYWdlKGlkOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0uaXRlbXNQZXJQYWdlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5uZXh0KGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgY2xvbmUgb2YgdGhlIHBhZ2luYXRpb24gaW5zdGFuY2Ugb2JqZWN0IG1hdGNoaW5nIHRoZSBpZC4gSWYgbm9cclxuICAgICAqIGlkIHNwZWNpZmllZCwgcmV0dXJucyB0aGUgaW5zdGFuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgZGVmYXVsdCBpZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEluc3RhbmNlKGlkOiBzdHJpbmcgPSBQYWdpbmF0aW9uU2VydmljZS5ERUZBVUxUX0lEKTogSVBhZ2luYXRpb25JbnN0YW5jZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuR2V0U2hhbGxvd0Nsb25lKHRoaXMuaW5zdGFuY2VzW2lkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiA8SVBhZ2luYXRpb25JbnN0YW5jZT57fTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGVhY2ggcHJvcGVydHkgb2YgdGhlIGluc3RhbmNlIGFuZCB1cGRhdGUgYW55IHRoYXQgaGF2ZSBjaGFuZ2VkLiBSZXR1cm5cclxuICAgICAqIHRydWUgaWYgYW55IGNoYW5nZXMgd2VyZSBtYWRlLCBlbHNlIHJldHVybiBmYWxzZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnN0YW5jZShpbnN0YW5jZTogSVBhZ2luYXRpb25JbnN0YW5jZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBjaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgaWYgKGluc3RhbmNlW3Byb3BdICE9PSB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF1bcHJvcF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSA9IGluc3RhbmNlW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZWQ7XHJcbiAgICB9XHJcbn0iXX0=
|