@hmcts/rpx-xui-common-lib 1.6.1-adding-location-filter-bugfix → 1.6.1-all-work-filter
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 +607 -426
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/components/find-location/find-location.component.js +98 -44
- package/esm2015/lib/components/find-person/find-person.component.js +59 -24
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +2 -2
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +49 -42
- package/esm2015/lib/components/search-location/search-location.component.js +53 -67
- package/esm2015/lib/exui-common-lib.module.js +4 -3
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +24 -0
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +58 -0
- package/esm2015/lib/models/filter.model.js +9 -1
- package/esm2015/lib/models/person.model.js +11 -1
- package/esm2015/lib/models/search-options.model.js +4 -2
- package/esm2015/lib/services/find-person/find-person.service.js +77 -24
- package/esm5/lib/components/find-location/find-location.component.js +122 -64
- package/esm5/lib/components/find-person/find-person.component.js +59 -25
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +2 -2
- package/esm5/lib/components/generic-filter/generic-filter.component.js +98 -71
- package/esm5/lib/components/search-location/search-location.component.js +59 -75
- package/esm5/lib/exui-common-lib.module.js +4 -3
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +24 -0
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +58 -0
- package/esm5/lib/models/filter.model.js +9 -1
- package/esm5/lib/models/person.model.js +11 -1
- package/esm5/lib/models/search-options.model.js +4 -2
- package/esm5/lib/services/find-person/find-person.service.js +83 -24
- package/fesm2015/hmcts-rpx-xui-common-lib.js +425 -268
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +532 -348
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/find-location/find-location.component.d.ts +11 -6
- package/lib/components/find-person/find-person.component.d.ts +10 -8
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -2
- package/lib/components/generic-filter/generic-filter.component.d.ts +2 -3
- package/lib/components/search-location/search-location.component.d.ts +9 -9
- package/lib/gov-ui/models/isession-storage.interface.d.ts +4 -0
- package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +6 -0
- package/lib/models/filter.model.d.ts +4 -0
- package/lib/models/person.model.d.ts +4 -0
- package/lib/models/search-options.model.d.ts +2 -1
- package/lib/services/find-person/find-person.service.d.ts +2 -2
- package/package.json +1 -1
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
import { HttpClient } from '@angular/common/http';
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
8
|
import { of } from 'rxjs';
|
|
9
|
-
import { tap } from 'rxjs/operators';
|
|
10
|
-
import {
|
|
9
|
+
import { map, tap } from 'rxjs/operators';
|
|
10
|
+
import { getAllCaseworkersFromServices, getSessionStorageKeyForServiceId, setCaseworkers } from '../../gov-ui/util/session-storage/session-storage-utils';
|
|
11
|
+
import { PersonRole, RoleCategory } from '../../models';
|
|
11
12
|
import { SessionStorageService } from '../session-storage/session-storage.service';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@angular/common/http";
|
|
@@ -47,35 +48,60 @@ export class FindAPersonService {
|
|
|
47
48
|
const userInfo = JSON.parse(userInfoStr);
|
|
48
49
|
this.userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
49
50
|
}
|
|
50
|
-
if (!this.sessionStorageService.getItem(FindAPersonService.caseworkersKey)) {
|
|
51
|
-
this.http.get('/workallocation2/caseworker').pipe(tap((/**
|
|
52
|
-
* @param {?} caseworkerList
|
|
53
|
-
* @return {?}
|
|
54
|
-
*/
|
|
55
|
-
caseworkerList => this.sessionStorageService.setItem(FindAPersonService.caseworkersKey, JSON.stringify(caseworkerList)))));
|
|
56
|
-
}
|
|
57
51
|
/** @type {?} */
|
|
58
|
-
const
|
|
59
|
-
/** @type {?} */
|
|
60
|
-
let roleCategory = RoleCategory.ALL;
|
|
61
|
-
if (!(searchOptions.jurisdiction === PersonRole.ALL)) {
|
|
62
|
-
roleCategory = searchOptions.jurisdiction === PersonRole.CASEWORKER ? RoleCategory.CASEWORKER : RoleCategory.ADMIN;
|
|
63
|
-
}
|
|
52
|
+
const fullServices = searchOptions.services;
|
|
64
53
|
/** @type {?} */
|
|
65
|
-
const
|
|
54
|
+
const storedServices = [];
|
|
66
55
|
/** @type {?} */
|
|
67
|
-
const
|
|
56
|
+
const newServices = [];
|
|
68
57
|
/** @type {?} */
|
|
69
|
-
const
|
|
70
|
-
|
|
58
|
+
const storedCaseworkersByService = [];
|
|
59
|
+
fullServices.forEach((/**
|
|
60
|
+
* @param {?} serviceId
|
|
71
61
|
* @return {?}
|
|
72
62
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
serviceId => {
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
const serviceKey = getSessionStorageKeyForServiceId(serviceId);
|
|
66
|
+
if (this.sessionStorageService.getItem(serviceKey)) {
|
|
67
|
+
storedServices.push(serviceId);
|
|
68
|
+
storedCaseworkersByService.push({ service: serviceId, caseworkers: JSON.parse(this.sessionStorageService.getItem(serviceKey)) });
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
newServices.push(serviceId);
|
|
72
|
+
}
|
|
73
|
+
}));
|
|
74
|
+
// if all services are stored then return the stored caseworkers by service
|
|
75
|
+
if (storedServices.length === fullServices.length) {
|
|
76
|
+
/** @type {?} */
|
|
77
|
+
const storedCaseworkers = getAllCaseworkersFromServices(storedCaseworkersByService);
|
|
78
|
+
return of(this.searchInCaseworkers(storedCaseworkers, searchOptions));
|
|
79
|
+
}
|
|
80
|
+
// all serviceIds passed in as node layer getting used anyway and caseworkers also stored there
|
|
81
|
+
return this.http.post('/workallocation2/retrieveCaseWorkersForServices', { fullServices }).pipe(tap((/**
|
|
82
|
+
* @param {?} caseworkersByService
|
|
76
83
|
* @return {?}
|
|
77
84
|
*/
|
|
78
|
-
|
|
85
|
+
caseworkersByService => {
|
|
86
|
+
caseworkersByService.forEach((/**
|
|
87
|
+
* @param {?} caseworkerListByService
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
caseworkerListByService => {
|
|
91
|
+
// for any new service, ensure that they are then stored in the session
|
|
92
|
+
if (newServices.includes(caseworkerListByService.service)) {
|
|
93
|
+
setCaseworkers(caseworkerListByService.service, caseworkerListByService.caseworkers, this.sessionStorageService);
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
})), map((/**
|
|
97
|
+
* @param {?} caseworkersByService
|
|
98
|
+
* @return {?}
|
|
99
|
+
*/
|
|
100
|
+
caseworkersByService => {
|
|
101
|
+
/** @type {?} */
|
|
102
|
+
const givenCaseworkers = getAllCaseworkersFromServices(caseworkersByService);
|
|
103
|
+
return this.searchInCaseworkers(givenCaseworkers, searchOptions);
|
|
104
|
+
})));
|
|
79
105
|
}
|
|
80
106
|
/**
|
|
81
107
|
* @param {?} caseworkers
|
|
@@ -103,6 +129,33 @@ export class FindAPersonService {
|
|
|
103
129
|
}));
|
|
104
130
|
return people;
|
|
105
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* @param {?} caseworkers
|
|
134
|
+
* @param {?} searchOptions
|
|
135
|
+
* @return {?}
|
|
136
|
+
*/
|
|
137
|
+
searchInCaseworkers(caseworkers, searchOptions) {
|
|
138
|
+
/** @type {?} */
|
|
139
|
+
let roleCategory = RoleCategory.ALL;
|
|
140
|
+
if (!(searchOptions.userRole === PersonRole.ALL)) {
|
|
141
|
+
roleCategory = searchOptions.userRole === PersonRole.CASEWORKER ? RoleCategory.CASEWORKER : RoleCategory.ADMIN;
|
|
142
|
+
}
|
|
143
|
+
/** @type {?} */
|
|
144
|
+
const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
|
|
145
|
+
/** @type {?} */
|
|
146
|
+
const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
|
|
147
|
+
/** @type {?} */
|
|
148
|
+
const finalPeopleList = people.filter((/**
|
|
149
|
+
* @param {?} person
|
|
150
|
+
* @return {?}
|
|
151
|
+
*/
|
|
152
|
+
person => person && person.name && person.name.toLowerCase().includes(searchTerm)));
|
|
153
|
+
return searchOptions.userIncluded ? finalPeopleList : finalPeopleList.filter((/**
|
|
154
|
+
* @param {?} person
|
|
155
|
+
* @return {?}
|
|
156
|
+
*/
|
|
157
|
+
person => person && person.id !== this.userId));
|
|
158
|
+
}
|
|
106
159
|
}
|
|
107
160
|
FindAPersonService.caseworkersKey = 'caseworkers';
|
|
108
161
|
FindAPersonService.decorators = [
|
|
@@ -132,4 +185,4 @@ if (false) {
|
|
|
132
185
|
*/
|
|
133
186
|
FindAPersonService.prototype.sessionStorageService;
|
|
134
187
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBc0IsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7O0FBS25GLE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBSzdCLFlBQTZCLElBQWdCLEVBQW1CLHFCQUE0QztRQUEvRSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQW1CLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFBSSxDQUFDOzs7OztJQUUxRyxJQUFJLENBQUMsYUFBNEI7O2NBQ2hDLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNyRSxJQUFJLFdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUU7O2tCQUN4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElB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QVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUs7YUFFdkc7WUFDRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEtBQUssWUFBWSxJQUFJLFlBQVksS0FBSyxZQUFZLENBQUMsR0FBRyxFQUFFO2dCQUNqRixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQW5EYSxpQ0FBYyxHQUFXLGFBQWEsQ0FBQzs7WUFMdEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBWFEsVUFBVTtZQU9WLHFCQUFxQjs7Ozs7SUFPNUIsa0NBQXFEOztJQUNyRCxvQ0FBc0I7Ozs7O0lBRVYsa0NBQWlDOzs7OztJQUFFLG1EQUE2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDYXNld29ya2VyLCBQZXJzb24sIFBlcnNvblJvbGUsIFJvbGVDYXRlZ29yeSB9IGZyb20gJy4uLy4uL21vZGVscy9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgU2VhcmNoT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9zZWFyY2gtb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaW5kQVBlcnNvblNlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgY2FzZXdvcmtlcnNLZXk6IHN0cmluZyA9ICdjYXNld29ya2Vycyc7XG4gIHB1YmxpYyB1c2VySWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBmaW5kKHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBPYnNlcnZhYmxlPFBlcnNvbltdPiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0ciAmJiAhc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQZXJzb25bXT4oJy93b3JrYWxsb2NhdGlvbjIvZmluZFBlcnNvbicsIHsgc2VhcmNoT3B0aW9ucywgdXNlcklkOiB0aGlzLnVzZXJJZCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQ2FzZXdvcmtlcnMoc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IE9ic2VydmFibGU8UGVyc29uW10+IHtcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdGhpcy51c2VySWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oRmluZEFQZXJzb25TZXJ2aWNlLmNhc2V3b3JrZXJzS2V5KSkge1xuICAgICAgdGhpcy5odHRwLmdldDxDYXNld29ya2VyW10+KCcvd29ya2FsbG9jYXRpb24yL2Nhc2V3b3JrZXInKS5waXBlKFxuICAgICAgICB0YXAoY2FzZXdvcmtlckxpc3QgPT4gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShGaW5kQVBlcnNvblNlcnZpY2UuY2FzZXdvcmtlcnNLZXksIEpTT04uc3RyaW5naWZ5KGNhc2V3b3JrZXJMaXN0KSkpXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBjYXNld29ya2VycyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShGaW5kQVBlcnNvblNlcnZpY2UuY2FzZXdvcmtlcnNLZXkpKTtcbiAgICBsZXQgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkFMTDtcbiAgICBpZiAoIShzZWFyY2hPcHRpb25zLmp1cmlzZGljdGlvbiA9PT0gUGVyc29uUm9sZS5BTEwpKSB7XG4gICAgICByb2xlQ2F0ZWdvcnkgPSBzZWFyY2hPcHRpb25zLmp1cmlzZGljdGlvbiA9PT0gUGVyc29uUm9sZS5DQVNFV09SS0VSID8gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVIgOiBSb2xlQ2F0ZWdvcnkuQURNSU47XG4gICAgfVxuICAgIGNvbnN0IHBlb3BsZSA9IGNhc2V3b3JrZXJzID8gdGhpcy5tYXBDYXNld29ya2VycyhjYXNld29ya2Vycywgcm9sZUNhdGVnb3J5KSA6IFtdO1xuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBzZWFyY2hPcHRpb25zICYmIHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybSA/IHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpIDogJyc7XG4gICAgY29uc3QgZmluYWxQZW9wbGVMaXN0ID0gcGVvcGxlLmZpbHRlcihwZXJzb24gPT4gcGVyc29uICYmIHBlcnNvbi5uYW1lICYmIHBlcnNvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICAgIHJldHVybiBzZWFyY2hPcHRpb25zLnVzZXJJbmNsdWRlZCA/IG9mKGZpbmFsUGVvcGxlTGlzdCkgOiBvZihmaW5hbFBlb3BsZUxpc3QuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLmlkICE9PSB0aGlzLnVzZXJJZCkpO1xuICB9XG5cbiAgcHVibGljIG1hcENhc2V3b3JrZXJzKGNhc2V3b3JrZXJzOiBDYXNld29ya2VyW10sIHJvbGVDYXRlZ29yeTogc3RyaW5nKTogUGVyc29uW10ge1xuICAgIGNvbnN0IHBlb3BsZTogUGVyc29uW10gPSBbXTtcbiAgICBjYXNld29ya2Vycy5mb3JFYWNoKChjYXNld29ya2VyKSA9PiB7XG4gICAgICBjb25zdCB0aGlzUGVyc29uOiBQZXJzb24gPSB7XG4gICAgICAgIGVtYWlsOiBjYXNld29ya2VyLmVtYWlsLFxuICAgICAgICBuYW1lOiBgJHtjYXNld29ya2VyLmZpcnN0TmFtZX0gJHtjYXNld29ya2VyLmxhc3ROYW1lfWAsXG4gICAgICAgIGlkOiBjYXNld29ya2VyLmlkYW1JZCxcbiAgICAgICAgZG9tYWluOiBjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVIgPyBQZXJzb25Sb2xlLkNBU0VXT1JLRVIgOiBQZXJzb25Sb2xlLkFETUlOLFxuICAgICAgICAvLyBrbm93bkFzIGNhbiBiZSBhZGRlZCBpZiByZXF1aXJlZFxuICAgICAgfTtcbiAgICAgIGlmIChjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gcm9sZUNhdGVnb3J5IHx8IHJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkFMTCkge1xuICAgICAgICBwZW9wbGUucHVzaCh0aGlzUGVyc29uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcGVvcGxlO1xuICB9XG59XG5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUMsNkJBQTZCLEVBQUUsZ0NBQWdDLEVBQUUsY0FBYyxFQUFDLE1BQU0seURBQXlELENBQUM7QUFFeEosT0FBTyxFQUEyQyxVQUFVLEVBQUUsWUFBWSxFQUFnQixNQUFNLGNBQWMsQ0FBQztBQUMvRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQUtqRixNQUFNLE9BQU8sa0JBQWtCOzs7OztJQUs3QixZQUE2QixJQUFnQixFQUFtQixxQkFBNEM7UUFBL0UsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFtQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQzVHLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLGFBQTRCOztjQUNoQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDckUsSUFBSSxXQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFOztrQkFDeEMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVB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QUFNLENBQUMsTUFBTTs7OztRQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUM7UUFDeEgsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDOUgsQ0FBQzs7QUFsRmEsaUNBQWMsR0FBVyxhQUFhLENBQUM7O1lBTHRELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVhPLFVBQVU7WUFPVixxQkFBcUI7Ozs7O0lBTzNCLGtDQUFxRDs7SUFDckQsb0NBQXNCOzs7OztJQUVWLGtDQUFpQzs7Ozs7SUFBRSxtREFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Z2V0QWxsQ2FzZXdvcmtlcnNGcm9tU2VydmljZXMsIGdldFNlc3Npb25TdG9yYWdlS2V5Rm9yU2VydmljZUlkLCBzZXRDYXNld29ya2Vyc30gZnJvbSAnLi4vLi4vZ292LXVpL3V0aWwvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS11dGlscyc7XG5cbmltcG9ydCB7Q2FzZXdvcmtlciwgQ2FzZXdvcmtlcnNCeVNlcnZpY2UsIFBlcnNvbiwgUGVyc29uUm9sZSwgUm9sZUNhdGVnb3J5LCBTZWFyY2hPcHRpb25zfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtTZXNzaW9uU3RvcmFnZVNlcnZpY2V9IGZyb20gJy4uL3Nlc3Npb24tc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRBUGVyc29uU2VydmljZSB7XG5cbiAgcHVibGljIHN0YXRpYyBjYXNld29ya2Vyc0tleTogc3RyaW5nID0gJ2Nhc2V3b3JrZXJzJztcbiAgcHVibGljIHVzZXJJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIGZpbmQoc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IE9ic2VydmFibGU8UGVyc29uW10+IHtcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyICYmICFzZWFyY2hPcHRpb25zLnVzZXJJbmNsdWRlZCkge1xuICAgICAgY29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICAgIHRoaXMudXNlcklkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFBlcnNvbltdPignL3dvcmthbGxvY2F0aW9uMi9maW5kUGVyc29uJywge3NlYXJjaE9wdGlvbnMsIHVzZXJJZDogdGhpcy51c2VySWR9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQ2FzZXdvcmtlcnMoc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IE9ic2VydmFibGU8UGVyc29uW10+IHtcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdGhpcy51c2VySWQgPSB1c2VySW5mby5pZCA/IHVzZXJJbmZvLmlkIDogdXNlckluZm8udWlkO1xuICAgIH1cbiAgICBjb25zdCBmdWxsU2VydmljZXMgPSBzZWFyY2hPcHRpb25zLnNlcnZpY2VzO1xuICAgIGNvbnN0IHN0b3JlZFNlcnZpY2VzID0gW107XG4gICAgY29uc3QgbmV3U2VydmljZXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgc3RvcmVkQ2FzZXdvcmtlcnNCeVNlcnZpY2U6IENhc2V3b3JrZXJzQnlTZXJ2aWNlW10gPSBbXTtcbiAgICBmdWxsU2VydmljZXMuZm9yRWFjaChzZXJ2aWNlSWQgPT4ge1xuICAgICAgY29uc3Qgc2VydmljZUtleSA9IGdldFNlc3Npb25TdG9yYWdlS2V5Rm9yU2VydmljZUlkKHNlcnZpY2VJZCk7XG4gICAgICBpZiAodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShzZXJ2aWNlS2V5KSkge1xuICAgICAgICBzdG9yZWRTZXJ2aWNlcy5wdXNoKHNlcnZpY2VJZCk7XG4gICAgICAgIHN0b3JlZENhc2V3b3JrZXJzQnlTZXJ2aWNlLnB1c2goe3NlcnZpY2U6IHNlcnZpY2VJZCwgY2FzZXdvcmtlcnM6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShzZXJ2aWNlS2V5KSl9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NlcnZpY2VzLnB1c2goc2VydmljZUlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBpZiBhbGwgc2VydmljZXMgYXJlIHN0b3JlZCB0aGVuIHJldHVybiB0aGUgc3RvcmVkIGNhc2V3b3JrZXJzIGJ5IHNlcnZpY2VcbiAgICBpZiAoc3RvcmVkU2VydmljZXMubGVuZ3RoID09PSBmdWxsU2VydmljZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzdG9yZWRDYXNld29ya2VycyA9IGdldEFsbENhc2V3b3JrZXJzRnJvbVNlcnZpY2VzKHN0b3JlZENhc2V3b3JrZXJzQnlTZXJ2aWNlKTtcbiAgICAgIHJldHVybiBvZih0aGlzLnNlYXJjaEluQ2FzZXdvcmtlcnMoc3RvcmVkQ2FzZXdvcmtlcnMsIHNlYXJjaE9wdGlvbnMpKTtcbiAgICB9XG4gICAgLy8gYWxsIHNlcnZpY2VJZHMgcGFzc2VkIGluIGFzIG5vZGUgbGF5ZXIgZ2V0dGluZyB1c2VkIGFueXdheSBhbmQgY2FzZXdvcmtlcnMgYWxzbyBzdG9yZWQgdGhlcmVcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2FzZXdvcmtlcnNCeVNlcnZpY2VbXT4oJy93b3JrYWxsb2NhdGlvbjIvcmV0cmlldmVDYXNlV29ya2Vyc0ZvclNlcnZpY2VzJywge2Z1bGxTZXJ2aWNlc30pLnBpcGUoXG4gICAgICB0YXAoY2FzZXdvcmtlcnNCeVNlcnZpY2UgPT4ge1xuICAgICAgICBjYXNld29ya2Vyc0J5U2VydmljZS5mb3JFYWNoKGNhc2V3b3JrZXJMaXN0QnlTZXJ2aWNlID0+IHtcbiAgICAgICAgICAvLyBmb3IgYW55IG5ldyBzZXJ2aWNlLCBlbnN1cmUgdGhhdCB0aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc2Vzc2lvblxuICAgICAgICAgIGlmIChuZXdTZXJ2aWNlcy5pbmNsdWRlcyhjYXNld29ya2VyTGlzdEJ5U2VydmljZS5zZXJ2aWNlKSkge1xuICAgICAgICAgICAgc2V0Q2FzZXdvcmtlcnMoY2FzZXdvcmtlckxpc3RCeVNlcnZpY2Uuc2VydmljZSwgY2FzZXdvcmtlckxpc3RCeVNlcnZpY2UuY2FzZXdvcmtlcnMsIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICBtYXAoY2FzZXdvcmtlcnNCeVNlcnZpY2UgPT4ge1xuICAgICAgICBjb25zdCBnaXZlbkNhc2V3b3JrZXJzID0gZ2V0QWxsQ2FzZXdvcmtlcnNGcm9tU2VydmljZXMoY2FzZXdvcmtlcnNCeVNlcnZpY2UpO1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hJbkNhc2V3b3JrZXJzKGdpdmVuQ2FzZXdvcmtlcnMsIHNlYXJjaE9wdGlvbnMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcENhc2V3b3JrZXJzKGNhc2V3b3JrZXJzOiBDYXNld29ya2VyW10sIHJvbGVDYXRlZ29yeTogc3RyaW5nKTogUGVyc29uW10ge1xuICAgIGNvbnN0IHBlb3BsZTogUGVyc29uW10gPSBbXTtcbiAgICBjYXNld29ya2Vycy5mb3JFYWNoKChjYXNld29ya2VyKSA9PiB7XG4gICAgICBjb25zdCB0aGlzUGVyc29uOiBQZXJzb24gPSB7XG4gICAgICAgIGVtYWlsOiBjYXNld29ya2VyLmVtYWlsLFxuICAgICAgICBuYW1lOiBgJHtjYXNld29ya2VyLmZpcnN0TmFtZX0gJHtjYXNld29ya2VyLmxhc3ROYW1lfWAsXG4gICAgICAgIGlkOiBjYXNld29ya2VyLmlkYW1JZCxcbiAgICAgICAgZG9tYWluOiBjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVIgPyBQZXJzb25Sb2xlLkNBU0VXT1JLRVIgOiBQZXJzb25Sb2xlLkFETUlOLFxuICAgICAgICAvLyBrbm93bkFzIGNhbiBiZSBhZGRlZCBpZiByZXF1aXJlZFxuICAgICAgfTtcbiAgICAgIGlmIChjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gcm9sZUNhdGVnb3J5IHx8IHJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkFMTCkge1xuICAgICAgICBwZW9wbGUucHVzaCh0aGlzUGVyc29uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcGVvcGxlO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEluQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnM6IENhc2V3b3JrZXJbXSwgc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IFBlcnNvbltdIHtcbiAgICBsZXQgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkFMTDtcbiAgICBpZiAoIShzZWFyY2hPcHRpb25zLnVzZXJSb2xlID09PSBQZXJzb25Sb2xlLkFMTCkpIHtcbiAgICAgIHJvbGVDYXRlZ29yeSA9IHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQ0FTRVdPUktFUiA/IFJvbGVDYXRlZ29yeS5DQVNFV09SS0VSIDogUm9sZUNhdGVnb3J5LkFETUlOO1xuICAgIH1cbiAgICBjb25zdCBzZWFyY2hUZXJtID0gc2VhcmNoT3B0aW9ucyAmJiBzZWFyY2hPcHRpb25zLnNlYXJjaFRlcm0gPyBzZWFyY2hPcHRpb25zLnNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSA6ICcnO1xuICAgIGNvbnN0IHBlb3BsZSA9IGNhc2V3b3JrZXJzID8gdGhpcy5tYXBDYXNld29ya2VycyhjYXNld29ya2Vycywgcm9sZUNhdGVnb3J5KSA6IFtdO1xuICAgIGNvbnN0IGZpbmFsUGVvcGxlTGlzdCA9IHBlb3BsZS5maWx0ZXIocGVyc29uID0+IHBlcnNvbiAmJiBwZXJzb24ubmFtZSAmJiBwZXJzb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcbiAgICByZXR1cm4gc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQgPyBmaW5hbFBlb3BsZUxpc3QgOiBmaW5hbFBlb3BsZUxpc3QuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLmlkICE9PSB0aGlzLnVzZXJJZCk7XG4gIH1cbn1cblxuIl19
|
|
@@ -4,18 +4,43 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
|
-
import { Component, Input } from '@angular/core';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
8
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
9
|
+
import { getValues } from '../generic-filter/generic-filter-utils';
|
|
10
|
+
import { SearchLocationComponent } from '../search-location/search-location.component';
|
|
10
11
|
var FindLocationComponent = /** @class */ (function () {
|
|
11
12
|
function FindLocationComponent() {
|
|
12
13
|
this.selectedLocations = [];
|
|
13
14
|
this.submitted = true;
|
|
15
|
+
this.enableAddLocationButton = true;
|
|
16
|
+
this.title = 'Search for a location by name';
|
|
14
17
|
this.locations = [];
|
|
15
|
-
this.
|
|
18
|
+
this.tempSelectedLocation = null;
|
|
16
19
|
this.serviceIds = 'SSCS,IA';
|
|
17
20
|
this.pServices = [];
|
|
21
|
+
this.pDisabled = false;
|
|
18
22
|
}
|
|
23
|
+
Object.defineProperty(FindLocationComponent.prototype, "disabled", {
|
|
24
|
+
get: /**
|
|
25
|
+
* @return {?}
|
|
26
|
+
*/
|
|
27
|
+
function () {
|
|
28
|
+
return this.pDisabled;
|
|
29
|
+
},
|
|
30
|
+
set: /**
|
|
31
|
+
* @param {?} value
|
|
32
|
+
* @return {?}
|
|
33
|
+
*/
|
|
34
|
+
function (value) {
|
|
35
|
+
if (value) {
|
|
36
|
+
this.searchLocationComponent.resetSearchTerm();
|
|
37
|
+
this.removeSelectedValues();
|
|
38
|
+
}
|
|
39
|
+
this.pDisabled = value;
|
|
40
|
+
},
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true
|
|
43
|
+
});
|
|
19
44
|
Object.defineProperty(FindLocationComponent.prototype, "services", {
|
|
20
45
|
get: /**
|
|
21
46
|
* @return {?}
|
|
@@ -35,56 +60,23 @@ var FindLocationComponent = /** @class */ (function () {
|
|
|
35
60
|
* @param {?} f
|
|
36
61
|
* @return {?}
|
|
37
62
|
*/
|
|
38
|
-
function (f) { return f.name === _this.field.
|
|
63
|
+
function (f) { return f.name === _this.field.findLocationField; }));
|
|
39
64
|
if (field) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
65
|
+
if (typeof value === 'string') {
|
|
66
|
+
this.serviceIds = value;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.serviceIds = getValues(field.options, value).filter((/**
|
|
70
|
+
* @param {?} x
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
function (x) { return x !== 'services_all'; })).join(',');
|
|
74
|
+
}
|
|
45
75
|
}
|
|
46
76
|
},
|
|
47
77
|
enumerable: true,
|
|
48
78
|
configurable: true
|
|
49
79
|
});
|
|
50
|
-
/**
|
|
51
|
-
* @private
|
|
52
|
-
* @param {?} selectedLocations
|
|
53
|
-
* @param {?} formArray
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
FindLocationComponent.initForm = /**
|
|
57
|
-
* @private
|
|
58
|
-
* @param {?} selectedLocations
|
|
59
|
-
* @param {?} formArray
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
function (selectedLocations, formArray) {
|
|
63
|
-
var e_1, _a;
|
|
64
|
-
try {
|
|
65
|
-
for (var selectedLocations_1 = tslib_1.__values(selectedLocations), selectedLocations_1_1 = selectedLocations_1.next(); !selectedLocations_1_1.done; selectedLocations_1_1 = selectedLocations_1.next()) {
|
|
66
|
-
var location_1 = selectedLocations_1_1.value;
|
|
67
|
-
formArray.push(new FormControl(location_1));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
71
|
-
finally {
|
|
72
|
-
try {
|
|
73
|
-
if (selectedLocations_1_1 && !selectedLocations_1_1.done && (_a = selectedLocations_1.return)) _a.call(selectedLocations_1);
|
|
74
|
-
}
|
|
75
|
-
finally { if (e_1) throw e_1.error; }
|
|
76
|
-
}
|
|
77
|
-
return formArray;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* @return {?}
|
|
81
|
-
*/
|
|
82
|
-
FindLocationComponent.prototype.ngOnInit = /**
|
|
83
|
-
* @return {?}
|
|
84
|
-
*/
|
|
85
|
-
function () {
|
|
86
|
-
this.locationsForm = FindLocationComponent.initForm(this.selectedLocations, this.locationsForm);
|
|
87
|
-
};
|
|
88
80
|
/**
|
|
89
81
|
* @return {?}
|
|
90
82
|
*/
|
|
@@ -92,18 +84,13 @@ var FindLocationComponent = /** @class */ (function () {
|
|
|
92
84
|
* @return {?}
|
|
93
85
|
*/
|
|
94
86
|
function () {
|
|
95
|
-
if (this.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
/** @type {?} */
|
|
102
|
-
var lastSavedValue = this.selectedLocations[this.selectedLocations.length - 1];
|
|
103
|
-
FindLocationComponent.initForm([lastSavedValue], formArray);
|
|
104
|
-
locationsForm.at(this.selectedLocations.length - 1).setValue(null);
|
|
87
|
+
if (this.tempSelectedLocation) {
|
|
88
|
+
this.selectedLocations = tslib_1.__spread(this.selectedLocations, [this.tempSelectedLocation]);
|
|
89
|
+
this.addSelectedLocationsToForm([this.tempSelectedLocation]);
|
|
90
|
+
this.tempSelectedLocation = null;
|
|
91
|
+
this.locations = [];
|
|
92
|
+
this.searchLocationComponent.resetSearchTerm();
|
|
105
93
|
}
|
|
106
|
-
this.locations = [];
|
|
107
94
|
};
|
|
108
95
|
/**
|
|
109
96
|
* @param {?} location
|
|
@@ -142,23 +129,83 @@ var FindLocationComponent = /** @class */ (function () {
|
|
|
142
129
|
* @return {?}
|
|
143
130
|
*/
|
|
144
131
|
function (location) {
|
|
145
|
-
if (
|
|
146
|
-
this.
|
|
132
|
+
if (this.field.maxSelected === 1) {
|
|
133
|
+
this.removeSelectedValues();
|
|
134
|
+
this.addSelectedLocationsToForm([location]);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (!this.selectedLocations.find((/**
|
|
138
|
+
* @param {?} x
|
|
139
|
+
* @return {?}
|
|
140
|
+
*/
|
|
141
|
+
function (x) { return x.epims_id === location.epims_id; }))) {
|
|
142
|
+
if (location.epims_id) {
|
|
143
|
+
this.tempSelectedLocation = location;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* @private
|
|
150
|
+
* @return {?}
|
|
151
|
+
*/
|
|
152
|
+
FindLocationComponent.prototype.removeSelectedValues = /**
|
|
153
|
+
* @private
|
|
154
|
+
* @return {?}
|
|
155
|
+
*/
|
|
156
|
+
function () {
|
|
157
|
+
/** @type {?} */
|
|
158
|
+
var formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
159
|
+
for (var i = 0; i < formArray.length; i++) {
|
|
160
|
+
formArray.removeAt(i);
|
|
161
|
+
}
|
|
162
|
+
this.selectedLocations = [];
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* @private
|
|
166
|
+
* @param {?} locations
|
|
167
|
+
* @return {?}
|
|
168
|
+
*/
|
|
169
|
+
FindLocationComponent.prototype.addSelectedLocationsToForm = /**
|
|
170
|
+
* @private
|
|
171
|
+
* @param {?} locations
|
|
172
|
+
* @return {?}
|
|
173
|
+
*/
|
|
174
|
+
function (locations) {
|
|
175
|
+
var e_1, _a;
|
|
176
|
+
/** @type {?} */
|
|
177
|
+
var formArray = (/** @type {?} */ (this.form.get(this.field.name)));
|
|
178
|
+
try {
|
|
179
|
+
for (var locations_1 = tslib_1.__values(locations), locations_1_1 = locations_1.next(); !locations_1_1.done; locations_1_1 = locations_1.next()) {
|
|
180
|
+
var location_1 = locations_1_1.value;
|
|
181
|
+
formArray.push(new FormControl(location_1));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
185
|
+
finally {
|
|
186
|
+
try {
|
|
187
|
+
if (locations_1_1 && !locations_1_1.done && (_a = locations_1.return)) _a.call(locations_1);
|
|
188
|
+
}
|
|
189
|
+
finally { if (e_1) throw e_1.error; }
|
|
147
190
|
}
|
|
148
191
|
};
|
|
149
192
|
FindLocationComponent.decorators = [
|
|
150
193
|
{ type: Component, args: [{
|
|
151
194
|
selector: 'xuilib-find-location',
|
|
152
|
-
template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\">
|
|
195
|
+
template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"title\">{{title}}</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 (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.court_name }}\n </a>\n </li>\n </ul>\n</div>\n",
|
|
153
196
|
styles: [""]
|
|
154
197
|
}] }
|
|
155
198
|
];
|
|
156
199
|
FindLocationComponent.propDecorators = {
|
|
157
200
|
selectedLocations: [{ type: Input }],
|
|
158
201
|
submitted: [{ type: Input }],
|
|
202
|
+
enableAddLocationButton: [{ type: Input }],
|
|
159
203
|
form: [{ type: Input }],
|
|
160
204
|
field: [{ type: Input }],
|
|
161
205
|
fields: [{ type: Input }],
|
|
206
|
+
title: [{ type: Input }],
|
|
207
|
+
searchLocationComponent: [{ type: ViewChild, args: [SearchLocationComponent,] }],
|
|
208
|
+
disabled: [{ type: Input }],
|
|
162
209
|
services: [{ type: Input }]
|
|
163
210
|
};
|
|
164
211
|
return FindLocationComponent;
|
|
@@ -170,21 +217,32 @@ if (false) {
|
|
|
170
217
|
/** @type {?} */
|
|
171
218
|
FindLocationComponent.prototype.submitted;
|
|
172
219
|
/** @type {?} */
|
|
220
|
+
FindLocationComponent.prototype.enableAddLocationButton;
|
|
221
|
+
/** @type {?} */
|
|
173
222
|
FindLocationComponent.prototype.form;
|
|
174
223
|
/** @type {?} */
|
|
175
224
|
FindLocationComponent.prototype.field;
|
|
176
225
|
/** @type {?} */
|
|
177
226
|
FindLocationComponent.prototype.fields;
|
|
178
227
|
/** @type {?} */
|
|
228
|
+
FindLocationComponent.prototype.title;
|
|
229
|
+
/** @type {?} */
|
|
179
230
|
FindLocationComponent.prototype.locations;
|
|
180
231
|
/** @type {?} */
|
|
181
|
-
FindLocationComponent.prototype.
|
|
232
|
+
FindLocationComponent.prototype.tempSelectedLocation;
|
|
182
233
|
/** @type {?} */
|
|
183
234
|
FindLocationComponent.prototype.serviceIds;
|
|
235
|
+
/** @type {?} */
|
|
236
|
+
FindLocationComponent.prototype.searchLocationComponent;
|
|
184
237
|
/**
|
|
185
238
|
* @type {?}
|
|
186
239
|
* @private
|
|
187
240
|
*/
|
|
188
241
|
FindLocationComponent.prototype.pServices;
|
|
242
|
+
/**
|
|
243
|
+
* @type {?}
|
|
244
|
+
* @private
|
|
245
|
+
*/
|
|
246
|
+
FindLocationComponent.prototype.pDisabled;
|
|
189
247
|
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUzRTtJQUFBO1FBTWtCLHNCQUFpQixHQUEyQixFQUFFLENBQUM7UUFDL0MsY0FBUyxHQUFZLElBQUksQ0FBQztRQUluQyxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFDOUIsY0FBUyxHQUFhLEVBQUUsQ0FBQztJQXNEbkMsQ0FBQztJQXBEQyxzQkFBVywyQ0FBUTs7OztRQUFuQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDOzs7OztRQUVELFVBQ29CLEtBQWU7WUFEbkMsaUJBT0M7WUFMQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs7Z0JBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQXJDLENBQXFDLEVBQUM7WUFDMUUsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxF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USxFQUFFLHNCQUFzQjtvQkFDaEMsaXVDQUE2Qzs7aUJBRTlDOzs7b0NBRUUsS0FBSzs0QkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQVVMLEtBQUs7O0lBZ0RSLDRCQUFDO0NBQUEsQUFwRUQsSUFvRUM7U0EvRFkscUJBQXFCOzs7SUFDaEMsa0RBQStEOztJQUMvRCwwQ0FBMEM7O0lBQzFDLHFDQUFnQzs7SUFDaEMsc0NBQXlDOztJQUN6Qyx1Q0FBNEM7O0lBQzVDLDBDQUE4Qzs7SUFDOUMsOENBQXlDOztJQUN6QywyQ0FBc0M7Ozs7O0lBQ3RDLDBDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0ZpbHRlckZpZWxkQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTVNNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7Z2V0Q2hlY2tCb3hlc1ZhbHVlc30gZnJvbSAnLi4vZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uczogTG9jYXRpb25CeUVQSU1TTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmlsdGVyRmllbGRDb25maWdbXTtcbiAgcHVibGljIGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1TTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgbG9jYXRpb25zRm9ybSA9IG5ldyBGb3JtQXJyYXkoW10pO1xuICBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJ1NTQ1MsSUEnO1xuICBwcml2YXRlIHBTZXJ2aWNlczogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VydmljZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlcnZpY2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucFNlcnZpY2VzID0gdmFsdWU7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmZpZWxkLmZpbmRQZXJzb25GaWVsZCk7XG4gICAgaWYgKGZpZWxkKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSBnZXRDaGVja0JveGVzVmFsdWVzKGZpZWxkLm9wdGlvbnMsIHZhbHVlKS5maWx0ZXIoeCA9PiB4ICE9PSAnc2VydmljZXNfYWxsJykuam9pbignLCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGluaXRGb3JtKHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTVNNb2RlbFtdLCBmb3JtQXJyYXk6IEZvcm1BcnJheSk6IEZvcm1BcnJheSB7XG4gICAgZm9yIChjb25zdCBsb2NhdGlvbiBvZiBzZWxlY3RlZExvY2F0aW9ucykge1xuICAgICAgZm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKGxvY2F0aW9uKSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtQXJyYXk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbnNGb3JtID0gRmluZExvY2F0aW9uQ29tcG9uZW50LmluaXRGb3JtKHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMubG9jYXRpb25zRm9ybSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTG9jYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9jYXRpb25zICYmIHRoaXMubG9jYXRpb25zLmxlbmd0aCkge1xuICAgICAgY29uc3QgbG9jYXRpb25zRm9ybTogRm9ybUFycmF5ID0gdGhpcy5sb2NhdGlvbnNGb3JtO1xuICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9ucyA9IHRoaXMubG9jYXRpb25zRm9ybS52YWx1ZSBhcyBMb2NhdGlvbkJ5RVBJTVNNb2RlbFtdO1xuICAgICAgY29uc3QgZm9ybUFycmF5OiBGb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgICAgY29uc3QgbGFzdFNhdmVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zW3RoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoIC0gMV07XG4gICAgICBGaW5kTG9jYXRpb25Db21wb25lbnQuaW5pdEZvcm0oW2xhc3RTYXZlZFZhbHVlXSwgZm9ybUFycmF5KTtcbiAgICAgIGxvY2F0aW9uc0Zvcm0uYXQodGhpcy5zZWxlY3RlZExvY2F0aW9ucy5sZW5ndGggLSAxKS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gICAgdGhpcy5sb2NhdGlvbnMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVMb2NhdGlvbihsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAobG9jYXRpb24uZXBpbXNfaWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbHRlcihzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbXNfaWQgIT09IGxvY2F0aW9uLmVwaW1zX2lkKTtcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgICBjb25zdCBpbmRleCA9IChmb3JtQXJyYXkudmFsdWUgYXMgTG9jYXRpb25CeUVQSU1TTW9kZWxbXSkuZmluZEluZGV4KHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltc19pZCA9PT0gbG9jYXRpb24uZXBpbXNfaWQpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhdGlvblNlbGVjdGVkKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTVNNb2RlbCk6IHZvaWQge1xuICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5lcGltc19pZCkge1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBbLi4udGhpcy5sb2NhdGlvbnMsIGxvY2F0aW9uXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFZLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDakUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFckY7SUFBQTtRQU1rQixzQkFBaUIsR0FBMkIsRUFBRSxDQUFDO1FBQy9DLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBSXhDLFVBQUssR0FBRywrQkFBK0IsQ0FBQztRQUNqRCxjQUFTLEdBQTJCLEVBQUUsQ0FBQztRQUN2Qyx5QkFBb0IsR0FBeUIsSUFBSSxDQUFDO1FBQ2xELGVBQVUsR0FBVyxTQUFTLENBQUM7UUFFOUIsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBZ0ZyQyxDQUFDO0lBOUVDLHNCQUFXLDJDQUFROzs7O1FBQW5CO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7Ozs7O1FBRUQsVUFDb0IsS0FBYztZQUNoQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQzs7O09BVEE7SUFXRCxzQkFBVywyQ0FBUTs7OztRQUFuQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDOzs7OztRQUVELFVBQ29CLEtBQWU7WUFEbkMsaUJBV0M7WUFUQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzs7Z0JBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Ozs7WUFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBdkMsQ0FBdUMsRUFBQztZQUM1RSxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7aUJBQ3pCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTTs7OztvQkFBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsS0FBSyxjQUFjLEVBQXBCLENBQW9CLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQy9GO2FBQ0Y7UUFDSCxDQUFDOzs7T0FiQTs7OztJQWVNLDJDQUFXOzs7SUFBbEI7UUFDRSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLG9CQUFPLElBQUksQ0FBQyxpQkFBaUIsR0FBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7Ozs7SUFFTSw4Q0FBYzs7OztJQUFyQixVQUFzQixRQUE4QjtRQUNsRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNOzs7O1lBQUMsVUFBQSxnQkFBZ0IsSUFBSSxPQUFBLGdCQUFnQixDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxFQUEvQyxDQUErQyxFQUFDLENBQUM7O2dCQUN0SCxTQUFTLEdBQUcsbUJBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBYTs7Z0JBQ3ZELEtBQUssR0FBRyxDQUFDLG1CQUFBLFNBQVMsQ0FBQyxLQUFLLEVBQTBCLENBQUMsQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQSxnQkFBZ0IsSUFBSSxPQUFBLGdCQUFnQixDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxFQUEvQyxDQUErQyxFQUFDO1lBQ3hJLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNkLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7U0FDRjtJQUNILENBQUM7Ozs7O0lBRU0sa0RBQWtCOzs7O0lBQXpCLFVBQTBCLFFBQThCO1FBQ3RELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDN0M7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTs7OztZQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxFQUFoQyxDQUFnQyxFQUFDLEVBQUU7Z0JBQ3ZFLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRTtvQkFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztpQkFDdEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7Ozs7SUFFTyxvREFBb0I7Ozs7SUFBNUI7O1lBQ1EsU0FBUyxHQUFHLG1CQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQWE7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7Ozs7O0lBRU8sMERBQTBCOzs7OztJQUFsQyxVQUFtQyxTQUFpQzs7O1lBQzVELFNBQVMsR0FBRyxtQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFhOztZQUM3RCxLQUF1QixJQUFBLGNBQUEsaUJBQUEsU0FBUyxDQUFBLG9DQUFBLDJEQUFFO2dCQUE3QixJQUFNLFVBQVEsc0JBQUE7Z0JBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsVUFBUSxDQUFDLENBQUMsQ0FBQzthQUMzQzs7Ozs7Ozs7O0lBQ0gsQ0FBQzs7Z0JBakdGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxpeENBQTZDOztpQkFFOUM7OztvQ0FFRSxLQUFLOzRCQUNMLEtBQUs7MENBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBDQUlMLFNBQVMsU0FBQyx1QkFBdUI7MkJBUWpDLEtBQUs7MkJBYUwsS0FBSzs7SUE2RFIsNEJBQUM7Q0FBQSxBQWxHRCxJQWtHQztTQTdGWSxxQkFBcUI7OztJQUNoQyxrREFBK0Q7O0lBQy9ELDBDQUEwQzs7SUFDMUMsd0RBQXdEOztJQUN4RCxxQ0FBZ0M7O0lBQ2hDLHNDQUF5Qzs7SUFDekMsdUNBQTRDOztJQUM1QyxzQ0FBd0Q7O0lBQ3hELDBDQUE4Qzs7SUFDOUMscURBQXlEOztJQUN6RCwyQ0FBc0M7O0lBQ3RDLHdEQUE0Rjs7Ozs7SUFDNUYsMENBQWlDOzs7OztJQUNqQywwQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGaWx0ZXJGaWVsZENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge2dldFZhbHVlc30gZnJvbSAnLi4vZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHtTZWFyY2hMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRMb2NhdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uczogTG9jYXRpb25CeUVQSU1TTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZUFkZExvY2F0aW9uQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmlsdGVyRmllbGRDb25maWdbXTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlID0gJ1NlYXJjaCBmb3IgYSBsb2NhdGlvbiBieSBuYW1lJztcbiAgcHVibGljIGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1TTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdGVtcFNlbGVjdGVkTG9jYXRpb246IExvY2F0aW9uQnlFUElNU01vZGVsID0gbnVsbDtcbiAgcHVibGljIHNlcnZpY2VJZHM6IHN0cmluZyA9ICdTU0NTLElBJztcbiAgQFZpZXdDaGlsZChTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCkgcHVibGljIHNlYXJjaExvY2F0aW9uQ29tcG9uZW50OiBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudDtcbiAgcHJpdmF0ZSBwU2VydmljZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wRGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgICB0aGlzLnBEaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBzZXJ2aWNlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucFNlcnZpY2VzO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXJ2aWNlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBTZXJ2aWNlcyA9IHZhbHVlO1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHMuZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5maWVsZC5maW5kTG9jYXRpb25GaWVsZCk7XG4gICAgaWYgKGZpZWxkKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnNlcnZpY2VJZHMgPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VydmljZUlkcyA9IGdldFZhbHVlcyhmaWVsZC5vcHRpb25zLCB2YWx1ZSkuZmlsdGVyKHggPT4geCAhPT0gJ3NlcnZpY2VzX2FsbCcpLmpvaW4oJywnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkTG9jYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGVtcFNlbGVjdGVkTG9jYXRpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSBbLi4udGhpcy5zZWxlY3RlZExvY2F0aW9ucywgdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbl07XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKFt0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uXSk7XG4gICAgICB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMubG9jYXRpb25zID0gW107XG4gICAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVMb2NhdGlvbihsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAobG9jYXRpb24uZXBpbXNfaWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbHRlcihzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbXNfaWQgIT09IGxvY2F0aW9uLmVwaW1zX2lkKTtcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgICBjb25zdCBpbmRleCA9IChmb3JtQXJyYXkudmFsdWUgYXMgTG9jYXRpb25CeUVQSU1TTW9kZWxbXSkuZmluZEluZGV4KHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltc19pZCA9PT0gbG9jYXRpb24uZXBpbXNfaWQpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhdGlvblNlbGVjdGVkKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTVNNb2RlbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB0aGlzLmFkZFNlbGVjdGVkTG9jYXRpb25zVG9Gb3JtKFtsb2NhdGlvbl0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMuZmluZCh4ID0+IHguZXBpbXNfaWQgPT09IGxvY2F0aW9uLmVwaW1zX2lkKSkge1xuICAgICAgICBpZiAobG9jYXRpb24uZXBpbXNfaWQpIHtcbiAgICAgICAgICB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uID0gbG9jYXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkVmFsdWVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmb3JtQXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvcm1BcnJheS5yZW1vdmVBdChpKTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZExvY2F0aW9ucyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNU01vZGVsW10pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvciAoY29uc3QgbG9jYXRpb24gb2YgbG9jYXRpb25zKSB7XG4gICAgICBmb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2wobG9jYXRpb24pKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|