@hmcts/rpx-xui-common-lib 2.0.0-rc.4 → 2.1.1-angular-upgrade-11
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/hmcts-rpx-xui-common-lib.umd.js +8004 -3340
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +60 -45
- package/esm2015/lib/components/accessibility/accessibility.component.js +2 -2
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +129 -0
- package/esm2015/lib/components/due-date/due-date.component.js +6 -7
- package/esm2015/lib/components/find-location/find-location.component.js +229 -0
- package/esm2015/lib/components/find-person/find-person.component.js +259 -0
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +65 -0
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +630 -0
- package/esm2015/lib/components/index.js +2 -2
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +6 -35
- package/esm2015/lib/components/pagination/pagination.component.js +50 -0
- package/esm2015/lib/components/public_api.js +9 -6
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +249 -0
- package/esm2015/lib/components/search-location/search-location.component.js +265 -0
- package/esm2015/lib/components/search-venue/search-venue.component.js +246 -0
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +4 -11
- package/esm2015/lib/components/service-messages/service-messages.component.js +2 -2
- package/esm2015/lib/components/share-case/share-case.component.js +2 -2
- package/esm2015/lib/components/user-list/user-list.component.js +29 -3
- package/esm2015/lib/exui-common-lib.module.js +48 -26
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +81 -9
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +2 -2
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +49 -0
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +7 -2
- package/esm2015/lib/gov-ui/components/index.js +2 -2
- package/esm2015/lib/gov-ui/components/public_api.js +1 -20
- package/esm2015/lib/gov-ui/gov-ui.service.js +1 -1
- package/esm2015/lib/gov-ui/index.js +2 -2
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +24 -0
- package/esm2015/lib/gov-ui/public_api.js +2 -4
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +58 -0
- package/esm2015/lib/models/contact-details.model.js +8 -1
- package/esm2015/lib/models/due-date.model.js +8 -1
- package/esm2015/lib/models/filter.model.js +118 -0
- package/esm2015/lib/models/index.js +14 -2
- package/esm2015/lib/models/location.model.js +108 -0
- package/esm2015/lib/models/pagination.model.js +18 -0
- package/esm2015/lib/models/person.model.js +92 -0
- package/esm2015/lib/models/public_api.js +4 -9
- package/esm2015/lib/models/search-options.model.js +22 -0
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +1 -1
- package/esm2015/lib/services/cookie/cookie.service.js +110 -0
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +8 -2
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +4 -3
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +28 -21
- package/esm2015/lib/services/filter/filter.service.js +118 -0
- package/esm2015/lib/services/find-person/find-person.service.js +214 -0
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +1 -1
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +1 -1
- package/esm2015/lib/services/index.js +2 -2
- package/esm2015/lib/services/loading/loading.service.js +10 -11
- package/esm2015/lib/services/locations/location.service.js +55 -0
- package/esm2015/lib/services/manage-session/manage-session.services.js +3 -3
- package/esm2015/lib/services/public-api.js +9 -4
- package/esm2015/lib/services/role-guard/role.guard.js +1 -1
- package/esm2015/lib/services/role-guard/role.service.js +1 -1
- package/esm2015/lib/services/session-storage/session-storage.service.js +55 -0
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +3 -3
- package/esm2015/public-api.js +6 -6
- package/esm5/hmcts-rpx-xui-common-lib.js +60 -45
- package/esm5/lib/components/accessibility/accessibility.component.js +2 -2
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +154 -0
- package/esm5/lib/components/due-date/due-date.component.js +6 -7
- package/esm5/lib/components/find-location/find-location.component.js +279 -0
- package/esm5/lib/components/find-person/find-person.component.js +286 -0
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +66 -0
- package/esm5/lib/components/generic-filter/generic-filter.component.js +822 -0
- package/esm5/lib/components/index.js +2 -2
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +6 -38
- package/esm5/lib/components/pagination/pagination.component.js +58 -0
- package/esm5/lib/components/public_api.js +9 -6
- package/esm5/lib/components/search-judicials/search-judicials.component.js +291 -0
- package/esm5/lib/components/search-location/search-location.component.js +302 -0
- package/esm5/lib/components/search-venue/search-venue.component.js +290 -0
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +4 -11
- package/esm5/lib/components/service-messages/service-messages.component.js +2 -2
- package/esm5/lib/components/share-case/share-case.component.js +2 -2
- package/esm5/lib/components/user-list/user-list.component.js +36 -3
- package/esm5/lib/exui-common-lib.module.js +51 -29
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +95 -8
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +2 -2
- package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +51 -0
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +7 -2
- package/esm5/lib/gov-ui/components/index.js +2 -2
- package/esm5/lib/gov-ui/components/public_api.js +1 -20
- package/esm5/lib/gov-ui/gov-ui.service.js +1 -1
- package/esm5/lib/gov-ui/index.js +2 -2
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +24 -0
- package/esm5/lib/gov-ui/public_api.js +2 -4
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +58 -0
- package/esm5/lib/models/contact-details.model.js +8 -1
- package/esm5/lib/models/due-date.model.js +8 -1
- package/esm5/lib/models/filter.model.js +122 -0
- package/esm5/lib/models/index.js +14 -2
- package/esm5/lib/models/location.model.js +108 -0
- package/esm5/lib/models/pagination.model.js +18 -0
- package/esm5/lib/models/person.model.js +92 -0
- package/esm5/lib/models/public_api.js +4 -9
- package/esm5/lib/models/search-options.model.js +22 -0
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +1 -1
- package/esm5/lib/services/cookie/cookie.service.js +136 -0
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +8 -2
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +5 -3
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +29 -19
- package/esm5/lib/services/filter/filter.service.js +153 -0
- package/esm5/lib/services/find-person/find-person.service.js +238 -0
- package/esm5/lib/services/google-analytics/google-analytics.service.js +1 -1
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +1 -1
- package/esm5/lib/services/index.js +2 -2
- package/esm5/lib/services/loading/loading.service.js +24 -15
- package/esm5/lib/services/locations/location.service.js +82 -0
- package/esm5/lib/services/manage-session/manage-session.services.js +3 -3
- package/esm5/lib/services/public-api.js +9 -4
- package/esm5/lib/services/role-guard/role.guard.js +1 -1
- package/esm5/lib/services/role-guard/role.service.js +1 -1
- package/esm5/lib/services/session-storage/session-storage.service.js +96 -0
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +3 -3
- package/esm5/public-api.js +6 -6
- package/fesm2015/hmcts-rpx-xui-common-lib.js +6320 -2429
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +7208 -2719
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +58 -43
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +20 -0
- package/lib/components/find-location/find-location.component.d.ts +31 -0
- package/lib/components/find-person/find-person.component.d.ts +40 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +8 -0
- package/lib/components/generic-filter/generic-filter.component.d.ts +40 -0
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +1 -1
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -7
- package/lib/components/pagination/pagination.component.d.ts +10 -0
- package/lib/components/public_api.d.ts +8 -5
- package/lib/components/search-judicials/search-judicials.component.d.ts +37 -0
- package/lib/components/search-location/search-location.component.d.ts +38 -0
- package/lib/components/search-venue/search-venue.component.d.ts +37 -0
- package/lib/components/user-list/user-list.component.d.ts +9 -2
- package/lib/exui-common-lib.module.d.ts +13 -11
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +8 -0
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +2 -0
- package/lib/gov-ui/components/public_api.d.ts +0 -19
- package/lib/gov-ui/models/isession-storage.interface.d.ts +4 -0
- package/lib/gov-ui/public_api.d.ts +0 -2
- package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +6 -0
- package/lib/models/contact-details.model.d.ts +5 -1
- package/lib/models/due-date.model.d.ts +5 -0
- package/lib/models/filter.model.d.ts +65 -0
- package/lib/models/index.d.ts +12 -0
- package/lib/models/location.model.d.ts +49 -0
- package/lib/models/pagination.model.d.ts +5 -0
- package/lib/models/person.model.d.ts +43 -0
- package/lib/models/public_api.d.ts +2 -7
- package/lib/models/search-options.model.d.ts +8 -0
- package/lib/services/cookie/cookie.service.d.ts +9 -0
- package/lib/services/feature-toggle/feature-toggle.service.d.ts +1 -1
- package/lib/services/feature-toggle/launch-darkly.service.d.ts +4 -5
- package/lib/services/filter/filter.service.d.ts +15 -0
- package/lib/services/find-person/find-person.service.d.ts +17 -0
- package/lib/services/loading/loading.service.d.ts +1 -1
- package/lib/services/locations/location.service.d.ts +23 -0
- package/lib/services/public-api.d.ts +7 -2
- package/lib/services/session-storage/session-storage.service.d.ts +20 -0
- package/lib/window.d.ts +1 -1
- package/package.json +5 -3
- package/public-api.d.ts +2 -2
- package/esm2015/lib/gov-ui/directives/index.js +0 -7
- package/esm2015/lib/gov-ui/directives/public_api.js +0 -7
- package/esm2015/lib/models/badge-colour.enum.js +0 -14
- package/esm5/lib/gov-ui/directives/index.js +0 -7
- package/esm5/lib/gov-ui/directives/public_api.js +0 -7
- package/esm5/lib/models/badge-colour.enum.js +0 -14
- package/lib/gov-ui/directives/index.d.ts +0 -1
- package/lib/gov-ui/directives/public_api.d.ts +0 -1
- package/lib/models/badge-colour.enum.d.ts +0 -6
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/find-location/find-location.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
7
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
|
+
import { getValues } from '../generic-filter/generic-filter-utils';
|
|
9
|
+
import { SearchLocationComponent } from '../search-location/search-location.component';
|
|
10
|
+
export class FindLocationComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.locationFieldChanged = new EventEmitter();
|
|
13
|
+
this.selectedLocations = [];
|
|
14
|
+
this.submitted = true;
|
|
15
|
+
this.enableAddLocationButton = true;
|
|
16
|
+
this.locationTitle = 'Search for a location by name';
|
|
17
|
+
this.disableInputField = false;
|
|
18
|
+
this.locations = [];
|
|
19
|
+
this.tempSelectedLocation = null;
|
|
20
|
+
this.serviceIds = 'SSCS,IA';
|
|
21
|
+
this.pServices = [];
|
|
22
|
+
this.pDisabled = false;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @return {?}
|
|
26
|
+
*/
|
|
27
|
+
get disabled() {
|
|
28
|
+
return this.pDisabled;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @param {?} value
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
set disabled(value) {
|
|
35
|
+
if (value) {
|
|
36
|
+
this.searchLocationComponent.resetSearchTerm();
|
|
37
|
+
this.removeSelectedValues();
|
|
38
|
+
}
|
|
39
|
+
this.pDisabled = this.disableInputField === true ? true : null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @return {?}
|
|
43
|
+
*/
|
|
44
|
+
get services() {
|
|
45
|
+
return this.pServices;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @param {?} value
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
set services(value) {
|
|
52
|
+
this.pServices = value;
|
|
53
|
+
/** @type {?} */
|
|
54
|
+
const field = this.fields.find((/**
|
|
55
|
+
* @param {?} f
|
|
56
|
+
* @return {?}
|
|
57
|
+
*/
|
|
58
|
+
f => f.name === this.field.findLocationField));
|
|
59
|
+
if (field) {
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
this.serviceIds = value;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.serviceIds = getValues(field.options, value).filter((/**
|
|
65
|
+
* @param {?} x
|
|
66
|
+
* @return {?}
|
|
67
|
+
*/
|
|
68
|
+
x => x !== 'services_all')).join(',');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
addLocation() {
|
|
76
|
+
if (this.tempSelectedLocation) {
|
|
77
|
+
this.selectedLocations = [...this.selectedLocations, this.tempSelectedLocation];
|
|
78
|
+
this.addSelectedLocationsToForm([this.tempSelectedLocation]);
|
|
79
|
+
this.tempSelectedLocation = null;
|
|
80
|
+
this.locations = [];
|
|
81
|
+
this.searchLocationComponent.resetSearchTerm();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @param {?} location
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
removeLocation(location) {
|
|
89
|
+
if (location.epimms_id) {
|
|
90
|
+
this.selectedLocations = this.selectedLocations.filter((/**
|
|
91
|
+
* @param {?} selectedLocation
|
|
92
|
+
* @return {?}
|
|
93
|
+
*/
|
|
94
|
+
selectedLocation => selectedLocation.epimms_id !== location.epimms_id));
|
|
95
|
+
/** @type {?} */
|
|
96
|
+
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
97
|
+
/** @type {?} */
|
|
98
|
+
const index = ((/** @type {?} */ (formArray.value))).findIndex((/**
|
|
99
|
+
* @param {?} selectedLocation
|
|
100
|
+
* @return {?}
|
|
101
|
+
*/
|
|
102
|
+
selectedLocation => selectedLocation.epimms_id === location.epimms_id));
|
|
103
|
+
if (index > -1) {
|
|
104
|
+
formArray.removeAt(index);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @param {?} term
|
|
110
|
+
* @return {?}
|
|
111
|
+
*/
|
|
112
|
+
onInputChanged(term) {
|
|
113
|
+
// if the filter is in single mode clear the selected locations
|
|
114
|
+
if (typeof term === 'string' && this.field.maxSelected === 1) {
|
|
115
|
+
this.removeSelectedValues();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
onSearchInputChanged() {
|
|
122
|
+
this.locationFieldChanged.emit();
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @param {?} location
|
|
126
|
+
* @return {?}
|
|
127
|
+
*/
|
|
128
|
+
onLocationSelected(location) {
|
|
129
|
+
if (this.field.maxSelected === 1) {
|
|
130
|
+
this.removeSelectedValues();
|
|
131
|
+
this.addSelectedLocationsToForm([location]);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
if (!this.selectedLocations.find((/**
|
|
135
|
+
* @param {?} x
|
|
136
|
+
* @return {?}
|
|
137
|
+
*/
|
|
138
|
+
x => x.epimms_id === location.epimms_id))) {
|
|
139
|
+
if (location.epimms_id) {
|
|
140
|
+
this.tempSelectedLocation = location;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @private
|
|
147
|
+
* @return {?}
|
|
148
|
+
*/
|
|
149
|
+
removeSelectedValues() {
|
|
150
|
+
/** @type {?} */
|
|
151
|
+
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
152
|
+
for (let i = 0; i < formArray.length; i++) {
|
|
153
|
+
formArray.removeAt(i);
|
|
154
|
+
}
|
|
155
|
+
this.selectedLocations = [];
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* @private
|
|
159
|
+
* @param {?} locations
|
|
160
|
+
* @return {?}
|
|
161
|
+
*/
|
|
162
|
+
addSelectedLocationsToForm(locations) {
|
|
163
|
+
/** @type {?} */
|
|
164
|
+
const formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
165
|
+
for (const location of locations) {
|
|
166
|
+
formArray.push(new FormControl(location));
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
FindLocationComponent.decorators = [
|
|
171
|
+
{ type: Component, args: [{
|
|
172
|
+
selector: 'xuilib-find-location',
|
|
173
|
+
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",
|
|
174
|
+
styles: [""]
|
|
175
|
+
}] }
|
|
176
|
+
];
|
|
177
|
+
FindLocationComponent.propDecorators = {
|
|
178
|
+
locationFieldChanged: [{ type: Output }],
|
|
179
|
+
selectedLocations: [{ type: Input }],
|
|
180
|
+
submitted: [{ type: Input }],
|
|
181
|
+
enableAddLocationButton: [{ type: Input }],
|
|
182
|
+
form: [{ type: Input }],
|
|
183
|
+
field: [{ type: Input }],
|
|
184
|
+
fields: [{ type: Input }],
|
|
185
|
+
locationTitle: [{ type: Input }],
|
|
186
|
+
disableInputField: [{ type: Input }],
|
|
187
|
+
searchLocationComponent: [{ type: ViewChild, args: [SearchLocationComponent, { static: true },] }],
|
|
188
|
+
disabled: [{ type: Input }],
|
|
189
|
+
services: [{ type: Input }]
|
|
190
|
+
};
|
|
191
|
+
if (false) {
|
|
192
|
+
/** @type {?} */
|
|
193
|
+
FindLocationComponent.prototype.locationFieldChanged;
|
|
194
|
+
/** @type {?} */
|
|
195
|
+
FindLocationComponent.prototype.selectedLocations;
|
|
196
|
+
/** @type {?} */
|
|
197
|
+
FindLocationComponent.prototype.submitted;
|
|
198
|
+
/** @type {?} */
|
|
199
|
+
FindLocationComponent.prototype.enableAddLocationButton;
|
|
200
|
+
/** @type {?} */
|
|
201
|
+
FindLocationComponent.prototype.form;
|
|
202
|
+
/** @type {?} */
|
|
203
|
+
FindLocationComponent.prototype.field;
|
|
204
|
+
/** @type {?} */
|
|
205
|
+
FindLocationComponent.prototype.fields;
|
|
206
|
+
/** @type {?} */
|
|
207
|
+
FindLocationComponent.prototype.locationTitle;
|
|
208
|
+
/** @type {?} */
|
|
209
|
+
FindLocationComponent.prototype.disableInputField;
|
|
210
|
+
/** @type {?} */
|
|
211
|
+
FindLocationComponent.prototype.locations;
|
|
212
|
+
/** @type {?} */
|
|
213
|
+
FindLocationComponent.prototype.tempSelectedLocation;
|
|
214
|
+
/** @type {?} */
|
|
215
|
+
FindLocationComponent.prototype.serviceIds;
|
|
216
|
+
/** @type {?} */
|
|
217
|
+
FindLocationComponent.prototype.searchLocationComponent;
|
|
218
|
+
/**
|
|
219
|
+
* @type {?}
|
|
220
|
+
* @private
|
|
221
|
+
*/
|
|
222
|
+
FindLocationComponent.prototype.pServices;
|
|
223
|
+
/**
|
|
224
|
+
* @type {?}
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
FindLocationComponent.prototype.pDisabled;
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBWSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBT3JGLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNbUIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqRCxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBSXhDLGtCQUFhLEdBQUcsK0JBQStCLENBQUM7UUFDaEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3hDLHlCQUFvQixHQUEwQixJQUFJLENBQUM7UUFDbkQsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUU5QixjQUFTLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7SUEyRnJDLENBQUM7Ozs7SUF6RkMsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVELElBQ1csUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsdUJBQXVC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LHNCQUFzQjtnQkFDaEMsMjdDQUE2Qzs7YUFFOUM7OzttQ0FFRSxNQUFNO2dDQUNOLEtBQUs7d0JBQ0wsS0FBSztzQ0FDTCxLQUFLO21CQUNMLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLOzRCQUNMLEtBQUs7Z0NBQ0wsS0FBSztzQ0FJTCxTQUFTLFNBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3VCQVFuRCxLQUFLO3VCQWFMLEtBQUs7Ozs7SUFqQ04scURBQWlFOztJQUNqRSxrREFBZ0U7O0lBQ2hFLDBDQUEwQzs7SUFDMUMsd0RBQXdEOztJQUN4RCxxQ0FBZ0M7O0lBQ2hDLHNDQUF5Qzs7SUFDekMsdUNBQTRDOztJQUM1Qyw4Q0FBZ0U7O0lBQ2hFLGtEQUEwQzs7SUFDMUMsMENBQStDOztJQUMvQyxxREFBMEQ7O0lBQzFELDJDQUFzQzs7SUFDdEMsd0RBQThHOzs7OztJQUM5RywwQ0FBaUM7Ozs7O0lBQ2pDLDBDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGaWx0ZXJGaWVsZENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1NU01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtnZXRWYWx1ZXN9IGZyb20gJy4uL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLXV0aWxzJztcbmltcG9ydCB7U2VhcmNoTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4uL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWZpbmQtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaW5kTG9jYXRpb25Db21wb25lbnQge1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQWRkTG9jYXRpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGQ6IEZpbHRlckZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWx0ZXJGaWVsZENvbmZpZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25UaXRsZSA9ICdTZWFyY2ggZm9yIGEgbG9jYXRpb24gYnkgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlSW5wdXRGaWVsZCA9IGZhbHNlO1xuICBwdWJsaWMgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdGVtcFNlbGVjdGVkTG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnU1NDUyxJQSc7XG4gIEBWaWV3Q2hpbGQoU2VhcmNoTG9jYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNvbXBvbmVudDogU2VhcmNoTG9jYXRpb25Db21wb25lbnQ7XG4gIHByaXZhdGUgcFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucERpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gICAgdGhpcy5wRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVJbnB1dEZpZWxkID09PSB0cnVlID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VydmljZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlcnZpY2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucFNlcnZpY2VzID0gdmFsdWU7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmZpZWxkLmZpbmRMb2NhdGlvbkZpZWxkKTtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuc2VydmljZUlkcyA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlSWRzID0gZ2V0VmFsdWVzKGZpZWxkLm9wdGlvbnMsIHZhbHVlKS5maWx0ZXIoeCA9PiB4ICE9PSAnc2VydmljZXNfYWxsJykuam9pbignLCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRMb2NhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9ucyA9IFsuLi50aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uXTtcbiAgICAgIHRoaXMuYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0oW3RoaXMudGVtcFNlbGVjdGVkTG9jYXRpb25dKTtcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkTG9jYXRpb24gPSBudWxsO1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoTG9jYXRpb25Db21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUxvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAobG9jYXRpb24uZXBpbW1zX2lkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25zID0gdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5maWx0ZXIoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCAhPT0gbG9jYXRpb24uZXBpbW1zX2lkKTtcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgICBjb25zdCBpbmRleCA9IChmb3JtQXJyYXkudmFsdWUgYXMgTG9jYXRpb25CeUVQSU1NU01vZGVsW10pLmZpbmRJbmRleChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkID09PSBsb2NhdGlvbi5lcGltbXNfaWQpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dENoYW5nZWQodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gaWYgdGhlIGZpbHRlciBpcyBpbiBzaW5nbGUgbW9kZSBjbGVhciB0aGUgc2VsZWN0ZWQgbG9jYXRpb25zXG4gICAgaWYgKHR5cGVvZiB0ZXJtID09PSAnc3RyaW5nJyAmJiB0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2hJbnB1dENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbkZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhdGlvblNlbGVjdGVkKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgdGhpcy5hZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShbbG9jYXRpb25dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbmQoeCA9PiB4LmVwaW1tc19pZCA9PT0gbG9jYXRpb24uZXBpbW1zX2lkKSkge1xuICAgICAgICBpZiAobG9jYXRpb24uZXBpbW1zX2lkKSB7XG4gICAgICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbiA9IGxvY2F0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZFZhbHVlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0obG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9yIChjb25zdCBsb2NhdGlvbiBvZiBsb2NhdGlvbnMpIHtcbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/find-person/find-person.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
7
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
|
+
import { of, zip } from 'rxjs';
|
|
9
|
+
import { catchError, debounceTime, filter, map, switchMap, tap } from 'rxjs/operators';
|
|
10
|
+
import { PersonRole } from '../../models';
|
|
11
|
+
import { FindAPersonService } from '../../services/find-person/find-person.service';
|
|
12
|
+
export class FindPersonComponent {
|
|
13
|
+
/**
|
|
14
|
+
* @param {?} findPersonService
|
|
15
|
+
* @param {?} cd
|
|
16
|
+
*/
|
|
17
|
+
constructor(findPersonService, cd) {
|
|
18
|
+
this.findPersonService = findPersonService;
|
|
19
|
+
this.cd = cd;
|
|
20
|
+
this.personSelected = new EventEmitter();
|
|
21
|
+
this.personFieldChanged = new EventEmitter();
|
|
22
|
+
this.boldTitle = 'Find the person';
|
|
23
|
+
this.subTitle = 'Type the name of the person and select them.';
|
|
24
|
+
this.domain = PersonRole.ALL;
|
|
25
|
+
this.findPersonGroup = new FormGroup({});
|
|
26
|
+
this.submitted = true;
|
|
27
|
+
this.userIncluded = false;
|
|
28
|
+
this.placeholderContent = '';
|
|
29
|
+
this.isNoResultsShown = true;
|
|
30
|
+
this.showUpdatedColor = false;
|
|
31
|
+
this.selectedPersons = [];
|
|
32
|
+
this.errorMessage = 'You must select a name';
|
|
33
|
+
this.idValue = '';
|
|
34
|
+
this.services = ['IA'];
|
|
35
|
+
this.disabled = null;
|
|
36
|
+
this.showAutocomplete = false;
|
|
37
|
+
this.filteredOptions = [];
|
|
38
|
+
this.minSearchCharacters = 2;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
if (this.sub) {
|
|
45
|
+
this.sub.unsubscribe();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.findPersonControl = new FormControl(this.selectedPerson);
|
|
53
|
+
this.findPersonGroup.addControl('findPersonControl', this.findPersonControl);
|
|
54
|
+
this.sub = this.findPersonControl.valueChanges.pipe(tap((/**
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
() => this.showAutocomplete = false)), tap((/**
|
|
58
|
+
* @return {?}
|
|
59
|
+
*/
|
|
60
|
+
() => this.filteredOptions = [])), debounceTime(300), tap((/**
|
|
61
|
+
* @param {?} searchTerm
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
(searchTerm) => typeof searchTerm === 'string' ? this.personSelected.emit(null) : void 0)), filter((/**
|
|
65
|
+
* @param {?} searchTerm
|
|
66
|
+
* @return {?}
|
|
67
|
+
*/
|
|
68
|
+
(searchTerm) => searchTerm && searchTerm.length > this.minSearchCharacters)), switchMap((/**
|
|
69
|
+
* @param {?} searchTerm
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
(searchTerm) => this.filter(searchTerm).pipe(tap((/**
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
() => this.showAutocomplete = true)), catchError((/**
|
|
76
|
+
* @return {?}
|
|
77
|
+
*/
|
|
78
|
+
() => this.filteredOptions = [])))))).subscribe((/**
|
|
79
|
+
* @param {?} people
|
|
80
|
+
* @return {?}
|
|
81
|
+
*/
|
|
82
|
+
(people) => {
|
|
83
|
+
this.filteredOptions = people;
|
|
84
|
+
this.cd.detectChanges();
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @param {?} searchTerm
|
|
89
|
+
* @return {?}
|
|
90
|
+
*/
|
|
91
|
+
filter(searchTerm) {
|
|
92
|
+
/** @type {?} */
|
|
93
|
+
const findJudicialPeople = this.findPersonService.find({ searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
|
|
94
|
+
/** @type {?} */
|
|
95
|
+
const findCaseworkersOrAdmins = this.findPersonService.findCaseworkers({ searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
|
|
96
|
+
if (searchTerm && searchTerm.length > this.minSearchCharacters) {
|
|
97
|
+
switch (this.domain) {
|
|
98
|
+
case PersonRole.JUDICIAL: {
|
|
99
|
+
return findJudicialPeople.pipe(map((/**
|
|
100
|
+
* @param {?} persons
|
|
101
|
+
* @return {?}
|
|
102
|
+
*/
|
|
103
|
+
persons => {
|
|
104
|
+
/** @type {?} */
|
|
105
|
+
const ids = this.selectedPersons.map((/**
|
|
106
|
+
* @param {?} __0
|
|
107
|
+
* @return {?}
|
|
108
|
+
*/
|
|
109
|
+
({ id }) => id));
|
|
110
|
+
return persons.filter((/**
|
|
111
|
+
* @param {?} __0
|
|
112
|
+
* @return {?}
|
|
113
|
+
*/
|
|
114
|
+
({ id }) => !ids.includes(id)));
|
|
115
|
+
})));
|
|
116
|
+
}
|
|
117
|
+
case PersonRole.ALL: {
|
|
118
|
+
return zip(findJudicialPeople, findCaseworkersOrAdmins).pipe(map((/**
|
|
119
|
+
* @param {?} separatePeople
|
|
120
|
+
* @return {?}
|
|
121
|
+
*/
|
|
122
|
+
separatePeople => separatePeople[0].concat(separatePeople[1]))));
|
|
123
|
+
}
|
|
124
|
+
case PersonRole.CASEWORKER:
|
|
125
|
+
case PersonRole.ADMIN: {
|
|
126
|
+
return findCaseworkersOrAdmins;
|
|
127
|
+
}
|
|
128
|
+
default: {
|
|
129
|
+
return of([]);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return of([]);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @param {?} selectedPerson
|
|
137
|
+
* @return {?}
|
|
138
|
+
*/
|
|
139
|
+
onSelectionChange(selectedPerson) {
|
|
140
|
+
this.personSelected.emit(selectedPerson);
|
|
141
|
+
this.findPersonControl.setValue(this.getDisplayName(selectedPerson), { emitEvent: false, onlySelf: true });
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @param {?} selectedPerson
|
|
145
|
+
* @return {?}
|
|
146
|
+
*/
|
|
147
|
+
getDisplayName(selectedPerson) {
|
|
148
|
+
if (!selectedPerson) {
|
|
149
|
+
return '';
|
|
150
|
+
}
|
|
151
|
+
if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.knownAs) {
|
|
152
|
+
return `${selectedPerson.knownAs} (${selectedPerson.email})`;
|
|
153
|
+
}
|
|
154
|
+
return selectedPerson.email ? `${selectedPerson.name} (${selectedPerson.email})` : selectedPerson.name;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* @return {?}
|
|
158
|
+
*/
|
|
159
|
+
onInput() {
|
|
160
|
+
this.personFieldChanged.emit();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
FindPersonComponent.decorators = [
|
|
164
|
+
{ type: Component, args: [{
|
|
165
|
+
selector: 'xuilib-find-person',
|
|
166
|
+
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",
|
|
167
|
+
styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
|
|
168
|
+
}] }
|
|
169
|
+
];
|
|
170
|
+
/** @nocollapse */
|
|
171
|
+
FindPersonComponent.ctorParameters = () => [
|
|
172
|
+
{ type: FindAPersonService },
|
|
173
|
+
{ type: ChangeDetectorRef }
|
|
174
|
+
];
|
|
175
|
+
FindPersonComponent.propDecorators = {
|
|
176
|
+
personSelected: [{ type: Output }],
|
|
177
|
+
personFieldChanged: [{ type: Output }],
|
|
178
|
+
title: [{ type: Input }],
|
|
179
|
+
boldTitle: [{ type: Input }],
|
|
180
|
+
subTitle: [{ type: Input }],
|
|
181
|
+
domain: [{ type: Input }],
|
|
182
|
+
findPersonGroup: [{ type: Input }],
|
|
183
|
+
selectedPerson: [{ type: Input }],
|
|
184
|
+
submitted: [{ type: Input }],
|
|
185
|
+
userIncluded: [{ type: Input }],
|
|
186
|
+
assignedUser: [{ type: Input }],
|
|
187
|
+
placeholderContent: [{ type: Input }],
|
|
188
|
+
isNoResultsShown: [{ type: Input }],
|
|
189
|
+
showUpdatedColor: [{ type: Input }],
|
|
190
|
+
selectedPersons: [{ type: Input }],
|
|
191
|
+
errorMessage: [{ type: Input }],
|
|
192
|
+
idValue: [{ type: Input }],
|
|
193
|
+
services: [{ type: Input }],
|
|
194
|
+
disabled: [{ type: Input }]
|
|
195
|
+
};
|
|
196
|
+
if (false) {
|
|
197
|
+
/** @type {?} */
|
|
198
|
+
FindPersonComponent.prototype.personSelected;
|
|
199
|
+
/** @type {?} */
|
|
200
|
+
FindPersonComponent.prototype.personFieldChanged;
|
|
201
|
+
/** @type {?} */
|
|
202
|
+
FindPersonComponent.prototype.title;
|
|
203
|
+
/** @type {?} */
|
|
204
|
+
FindPersonComponent.prototype.boldTitle;
|
|
205
|
+
/** @type {?} */
|
|
206
|
+
FindPersonComponent.prototype.subTitle;
|
|
207
|
+
/** @type {?} */
|
|
208
|
+
FindPersonComponent.prototype.domain;
|
|
209
|
+
/** @type {?} */
|
|
210
|
+
FindPersonComponent.prototype.findPersonGroup;
|
|
211
|
+
/** @type {?} */
|
|
212
|
+
FindPersonComponent.prototype.selectedPerson;
|
|
213
|
+
/** @type {?} */
|
|
214
|
+
FindPersonComponent.prototype.submitted;
|
|
215
|
+
/** @type {?} */
|
|
216
|
+
FindPersonComponent.prototype.userIncluded;
|
|
217
|
+
/** @type {?} */
|
|
218
|
+
FindPersonComponent.prototype.assignedUser;
|
|
219
|
+
/** @type {?} */
|
|
220
|
+
FindPersonComponent.prototype.placeholderContent;
|
|
221
|
+
/** @type {?} */
|
|
222
|
+
FindPersonComponent.prototype.isNoResultsShown;
|
|
223
|
+
/** @type {?} */
|
|
224
|
+
FindPersonComponent.prototype.showUpdatedColor;
|
|
225
|
+
/** @type {?} */
|
|
226
|
+
FindPersonComponent.prototype.selectedPersons;
|
|
227
|
+
/** @type {?} */
|
|
228
|
+
FindPersonComponent.prototype.errorMessage;
|
|
229
|
+
/** @type {?} */
|
|
230
|
+
FindPersonComponent.prototype.idValue;
|
|
231
|
+
/** @type {?} */
|
|
232
|
+
FindPersonComponent.prototype.services;
|
|
233
|
+
/** @type {?} */
|
|
234
|
+
FindPersonComponent.prototype.disabled;
|
|
235
|
+
/** @type {?} */
|
|
236
|
+
FindPersonComponent.prototype.showAutocomplete;
|
|
237
|
+
/** @type {?} */
|
|
238
|
+
FindPersonComponent.prototype.findPersonControl;
|
|
239
|
+
/** @type {?} */
|
|
240
|
+
FindPersonComponent.prototype.filteredOptions;
|
|
241
|
+
/** @type {?} */
|
|
242
|
+
FindPersonComponent.prototype.minSearchCharacters;
|
|
243
|
+
/**
|
|
244
|
+
* @type {?}
|
|
245
|
+
* @private
|
|
246
|
+
*/
|
|
247
|
+
FindPersonComponent.prototype.sub;
|
|
248
|
+
/**
|
|
249
|
+
* @type {?}
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
FindPersonComponent.prototype.findPersonService;
|
|
253
|
+
/**
|
|
254
|
+
* @type {?}
|
|
255
|
+
* @private
|
|
256
|
+
*/
|
|
257
|
+
FindPersonComponent.prototype.cd;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFhLEVBQUUsRUFBZ0IsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBUyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFRbEYsTUFBTSxPQUFPLG1CQUFtQjs7Ozs7SUEwQjlCLFlBQTZCLGlCQUFxQyxFQUFtQixFQUFxQjtRQUE3RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBekJ6RixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDOUIsYUFBUSxHQUFHLDhDQUE4QyxDQUFDO1FBQzFELFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hCLG9CQUFlLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsY0FBUyxH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K0JBQ0wsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7Ozs7SUFsQk4sNkNBQTZEOztJQUM3RCxpREFBK0Q7O0lBQy9ELG9DQUE4Qjs7SUFDOUIsd0NBQThDOztJQUM5Qyx1Q0FBMEU7O0lBQzFFLHFDQUF3Qzs7SUFDeEMsOENBQStEOztJQUMvRCw2Q0FBdUM7O0lBQ3ZDLHdDQUEwQzs7SUFDMUMsMkNBQStDOztJQUMvQywyQ0FBc0M7O0lBQ3RDLGlEQUFnRDs7SUFDaEQsK0NBQWlEOztJQUNqRCwrQ0FBa0Q7O0lBQ2xELDhDQUErQzs7SUFDL0MsMkNBQWdFOztJQUNoRSxzQ0FBcUM7O0lBQ3JDLHVDQUE0Qzs7SUFDNUMsdUNBQXlDOztJQUN6QywrQ0FBeUM7O0lBQ3pDLGdEQUFzQzs7SUFDdEMsOENBQXNDOztJQUN0QyxrREFBd0M7Ozs7O0lBQ3hDLGtDQUEwQjs7Ozs7SUFFZCxnREFBc0Q7Ozs7O0lBQUUsaUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXJzb24sIFBlcnNvblJvbGV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0ZpbmRBUGVyc29uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1maW5kLXBlcnNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLXBlcnNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtcGVyc29uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgRmluZFBlcnNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHB1YmxpYyBwZXJzb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGVyc29uPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBlcnNvbkZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkVGl0bGUgPSAnRmluZCB0aGUgcGVyc29uJztcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlID0gJ1R5cGUgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBhbmQgc2VsZWN0IHRoZW0uJztcbiAgQElucHV0KCkgcHVibGljIGRvbWFpbiA9IFBlcnNvblJvbGUuQUxMO1xuICBASW5wdXQoKSBwdWJsaWMgZmluZFBlcnNvbkdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUGVyc29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdXNlckluY2x1ZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYXNzaWduZWRVc2VyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGlzTm9SZXN1bHRzU2hvd246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1VwZGF0ZWRDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRQZXJzb25zOiBQZXJzb25bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VzOiBzdHJpbmdbXSA9IFsnSUEnXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZpbmRQZXJzb25Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUGVyc29uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAyO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmluZFBlcnNvblNlcnZpY2U6IEZpbmRBUGVyc29uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5zZWxlY3RlZFBlcnNvbik7XG4gICAgdGhpcy5maW5kUGVyc29uR3JvdXAuYWRkQ29udHJvbCgnZmluZFBlcnNvbkNvbnRyb2wnLCB0aGlzLmZpbmRQZXJzb25Db250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFBlcnNvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMucGVyc29uU2VsZWN0ZWQuZW1pdChudWxsKSA6IHZvaWQgMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgocGVvcGxlOiBQZXJzb25bXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBwZW9wbGU7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IGZpbmRKdWRpY2lhbFBlb3BsZSA9IHRoaXMuZmluZFBlcnNvblNlcnZpY2UuZmluZCh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogdGhpcy5zZXJ2aWNlcywgdXNlckluY2x1ZGVkOiB0aGlzLnVzZXJJbmNsdWRlZCwgYXNzaWduZWRVc2VyOiB0aGlzLmFzc2lnbmVkVXNlcn0pO1xuICAgIGNvbnN0IGZpbmRDYXNld29ya2Vyc09yQWRtaW5zID0gdGhpcy5maW5kUGVyc29uU2VydmljZS5maW5kQ2FzZXdvcmtlcnMoe3NlYXJjaFRlcm0sIHVzZXJSb2xlOiB0aGlzLmRvbWFpbiwgc2VydmljZXM6IHRoaXMuc2VydmljZXMsIHVzZXJJbmNsdWRlZDogdGhpcy51c2VySW5jbHVkZWQsIGFzc2lnbmVkVXNlcjogdGhpcy5hc3NpZ25lZFVzZXJ9KTtcbiAgICBpZiAoc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgc3dpdGNoICh0aGlzLmRvbWFpbikge1xuICAgICAgICBjYXNlIFBlcnNvblJvbGUuSlVESUNJQUw6IHtcbiAgICAgICAgICByZXR1cm4gZmluZEp1ZGljaWFsUGVvcGxlLnBpcGUobWFwKHBlcnNvbnMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IHRoaXMuc2VsZWN0ZWRQZXJzb25zLm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgICAgICAgICAgcmV0dXJuIHBlcnNvbnMuZmlsdGVyKCh7IGlkIH0pID0+ICFpZHMuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkFMTDoge1xuICAgICAgICAgIHJldHVybiB6aXAoZmluZEp1ZGljaWFsUGVvcGxlLCBmaW5kQ2FzZXdvcmtlcnNPckFkbWlucykucGlwZShtYXAoc2VwYXJhdGVQZW9wbGUgPT4gc2VwYXJhdGVQZW9wbGVbMF0uY29uY2F0KHNlcGFyYXRlUGVvcGxlWzFdKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5DQVNFV09SS0VSOlxuICAgICAgICBjYXNlIFBlcnNvblJvbGUuQURNSU46IHtcbiAgICAgICAgICByZXR1cm4gZmluZENhc2V3b3JrZXJzT3JBZG1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogdm9pZCB7XG4gICAgdGhpcy5wZXJzb25TZWxlY3RlZC5lbWl0KHNlbGVjdGVkUGVyc29uKTtcbiAgICB0aGlzLmZpbmRQZXJzb25Db250cm9sLnNldFZhbHVlKHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VsZWN0ZWRQZXJzb24pLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogc3RyaW5nIHtcbiAgICBpZiAoIXNlbGVjdGVkUGVyc29uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZFBlcnNvbi5kb21haW4gPT09IFBlcnNvblJvbGUuSlVESUNJQUwgJiYgc2VsZWN0ZWRQZXJzb24ua25vd25Bcykge1xuICAgICAgcmV0dXJuIGAke3NlbGVjdGVkUGVyc29uLmtub3duQXN9ICgke3NlbGVjdGVkUGVyc29uLmVtYWlsfSlgO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRQZXJzb24uZW1haWwgPyBgJHtzZWxlY3RlZFBlcnNvbi5uYW1lfSAoJHtzZWxlY3RlZFBlcnNvbi5lbWFpbH0pYCA6IHNlbGVjdGVkUGVyc29uLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnBlcnNvbkZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/components/generic-filter/generic-filter-utils.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {?} min
|
|
9
|
+
* @return {?}
|
|
10
|
+
*/
|
|
11
|
+
export function minSelectedValidator(min) {
|
|
12
|
+
return (/**
|
|
13
|
+
* @param {?} control
|
|
14
|
+
* @return {?}
|
|
15
|
+
*/
|
|
16
|
+
(control) => {
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
const values = (/** @type {?} */ (control.value));
|
|
19
|
+
return values.length && values.filter((/**
|
|
20
|
+
* @param {?} value
|
|
21
|
+
* @return {?}
|
|
22
|
+
*/
|
|
23
|
+
value => value)).length >= min ? null : { minLength: true };
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @template T
|
|
28
|
+
* @param {?} max
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
export function maxSelectedValidator(max) {
|
|
32
|
+
return (/**
|
|
33
|
+
* @param {?} control
|
|
34
|
+
* @return {?}
|
|
35
|
+
*/
|
|
36
|
+
(control) => {
|
|
37
|
+
/** @type {?} */
|
|
38
|
+
const values = (/** @type {?} */ (control.value));
|
|
39
|
+
return values.length && values.filter((/**
|
|
40
|
+
* @param {?} value
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
value => value)).length <= max ? null : { maxLength: true };
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @param {?} options
|
|
48
|
+
* @param {?} values
|
|
49
|
+
* @return {?}
|
|
50
|
+
*/
|
|
51
|
+
export function getValues(options, values) {
|
|
52
|
+
return options.reduce((/**
|
|
53
|
+
* @param {?} acc
|
|
54
|
+
* @param {?} option
|
|
55
|
+
* @param {?} index
|
|
56
|
+
* @return {?}
|
|
57
|
+
*/
|
|
58
|
+
(acc, option, index) => {
|
|
59
|
+
if (values[index]) {
|
|
60
|
+
return [...acc, option.key];
|
|
61
|
+
}
|
|
62
|
+
return acc;
|
|
63
|
+
}), []);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXItdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUVBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxHQUFXO0lBQ2pEOzs7O0lBQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFOztjQUNyRCxNQUFNLEdBQUcsbUJBQUEsT0FBTyxDQUFDLEtBQUssRUFBTztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07Ozs7UUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQVc7SUFDakQ7Ozs7SUFBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7O2NBQ3JELE1BQU0sR0FBRyxtQkFBQSxPQUFPLENBQUMsS0FBSyxFQUFPO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTs7OztRQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFDLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQztJQUNqRyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQTJELEVBQUUsTUFBYTtJQUNsRyxPQUFPLE9BQU8sQ0FBQyxNQUFNOzs7Ozs7SUFBQyxDQUFDLEdBQWEsRUFBRSxNQUFzQyxFQUFFLEtBQWEsRUFBRSxFQUFFO1FBQzdGLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsR0FBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1pblNlbGVjdGVkVmFsaWRhdG9yPFQ+KG1pbjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb250cm9sLnZhbHVlIGFzIFRbXTtcbiAgICByZXR1cm4gdmFsdWVzLmxlbmd0aCAmJiB2YWx1ZXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlKS5sZW5ndGggPj0gbWluID8gbnVsbCA6IHttaW5MZW5ndGg6IHRydWV9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4U2VsZWN0ZWRWYWxpZGF0b3I8VD4obWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRyb2wudmFsdWUgYXMgVFtdO1xuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICYmIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUpLmxlbmd0aCA8PSBtYXggPyBudWxsIDoge21heExlbmd0aDogdHJ1ZX07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZXMob3B0aW9uczogeyBrZXk6IHN0cmluZywgbGFiZWw6IHN0cmluZywgc2VsZWN0QWxsPzogdHJ1ZSB9W10sIHZhbHVlczogYW55W10pOiBhbnlbXSB7XG4gIHJldHVybiBvcHRpb25zLnJlZHVjZSgoYWNjOiBzdHJpbmdbXSwgb3B0aW9uOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH0sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBpZiAodmFsdWVzW2luZGV4XSkge1xuICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbi5rZXldO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbiJdfQ==
|