@hmcts/rpx-xui-common-lib 1.7.4 → 1.7.5

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.
Files changed (46) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +159 -37
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +22 -21
  6. package/esm2015/lib/components/find-location/find-location.component.js +18 -4
  7. package/esm2015/lib/components/find-person/find-person.component.js +14 -4
  8. package/esm2015/lib/components/generic-filter/generic-filter.component.js +21 -4
  9. package/esm2015/lib/components/search-location/search-location.component.js +12 -2
  10. package/esm2015/lib/components/user-list/user-list.component.js +29 -3
  11. package/esm2015/lib/exui-common-lib.module.js +8 -3
  12. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +49 -0
  13. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +1 -3
  14. package/esm2015/lib/models/filter.model.js +5 -1
  15. package/esm2015/lib/models/index.js +2 -1
  16. package/esm2015/lib/models/pagination.model.js +18 -0
  17. package/esm5/hmcts-rpx-xui-common-lib.js +22 -21
  18. package/esm5/lib/components/find-location/find-location.component.js +21 -4
  19. package/esm5/lib/components/find-person/find-person.component.js +17 -4
  20. package/esm5/lib/components/generic-filter/generic-filter.component.js +28 -4
  21. package/esm5/lib/components/search-location/search-location.component.js +15 -2
  22. package/esm5/lib/components/user-list/user-list.component.js +36 -3
  23. package/esm5/lib/exui-common-lib.module.js +9 -3
  24. package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +51 -0
  25. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +1 -3
  26. package/esm5/lib/models/filter.model.js +5 -1
  27. package/esm5/lib/models/index.js +2 -1
  28. package/esm5/lib/models/pagination.model.js +18 -0
  29. package/fesm2015/hmcts-rpx-xui-common-lib.js +117 -14
  30. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  31. package/fesm5/hmcts-rpx-xui-common-lib.js +143 -15
  32. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  33. package/hmcts-rpx-xui-common-lib.d.ts +21 -20
  34. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  35. package/lib/components/find-location/find-location.component.d.ts +4 -0
  36. package/lib/components/find-person/find-person.component.d.ts +2 -0
  37. package/lib/components/generic-filter/generic-filter.component.d.ts +1 -0
  38. package/lib/components/search-location/search-location.component.d.ts +2 -0
  39. package/lib/components/user-list/user-list.component.d.ts +9 -2
  40. package/lib/exui-common-lib.module.d.ts +2 -2
  41. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
  42. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +0 -1
  43. package/lib/models/filter.model.d.ts +2 -0
  44. package/lib/models/index.d.ts +1 -0
  45. package/lib/models/pagination.model.d.ts +5 -0
  46. package/package.json +3 -2
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
7
+ var HmctsPaginationComponent = /** @class */ (function () {
8
+ function HmctsPaginationComponent() {
9
+ this.maxSize = 7;
10
+ this.pageSize = 10;
11
+ this.showPageNumbers = true;
12
+ this.showResultCount = true;
13
+ this.pageChange = new EventEmitter();
14
+ this.pageBoundsCorrection = new EventEmitter();
15
+ }
16
+ HmctsPaginationComponent.decorators = [
17
+ { type: Component, args: [{
18
+ selector: 'xuilib-hmcts-pagination',
19
+ template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">Pagination navigation</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">Previous <span class=\"govuk-visually-hidden\">set of pages</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">page </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">Next<span class=\"govuk-visually-hidden\"> page</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>",
20
+ styles: [".hmcts-pagination__results{float:right}"]
21
+ }] }
22
+ ];
23
+ HmctsPaginationComponent.propDecorators = {
24
+ id: [{ type: Input }],
25
+ maxSize: [{ type: Input }],
26
+ pageSize: [{ type: Input }],
27
+ showPageNumbers: [{ type: Input }],
28
+ showResultCount: [{ type: Input }],
29
+ pageChange: [{ type: Output }],
30
+ pageBoundsCorrection: [{ type: Output }]
31
+ };
32
+ return HmctsPaginationComponent;
33
+ }());
34
+ export { HmctsPaginationComponent };
35
+ if (false) {
36
+ /** @type {?} */
37
+ HmctsPaginationComponent.prototype.id;
38
+ /** @type {?} */
39
+ HmctsPaginationComponent.prototype.maxSize;
40
+ /** @type {?} */
41
+ HmctsPaginationComponent.prototype.pageSize;
42
+ /** @type {?} */
43
+ HmctsPaginationComponent.prototype.showPageNumbers;
44
+ /** @type {?} */
45
+ HmctsPaginationComponent.prototype.showResultCount;
46
+ /** @type {?} */
47
+ HmctsPaginationComponent.prototype.pageChange;
48
+ /** @type {?} */
49
+ HmctsPaginationComponent.prototype.pageBoundsCorrection;
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXBhZ2luYXRpb24vaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFO0lBQUE7UUFRa0IsWUFBTyxHQUFXLENBQUMsQ0FBQztRQUNwQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQy9CLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCx5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUUzRixDQUFDOztnQkFmQSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsNHlFQUFnRDs7aUJBRWpEOzs7cUJBR0UsS0FBSzswQkFDTCxLQUFLOzJCQUNMLEtBQUs7a0NBQ0wsS0FBSztrQ0FDTCxLQUFLOzZCQUNMLE1BQU07dUNBQ04sTUFBTTs7SUFFVCwrQkFBQztDQUFBLEFBZkQsSUFlQztTQVZZLHdCQUF3Qjs7O0lBRW5DLHNDQUEyQjs7SUFDM0IsMkNBQW9DOztJQUNwQyw0Q0FBc0M7O0lBQ3RDLG1EQUFnRDs7SUFDaEQsbURBQWdEOztJQUNoRCw4Q0FBK0U7O0lBQy9FLHdEQUF5RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1obWN0cy1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9obWN0cy1wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNQYWdpbmF0aW9uQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1heFNpemU6IG51bWJlciA9IDc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYWdlU2l6ZTogbnVtYmVyID0gMTA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93UGFnZU51bWJlcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1Jlc3VsdENvdW50OiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBhZ2VCb3VuZHNDb3JyZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG59XG4iXX0=
@@ -37,7 +37,5 @@ if (false) {
37
37
  SubNavigation.prototype.href;
38
38
  /** @type {?} */
39
39
  SubNavigation.prototype.active;
40
- /** @type {?|undefined} */
41
- SubNavigation.prototype.total;
42
40
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1zdWItbmF2aWdhdGlvbi9obWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRDtJQUFBO0lBT0EsQ0FBQzs7Z0JBUEEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLDBmQUFvRDtpQkFDdkQ7Ozt3QkFFSSxLQUFLO3dCQUNMLEtBQUs7O0lBQ1Ysa0NBQUM7Q0FBQSxBQVBELElBT0M7U0FIWSwyQkFBMkI7OztJQUNwQyw0Q0FBOEI7O0lBQzlCLDRDQUF1Qzs7Ozs7QUFHM0MsbUNBS0M7OztJQUpHLDZCQUFhOztJQUNiLDZCQUFhOztJQUNiLCtCQUFnQjs7SUFDaEIsOEJBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLXN1Yi1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBTdWJOYXZpZ2F0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViTmF2aWdhdGlvbiB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgdG90YWw/OiBudW1iZXI7XG59XG5cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1zdWItbmF2aWdhdGlvbi9obWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRDtJQUFBO0lBT0EsQ0FBQzs7Z0JBUEEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLDBmQUFvRDtpQkFDdkQ7Ozt3QkFFSSxLQUFLO3dCQUNMLEtBQUs7O0lBQ1Ysa0NBQUM7Q0FBQSxBQVBELElBT0M7U0FIWSwyQkFBMkI7OztJQUNwQyw0Q0FBOEI7O0lBQzlCLDRDQUF1Qzs7Ozs7QUFHM0MsbUNBSUM7OztJQUhHLDZCQUFhOztJQUNiLDZCQUFhOztJQUNiLCtCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtc3ViLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNTdWJOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IFN1Yk5hdmlnYXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJOYXZpZ2F0aW9uIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaHJlZjogc3RyaW5nO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbn1cblxuIl19
@@ -63,6 +63,8 @@ if (false) {
63
63
  /** @type {?|undefined} */
64
64
  FilterFieldConfig.prototype.domainField;
65
65
  /** @type {?|undefined} */
66
+ FilterFieldConfig.prototype.disable;
67
+ /** @type {?|undefined} */
66
68
  FilterFieldConfig.prototype.disabledText;
67
69
  /** @type {?} */
68
70
  FilterFieldConfig.prototype.type;
@@ -74,6 +76,8 @@ if (false) {
74
76
  FilterFieldConfig.prototype.subTitle;
75
77
  /** @type {?|undefined} */
76
78
  FilterFieldConfig.prototype.locationTitle;
79
+ /** @type {?|undefined} */
80
+ FilterFieldConfig.prototype.radioSelectionChange;
77
81
  }
78
82
  /**
79
83
  * @record
@@ -115,4 +119,4 @@ if (false) {
115
119
  /** @type {?} */
116
120
  FilterError.prototype.error;
117
121
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvZmlsdGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBTUEsa0NBU0M7OztJQVJDLDBCQUFXOztJQUNYLDhCQUE0Qjs7SUFDNUIsbUNBQStCOztJQUMvQix1Q0FBd0I7O0lBQ3hCLHdDQUF5Qjs7SUFDekIscUNBQThCOztJQUM5Qiw0Q0FBK0I7O0lBQy9CLDhDQUFpQzs7Ozs7QUFHbkMsdUNBdUJDOzs7SUF0QkMsaUNBQWE7O0lBQ2Isb0NBQTREOztJQUM1RCx3Q0FBb0I7O0lBQ3BCLHdDQUFvQjs7SUFDcEIsNkNBQTBCOztJQUMxQiw2Q0FBMEI7O0lBQzFCLG9EQUFrQzs7SUFDbEMsb0RBQWtDOztJQUNsQyw0Q0FBMEI7O0lBQzFCLDBDQUF1Qjs7SUFDdkIsNENBQXlCOztJQUN6QixvREFBa0M7O0lBQ2xDLDhDQUE2Qjs7SUFDN0IsNENBQXlCOztJQUN6Qiw4Q0FBMkI7O0lBQzNCLHdDQUFxQjs7SUFDckIseUNBQXNCOztJQUN0QixpQ0FBc0I7O0lBQ3RCLG1DQUFvQjs7SUFDcEIsa0NBQWU7O0lBQ2YscUNBQWtCOztJQUNsQiwwQ0FBdUI7Ozs7O0FBR3pCLG1DQUlDOzs7SUFIQywyQkFBVzs7SUFDWCw4QkFBZ0I7O0lBQ2hCLCtCQUF5Qzs7QUFHM0M7SUFBQTtJQU1BLENBQUM7SUFBRCw2QkFBQztBQUFELENBQUMsQUFORCxJQU1DOzs7O0lBTEMsc0NBQW9COztJQUNwQix5Q0FBZ0Q7O0lBQ2hELDZDQUFzQjs7SUFDdEIsNkNBQXNCOztJQUN0QixzQ0FBcUI7Ozs7O0FBR3ZCLGlDQUdDOzs7SUFGQywyQkFBYTs7SUFDYiw0QkFBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGVyc29uUm9sZX0gZnJvbSAnLi9wZXJzb24ubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJGaWVsZFR5cGUgPSAnY2hlY2tib3gnIHwgJ3JhZGlvJyB8ICdzZWxlY3QnIHwgJ2ZpbmQtcGVyc29uJyB8ICdmaW5kLWxvY2F0aW9uJyB8ICdjaGVja2JveC1sYXJnZSc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlclBlcnNpc3RlbmNlID0gJ2xvY2FsJyB8ICdzZXNzaW9uJyB8ICdtZW1vcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZyB7XG4gIGlkOiBzdHJpbmc7XG4gIGZpZWxkczogRmlsdGVyRmllbGRDb25maWdbXTtcbiAgcGVyc2lzdGVuY2U6IEZpbHRlclBlcnNpc3RlbmNlO1xuICBhcHBseUJ1dHRvblRleHQ6IHN0cmluZztcbiAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICBjYW5jZWxTZXR0aW5nPzogRmlsdGVyU2V0dGluZztcbiAgZW5hYmxlRGlzYWJsZWRCdXR0b24/OiBib29sZWFuO1xuICBzaG93Q2FuY2VsRmlsdGVyQnV0dG9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJGaWVsZENvbmZpZyB7XG4gIG5hbWU6IHN0cmluZztcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZywgbGFiZWw6IHN0cmluZywgc2VsZWN0QWxsPzogdHJ1ZSB9W107XG4gIG1pblNlbGVjdGVkOiBudW1iZXI7XG4gIG1heFNlbGVjdGVkOiBudW1iZXI7XG4gIG1pblNlbGVjdGVkRXJyb3I/OiBzdHJpbmc7XG4gIG1heFNlbGVjdGVkRXJyb3I/OiBzdHJpbmc7XG4gIGRpc3BsYXlNYXhTZWxlY3RlZEVycm9yPzogYm9vbGVhbjtcbiAgZGlzcGxheU1pblNlbGVjdGVkRXJyb3I/OiBib29sZWFuO1xuICBsaW5lQnJlYWtCZWZvcmU/OiBib29sZWFuO1xuICBzaG93Q29uZGl0aW9uPzogc3RyaW5nO1xuICBlbmFibGVDb25kaXRpb24/OiBzdHJpbmc7XG4gIGVuYWJsZUFkZExvY2F0aW9uQnV0dG9uPzogYm9vbGVhbjtcbiAgY2hhbmdlUmVzZXRGaWVsZHM/OiBzdHJpbmdbXTtcbiAgZmluZFBlcnNvbkZpZWxkPzogc3RyaW5nO1xuICBmaW5kTG9jYXRpb25GaWVsZD86IHN0cmluZztcbiAgZG9tYWluRmllbGQ/OiBzdHJpbmc7XG4gIGRpc2FibGVkVGV4dD86IHN0cmluZztcbiAgdHlwZTogRmlsdGVyRmllbGRUeXBlO1xuICBkb21haW4/OiBQZXJzb25Sb2xlO1xuICB0aXRsZT86IHN0cmluZztcbiAgc3ViVGl0bGU/OiBzdHJpbmc7XG4gIGxvY2F0aW9uVGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU2V0dGluZyB7XG4gIGlkOiBzdHJpbmc7XG4gIHJlc2V0PzogYm9vbGVhbjtcbiAgZmllbGRzOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IGFueVtdIH1bXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJhZGlvRmlsdGVyRmllbGRDb25maWcgaW1wbGVtZW50cyBGaWx0ZXJGaWVsZENvbmZpZyB7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBvcHRpb25zOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nfVtdO1xuICBwdWJsaWMgbWluU2VsZWN0ZWQ6IDE7XG4gIHB1YmxpYyBtYXhTZWxlY3RlZDogMTtcbiAgcHVibGljIHR5cGU6ICdyYWRpbyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRXJyb3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGVycm9yOiBzdHJpbmc7XG59XG4iXX0=
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvZmlsdGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBTUEsa0NBU0M7OztJQVJDLDBCQUFXOztJQUNYLDhCQUE0Qjs7SUFDNUIsbUNBQStCOztJQUMvQix1Q0FBd0I7O0lBQ3hCLHdDQUF5Qjs7SUFDekIscUNBQThCOztJQUM5Qiw0Q0FBK0I7O0lBQy9CLDhDQUFpQzs7Ozs7QUFHbkMsdUNBeUJDOzs7SUF4QkMsaUNBQWE7O0lBQ2Isb0NBQTREOztJQUM1RCx3Q0FBb0I7O0lBQ3BCLHdDQUFvQjs7SUFDcEIsNkNBQTBCOztJQUMxQiw2Q0FBMEI7O0lBQzFCLG9EQUFrQzs7SUFDbEMsb0RBQWtDOztJQUNsQyw0Q0FBMEI7O0lBQzFCLDBDQUF1Qjs7SUFDdkIsNENBQXlCOztJQUN6QixvREFBa0M7O0lBQ2xDLDhDQUE2Qjs7SUFDN0IsNENBQXlCOztJQUN6Qiw4Q0FBMkI7O0lBQzNCLHdDQUFxQjs7SUFDckIsb0NBQWtCOztJQUNsQix5Q0FBc0I7O0lBQ3RCLGlDQUFzQjs7SUFDdEIsbUNBQW9COztJQUNwQixrQ0FBZTs7SUFDZixxQ0FBa0I7O0lBQ2xCLDBDQUF1Qjs7SUFDdkIsaURBQThCOzs7OztBQUdoQyxtQ0FJQzs7O0lBSEMsMkJBQVc7O0lBQ1gsOEJBQWdCOztJQUNoQiwrQkFBeUM7O0FBRzNDO0lBQUE7SUFNQSxDQUFDO0lBQUQsNkJBQUM7QUFBRCxDQUFDLEFBTkQsSUFNQzs7OztJQUxDLHNDQUFvQjs7SUFDcEIseUNBQWdEOztJQUNoRCw2Q0FBc0I7O0lBQ3RCLDZDQUFzQjs7SUFDdEIsc0NBQXFCOzs7OztBQUd2QixpQ0FHQzs7O0lBRkMsMkJBQWE7O0lBQ2IsNEJBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BlcnNvblJvbGV9IGZyb20gJy4vcGVyc29uLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyRmllbGRUeXBlID0gJ2NoZWNrYm94JyB8ICdyYWRpbycgfCAnc2VsZWN0JyB8ICdmaW5kLXBlcnNvbicgfCAnZmluZC1sb2NhdGlvbicgfCAnY2hlY2tib3gtbGFyZ2UnO1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJQZXJzaXN0ZW5jZSA9ICdsb2NhbCcgfCAnc2Vzc2lvbicgfCAnbWVtb3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb25maWcge1xuICBpZDogc3RyaW5nO1xuICBmaWVsZHM6IEZpbHRlckZpZWxkQ29uZmlnW107XG4gIHBlcnNpc3RlbmNlOiBGaWx0ZXJQZXJzaXN0ZW5jZTtcbiAgYXBwbHlCdXR0b25UZXh0OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZztcbiAgY2FuY2VsU2V0dGluZz86IEZpbHRlclNldHRpbmc7XG4gIGVuYWJsZURpc2FibGVkQnV0dG9uPzogYm9vbGVhbjtcbiAgc2hvd0NhbmNlbEZpbHRlckJ1dHRvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRmllbGRDb25maWcge1xuICBuYW1lOiBzdHJpbmc7XG4gIG9wdGlvbnM6IHsga2V5OiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIHNlbGVjdEFsbD86IHRydWUgfVtdO1xuICBtaW5TZWxlY3RlZDogbnVtYmVyO1xuICBtYXhTZWxlY3RlZDogbnVtYmVyO1xuICBtaW5TZWxlY3RlZEVycm9yPzogc3RyaW5nO1xuICBtYXhTZWxlY3RlZEVycm9yPzogc3RyaW5nO1xuICBkaXNwbGF5TWF4U2VsZWN0ZWRFcnJvcj86IGJvb2xlYW47XG4gIGRpc3BsYXlNaW5TZWxlY3RlZEVycm9yPzogYm9vbGVhbjtcbiAgbGluZUJyZWFrQmVmb3JlPzogYm9vbGVhbjtcbiAgc2hvd0NvbmRpdGlvbj86IHN0cmluZztcbiAgZW5hYmxlQ29uZGl0aW9uPzogc3RyaW5nO1xuICBlbmFibGVBZGRMb2NhdGlvbkJ1dHRvbj86IGJvb2xlYW47XG4gIGNoYW5nZVJlc2V0RmllbGRzPzogc3RyaW5nW107XG4gIGZpbmRQZXJzb25GaWVsZD86IHN0cmluZztcbiAgZmluZExvY2F0aW9uRmllbGQ/OiBzdHJpbmc7XG4gIGRvbWFpbkZpZWxkPzogc3RyaW5nO1xuICBkaXNhYmxlPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRUZXh0Pzogc3RyaW5nO1xuICB0eXBlOiBGaWx0ZXJGaWVsZFR5cGU7XG4gIGRvbWFpbj86IFBlcnNvblJvbGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzdWJUaXRsZT86IHN0cmluZztcbiAgbG9jYXRpb25UaXRsZT86IHN0cmluZztcbiAgcmFkaW9TZWxlY3Rpb25DaGFuZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyU2V0dGluZyB7XG4gIGlkOiBzdHJpbmc7XG4gIHJlc2V0PzogYm9vbGVhbjtcbiAgZmllbGRzOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IGFueVtdIH1bXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJhZGlvRmlsdGVyRmllbGRDb25maWcgaW1wbGVtZW50cyBGaWx0ZXJGaWVsZENvbmZpZyB7XG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBvcHRpb25zOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nfVtdO1xuICBwdWJsaWMgbWluU2VsZWN0ZWQ6IDE7XG4gIHB1YmxpYyBtYXhTZWxlY3RlZDogMTtcbiAgcHVibGljIHR5cGU6ICdyYWRpbyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRXJyb3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGVycm9yOiBzdHJpbmc7XG59XG4iXX0=
@@ -8,6 +8,7 @@ export { BadgeColour } from './contact-details.model';
8
8
  export { DateBadgeColour, SECONDS_IN_A_DAY } from './due-date.model';
9
9
  export { AnonymousFeatureUser, LoggedInFeatureUser } from './feature-user';
10
10
  export {} from './idle-config.model';
11
+ export {} from './pagination.model';
11
12
  export { PersonRole, RoleCategory } from './person.model';
12
13
  export { RadioFilterFieldConfig } from './public_api';
13
14
  export {} from './search-options.model';
@@ -15,4 +16,4 @@ export {} from './tcDocument.model';
15
16
  export {} from './timeout-notification.model';
16
17
  export {} from './user-details.model';
17
18
  export {} from './user.model';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGVBQWMsb0JBQW9CLENBQUM7QUFDbkMsNEJBQWMseUJBQXlCLENBQUM7QUFDeEMsa0RBQWMsa0JBQWtCLENBQUM7QUFDakMsMERBQWMsZ0JBQWdCLENBQUM7QUFDL0IsZUFBYyxxQkFBcUIsQ0FBQztBQUNwQyx5Q0FBYyxnQkFBZ0IsQ0FBQztBQUMvQix1Q0FBYyxjQUFjLENBQUM7QUFDN0IsZUFBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLGVBQWMsOEJBQThCLENBQUM7QUFDN0MsZUFBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzZS1zaGFyZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3QtZGV0YWlscy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2R1ZS1kYXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaWRsZS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLW9wdGlvbnMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90Y0RvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZW91dC1ub3RpZmljYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWRldGFpbHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLm1vZGVsJztcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGVBQWMsb0JBQW9CLENBQUM7QUFDbkMsNEJBQWMseUJBQXlCLENBQUM7QUFDeEMsa0RBQWMsa0JBQWtCLENBQUM7QUFDakMsMERBQWMsZ0JBQWdCLENBQUM7QUFDL0IsZUFBYyxxQkFBcUIsQ0FBQztBQUNwQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLHlDQUFjLGdCQUFnQixDQUFDO0FBQy9CLHVDQUFjLGNBQWMsQ0FBQztBQUM3QixlQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGVBQWMsb0JBQW9CLENBQUM7QUFDbkMsZUFBYyw4QkFBOEIsQ0FBQztBQUM3QyxlQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGVBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLXNoYXJlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1kZXRhaWxzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZHVlLWRhdGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pZGxlLWNvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLW9wdGlvbnMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90Y0RvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZW91dC1ub3RpZmljYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWRldGFpbHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLm1vZGVsJztcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/models/pagination.model.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /**
7
+ * @record
8
+ */
9
+ export function Pagination() { }
10
+ if (false) {
11
+ /** @type {?} */
12
+ Pagination.prototype.itemsPerPage;
13
+ /** @type {?} */
14
+ Pagination.prototype.currentPage;
15
+ /** @type {?} */
16
+ Pagination.prototype.totalItems;
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL3BhZ2luYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxnQ0FJQzs7O0lBSEMsa0NBQXFCOztJQUNyQixpQ0FBb0I7O0lBQ3BCLGdDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbiB7XG4gIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xuICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICB0b3RhbEl0ZW1zOiBudW1iZXI7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { MatInputModule, MatTabsModule } from '@angular/material';
2
2
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
3
+ import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
3
4
  import { HttpClient } from '@angular/common/http';
4
5
  import { FormArray, FormBuilder, FormControl, FormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
6
  import { initialize } from 'launchdarkly-js-client-sdk';
@@ -778,7 +779,13 @@ class GenericFilterComponent {
778
779
  }
779
780
  }
780
781
  }
781
- return true;
782
+ // find-location is special case where need to reset textbox (by existing disabling functionality)
783
+ // field.disable referred to component itself
784
+ if (field.type === 'find-location') {
785
+ return true;
786
+ }
787
+ // Note: field.disable decides whether to actually disable or not
788
+ return field.disable ? field.disable : null;
782
789
  }
783
790
  /**
784
791
  * @param {?} form
@@ -815,6 +822,17 @@ class GenericFilterComponent {
815
822
  }
816
823
  }
817
824
  }
825
+ // when user enters input change radio button
826
+ /**
827
+ * @param {?} field
828
+ * @return {?}
829
+ */
830
+ inputChanged(field) {
831
+ if (field.radioSelectionChange && typeof field.radioSelectionChange === 'string') {
832
+ const [name, value] = field.enableCondition.split('=');
833
+ this.form.get(name).patchValue(value);
834
+ }
835
+ }
818
836
  /**
819
837
  * @return {?}
820
838
  */
@@ -1114,7 +1132,7 @@ class GenericFilterComponent {
1114
1132
  * @return {?}
1115
1133
  */
1116
1134
  (f) => f.name === field.name));
1117
- if (defaultValues) {
1135
+ if (defaultValues && defaultValues.value && defaultValues.value.length > 0) {
1118
1136
  for (const defaultValue of defaultValues.value) {
1119
1137
  formArray.push(new FormControl(defaultValue));
1120
1138
  }
@@ -1181,7 +1199,7 @@ class GenericFilterComponent {
1181
1199
  GenericFilterComponent.decorators = [
1182
1200
  { type: Component, args: [{
1183
1201
  selector: 'xuilib-generic-filter',
1184
- template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddLocationButton\"\n [disabled]=\"disabled(field, form)\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
1202
+ template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddLocationButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
1185
1203
  changeDetection: ChangeDetectionStrategy.OnPush,
1186
1204
  encapsulation: ViewEncapsulation.None,
1187
1205
  styles: [".contain-classes .elevated-break{position:relative;top:-10px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}"]
@@ -2558,6 +2576,13 @@ class UserListComponent {
2558
2576
  constructor() {
2559
2577
  this.users = [];
2560
2578
  this.userClick = new EventEmitter();
2579
+ this.pageChange = new EventEmitter();
2580
+ }
2581
+ /**
2582
+ * @return {?}
2583
+ */
2584
+ ngOnInit() {
2585
+ this.pagination = { itemsPerPage: 50, currentPage: this.currentPageNumber, totalItems: this.pageTotalSize };
2561
2586
  }
2562
2587
  /**
2563
2588
  * @param {?} user
@@ -2566,17 +2591,28 @@ class UserListComponent {
2566
2591
  onUserClick(user) {
2567
2592
  this.userClick.emit(user);
2568
2593
  }
2594
+ /**
2595
+ * @param {?} pageNumber
2596
+ * @return {?}
2597
+ */
2598
+ emitPageClickEvent(pageNumber) {
2599
+ this.currentPageNumber = pageNumber;
2600
+ this.pageChange.emit(pageNumber);
2601
+ }
2569
2602
  }
2570
2603
  UserListComponent.decorators = [
2571
2604
  { type: Component, args: [{
2572
2605
  selector: 'xuilib-user-list',
2573
- template: "<table class=\"govuk-table\">\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header\" scope=\"col\">Email</th>\n <th class=\"govuk-table__header\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\" *ngFor=\"let u of users\">\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">\n <a class=\"govuk-link\" [attr.title]=\"u.routerLinkTitle\" [routerLink]=\"u.routerLink\" (click)=\"onUserClick(u)\">{{ u.fullName }}</a>\n </td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.email }}</td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.status }}</td>\n </tr>\n </tbody>\n</table>",
2606
+ template: "<table class=\"govuk-table\">\n\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header\" scope=\"col\">Email</th>\n <th class=\"govuk-table__header\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-container *ngFor=\"let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\">\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">\n <a class=\"govuk-link\" [attr.title]=\"u.routerLinkTitle\" [routerLink]=\"u.routerLink\" (click)=\"onUserClick(u)\">{{ u.fullName }}</a>\n </td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.email }}</td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)=\"emitPageClickEvent($event)\" [pageSize]=\"pagination.itemsPerPage\"></xuilib-hmcts-pagination>\n",
2574
2607
  styles: [":host{display:block}"]
2575
2608
  }] }
2576
2609
  ];
2577
2610
  UserListComponent.propDecorators = {
2578
2611
  users: [{ type: Input }],
2579
- userClick: [{ type: Output }]
2612
+ currentPageNumber: [{ type: Input }],
2613
+ pageTotalSize: [{ type: Input }],
2614
+ userClick: [{ type: Output }],
2615
+ pageChange: [{ type: Output }]
2580
2616
  };
2581
2617
 
2582
2618
  /**
@@ -2863,6 +2899,7 @@ class SearchLocationComponent {
2863
2899
  this.locations = [];
2864
2900
  this.locationSelected = new EventEmitter();
2865
2901
  this.locationInputChanged = new EventEmitter();
2902
+ this.searchLocationChanged = new EventEmitter();
2866
2903
  this.minSearchCharacters = 3;
2867
2904
  this.term = '';
2868
2905
  this.pSelectedLocations = [];
@@ -2971,6 +3008,12 @@ class SearchLocationComponent {
2971
3008
  this.showAutocomplete = true;
2972
3009
  }));
2973
3010
  }
3011
+ /**
3012
+ * @return {?}
3013
+ */
3014
+ onInput() {
3015
+ this.searchLocationChanged.emit();
3016
+ }
2974
3017
  /**
2975
3018
  * @param {?} term
2976
3019
  * @return {?}
@@ -3007,7 +3050,7 @@ class SearchLocationComponent {
3007
3050
  SearchLocationComponent.decorators = [
3008
3051
  { type: Component, args: [{
3009
3052
  selector: 'exui-search-location',
3010
- template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
3053
+ template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
3011
3054
  styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
3012
3055
  }] }
3013
3056
  ];
@@ -3030,6 +3073,7 @@ SearchLocationComponent.propDecorators = {
3030
3073
  locations: [{ type: Input }],
3031
3074
  locationSelected: [{ type: Output }],
3032
3075
  locationInputChanged: [{ type: Output }],
3076
+ searchLocationChanged: [{ type: Output }],
3033
3077
  reset: [{ type: Input }],
3034
3078
  selectedLocations: [{ type: Input }]
3035
3079
  };
@@ -3041,10 +3085,12 @@ SearchLocationComponent.propDecorators = {
3041
3085
  */
3042
3086
  class FindLocationComponent {
3043
3087
  constructor() {
3088
+ this.locationFieldChanged = new EventEmitter();
3044
3089
  this.selectedLocations = [];
3045
3090
  this.submitted = true;
3046
3091
  this.enableAddLocationButton = true;
3047
3092
  this.locationTitle = 'Search for a location by name';
3093
+ this.disableInputField = false;
3048
3094
  this.locations = [];
3049
3095
  this.tempSelectedLocation = null;
3050
3096
  this.serviceIds = 'SSCS,IA';
@@ -3066,7 +3112,7 @@ class FindLocationComponent {
3066
3112
  this.searchLocationComponent.resetSearchTerm();
3067
3113
  this.removeSelectedValues();
3068
3114
  }
3069
- this.pDisabled = value;
3115
+ this.pDisabled = this.disableInputField === true ? true : null;
3070
3116
  }
3071
3117
  /**
3072
3118
  * @return {?}
@@ -3145,6 +3191,12 @@ class FindLocationComponent {
3145
3191
  this.removeSelectedValues();
3146
3192
  }
3147
3193
  }
3194
+ /**
3195
+ * @return {?}
3196
+ */
3197
+ onSearchInputChanged() {
3198
+ this.locationFieldChanged.emit();
3199
+ }
3148
3200
  /**
3149
3201
  * @param {?} location
3150
3202
  * @return {?}
@@ -3194,11 +3246,12 @@ class FindLocationComponent {
3194
3246
  FindLocationComponent.decorators = [
3195
3247
  { type: Component, args: [{
3196
3248
  selector: 'xuilib-find-location',
3197
- template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
3249
+ template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
3198
3250
  styles: [""]
3199
3251
  }] }
3200
3252
  ];
3201
3253
  FindLocationComponent.propDecorators = {
3254
+ locationFieldChanged: [{ type: Output }],
3202
3255
  selectedLocations: [{ type: Input }],
3203
3256
  submitted: [{ type: Input }],
3204
3257
  enableAddLocationButton: [{ type: Input }],
@@ -3206,6 +3259,7 @@ FindLocationComponent.propDecorators = {
3206
3259
  field: [{ type: Input }],
3207
3260
  fields: [{ type: Input }],
3208
3261
  locationTitle: [{ type: Input }],
3262
+ disableInputField: [{ type: Input }],
3209
3263
  searchLocationComponent: [{ type: ViewChild, args: [SearchLocationComponent,] }],
3210
3264
  disabled: [{ type: Input }],
3211
3265
  services: [{ type: Input }]
@@ -3456,6 +3510,12 @@ class LoggedInFeatureUser {
3456
3510
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3457
3511
  */
3458
3512
 
3513
+ /**
3514
+ * @fileoverview added by tsickle
3515
+ * Generated from: lib/models/pagination.model.ts
3516
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3517
+ */
3518
+
3459
3519
  /**
3460
3520
  * @fileoverview added by tsickle
3461
3521
  * Generated from: lib/models/person.model.ts
@@ -3822,6 +3882,7 @@ class FindPersonComponent {
3822
3882
  this.findPersonService = findPersonService;
3823
3883
  this.cd = cd;
3824
3884
  this.personSelected = new EventEmitter();
3885
+ this.personFieldChanged = new EventEmitter();
3825
3886
  this.boldTitle = 'Find the person';
3826
3887
  this.subTitle = 'Type the name of the person and select them.';
3827
3888
  this.domain = PersonRole.ALL;
@@ -3952,15 +4013,21 @@ class FindPersonComponent {
3952
4013
  return '';
3953
4014
  }
3954
4015
  if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.knownAs) {
3955
- return `${selectedPerson.knownAs}(${selectedPerson.email})`;
4016
+ return `${selectedPerson.knownAs} (${selectedPerson.email})`;
3956
4017
  }
3957
- return selectedPerson.email ? `${selectedPerson.name}(${selectedPerson.email})` : selectedPerson.name;
4018
+ return selectedPerson.email ? `${selectedPerson.name} (${selectedPerson.email})` : selectedPerson.name;
4019
+ }
4020
+ /**
4021
+ * @return {?}
4022
+ */
4023
+ onInput() {
4024
+ this.personFieldChanged.emit();
3958
4025
  }
3959
4026
  }
3960
4027
  FindPersonComponent.decorators = [
3961
4028
  { type: Component, args: [{
3962
4029
  selector: 'xuilib-find-person',
3963
- template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
4030
+ template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
3964
4031
  styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
3965
4032
  }] }
3966
4033
  ];
@@ -3971,6 +4038,7 @@ FindPersonComponent.ctorParameters = () => [
3971
4038
  ];
3972
4039
  FindPersonComponent.propDecorators = {
3973
4040
  personSelected: [{ type: Output }],
4041
+ personFieldChanged: [{ type: Output }],
3974
4042
  title: [{ type: Input }],
3975
4043
  boldTitle: [{ type: Input }],
3976
4044
  subTitle: [{ type: Input }],
@@ -5143,6 +5211,38 @@ HmctsMainWrapperComponent.propDecorators = {
5143
5211
  backEvent: [{ type: Output }]
5144
5212
  };
5145
5213
 
5214
+ /**
5215
+ * @fileoverview added by tsickle
5216
+ * Generated from: lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.ts
5217
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5218
+ */
5219
+ class HmctsPaginationComponent {
5220
+ constructor() {
5221
+ this.maxSize = 7;
5222
+ this.pageSize = 10;
5223
+ this.showPageNumbers = true;
5224
+ this.showResultCount = true;
5225
+ this.pageChange = new EventEmitter();
5226
+ this.pageBoundsCorrection = new EventEmitter();
5227
+ }
5228
+ }
5229
+ HmctsPaginationComponent.decorators = [
5230
+ { type: Component, args: [{
5231
+ selector: 'xuilib-hmcts-pagination',
5232
+ template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">Pagination navigation</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">Previous <span class=\"govuk-visually-hidden\">set of pages</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">page </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">Next<span class=\"govuk-visually-hidden\"> page</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>",
5233
+ styles: [".hmcts-pagination__results{float:right}"]
5234
+ }] }
5235
+ ];
5236
+ HmctsPaginationComponent.propDecorators = {
5237
+ id: [{ type: Input }],
5238
+ maxSize: [{ type: Input }],
5239
+ pageSize: [{ type: Input }],
5240
+ showPageNumbers: [{ type: Input }],
5241
+ showResultCount: [{ type: Input }],
5242
+ pageChange: [{ type: Output }],
5243
+ pageBoundsCorrection: [{ type: Output }]
5244
+ };
5245
+
5146
5246
  /**
5147
5247
  * @fileoverview added by tsickle
5148
5248
  * Generated from: lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.ts
@@ -5280,6 +5380,7 @@ const COMMON_COMPONENTS = [
5280
5380
  /** @type {?} */
5281
5381
  const GOV_UI_COMPONENTS = [
5282
5382
  HmctsIdentityBarComponent,
5383
+ HmctsPaginationComponent,
5283
5384
  HmctsSubNavigationComponent,
5284
5385
  HmctsPrimaryNavigationComponent,
5285
5386
  HmctsErrorSummaryComponent,
@@ -5317,14 +5418,16 @@ ExuiCommonLibModule.decorators = [
5317
5418
  RouterModule.forChild([]),
5318
5419
  MatAutocompleteModule,
5319
5420
  MatTabsModule,
5320
- MatInputModule
5421
+ MatInputModule,
5422
+ NgxPaginationModule
5321
5423
  ],
5322
5424
  providers: [
5323
5425
  { provide: windowToken, useFactory: ɵ0 }
5324
5426
  ],
5325
5427
  exports: [
5326
5428
  ...COMMON_COMPONENTS,
5327
- ...GOV_UI_COMPONENTS
5429
+ ...GOV_UI_COMPONENTS,
5430
+ PaginatePipe
5328
5431
  ]
5329
5432
  },] }
5330
5433
  ];
@@ -6201,6 +6304,6 @@ LoadingService.decorators = [
6201
6304
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6202
6305
  */
6203
6306
 
6204
- export { AccessibilityComponent, CheckboxListComponent, ContactDetailsComponent, DueDateComponent, GenericFilterComponent, HmctsSessionDialogComponent, InviteUserFormComponent, InviteUserPermissionComponent, LoadingSpinnerComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, SelectedCaseComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseConfirmComponent, ShareCaseComponent, TabComponent, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, UserDetailsComponent, UserListComponent, CookieBannerComponent, FindLocationComponent, SearchLocationComponent, PaginationComponent, FeatureToggleDirective, LetContext, LetDirective, COMMON_COMPONENTS, GOV_UI_COMPONENTS, ExuiCommonLibModule, GovUiService, checkboxesBeCheckedValidator, dateValidator, radioGroupValidator, HmctsSubNavigationComponent, BadgeColour, DateBadgeColour, SECONDS_IN_A_DAY, AnonymousFeatureUser, LoggedInFeatureUser, PersonRole, RoleCategory, RadioFilterFieldConfig, FeatureToggleGuard, FeatureToggleService, LaunchDarklyService, GoogleAnalyticsService, GoogleTagManagerService, ManageSessionServices, TimeoutNotificationsService, RoleMatching, RoleGuard, RoleService, CookieService, HasLoadingState, LoadingService, FilterService, windowProvider, windowToken, AccessibilityComponent as ɵx, CheckboxListComponent as ɵz, ContactDetailsComponent as ɵf, CookieBannerComponent as ɵbf, DueDateComponent as ɵy, ExuiPageWrapperComponent as ɵa, FindLocationComponent as ɵbl, FindPersonComponent as ɵbh, GenericFilterComponent as ɵbd, HmctsSessionDialogComponent as ɵk, InviteUserFormComponent as ɵo, InviteUserPermissionComponent as ɵn, LoadingSpinnerComponent as ɵbc, PaginationComponent as ɵbp, SearchJudicialsComponent as ɵbk, SearchLocationComponent as ɵbm, SearchVenueComponent as ɵbo, SelectedCaseConfirmComponent as ɵv, SelectedCaseListComponent as ɵt, SelectedCaseComponent as ɵu, ServiceMessageComponent as ɵba, ServiceMessagesComponent as ɵbb, ShareCaseConfirmComponent as ɵs, ShareCaseComponent as ɵp, TabComponent as ɵw, TcConfirmComponent as ɵe, TcDisplayHtmlComponent as ɵc, TcDisplayPlainComponent as ɵd, TermsAndConditionsComponent as ɵb, UserDetailsComponent as ɵm, UserListComponent as ɵl, UserSelectComponent as ɵq, FeatureToggleDirective as ɵg, LetContext as ɵi, LetDirective as ɵj, GovUkCheckboxComponent as ɵby, GovUkCheckboxesComponent as ɵce, GovUkDateComponent as ɵcd, GovUkErrorMessageComponent as ɵcb, GovUkFieldsetComponent as ɵcc, GovUkFileUploadComponent as ɵcj, GovUkFormGroupWrapperComponent as ɵbz, GovUkInputComponent as ɵbx, GovUkLabelComponent as ɵca, GovUkRadioComponent as ɵcf, GovUkRadiosComponent as ɵcg, GovUkSelectComponent as ɵch, GovukTableComponent as ɵbw, GovUkTextareaComponent as ɵci, HmctsBannerComponent as ɵbv, HmctsErrorSummaryComponent as ɵbt, HmctsIdentityBarComponent as ɵbq, HmctsMainWrapperComponent as ɵbu, HmctsPrimaryNavigationComponent as ɵbs, HmctsSubNavigationComponent as ɵbr, RemoveHostDirective as ɵck, CaseSharingStateService as ɵr, CookieService as ɵbg, FeatureToggleService as ɵh, FilterService as ɵbe, FindAPersonService as ɵbi, LocationService as ɵbn, SessionStorageService as ɵbj };
6307
+ export { AccessibilityComponent, CheckboxListComponent, ContactDetailsComponent, DueDateComponent, GenericFilterComponent, HmctsSessionDialogComponent, InviteUserFormComponent, InviteUserPermissionComponent, LoadingSpinnerComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, SelectedCaseComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseConfirmComponent, ShareCaseComponent, TabComponent, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, UserDetailsComponent, UserListComponent, CookieBannerComponent, FindLocationComponent, SearchLocationComponent, PaginationComponent, FeatureToggleDirective, LetContext, LetDirective, COMMON_COMPONENTS, GOV_UI_COMPONENTS, ExuiCommonLibModule, GovUiService, checkboxesBeCheckedValidator, dateValidator, radioGroupValidator, HmctsSubNavigationComponent, BadgeColour, DateBadgeColour, SECONDS_IN_A_DAY, AnonymousFeatureUser, LoggedInFeatureUser, PersonRole, RoleCategory, RadioFilterFieldConfig, FeatureToggleGuard, FeatureToggleService, LaunchDarklyService, GoogleAnalyticsService, GoogleTagManagerService, ManageSessionServices, TimeoutNotificationsService, RoleMatching, RoleGuard, RoleService, CookieService, HasLoadingState, LoadingService, FilterService, windowProvider, windowToken, AccessibilityComponent as ɵx, CheckboxListComponent as ɵz, ContactDetailsComponent as ɵf, CookieBannerComponent as ɵbf, DueDateComponent as ɵy, ExuiPageWrapperComponent as ɵa, FindLocationComponent as ɵbl, FindPersonComponent as ɵbh, GenericFilterComponent as ɵbd, HmctsSessionDialogComponent as ɵk, InviteUserFormComponent as ɵo, InviteUserPermissionComponent as ɵn, LoadingSpinnerComponent as ɵbc, PaginationComponent as ɵbp, SearchJudicialsComponent as ɵbk, SearchLocationComponent as ɵbm, SearchVenueComponent as ɵbo, SelectedCaseConfirmComponent as ɵv, SelectedCaseListComponent as ɵt, SelectedCaseComponent as ɵu, ServiceMessageComponent as ɵba, ServiceMessagesComponent as ɵbb, ShareCaseConfirmComponent as ɵs, ShareCaseComponent as ɵp, TabComponent as ɵw, TcConfirmComponent as ɵe, TcDisplayHtmlComponent as ɵc, TcDisplayPlainComponent as ɵd, TermsAndConditionsComponent as ɵb, UserDetailsComponent as ɵm, UserListComponent as ɵl, UserSelectComponent as ɵq, FeatureToggleDirective as ɵg, LetContext as ɵi, LetDirective as ɵj, GovUkCheckboxComponent as ɵbz, GovUkCheckboxesComponent as ɵcf, GovUkDateComponent as ɵce, GovUkErrorMessageComponent as ɵcc, GovUkFieldsetComponent as ɵcd, GovUkFileUploadComponent as ɵck, GovUkFormGroupWrapperComponent as ɵca, GovUkInputComponent as ɵby, GovUkLabelComponent as ɵcb, GovUkRadioComponent as ɵcg, GovUkRadiosComponent as ɵch, GovUkSelectComponent as ɵci, GovukTableComponent as ɵbx, GovUkTextareaComponent as ɵcj, HmctsBannerComponent as ɵbw, HmctsErrorSummaryComponent as ɵbu, HmctsIdentityBarComponent as ɵbq, HmctsMainWrapperComponent as ɵbv, HmctsPaginationComponent as ɵbr, HmctsPrimaryNavigationComponent as ɵbt, HmctsSubNavigationComponent as ɵbs, RemoveHostDirective as ɵcl, CaseSharingStateService as ɵr, CookieService as ɵbg, FeatureToggleService as ɵh, FilterService as ɵbe, FindAPersonService as ɵbi, LocationService as ɵbn, SessionStorageService as ɵbj };
6205
6308
 
6206
6309
  //# sourceMappingURL=hmcts-rpx-xui-common-lib.js.map