@hmcts/rpx-xui-common-lib 1.7.21 → 1.7.22-selected-cases-status-column-header
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 +212 -44
- 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/hmcts-rpx-xui-common-lib.js +2 -2
- package/esm2015/lib/components/search-service/search-service.component.js +2 -2
- package/esm2015/lib/components/selected-case/selected-case.component.js +3 -9
- package/esm2015/lib/components/share-case/share-case.component.js +166 -15
- package/esm2015/lib/models/case-share.model.js +7 -1
- package/esm2015/lib/models/index.js +2 -2
- package/esm2015/lib/models/person.model.js +3 -1
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +39 -15
- package/esm2015/public-api.js +2 -2
- package/esm5/hmcts-rpx-xui-common-lib.js +2 -2
- package/esm5/lib/components/search-service/search-service.component.js +2 -2
- package/esm5/lib/components/selected-case/selected-case.component.js +3 -12
- package/esm5/lib/components/share-case/share-case.component.js +187 -15
- package/esm5/lib/models/case-share.model.js +7 -1
- package/esm5/lib/models/index.js +2 -2
- package/esm5/lib/models/person.model.js +3 -1
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +40 -16
- package/esm5/public-api.js +2 -2
- package/fesm2015/hmcts-rpx-xui-common-lib.js +192 -46
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +214 -50
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/selected-case/selected-case.component.d.ts +0 -1
- package/lib/components/share-case/share-case.component.d.ts +30 -2
- package/lib/models/case-share.model.d.ts +4 -0
- package/lib/models/person.model.d.ts +2 -0
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -5,20 +5,30 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
8
|
+
import { Router } from '@angular/router';
|
|
8
9
|
import { Observable } from 'rxjs';
|
|
10
|
+
import { tap } from 'rxjs/operators';
|
|
11
|
+
import { SharedCaseErrorMessages } from '../../models/case-share.model';
|
|
9
12
|
import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
|
|
10
13
|
import { UserSelectComponent } from '../user-select/user-select.component';
|
|
11
14
|
var ShareCaseComponent = /** @class */ (function () {
|
|
12
|
-
function ShareCaseComponent(stateService) {
|
|
15
|
+
function ShareCaseComponent(stateService, router) {
|
|
13
16
|
this.stateService = stateService;
|
|
17
|
+
this.router = router;
|
|
14
18
|
this.shareCases = []; // cases selected for sharing
|
|
15
|
-
|
|
19
|
+
this.continueAllowed = false;
|
|
20
|
+
this.selectedUserToRemove = null;
|
|
16
21
|
this.removeUserFromCaseToggleOn = false;
|
|
17
22
|
this.users = []; // users of this organisation the cases can be shared with
|
|
18
23
|
// users of this organisation the cases can be shared with
|
|
19
24
|
this.confirmLink = '';
|
|
25
|
+
this.cancelLink = '';
|
|
26
|
+
this.showRemoveUsers = false;
|
|
27
|
+
this.fnTitle = '';
|
|
28
|
+
this.title = '';
|
|
20
29
|
this.unselect = new EventEmitter();
|
|
21
30
|
this.synchronizeStore = new EventEmitter();
|
|
31
|
+
this.validationErrors = [];
|
|
22
32
|
}
|
|
23
33
|
/**
|
|
24
34
|
* @return {?}
|
|
@@ -28,15 +38,36 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
28
38
|
*/
|
|
29
39
|
function () {
|
|
30
40
|
var _this = this;
|
|
31
|
-
this.shareCases
|
|
41
|
+
this.shareCases$
|
|
42
|
+
.pipe(tap((/**
|
|
43
|
+
* @param {?} sharedCases
|
|
44
|
+
* @return {?}
|
|
45
|
+
*/
|
|
46
|
+
function (sharedCases) {
|
|
47
|
+
// Update the list of users assigned to at least one case
|
|
48
|
+
_this.getAssignedUsers(sharedCases.filter((/**
|
|
49
|
+
* @param {?} sharedCase
|
|
50
|
+
* @return {?}
|
|
51
|
+
*/
|
|
52
|
+
function (sharedCase) { return sharedCase.sharedWith && sharedCase.sharedWith.length > 0; })));
|
|
53
|
+
})))
|
|
54
|
+
.subscribe((/**
|
|
32
55
|
* @param {?} shareCases
|
|
33
56
|
* @return {?}
|
|
34
57
|
*/
|
|
35
58
|
function (shareCases) {
|
|
36
59
|
_this.shareCases = shareCases;
|
|
37
60
|
_this.stateService.setCases(shareCases);
|
|
61
|
+
// Set the config to be used by the xuilib-gov-uk-error-message component, in particular the element ID to
|
|
62
|
+
// which the error message is associated
|
|
63
|
+
if (shareCases) {
|
|
64
|
+
_this.selectedCasesErrorMessageConfig = {
|
|
65
|
+
id: shareCases.length > 0 ? 'cases' : 'noCaseDisplay'
|
|
66
|
+
};
|
|
67
|
+
}
|
|
38
68
|
}));
|
|
39
69
|
this.shareCases$ = this.stateService.state;
|
|
70
|
+
this.shareCaseErrorMessage = { isInvalid: false, messages: [] };
|
|
40
71
|
};
|
|
41
72
|
/**
|
|
42
73
|
* @param {?} c
|
|
@@ -47,8 +78,16 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
47
78
|
* @return {?}
|
|
48
79
|
*/
|
|
49
80
|
function (c) {
|
|
50
|
-
this.
|
|
51
|
-
this.stateService.
|
|
81
|
+
this.validationErrors = [];
|
|
82
|
+
if (this.stateService.getCases().length === 1) {
|
|
83
|
+
this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.OneCaseMustBeSelected });
|
|
84
|
+
this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.OneCaseMustBeSelected] };
|
|
85
|
+
window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.unselect.emit(c);
|
|
89
|
+
this.stateService.removeCase(c.caseId);
|
|
90
|
+
}
|
|
52
91
|
};
|
|
53
92
|
/**
|
|
54
93
|
* @param {?} event
|
|
@@ -86,6 +125,21 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
86
125
|
this.userSelect.clear();
|
|
87
126
|
}
|
|
88
127
|
this.synchronizeStore.emit(newSharedCases);
|
|
128
|
+
// Update the list of assigned users (which includes pending users)
|
|
129
|
+
this.getAssignedUsers(newSharedCases);
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* @return {?}
|
|
133
|
+
*/
|
|
134
|
+
ShareCaseComponent.prototype.removeUser = /**
|
|
135
|
+
* @return {?}
|
|
136
|
+
*/
|
|
137
|
+
function () {
|
|
138
|
+
if (this.selectedUserToRemove) {
|
|
139
|
+
/** @type {?} */
|
|
140
|
+
var newSharedCases = this.stateService.requestUnshare(this.selectedUserToRemove);
|
|
141
|
+
this.synchronizeStore.emit(newSharedCases);
|
|
142
|
+
}
|
|
89
143
|
};
|
|
90
144
|
/**
|
|
91
145
|
* @return {?}
|
|
@@ -97,14 +151,25 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
97
151
|
return this.selectedUser === null || this.shareCases.length === 0;
|
|
98
152
|
};
|
|
99
153
|
/**
|
|
154
|
+
* Function originally used to set disabled state of "Continue" button, now called by the button click handler to
|
|
155
|
+
* control whether navigation to the confirmation page is allowed. It is prevented if no changes have been made
|
|
156
|
+
*/
|
|
157
|
+
/**
|
|
158
|
+
* Function originally used to set disabled state of "Continue" button, now called by the button click handler to
|
|
159
|
+
* control whether navigation to the confirmation page is allowed. It is prevented if no changes have been made
|
|
100
160
|
* @return {?}
|
|
101
161
|
*/
|
|
102
|
-
ShareCaseComponent.prototype.
|
|
162
|
+
ShareCaseComponent.prototype.setContinueAllowed = /**
|
|
163
|
+
* Function originally used to set disabled state of "Continue" button, now called by the button click handler to
|
|
164
|
+
* control whether navigation to the confirmation page is allowed. It is prevented if no changes have been made
|
|
103
165
|
* @return {?}
|
|
104
166
|
*/
|
|
105
167
|
function () {
|
|
106
|
-
|
|
107
|
-
|
|
168
|
+
var _this = this;
|
|
169
|
+
// Always start with continueAllowed = false. This covers the scenario where a user might add someone for sharing
|
|
170
|
+
// a case (so, continueAllowed = true), then removes the same user before trying to continue. This would
|
|
171
|
+
// erroneously leave continueAllowed as true
|
|
172
|
+
this.continueAllowed = false;
|
|
108
173
|
this.shareCases$.subscribe((/**
|
|
109
174
|
* @param {?} shareCases
|
|
110
175
|
* @return {?}
|
|
@@ -115,11 +180,11 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
115
180
|
for (var shareCases_1 = tslib_1.__values(shareCases), shareCases_1_1 = shareCases_1.next(); !shareCases_1_1.done; shareCases_1_1 = shareCases_1.next()) {
|
|
116
181
|
var caseState = shareCases_1_1.value;
|
|
117
182
|
if (caseState.pendingShares && caseState.pendingShares.length > 0) {
|
|
118
|
-
|
|
183
|
+
_this.continueAllowed = true;
|
|
119
184
|
break;
|
|
120
185
|
}
|
|
121
186
|
if (caseState.pendingUnshares && caseState.pendingUnshares.length > 0) {
|
|
122
|
-
|
|
187
|
+
_this.continueAllowed = true;
|
|
123
188
|
break;
|
|
124
189
|
}
|
|
125
190
|
}
|
|
@@ -132,7 +197,6 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
132
197
|
finally { if (e_1) throw e_1.error; }
|
|
133
198
|
}
|
|
134
199
|
}));
|
|
135
|
-
return isDisabled;
|
|
136
200
|
};
|
|
137
201
|
/**
|
|
138
202
|
* @param {?} sharedCase
|
|
@@ -166,22 +230,103 @@ var ShareCaseComponent = /** @class */ (function () {
|
|
|
166
230
|
}
|
|
167
231
|
this.stateService.setCases(this.shareCases);
|
|
168
232
|
};
|
|
233
|
+
/**
|
|
234
|
+
* @return {?}
|
|
235
|
+
*/
|
|
236
|
+
ShareCaseComponent.prototype.onContinue = /**
|
|
237
|
+
* @return {?}
|
|
238
|
+
*/
|
|
239
|
+
function () {
|
|
240
|
+
this.setContinueAllowed();
|
|
241
|
+
// If continuation is not allowed, set an error message
|
|
242
|
+
if (!this.continueAllowed) {
|
|
243
|
+
this.validationErrors = [];
|
|
244
|
+
this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.NoChangesRequested });
|
|
245
|
+
this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.NoChangesRequested] };
|
|
246
|
+
window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
|
|
247
|
+
}
|
|
248
|
+
// Navigate to confirmation page only if allowed to continue
|
|
249
|
+
if (this.continueAllowed) {
|
|
250
|
+
this.router.navigate([this.confirmLink]);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Gets a unique list of all users that have been assigned, or are pending assigment to, at least one case
|
|
255
|
+
* @param sharedCases The list of shared cases from which to get users these are shared with, or are to be shared with
|
|
256
|
+
*/
|
|
257
|
+
/**
|
|
258
|
+
* Gets a unique list of all users that have been assigned, or are pending assigment to, at least one case
|
|
259
|
+
* @param {?} sharedCases The list of shared cases from which to get users these are shared with, or are to be shared with
|
|
260
|
+
* @return {?}
|
|
261
|
+
*/
|
|
262
|
+
ShareCaseComponent.prototype.getAssignedUsers = /**
|
|
263
|
+
* Gets a unique list of all users that have been assigned, or are pending assigment to, at least one case
|
|
264
|
+
* @param {?} sharedCases The list of shared cases from which to get users these are shared with, or are to be shared with
|
|
265
|
+
* @return {?}
|
|
266
|
+
*/
|
|
267
|
+
function (sharedCases) {
|
|
268
|
+
/** @type {?} */
|
|
269
|
+
var users = [];
|
|
270
|
+
sharedCases.forEach((/**
|
|
271
|
+
* @param {?} sharedCase
|
|
272
|
+
* @return {?}
|
|
273
|
+
*/
|
|
274
|
+
function (sharedCase) {
|
|
275
|
+
if (sharedCase.sharedWith) {
|
|
276
|
+
sharedCase.sharedWith.forEach((/**
|
|
277
|
+
* @param {?} user
|
|
278
|
+
* @return {?}
|
|
279
|
+
*/
|
|
280
|
+
function (user) {
|
|
281
|
+
if (!users.some((/**
|
|
282
|
+
* @param {?} existingUser
|
|
283
|
+
* @return {?}
|
|
284
|
+
*/
|
|
285
|
+
function (existingUser) { return user.idamId === existingUser.idamId; }))) {
|
|
286
|
+
users.push(user);
|
|
287
|
+
}
|
|
288
|
+
}));
|
|
289
|
+
}
|
|
290
|
+
if (sharedCase.pendingShares) {
|
|
291
|
+
sharedCase.pendingShares.forEach((/**
|
|
292
|
+
* @param {?} user
|
|
293
|
+
* @return {?}
|
|
294
|
+
*/
|
|
295
|
+
function (user) {
|
|
296
|
+
if (!users.some((/**
|
|
297
|
+
* @param {?} existingUser
|
|
298
|
+
* @return {?}
|
|
299
|
+
*/
|
|
300
|
+
function (existingUser) { return user.idamId === existingUser.idamId; }))) {
|
|
301
|
+
users.push(user);
|
|
302
|
+
}
|
|
303
|
+
}));
|
|
304
|
+
}
|
|
305
|
+
}));
|
|
306
|
+
this.assignedUsers = users;
|
|
307
|
+
};
|
|
169
308
|
ShareCaseComponent.decorators = [
|
|
170
309
|
{ type: Component, args: [{
|
|
171
310
|
selector: 'xuilib-share-case',
|
|
172
|
-
template: "<div id=\"add-user\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">
|
|
173
|
-
styles: [""]
|
|
311
|
+
template: "<xuilib-hmcts-error-summary\n [errorMessages]=\"validationErrors\"\n [header]=\"'There is a problem'\"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf=\"title\" class=\"govuk-heading-xl govuk-!-margin-top-2\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\" title=\"Add user to selected cases\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can't find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can't find your colleague's email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">Remove a person from all cases</label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n Select a person to remove them from all selected cases.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select [(ngModel)]=\"selectedUserToRemove\" class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option [ngValue]=\"null\" selected>Select a person</option>\n <option *ngFor=\"let user of assignedUsers\" [ngValue]=\"user\">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" (click)=\"removeUser()\" class=\"govuk-button govuk-button--secondary\" title=\"Remove user from selected cases\">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\" [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]=\"selectedCasesErrorMessageConfig\" [errorMessage]=\"shareCaseErrorMessage\"></xuilib-gov-uk-error-message>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\"\n [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button id=\"btn-continue\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"onContinue()\" title=\"Continue\">Continue</button>\n <button id=\"btn-cancel\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"Cancel\" [routerLink]=\"cancelLink\">Cancel</button>\n</div>\n",
|
|
312
|
+
styles: ["select{width:100%}"]
|
|
174
313
|
}] }
|
|
175
314
|
];
|
|
176
315
|
/** @nocollapse */
|
|
177
316
|
ShareCaseComponent.ctorParameters = function () { return [
|
|
178
|
-
{ type: CaseSharingStateService }
|
|
317
|
+
{ type: CaseSharingStateService },
|
|
318
|
+
{ type: Router }
|
|
179
319
|
]; };
|
|
180
320
|
ShareCaseComponent.propDecorators = {
|
|
181
321
|
removeUserFromCaseToggleOn: [{ type: Input }],
|
|
182
322
|
shareCases$: [{ type: Input }],
|
|
183
323
|
users: [{ type: Input }],
|
|
184
324
|
confirmLink: [{ type: Input }],
|
|
325
|
+
cancelLink: [{ type: Input }],
|
|
326
|
+
addUserLabel: [{ type: Input }],
|
|
327
|
+
showRemoveUsers: [{ type: Input }],
|
|
328
|
+
fnTitle: [{ type: Input }],
|
|
329
|
+
title: [{ type: Input }],
|
|
185
330
|
unselect: [{ type: Output }],
|
|
186
331
|
synchronizeStore: [{ type: Output }],
|
|
187
332
|
userSelect: [{ type: ViewChild, args: [UserSelectComponent,] }]
|
|
@@ -193,6 +338,14 @@ if (false) {
|
|
|
193
338
|
/** @type {?} */
|
|
194
339
|
ShareCaseComponent.prototype.shareCases;
|
|
195
340
|
/** @type {?} */
|
|
341
|
+
ShareCaseComponent.prototype.selectedCasesErrorMessageConfig;
|
|
342
|
+
/** @type {?} */
|
|
343
|
+
ShareCaseComponent.prototype.continueAllowed;
|
|
344
|
+
/** @type {?} */
|
|
345
|
+
ShareCaseComponent.prototype.assignedUsers;
|
|
346
|
+
/** @type {?} */
|
|
347
|
+
ShareCaseComponent.prototype.selectedUserToRemove;
|
|
348
|
+
/** @type {?} */
|
|
196
349
|
ShareCaseComponent.prototype.removeUserFromCaseToggleOn;
|
|
197
350
|
/** @type {?} */
|
|
198
351
|
ShareCaseComponent.prototype.shareCases$;
|
|
@@ -201,6 +354,16 @@ if (false) {
|
|
|
201
354
|
/** @type {?} */
|
|
202
355
|
ShareCaseComponent.prototype.confirmLink;
|
|
203
356
|
/** @type {?} */
|
|
357
|
+
ShareCaseComponent.prototype.cancelLink;
|
|
358
|
+
/** @type {?} */
|
|
359
|
+
ShareCaseComponent.prototype.addUserLabel;
|
|
360
|
+
/** @type {?} */
|
|
361
|
+
ShareCaseComponent.prototype.showRemoveUsers;
|
|
362
|
+
/** @type {?} */
|
|
363
|
+
ShareCaseComponent.prototype.fnTitle;
|
|
364
|
+
/** @type {?} */
|
|
365
|
+
ShareCaseComponent.prototype.title;
|
|
366
|
+
/** @type {?} */
|
|
204
367
|
ShareCaseComponent.prototype.unselect;
|
|
205
368
|
/** @type {?} */
|
|
206
369
|
ShareCaseComponent.prototype.synchronizeStore;
|
|
@@ -214,10 +377,19 @@ if (false) {
|
|
|
214
377
|
* @private
|
|
215
378
|
*/
|
|
216
379
|
ShareCaseComponent.prototype.userSelect;
|
|
380
|
+
/** @type {?} */
|
|
381
|
+
ShareCaseComponent.prototype.validationErrors;
|
|
382
|
+
/** @type {?} */
|
|
383
|
+
ShareCaseComponent.prototype.shareCaseErrorMessage;
|
|
217
384
|
/**
|
|
218
385
|
* @type {?}
|
|
219
386
|
* @private
|
|
220
387
|
*/
|
|
221
388
|
ShareCaseComponent.prototype.stateService;
|
|
389
|
+
/**
|
|
390
|
+
* @type {?}
|
|
391
|
+
* @private
|
|
392
|
+
*/
|
|
393
|
+
ShareCaseComponent.prototype.router;
|
|
222
394
|
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2hhcmUtY2FzZS9zaGFyZS1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFO0lBd0JFLDRCQUE2QixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFqQjNELGVBQVUsR0FBaUIsRUFBRSxDQUFDLENBQUMsNkJBQTZCOztRQUVuRCwrQkFBMEIsR0FBWSxLQUFLLENBQUM7UUFHNUMsVUFBSyxHQUFrQixFQUFFLENBQUMsQ0FBQywwREFBMEQ7O1FBRXJGLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXhCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFPVSxDQUFDOzs7O0lBRWhFLHFDQUFROzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxVQUFVO1lBQ25DLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzdCLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxD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QSxBQXZGRCxJQXVGQztTQWxGWSxrQkFBa0I7OztJQUU3Qix3Q0FBcUM7O0lBRXJDLHdEQUE0RDs7SUFFNUQseUNBQXNEOztJQUN0RCxtQ0FBMEM7O0lBRTFDLHlDQUF5Qzs7SUFFekMsc0NBQTJEOztJQUMzRCw4Q0FBNEQ7Ozs7O0lBRTVELDBDQUFrQzs7Ozs7SUFFbEMsd0NBQ2lEOzs7OztJQUVyQywwQ0FBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zaGFyZS1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdID0gW107IC8vIGNhc2VzIHNlbGVjdGVkIGZvciBzaGFyaW5nXG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG4gIEBJbnB1dCgpIHB1YmxpYyB1c2VyczogVXNlckRldGFpbHNbXSA9IFtdOyAvLyB1c2VycyBvZiB0aGlzIG9yZ2FuaXNhdGlvbiB0aGUgY2FzZXMgY2FuIGJlIHNoYXJlZCB3aXRoXG5cbiAgQElucHV0KCkgcHVibGljIGNvbmZpcm1MaW5rOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIHNlbGVjdGVkVXNlcjogVXNlckRldGFpbHM7XG5cbiAgQFZpZXdDaGlsZChVc2VyU2VsZWN0Q29tcG9uZW50KVxuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJTZWxlY3Q6IFVzZXJTZWxlY3RDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB7XG4gICAgICB0aGlzLnNoYXJlQ2FzZXMgPSBzaGFyZUNhc2VzO1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0Q2FzZXMoc2hhcmVDYXNlcyk7XG4gICAgfSk7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICB9XG5cbiAgcHVibGljIG9uVW5zZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdChjKTtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVDYXNlKGMuY2FzZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN5bmNocm9uaXplU3RvcmUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkVXNlcih1c2VyOiBVc2VyRGV0YWlscykge1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyID0gdXNlcjtcbiAgfVxuXG4gIHB1YmxpYyBhZGRVc2VyKCkge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzID0gdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFNoYXJlKHRoaXMuc2VsZWN0ZWRVc2VyKTtcbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IG51bGw7XG4gICAgaWYgKHRoaXMudXNlclNlbGVjdCkgeyB0aGlzLnVzZXJTZWxlY3QuY2xlYXIoKTsgfVxuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KG5ld1NoYXJlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2FibGVkQWRkKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVXNlciA9PT0gbnVsbCB8fCB0aGlzLnNoYXJlQ2FzZXMubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHVibGljIGlzRGlzYWJsZWRDb250aW51ZSgpOiBib29sZWFuIHtcbiAgICBsZXQgaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG4gICAgdGhpcy5zaGFyZUNhc2VzJC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGNhc2VTdGF0ZSBvZiBzaGFyZUNhc2VzKSB7XG4gICAgICAgIGlmIChjYXNlU3RhdGUucGVuZGluZ1NoYXJlcyAmJiBjYXNlU3RhdGUucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYXNlU3RhdGUucGVuZGluZ1Vuc2hhcmVzICYmIGNhc2VTdGF0ZS5wZW5kaW5nVW5zaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG9uRGVzZWxlY3Qoc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIGlmIChzaGFyZWRDYXNlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gW107XG4gICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5zaGFyZUNhc2VzKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNhc2VJZCAhPT0gc2hhcmVkQ2FzZS5jYXNlSWQpIHtcbiAgICAgICAgICB1cGRhdGVkLnB1c2goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2hhcmVDYXNlcyA9IHVwZGF0ZWQ7XG4gICAgfVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldENhc2VzKHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cbn1cbiJdfQ==
|
|
395
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2hhcmUtY2FzZS9zaGFyZS1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFjLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0U7SUFvQ0UsNEJBQTZCLFlBQXFDLEVBQ3JDLE1BQWM7UUFEZCxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTlCcEMsZUFBVSxHQUFpQixFQUFFLENBQUMsQ0FBQyw2QkFBNkI7UUFFNUQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIseUJBQW9CLEdBQWdCLElBQUksQ0FBQztRQUVoQywrQkFBMEIsR0FBWSxLQUFLLENBQUM7UUFHNUMsVUFBSyxHQUFrQixFQUFFLENBQUMsQ0FBQywwREFBMEQ7O1FBRXJGLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFeEIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixVQUFLLEdB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QUFLLENBQUM7SUFDN0IsQ0FBQzs7Z0JBOUtGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3Qiw2dElBQTBDOztpQkFFM0M7Ozs7Z0JBUFEsdUJBQXVCO2dCQU52QixNQUFNOzs7NkNBc0JaLEtBQUs7OEJBRUwsS0FBSzt3QkFDTCxLQUFLOzhCQUVMLEtBQUs7NkJBQ0wsS0FBSzsrQkFDTCxLQUFLO2tDQUNMLEtBQUs7MEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzJCQUVMLE1BQU07bUNBQ04sTUFBTTs2QkFJTixTQUFTLFNBQUMsbUJBQW1COztJQWlKaEMseUJBQUM7Q0FBQSxBQS9LRCxJQStLQztTQTFLWSxrQkFBa0I7OztJQUU3Qix3Q0FBcUM7O0lBQ3JDLDZEQUF5RDs7SUFDekQsNkNBQStCOztJQUMvQiwyQ0FBb0M7O0lBQ3BDLGtEQUFnRDs7SUFFaEQsd0RBQTREOztJQUU1RCx5Q0FBc0Q7O0lBQ3RELG1DQUEwQzs7SUFFMUMseUNBQXlDOztJQUN6Qyx3Q0FBd0M7O0lBQ3hDLDBDQUFxQzs7SUFDckMsNkNBQWlEOztJQUNqRCxxQ0FBcUM7O0lBQ3JDLG1DQUFtQzs7SUFFbkMsc0NBQTJEOztJQUMzRCw4Q0FBNEQ7Ozs7O0lBRTVELDBDQUFrQzs7Ozs7SUFFbEMsd0NBQ2lEOztJQUVqRCw4Q0FBZ0U7O0lBQ2hFLG1EQUFpRDs7Ozs7SUFFckMsMENBQXNEOzs7OztJQUN0RCxvQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VzTW9kZWwsIEdvdlVpQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi9nb3YtdWkvbW9kZWxzJztcbmltcG9ydCB7IFNoYXJlZENhc2UsIFNoYXJlZENhc2VFcnJvck1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcbmltcG9ydCB7IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FzZS1zaGFyaW5nLXN0YXRlL2Nhc2Utc2hhcmluZy1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi91c2VyLXNlbGVjdC91c2VyLXNlbGVjdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2hhcmUtY2FzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2hhcmUtY2FzZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlQ2FzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHNoYXJlQ2FzZXM6IFNoYXJlZENhc2VbXSA9IFtdOyAvLyBjYXNlcyBzZWxlY3RlZCBmb3Igc2hhcmluZ1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlc0Vycm9yTWVzc2FnZUNvbmZpZzogR292VWlDb25maWdNb2RlbDtcbiAgcHVibGljIGNvbnRpbnVlQWxsb3dlZCA9IGZhbHNlO1xuICBwdWJsaWMgYXNzaWduZWRVc2VyczogVXNlckRldGFpbHNbXTtcbiAgcHVibGljIHNlbGVjdGVkVXNlclRvUmVtb3ZlOiBVc2VyRGV0YWlscyA9IG51bGw7XG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG4gIEBJbnB1dCgpIHB1YmxpYyB1c2VyczogVXNlckRldGFpbHNbXSA9IFtdOyAvLyB1c2VycyBvZiB0aGlzIG9yZ2FuaXNhdGlvbiB0aGUgY2FzZXMgY2FuIGJlIHNoYXJlZCB3aXRoXG5cbiAgQElucHV0KCkgcHVibGljIGNvbmZpcm1MaW5rOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGNhbmNlbExpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWRkVXNlckxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93UmVtb3ZlVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGZuVGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgdW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlZENhc2U+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc3luY2hyb25pemVTdG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcblxuICBAVmlld0NoaWxkKFVzZXJTZWxlY3RDb21wb25lbnQpXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlbGVjdDogVXNlclNlbGVjdENvbXBvbmVudDtcblxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yczogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfVtdID0gW107XG4gIHB1YmxpYyBzaGFyZUNhc2VFcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZXNNb2RlbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkXG4gICAgICAucGlwZSh0YXAoc2hhcmVkQ2FzZXMgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgdGhlIGxpc3Qgb2YgdXNlcnMgYXNzaWduZWQgdG8gYXQgbGVhc3Qgb25lIGNhc2VcbiAgICAgICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJzKHNoYXJlZENhc2VzLmZpbHRlcihzaGFyZWRDYXNlID0+IHNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiBzaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID4gMCkpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4ge1xuICAgICAgICB0aGlzLnNoYXJlQ2FzZXMgPSBzaGFyZUNhc2VzO1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRDYXNlcyhzaGFyZUNhc2VzKTtcbiAgICAgICAgLy8gU2V0IHRoZSBjb25maWcgdG8gYmUgdXNlZCBieSB0aGUgeHVpbGliLWdvdi11ay1lcnJvci1tZXNzYWdlIGNvbXBvbmVudCwgaW4gcGFydGljdWxhciB0aGUgZWxlbWVudCBJRCB0b1xuICAgICAgICAvLyB3aGljaCB0aGUgZXJyb3IgbWVzc2FnZSBpcyBhc3NvY2lhdGVkXG4gICAgICAgIGlmIChzaGFyZUNhc2VzKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzRXJyb3JNZXNzYWdlQ29uZmlnID0ge1xuICAgICAgICAgICAgaWQ6IHNoYXJlQ2FzZXMubGVuZ3RoID4gMCA/ICdjYXNlcycgOiAnbm9DYXNlRGlzcGxheSdcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGU7XG4gICAgdGhpcy5zaGFyZUNhc2VFcnJvck1lc3NhZ2UgPSB7IGlzSW52YWxpZDogZmFsc2UsIG1lc3NhZ2VzOiBbXSB9O1xuICB9XG5cbiAgcHVibGljIG9uVW5zZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IFtdO1xuICAgIGlmICh0aGlzLnN0YXRlU2VydmljZS5nZXRDYXNlcygpLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goeyBpZDogJ2Nhc2VzJywgbWVzc2FnZTogU2hhcmVkQ2FzZUVycm9yTWVzc2FnZXMuT25lQ2FzZU11c3RCZVNlbGVjdGVkIH0pO1xuICAgICAgdGhpcy5zaGFyZUNhc2VFcnJvck1lc3NhZ2UgPSB7IGlzSW52YWxpZDogdHJ1ZSwgbWVzc2FnZXM6IFtTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5PbmVDYXNlTXVzdEJlU2VsZWN0ZWRdIH07XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVtb3ZlQ2FzZShjLmNhc2VJZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU3luY2hyb25pemVTdG9yZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWRVc2VyKHVzZXI6IFVzZXJEZXRhaWxzKSB7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSB1c2VyO1xuICB9XG5cbiAgcHVibGljIGFkZFVzZXIoKSB7XG4gICAgY29uc3QgbmV3U2hhcmVkQ2FzZXMgPSB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0U2hhcmUodGhpcy5zZWxlY3RlZFVzZXIpO1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyID0gbnVsbDtcbiAgICBpZiAodGhpcy51c2VyU2VsZWN0KSB7IHRoaXMudXNlclNlbGVjdC5jbGVhcigpOyB9XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIC8vIFVwZGF0ZSB0aGUgbGlzdCBvZiBhc3NpZ25lZCB1c2VycyAod2hpY2ggaW5jbHVkZXMgcGVuZGluZyB1c2VycylcbiAgICB0aGlzLmdldEFzc2lnbmVkVXNlcnMobmV3U2hhcmVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVVzZXIoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRVc2VyVG9SZW1vdmUpIHtcbiAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzID0gdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFVuc2hhcmUodGhpcy5zZWxlY3RlZFVzZXJUb1JlbW92ZSk7XG4gICAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChuZXdTaGFyZWRDYXNlcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGlzYWJsZWRBZGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRVc2VyID09PSBudWxsIHx8IHRoaXMuc2hhcmVDYXNlcy5sZW5ndGggPT09IDA7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gb3JpZ2luYWxseSB1c2VkIHRvIHNldCBkaXNhYmxlZCBzdGF0ZSBvZiBcIkNvbnRpbnVlXCIgYnV0dG9uLCBub3cgY2FsbGVkIGJ5IHRoZSBidXR0b24gY2xpY2sgaGFuZGxlciB0b1xuICAgKiBjb250cm9sIHdoZXRoZXIgbmF2aWdhdGlvbiB0byB0aGUgY29uZmlybWF0aW9uIHBhZ2UgaXMgYWxsb3dlZC4gSXQgaXMgcHJldmVudGVkIGlmIG5vIGNoYW5nZXMgaGF2ZSBiZWVuIG1hZGVcbiAgICovXG4gIHB1YmxpYyBzZXRDb250aW51ZUFsbG93ZWQoKTogdm9pZCB7XG4gICAgLy8gQWx3YXlzIHN0YXJ0IHdpdGggY29udGludWVBbGxvd2VkID0gZmFsc2UuIFRoaXMgY292ZXJzIHRoZSBzY2VuYXJpbyB3aGVyZSBhIHVzZXIgbWlnaHQgYWRkIHNvbWVvbmUgZm9yIHNoYXJpbmdcbiAgICAvLyBhIGNhc2UgKHNvLCBjb250aW51ZUFsbG93ZWQgPSB0cnVlKSwgdGhlbiByZW1vdmVzIHRoZSBzYW1lIHVzZXIgYmVmb3JlIHRyeWluZyB0byBjb250aW51ZS4gVGhpcyB3b3VsZFxuICAgIC8vIGVycm9uZW91c2x5IGxlYXZlIGNvbnRpbnVlQWxsb3dlZCBhcyB0cnVlXG4gICAgdGhpcy5jb250aW51ZUFsbG93ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkLnN1YnNjcmliZShzaGFyZUNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgY2FzZVN0YXRlIG9mIHNoYXJlQ2FzZXMpIHtcbiAgICAgICAgaWYgKGNhc2VTdGF0ZS5wZW5kaW5nU2hhcmVzICYmIGNhc2VTdGF0ZS5wZW5kaW5nU2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmNvbnRpbnVlQWxsb3dlZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNhc2VTdGF0ZS5wZW5kaW5nVW5zaGFyZXMgJiYgY2FzZVN0YXRlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5jb250aW51ZUFsbG93ZWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgaWYgKHNoYXJlZENhc2UgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZWQgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLnNoYXJlQ2FzZXMpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuY2FzZUlkICE9PSBzaGFyZWRDYXNlLmNhc2VJZCkge1xuICAgICAgICAgIHVwZGF0ZWQucHVzaChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zaGFyZUNhc2VzID0gdXBkYXRlZDtcbiAgICB9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0Q2FzZXModGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbnRpbnVlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Q29udGludWVBbGxvd2VkKCk7XG4gICAgLy8gSWYgY29udGludWF0aW9uIGlzIG5vdCBhbGxvd2VkLCBzZXQgYW4gZXJyb3IgbWVzc2FnZVxuICAgIGlmICghdGhpcy5jb250aW51ZUFsbG93ZWQpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IFtdO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goeyBpZDogJ2Nhc2VzJywgbWVzc2FnZTogU2hhcmVkQ2FzZUVycm9yTWVzc2FnZXMuTm9DaGFuZ2VzUmVxdWVzdGVkIH0pO1xuICAgICAgdGhpcy5zaGFyZUNhc2VFcnJvck1lc3NhZ2UgPSB7IGlzSW52YWxpZDogdHJ1ZSwgbWVzc2FnZXM6IFtTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5Ob0NoYW5nZXNSZXF1ZXN0ZWRdIH07XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gICAgLy8gTmF2aWdhdGUgdG8gY29uZmlybWF0aW9uIHBhZ2Ugb25seSBpZiBhbGxvd2VkIHRvIGNvbnRpbnVlXG4gICAgaWYgKHRoaXMuY29udGludWVBbGxvd2VkKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5jb25maXJtTGlua10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgdW5pcXVlIGxpc3Qgb2YgYWxsIHVzZXJzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkLCBvciBhcmUgcGVuZGluZyBhc3NpZ21lbnQgdG8sIGF0IGxlYXN0IG9uZSBjYXNlXG4gICAqIEBwYXJhbSBzaGFyZWRDYXNlcyBUaGUgbGlzdCBvZiBzaGFyZWQgY2FzZXMgZnJvbSB3aGljaCB0byBnZXQgdXNlcnMgdGhlc2UgYXJlIHNoYXJlZCB3aXRoLCBvciBhcmUgdG8gYmUgc2hhcmVkIHdpdGhcbiAgICovXG4gIHB1YmxpYyBnZXRBc3NpZ25lZFVzZXJzKHNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10pOiB2b2lkIHtcbiAgICBjb25zdCB1c2VyczogVXNlckRldGFpbHNbXSA9IFtdO1xuICAgIHNoYXJlZENhc2VzLmZvckVhY2goc2hhcmVkQ2FzZSA9PiB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICAgIHNoYXJlZENhc2Uuc2hhcmVkV2l0aC5mb3JFYWNoKHVzZXIgPT4ge1xuICAgICAgICAgIGlmICghdXNlcnMuc29tZShleGlzdGluZ1VzZXIgPT4gdXNlci5pZGFtSWQgPT09IGV4aXN0aW5nVXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICB1c2Vycy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5mb3JFYWNoKHVzZXIgPT4ge1xuICAgICAgICAgIGlmICghdXNlcnMuc29tZShleGlzdGluZ1VzZXIgPT4gdXNlci5pZGFtSWQgPT09IGV4aXN0aW5nVXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICB1c2Vycy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5hc3NpZ25lZFVzZXJzID0gdXNlcnM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -23,4 +23,10 @@ if (false) {
|
|
|
23
23
|
/** @type {?|undefined} */
|
|
24
24
|
SharedCase.prototype.pendingUnshares;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
/** @enum {string} */
|
|
27
|
+
var SharedCaseErrorMessages = {
|
|
28
|
+
OneCaseMustBeSelected: "At least one case must be selected",
|
|
29
|
+
NoChangesRequested: "You have not requested any changes to case sharing",
|
|
30
|
+
};
|
|
31
|
+
export { SharedCaseErrorMessages };
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFQSxnQ0FRQzs7O0lBUEMsNEJBQWU7O0lBQ2YsK0JBQWtCOztJQUNsQixnQ0FBb0I7O0lBQ3BCLDJCQUFpQjs7SUFDakIsZ0NBQTJCOztJQUMzQixtQ0FBOEI7O0lBQzlCLHFDQUFnQzs7O0FBR2xDLElBQVksdUJBQXVCO0lBQ2pDLHFCQUFxQixzQ0FBdUM7SUFDNUQsa0JBQWtCLHNEQUF1RDtFQUMxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi91c2VyLWRldGFpbHMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZENhc2Uge1xuICBjYXNlSWQ6IHN0cmluZztcbiAgY2FzZVRpdGxlOiBzdHJpbmc7XG4gIGNhc2VUeXBlSWQ/OiBzdHJpbmc7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHNoYXJlZFdpdGg/OiBVc2VyRGV0YWlsc1tdO1xuICBwZW5kaW5nU2hhcmVzPzogVXNlckRldGFpbHNbXTtcbiAgcGVuZGluZ1Vuc2hhcmVzPzogVXNlckRldGFpbHNbXTtcbn1cblxuZXhwb3J0IGVudW0gU2hhcmVkQ2FzZUVycm9yTWVzc2FnZXMge1xuICBPbmVDYXNlTXVzdEJlU2VsZWN0ZWQgPSAnQXQgbGVhc3Qgb25lIGNhc2UgbXVzdCBiZSBzZWxlY3RlZCcsXG4gIE5vQ2hhbmdlc1JlcXVlc3RlZCA9ICdZb3UgaGF2ZSBub3QgcmVxdWVzdGVkIGFueSBjaGFuZ2VzIHRvIGNhc2Ugc2hhcmluZydcbn1cbiJdfQ==
|
package/esm5/lib/models/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Generated from: lib/models/index.ts
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
|
-
export {} from './case-share.model';
|
|
6
|
+
export { SharedCaseErrorMessages } from './case-share.model';
|
|
7
7
|
export { BadgeColour } from './contact-details.model';
|
|
8
8
|
export { DateBadgeColour, SECONDS_IN_A_DAY } from './due-date.model';
|
|
9
9
|
export { AnonymousFeatureUser, LoggedInFeatureUser } from './feature-user';
|
|
@@ -17,4 +17,4 @@ export {} from './tcDocument.model';
|
|
|
17
17
|
export {} from './timeout-notification.model';
|
|
18
18
|
export {} from './user-details.model';
|
|
19
19
|
export {} from './user.model';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDRCQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGtEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLDBEQUFjLGdCQUFnQixDQUFDO0FBQy9CLGVBQWMscUJBQXFCLENBQUM7QUFDcEMsaUNBQWMsa0JBQWtCLENBQUM7QUFDakMsZUFBYyxvQkFBb0IsQ0FBQztBQUNuQyx5Q0FBYyxnQkFBZ0IsQ0FBQztBQUMvQix1Q0FBYyxjQUFjLENBQUM7QUFDN0IsZUFBYyx3QkFBd0IsQ0FBQztBQUN2QyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLGVBQWMsOEJBQThCLENBQUM7QUFDN0MsZUFBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FzZS1zaGFyZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3QtZGV0YWlscy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2R1ZS1kYXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS11c2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaWRsZS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhdGlvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLW9wdGlvbnMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90Y0RvY3VtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZW91dC1ub3RpZmljYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWRldGFpbHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLm1vZGVsJztcbiJdfQ==
|
|
@@ -78,6 +78,7 @@ var PersonRole = {
|
|
|
78
78
|
JUDICIAL: "Judicial",
|
|
79
79
|
CASEWORKER: "Legal Ops",
|
|
80
80
|
ADMIN: "Admin",
|
|
81
|
+
CTSC: "CTSC User",
|
|
81
82
|
ALL: "All",
|
|
82
83
|
};
|
|
83
84
|
export { PersonRole };
|
|
@@ -86,7 +87,8 @@ var RoleCategory = {
|
|
|
86
87
|
JUDICIAL: "JUDICIAL",
|
|
87
88
|
CASEWORKER: "LEGAL_OPERATIONS",
|
|
88
89
|
ADMIN: "ADMIN",
|
|
90
|
+
CTSC: "CTSC",
|
|
89
91
|
ALL: "ALL",
|
|
90
92
|
};
|
|
91
93
|
export { RoleCategory };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcGVyc29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsNEJBTUM7OztJQUxDLG9CQUFXOztJQUNYLHNCQUFhOztJQUNiLHVCQUFlOztJQUNmLHdCQUFlOztJQUNmLHlCQUFpQjs7Ozs7QUFHbkIsdUNBV0M7OztJQVZDLG9DQUFnQjs7SUFDaEIscUNBQWlCOztJQUNqQixtQ0FBZTs7SUFDZixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsMENBQXNCOztJQUN0QixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsb0NBQWdCOztJQUNoQixrQ0FBYzs7Ozs7QUFHaEIsMENBR0M7OztJQUZDLHVDQUFnQjs7SUFDaEIsMkNBQTBCOzs7OztBQUc1QixnQ0FPQzs7O0lBTkMsNEJBQWU7O0lBQ2YsK0JBQWtCOztJQUNsQiw4QkFBaUI7O0lBQ2pCLDJCQUFjOztJQUNkLDZCQUFpQjs7SUFDakIsa0NBQXFCOzs7QUFHdkIsSUFBWSxVQUFVO0lBQ3BCLFFBQVEsWUFBYTtJQUNyQixVQUFVLGFBQWM7SUFDeEIsS0FBSyxTQUFVO0lBQ2YsSUFBSSxhQUFjO0lBQ2xCLEdBQUcsT0FBUTtFQUNaOzs7QUFJRCxJQUFZLFlBQVk7SUFDdEIsUUFBUSxZQUFhO0lBQ3JCLFVBQVUsb0JBQXFCO0lBQy9CLEtBQUssU0FBVTtJQUNmLElBQUksUUFBUztJQUNiLEdBQUcsT0FBUTtFQUNaIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQZXJzb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBkb21haW46IHN0cmluZztcbiAga25vd25Bcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKdWRpY2lhbFVzZXJNb2RlbCB7XG4gIGVtYWlsSWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbiAgaWRhbUlkOiBzdHJpbmc7XG4gIGlzSnVkZ2U6IHN0cmluZztcbiAgaXNNYWdpc3RyYXRlOiBzdHJpbmc7XG4gIGlzUGFuZWxNZW1iZXI6IHN0cmluZztcbiAga25vd25Bczogc3RyaW5nO1xuICBwZXJzb25hbENvZGU6IHN0cmluZztcbiAgc3VybmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhc2V3b3JrZXJzQnlTZXJ2aWNlIHtcbiAgc2VydmljZTogc3RyaW5nO1xuICBjYXNld29ya2VyczogQ2FzZXdvcmtlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhc2V3b3JrZXIge1xuICBpZGFtSWQ6IHN0cmluZztcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gIGxhc3ROYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGtub3duQXM/OiBzdHJpbmc7XG4gIHJvbGVDYXRlZ29yeTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQZXJzb25Sb2xlIHtcbiAgSlVESUNJQUwgPSAnSnVkaWNpYWwnLFxuICBDQVNFV09SS0VSID0gJ0xlZ2FsIE9wcycsXG4gIEFETUlOID0gJ0FkbWluJyxcbiAgQ1RTQyA9ICdDVFNDIFVzZXInLFxuICBBTEwgPSAnQWxsJyxcbn1cblxuLy8gTm90ZTogUm9sZUNhdGVnb3J5IGNvdWxkIHJlcGxhY2UgUGVyc29uUm9sZSBwb3NzaWJseVxuLy8gSG93ZXZlciBhIGxvdCBvZiB3ZWJhcHAgbG9naWMgaXMgYmFzZWQgb24gY3VycmVudCBQZXJzb25Sb2xlIHVuZGVyc3RhbmRpbmdcbmV4cG9ydCBlbnVtIFJvbGVDYXRlZ29yeSB7XG4gIEpVRElDSUFMID0gJ0pVRElDSUFMJyxcbiAgQ0FTRVdPUktFUiA9ICdMRUdBTF9PUEVSQVRJT05TJyxcbiAgQURNSU4gPSAnQURNSU4nLFxuICBDVFNDID0gJ0NUU0MnLFxuICBBTEwgPSAnQUxMJ1xufVxuIl19
|
|
@@ -113,29 +113,52 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
113
113
|
return newSharedCases;
|
|
114
114
|
};
|
|
115
115
|
/**
|
|
116
|
-
* @param {?} caseId
|
|
117
116
|
* @param {?} user
|
|
117
|
+
* @param {?=} caseId
|
|
118
118
|
* @return {?}
|
|
119
119
|
*/
|
|
120
120
|
CaseSharingStateService.prototype.requestUnshare = /**
|
|
121
|
-
* @param {?} caseId
|
|
122
121
|
* @param {?} user
|
|
122
|
+
* @param {?=} caseId
|
|
123
123
|
* @return {?}
|
|
124
124
|
*/
|
|
125
|
-
function (
|
|
125
|
+
function (user, caseId) {
|
|
126
126
|
var e_2, _a;
|
|
127
127
|
/** @type {?} */
|
|
128
128
|
var newSharedCases = [];
|
|
129
129
|
try {
|
|
130
130
|
for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
131
131
|
var sharedCase = _c.value;
|
|
132
|
-
|
|
132
|
+
// If no caseId, then request unshare from all shared cases
|
|
133
|
+
if (caseId === undefined || sharedCase.caseId === caseId) {
|
|
133
134
|
if (!sharedCase.pendingUnshares) {
|
|
134
135
|
sharedCase.pendingUnshares = [];
|
|
135
136
|
}
|
|
136
137
|
/** @type {?} */
|
|
137
138
|
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
138
|
-
|
|
139
|
+
// If the user is pending shared access, just remove them from pendingShares
|
|
140
|
+
/** @type {?} */
|
|
141
|
+
var newPendingShares = void 0;
|
|
142
|
+
/** @type {?} */
|
|
143
|
+
var indexOfPreviouslyAddedUser = -1;
|
|
144
|
+
if (sharedCase.pendingShares) {
|
|
145
|
+
indexOfPreviouslyAddedUser = sharedCase.pendingShares.findIndex((/**
|
|
146
|
+
* @param {?} u
|
|
147
|
+
* @return {?}
|
|
148
|
+
*/
|
|
149
|
+
function (u) { return u.idamId === user.idamId; }));
|
|
150
|
+
if (indexOfPreviouslyAddedUser > -1) {
|
|
151
|
+
newPendingShares = sharedCase.pendingShares.slice();
|
|
152
|
+
newPendingShares.splice(indexOfPreviouslyAddedUser, 1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// If the user does not exist in pendingShares, and already has shared access (i.e. exists in sharedWith),
|
|
156
|
+
// request removal of shared access
|
|
157
|
+
if (indexOfPreviouslyAddedUser === -1 && sharedCase.sharedWith && sharedCase.sharedWith.findIndex((/**
|
|
158
|
+
* @param {?} u
|
|
159
|
+
* @return {?}
|
|
160
|
+
*/
|
|
161
|
+
function (u) { return u.idamId === user.idamId; })) > -1) {
|
|
139
162
|
if (!newPendingUnshares.some((/**
|
|
140
163
|
* @param {?} u
|
|
141
164
|
* @return {?}
|
|
@@ -144,11 +167,10 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
144
167
|
newPendingUnshares.push(user);
|
|
145
168
|
}
|
|
146
169
|
}
|
|
147
|
-
else {
|
|
148
|
-
newPendingUnshares.push(user);
|
|
149
|
-
}
|
|
150
170
|
/** @type {?} */
|
|
151
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares }
|
|
171
|
+
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares }, (newPendingShares && {
|
|
172
|
+
pendingShares: newPendingShares
|
|
173
|
+
}));
|
|
152
174
|
newSharedCases.push(newSharedCase);
|
|
153
175
|
}
|
|
154
176
|
else {
|
|
@@ -164,7 +186,7 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
164
186
|
finally { if (e_2) throw e_2.error; }
|
|
165
187
|
}
|
|
166
188
|
this.subject.next(newSharedCases);
|
|
167
|
-
return;
|
|
189
|
+
return newSharedCases;
|
|
168
190
|
};
|
|
169
191
|
/**
|
|
170
192
|
* @param {?} caseId
|
|
@@ -234,11 +256,13 @@ var CaseSharingStateService = /** @class */ (function () {
|
|
|
234
256
|
* @return {?}
|
|
235
257
|
*/
|
|
236
258
|
function (caseId) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
this.caseState.
|
|
240
|
-
|
|
241
|
-
|
|
259
|
+
if (this.caseState.length > 1) {
|
|
260
|
+
for (var i = 0, l = this.caseState.length; i < l; i++) {
|
|
261
|
+
if (this.caseState[i].caseId === caseId) {
|
|
262
|
+
this.caseState.splice(i, 1);
|
|
263
|
+
this.subject.next(this.caseState);
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
242
266
|
}
|
|
243
267
|
}
|
|
244
268
|
};
|
|
@@ -286,4 +310,4 @@ if (false) {
|
|
|
286
310
|
*/
|
|
287
311
|
CaseSharingStateService.prototype.subject;
|
|
288
312
|
}
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU87YUFDUjtTQUNGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sK0NBQWE7Ozs7O0lBQXBCLFVBQXFCLENBQWEsRUFBRSxJQUFpQjtRQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXRKRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQTZKQyxBQXZKRCxJQXVKQztTQXBKWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXZLRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQThLQyxBQXhLRCxJQXdLQztTQXJLWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKHVzZXI6IFVzZXJEZXRhaWxzLCBjYXNlSWQ/OiBzdHJpbmcpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIC8vIElmIG5vIGNhc2VJZCwgdGhlbiByZXF1ZXN0IHVuc2hhcmUgZnJvbSBhbGwgc2hhcmVkIGNhc2VzXG4gICAgICBpZiAoY2FzZUlkID09PSB1bmRlZmluZWQgfHwgc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBwZW5kaW5nIHNoYXJlZCBhY2Nlc3MsIGp1c3QgcmVtb3ZlIHRoZW0gZnJvbSBwZW5kaW5nU2hhcmVzXG4gICAgICAgIGxldCBuZXdQZW5kaW5nU2hhcmVzO1xuICAgICAgICBsZXQgaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPSAtMTtcbiAgICAgICAgaWYgKHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICAgIGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmZpbmRJbmRleCh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgICAgaWYgKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID4gLTEpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMuc3BsaWNlKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgZG9lcyBub3QgZXhpc3QgaW4gcGVuZGluZ1NoYXJlcywgYW5kIGFscmVhZHkgaGFzIHNoYXJlZCBhY2Nlc3MgKGkuZS4gZXhpc3RzIGluIHNoYXJlZFdpdGgpLFxuICAgICAgICAvLyByZXF1ZXN0IHJlbW92YWwgb2Ygc2hhcmVkIGFjY2Vzc1xuICAgICAgICBpZiAoaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPT09IC0xICYmIHNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiBzaGFyZWRDYXNlLnNoYXJlZFdpdGguZmluZEluZGV4KFxuICAgICAgICAgIHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSA+IC0xKSB7XG4gICAgICAgICAgaWYgKCFuZXdQZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuZW1haWwgPT09IHVzZXIuZW1haWwpKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgICAuLi5zaGFyZWRDYXNlLFxuICAgICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICAgIC4uLihuZXdQZW5kaW5nU2hhcmVzICYmIHtcbiAgICAgICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChzaGFyZWRDYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIHJldHVybiBuZXdTaGFyZWRDYXNlcztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0Q2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nVW5zaGFyZXMgPSAwOyBpUGVuZGluZ1Vuc2hhcmVzIDwgbmV3UGVuZGluZ1Vuc2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdVbnNoYXJlcysrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1tpUGVuZGluZ1Vuc2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZShpUGVuZGluZ1Vuc2hhcmVzLCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgZm9yIChsZXQgaVBlbmRpbmdTaGFyZXMgPSAwOyBpUGVuZGluZ1NoYXJlcyA8IG5ld1BlbmRpbmdTaGFyZXMubGVuZ3RoOyBpUGVuZGluZ1NoYXJlcysrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdTaGFyZXNbaVBlbmRpbmdTaGFyZXNdLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnNwbGljZShpUGVuZGluZ1NoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgICAuLi5zaGFyZWRDYXNlLFxuICAgICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ2FzZShjYXNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VTdGF0ZS5sZW5ndGggPiAxKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAodGhpcy5jYXNlU3RhdGVbaV0uY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICB0aGlzLmNhc2VTdGF0ZS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1c2VySGFzQWNjZXNzKGM6IFNoYXJlZENhc2UsIHVzZXI6IFVzZXJEZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgaWYgKCFjLnNoYXJlZFdpdGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjLnNoYXJlZFdpdGgubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5zaGFyZWRXaXRoW2ldLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|