@hmcts/ccd-case-ui-toolkit 4.8.3-rc.3 → 4.8.3-rc.7
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/RELEASE-NOTES.md +3 -78
- package/dist/index.umd.js +186 -130
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.LICENSE.txt +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/shared/components/case-editor/case-access-utils/index.d.ts +3 -2
- package/dist/shared/components/case-editor/case-access-utils/index.js +31 -0
- package/dist/shared/components/case-editor/case-access-utils/index.js.map +1 -1
- package/dist/shared/components/case-editor/case-access-utils/index.metadata.json +1 -1
- package/dist/shared/components/case-editor/case-edit-page/case-edit-page.component.js +1 -1
- package/dist/shared/components/case-editor/case-edit-page/case-edit-page.component.js.map +1 -1
- package/dist/shared/components/case-editor/services/case-edit-wizard.guard.js +10 -0
- package/dist/shared/components/case-editor/services/case-edit-wizard.guard.js.map +1 -1
- package/dist/shared/components/case-editor/services/case-edit-wizard.guard.metadata.json +1 -1
- package/dist/shared/components/case-editor/services/cases.service.d.ts +2 -17
- package/dist/shared/components/case-editor/services/cases.service.js +18 -109
- package/dist/shared/components/case-editor/services/cases.service.js.map +1 -1
- package/dist/shared/components/case-editor/services/cases.service.metadata.json +1 -1
- package/dist/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -0
- package/dist/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +10 -3
- package/dist/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js.map +1 -1
- package/dist/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.metadata.json +1 -1
- package/dist/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +3 -1
- package/dist/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +21 -1
- package/dist/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js.map +1 -1
- package/dist/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.metadata.json +1 -1
- package/dist/shared/components/case-viewer/case-viewer.component.d.ts +1 -0
- package/dist/shared/components/case-viewer/case-viewer.component.js +7 -2
- package/dist/shared/components/case-viewer/case-viewer.component.js.map +1 -1
- package/dist/shared/components/case-viewer/case-viewer.component.metadata.json +1 -1
- package/dist/shared/components/palette/case-link/write-case-link-field.component.js +0 -2
- package/dist/shared/components/palette/case-link/write-case-link-field.component.js.map +1 -1
- package/dist/shared/components/palette/complex/ccd-read-fields-filter.pipe.js +4 -0
- package/dist/shared/components/palette/complex/ccd-read-fields-filter.pipe.js.map +1 -1
- package/dist/shared/components/palette/document/write-document-field.component.js +0 -3
- package/dist/shared/components/palette/document/write-document-field.component.js.map +1 -1
- package/dist/shared/domain/case-view/specific-access-request.model.d.ts +0 -2
- package/dist/shared/services/document-management/document-management.service.d.ts +0 -1
- package/dist/shared/services/document-management/document-management.service.js +0 -8
- package/dist/shared/services/document-management/document-management.service.js.map +1 -1
- package/dist/shared/services/document-management/document-management.service.metadata.json +1 -1
- package/dist/shared/services/fields/fields.utils.d.ts +19 -1
- package/dist/shared/services/fields/fields.utils.js +83 -0
- package/dist/shared/services/fields/fields.utils.js.map +1 -1
- package/dist/shared/services/fields/fields.utils.metadata.json +1 -1
- package/package.json +1 -1
package/RELEASE-NOTES.md
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
### Version 4.3.6-hotfix-EUI-4404
|
|
4
4
|
**EUI-4404** Fix rendering of read-only Collection field within editable Complex field
|
|
5
5
|
|
|
6
|
+
### Version 4.7.6-hearings-tab
|
|
7
|
+
**EUI-4441** Add hearings tab in case details
|
|
8
|
+
|
|
6
9
|
### Version 4.7.0-EUI-4412-order-fields-CYA-page
|
|
7
10
|
**EUI-4414** Field order on the CYA page changes
|
|
8
11
|
|
|
@@ -55,15 +58,6 @@
|
|
|
55
58
|
**EUI-4344** Document uploaded shows incorrect name
|
|
56
59
|
**EUI-4377** removing unwanted html tags from title
|
|
57
60
|
|
|
58
|
-
### Version 4.2.3
|
|
59
|
-
**EUI-3425** Hotfix for work already done. Secure uploading for new cases
|
|
60
|
-
|
|
61
|
-
### Version 4.2.2
|
|
62
|
-
**EUI-4161** Turn HRS documentLink URLs into relative URLs, as is done for dm-store URLs
|
|
63
|
-
|
|
64
|
-
### Version 4.2.1
|
|
65
|
-
**EUI-3425** Update Document Management Service to call new document upload API in ccd-case-ui-toolkit
|
|
66
|
-
**EUI-3426** Repoint node layer at the new document store API
|
|
67
61
|
|
|
68
62
|
### Version 4.2.3
|
|
69
63
|
**EUI-3425** Hotfix for work already done. Secure uploading for new cases
|
|
@@ -200,75 +194,6 @@ fixed an issue with the rendering of complex collections on the Case Details tab
|
|
|
200
194
|
**EUI-3868** "Retain Hidden Value" matrix - support for Scenarios 5 and 8 for "retain = true"
|
|
201
195
|
**EUI-2744** EventToComplexTypes regression with hidden fields
|
|
202
196
|
**EUI-4106** Show/hide functionality
|
|
203
|
-
### Version 4.0.0-activity-tracker-unauthorised-beta
|
|
204
|
-
**EUI-4226** Fixed an issue with 401/403 errors ignoring that the user is unauthorised.
|
|
205
|
-
|
|
206
|
-
### Version 3.1.5-complex-hidden-collection-show
|
|
207
|
-
**EUI-3983** Fixed issue with show fields displaying momentarily before show-condition logic evaluated
|
|
208
|
-
|
|
209
|
-
### Version 3.1.6-case-field-labels-showing-on-summary-screen-when-complex-type-is-hidden
|
|
210
|
-
**EUI-2276** Case field showing on summary screen when complex type field is hidden
|
|
211
|
-
|
|
212
|
-
### Version 3.1.5-nested-multi-select-labels-theta
|
|
213
|
-
**EUI-3581** Fixed an issue with label placeholders not working for multiselects within complex fields or collections. Also fixed an issue with FixedRadioList fields showing the code, not the label. Finally,
|
|
214
|
-
fixed an issue with the rendering of complex collections on the Case Details tabs.
|
|
215
|
-
|
|
216
|
-
### Version 3.1.5-datetime-picker-validation
|
|
217
|
-
**EUI-4118** Add and improve validation to datetime picker
|
|
218
|
-
|
|
219
|
-
### Version 3.1.5-datetime-picker-validation
|
|
220
|
-
**EUI-4118** Add and improve validation to datetime picker
|
|
221
|
-
|
|
222
|
-
### Version 4.1.0
|
|
223
|
-
**EUI-2027** Button Labels (AA)
|
|
224
|
-
**EUI-2030** Colour Contrast (AA)
|
|
225
|
-
**EUI-3155** Non-Descriptive Headings (AA) - issues 02, 06, 05 (part of it)
|
|
226
|
-
**EUI-4118** Mandatory datetime picker fields are not giving required field errors
|
|
227
|
-
**EUI-1621** Date/time DISPLAY for Workbasket & Search Input & Results
|
|
228
|
-
**EUI-1692** DateTime Entry & Display Formatting for Complex Types
|
|
229
|
-
**EUI-2792** Date and Time entry (Testing Story)
|
|
230
|
-
**EUI-4155** WA post-MVP Pagination- Angular - My tasks (in Tasks list) - CCD UI Toolkit
|
|
231
|
-
**EUI-3049** Wrap and restyle date time picker component
|
|
232
|
-
**EUI-3051** Handle #DATETIMEENTRY field context
|
|
233
|
-
**EUI-3581** Field interpolation does not work for the field type MultiSelectList
|
|
234
|
-
**EUI-4244** SSCS - Midevent callbacks sending empty fields for optional empty document
|
|
235
|
-
|
|
236
|
-
### Version 4.0.0
|
|
237
|
-
**EUI-4227** Fixed an error with show/hide not working quite right in some configurations.
|
|
238
|
-
**EUI-2022** ExUI - Error Messages (Complex Type)
|
|
239
|
-
**EUI-4033** Ensured complex fields were interpolated on Check Your Answers page
|
|
240
|
-
**EUI-4077** Ensuring searchForCompletable not called if user is pui-case-manager
|
|
241
|
-
**EUI-2027** Accessibility amends for button labels
|
|
242
|
-
**EUI-3155** Accessibility amends for non-descriptive headings
|
|
243
|
-
**EUI-3550** Replace heading tags with spans on case edit pages
|
|
244
|
-
**EUI-2792** Datetime picker fixes after testing integration with webapp
|
|
245
|
-
**EUI-3825** Fix for missing FTPA tab contents.
|
|
246
|
-
**EUI-2017** ExUI - Navigate in table using keyboard
|
|
247
|
-
**EUI-2022** ExUI - Error Messages (A)
|
|
248
|
-
**EUI-2023** ExUI - Labels (A)
|
|
249
|
-
**EUI-3538** ExUI - FieldShowCondition failing on SearchInputFields and WorkBasketInputFields
|
|
250
|
-
**EUI-3466** ExUI - Spinner issue in demo MO unassigned cases page
|
|
251
|
-
**EUI-3497** ExUI - Unassigned cases does not show all unassigned cases
|
|
252
|
-
**EUI-3049** Create datetime picker for use in write date fields (and edit read date fields for consistency)
|
|
253
|
-
**EUI-3732** ExUI - Breathing space data not persisted on Previous button click with ExpUI Demo
|
|
254
|
-
**EUI-2569** ExUI - Labels not displaying in Case Heading
|
|
255
|
-
**EUI-3870** ExUI - Unresponsive and 'laggy' show-hide conditions
|
|
256
|
-
**EUI-3682** Callback Error still not showing proper error message in XUI screen
|
|
257
|
-
**EUI-3505** Applied fix to disable and enable collection remove button based on CRUD permissions
|
|
258
|
-
**EUI-2039** Changed Date Input fields to conform to accessibility standards
|
|
259
|
-
**EUI-2029** WCAG AA Status Message Fixes
|
|
260
|
-
**EUI-2739** Fix "retain hidden fields" functionality for Complex collection, nested Complex, and nested Complex collection types
|
|
261
|
-
**EUI-3622** Re-evaluate "retain hidden value" matrix linked to acceptance criteria
|
|
262
|
-
**EUI-3868** "Retain Hidden Value" matrix - support for Scenarios 5 and 8 for "retain = true"
|
|
263
|
-
**EUI-2744** EventToComplexTypes regression with hidden fields
|
|
264
|
-
**EUI-4106** Show/hide functionality
|
|
265
|
-
|
|
266
|
-
### Version 3.1.5-nested-multi-select-labels-theta
|
|
267
|
-
**EUI-3581** Fixed an issue with label placeholders not working for multiselects within complex fields or collections. Also fixed an issue with FixedRadioList fields showing the code, not the label. Finally,
|
|
268
|
-
fixed an issue with the rendering of complex collections on the Case Details tabs.
|
|
269
|
-
|
|
270
|
-
### Version 3.1.5-datetime-picker-validation
|
|
271
|
-
**EUI-4118** Add and improve validation to datetime picker
|
|
272
197
|
|
|
273
198
|
### Version 3.1.5-nested-multi-select-labels-theta
|
|
274
199
|
**EUI-3581** Fixed an issue with label placeholders not working for multiselects within complex fields or collections. Also fixed an issue with FixedRadioList fields showing the code, not the label. Finally,
|
package/dist/index.umd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @hmcts/ccd-case-ui-toolkit - Case UI Toolkit
|
|
3
|
-
* @version v4.8.3-rc.
|
|
3
|
+
* @version v4.8.3-rc.7
|
|
4
4
|
* @link undefined
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -17166,6 +17166,8 @@ var CaseAccessUtils = /** @class */ (function () {
|
|
|
17166
17166
|
function CaseAccessUtils() {
|
|
17167
17167
|
}
|
|
17168
17168
|
CaseAccessUtils.prototype.getMappedRoleCategory = function (roles, roleCategories) {
|
|
17169
|
+
if (roles === void 0) { roles = []; }
|
|
17170
|
+
if (roleCategories === void 0) { roleCategories = []; }
|
|
17169
17171
|
var roleKeywords = roles.join().split('-').join().split(',');
|
|
17170
17172
|
if (this.roleOrCategoryExists(CaseAccessUtils.JUDGE_ROLE, CaseAccessUtils.JUDGE_ROLE_CATEGORY, roleKeywords, roleCategories)) {
|
|
17171
17173
|
return CaseAccessUtils.JUDGE_ROLE_CATEGORY;
|
|
@@ -17209,6 +17211,35 @@ var CaseAccessUtils = /** @class */ (function () {
|
|
|
17209
17211
|
}
|
|
17210
17212
|
return roleName;
|
|
17211
17213
|
};
|
|
17214
|
+
CaseAccessUtils.prototype.getAMPayload = function (assignerId, actorId, roleName, roleCategory, grantType, caseId, details, beginTime, endTime) {
|
|
17215
|
+
if (beginTime === void 0) { beginTime = null; }
|
|
17216
|
+
if (endTime === void 0) { endTime = null; }
|
|
17217
|
+
var payload = {
|
|
17218
|
+
roleRequest: {
|
|
17219
|
+
assignerId: assignerId
|
|
17220
|
+
},
|
|
17221
|
+
requestedRoles: [{
|
|
17222
|
+
actorIdType: 'IDAM',
|
|
17223
|
+
actorId: actorId,
|
|
17224
|
+
roleType: 'CASE',
|
|
17225
|
+
roleName: roleName,
|
|
17226
|
+
classification: 'PUBLIC',
|
|
17227
|
+
roleCategory: roleCategory,
|
|
17228
|
+
grantType: grantType,
|
|
17229
|
+
beginTime: beginTime,
|
|
17230
|
+
endTime: endTime,
|
|
17231
|
+
attributes: {
|
|
17232
|
+
caseId: caseId
|
|
17233
|
+
},
|
|
17234
|
+
notes: [{
|
|
17235
|
+
userId: assignerId,
|
|
17236
|
+
time: new Date(),
|
|
17237
|
+
comment: JSON.stringify(details)
|
|
17238
|
+
}]
|
|
17239
|
+
}]
|
|
17240
|
+
};
|
|
17241
|
+
return payload;
|
|
17242
|
+
};
|
|
17212
17243
|
// User role mapping
|
|
17213
17244
|
CaseAccessUtils.JUDGE_ROLE = 'judge';
|
|
17214
17245
|
CaseAccessUtils.JUDGE_ROLE_CATEGORY = 'JUDICIAL';
|
|
@@ -17721,11 +17752,11 @@ var CaseEditPageComponent = /** @class */ (function () {
|
|
|
17721
17752
|
if (this.currentPageIsNotValid()) {
|
|
17722
17753
|
this.generateErrorMessage(this.currentPage.case_fields);
|
|
17723
17754
|
}
|
|
17724
|
-
this.showSpinner = true;
|
|
17725
17755
|
if (!this.isSubmitting && !this.currentPageIsNotValid()) {
|
|
17726
17756
|
this.isSubmitting = true;
|
|
17727
17757
|
this.error = null;
|
|
17728
17758
|
var caseEventData = this.buildCaseEventData();
|
|
17759
|
+
this.showSpinner = true;
|
|
17729
17760
|
this.caseEdit.validate(caseEventData, this.currentPage.id)
|
|
17730
17761
|
.subscribe(function (jsonData) {
|
|
17731
17762
|
if (jsonData) {
|
|
@@ -19043,6 +19074,7 @@ var router_helper_service_1 = __webpack_require__(61957);
|
|
|
19043
19074
|
var wizard_factory_service_1 = __webpack_require__(13125);
|
|
19044
19075
|
var conditional_show_model_1 = __webpack_require__(5369);
|
|
19045
19076
|
var event_trigger_service_1 = __webpack_require__(17051);
|
|
19077
|
+
var fields_1 = __webpack_require__(64906);
|
|
19046
19078
|
var CaseEditWizardGuard = /** @class */ (function () {
|
|
19047
19079
|
function CaseEditWizardGuard(router, routerHelper, wizardFactory, alertService, eventTriggerService) {
|
|
19048
19080
|
this.router = router;
|
|
@@ -19098,6 +19130,15 @@ var CaseEditWizardGuard = /** @class */ (function () {
|
|
|
19098
19130
|
};
|
|
19099
19131
|
CaseEditWizardGuard.prototype.buildState = function (caseFields) {
|
|
19100
19132
|
var state = {};
|
|
19133
|
+
/**
|
|
19134
|
+
*
|
|
19135
|
+
* EUI-4873 SSCS - Dynamic lists in a collection within a complex type
|
|
19136
|
+
*
|
|
19137
|
+
* Catering for mid event callbacks, hence the call to re-evaluate
|
|
19138
|
+
* for DynamicList's
|
|
19139
|
+
*
|
|
19140
|
+
*/
|
|
19141
|
+
fields_1.FieldsUtils.handleNestedDynamicLists({ case_fields: caseFields });
|
|
19101
19142
|
caseFields.forEach(function (field) {
|
|
19102
19143
|
state[field.id] = field.value;
|
|
19103
19144
|
});
|
|
@@ -19159,17 +19200,6 @@ exports.CaseNotifier = CaseNotifier;
|
|
|
19159
19200
|
|
|
19160
19201
|
"use strict";
|
|
19161
19202
|
|
|
19162
|
-
var __assign = (this && this.__assign) || function () {
|
|
19163
|
-
__assign = Object.assign || function(t) {
|
|
19164
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19165
|
-
s = arguments[i];
|
|
19166
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
19167
|
-
t[p] = s[p];
|
|
19168
|
-
}
|
|
19169
|
-
return t;
|
|
19170
|
-
};
|
|
19171
|
-
return __assign.apply(this, arguments);
|
|
19172
|
-
};
|
|
19173
19203
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19174
19204
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19175
19205
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -19240,73 +19270,6 @@ var CasesService = /** @class */ (function () {
|
|
|
19240
19270
|
return rxjs_1.throwError(error);
|
|
19241
19271
|
}), operators_1.finalize(function () { return _this.loadingService.unregister(loadingToken); }));
|
|
19242
19272
|
};
|
|
19243
|
-
/**
|
|
19244
|
-
* handleNestedDynamicLists()
|
|
19245
|
-
* Reassigns list_item and value data to DynamicList children
|
|
19246
|
-
* down the tree. Server response returns data only in
|
|
19247
|
-
* the `value` object of parent complex type
|
|
19248
|
-
*
|
|
19249
|
-
* EUI-2530 Dynamic Lists for Elements in a Complex Type
|
|
19250
|
-
*
|
|
19251
|
-
* @param jsonBody - { case_fields: [ CaseField, CaseField ] }
|
|
19252
|
-
*/
|
|
19253
|
-
CasesService.prototype.handleNestedDynamicLists = function (jsonBody) {
|
|
19254
|
-
var _this = this;
|
|
19255
|
-
if (jsonBody.case_fields) {
|
|
19256
|
-
jsonBody.case_fields.forEach(function (caseField) {
|
|
19257
|
-
if (caseField.field_type) {
|
|
19258
|
-
_this.setDynamicListDefinition(caseField, caseField.field_type, caseField);
|
|
19259
|
-
}
|
|
19260
|
-
});
|
|
19261
|
-
}
|
|
19262
|
-
return jsonBody;
|
|
19263
|
-
};
|
|
19264
|
-
CasesService.prototype.setDynamicListDefinition = function (caseField, caseFieldType, rootCaseField) {
|
|
19265
|
-
var _this = this;
|
|
19266
|
-
if (caseFieldType.type === CasesService_1.SERVER_RESPONSE_FIELD_TYPE_COMPLEX) {
|
|
19267
|
-
caseFieldType.complex_fields.forEach(function (field) {
|
|
19268
|
-
try {
|
|
19269
|
-
var isDynamicField = CasesService_1.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE.indexOf(field.field_type.type) !== -1;
|
|
19270
|
-
if (isDynamicField) {
|
|
19271
|
-
var dynamicListValue = _this.getDynamicListValue(rootCaseField.value, field.id);
|
|
19272
|
-
if (dynamicListValue) {
|
|
19273
|
-
var list_items = dynamicListValue.list_items;
|
|
19274
|
-
var value = dynamicListValue.value;
|
|
19275
|
-
field.value = {
|
|
19276
|
-
list_items: list_items,
|
|
19277
|
-
value: value ? value : undefined
|
|
19278
|
-
};
|
|
19279
|
-
field.formatted_value = __assign({}, field.formatted_value, field.value);
|
|
19280
|
-
}
|
|
19281
|
-
}
|
|
19282
|
-
else {
|
|
19283
|
-
_this.setDynamicListDefinition(field, field.field_type, rootCaseField);
|
|
19284
|
-
}
|
|
19285
|
-
}
|
|
19286
|
-
catch (error) {
|
|
19287
|
-
console.log(error);
|
|
19288
|
-
}
|
|
19289
|
-
});
|
|
19290
|
-
}
|
|
19291
|
-
else if (caseFieldType.type === CasesService_1.SERVER_RESPONSE_FIELD_TYPE_COLLECTION) {
|
|
19292
|
-
if (caseFieldType.collection_field_type) {
|
|
19293
|
-
this.setDynamicListDefinition(caseField, caseFieldType.collection_field_type, rootCaseField);
|
|
19294
|
-
}
|
|
19295
|
-
}
|
|
19296
|
-
};
|
|
19297
|
-
CasesService.prototype.getDynamicListValue = function (jsonBlock, key) {
|
|
19298
|
-
if (jsonBlock[key]) {
|
|
19299
|
-
return jsonBlock[key];
|
|
19300
|
-
}
|
|
19301
|
-
else {
|
|
19302
|
-
for (var elementKey in jsonBlock) {
|
|
19303
|
-
if (typeof jsonBlock === 'object' && jsonBlock.hasOwnProperty(elementKey)) {
|
|
19304
|
-
return this.getDynamicListValue(jsonBlock[elementKey], key);
|
|
19305
|
-
}
|
|
19306
|
-
}
|
|
19307
|
-
}
|
|
19308
|
-
return null;
|
|
19309
|
-
};
|
|
19310
19273
|
CasesService.prototype.getEventTrigger = function (caseTypeId, eventTriggerId, caseId, ignoreWarning) {
|
|
19311
19274
|
var _this = this;
|
|
19312
19275
|
ignoreWarning = undefined !== ignoreWarning ? ignoreWarning : 'false';
|
|
@@ -19326,7 +19289,7 @@ var CasesService = /** @class */ (function () {
|
|
|
19326
19289
|
return this.http
|
|
19327
19290
|
.get(url, { headers: headers, observe: 'body' })
|
|
19328
19291
|
.pipe(operators_1.map(function (body) {
|
|
19329
|
-
return
|
|
19292
|
+
return services_1.FieldsUtils.handleNestedDynamicLists(body);
|
|
19330
19293
|
}), operators_1.catchError(function (error) {
|
|
19331
19294
|
_this.errorService.setError(error);
|
|
19332
19295
|
return rxjs_1.throwError(error);
|
|
@@ -19468,32 +19431,23 @@ var CasesService = /** @class */ (function () {
|
|
|
19468
19431
|
}
|
|
19469
19432
|
var roleCategory = camUtils.getMappedRoleCategory(userInfo.roles, userInfo.roleCategories);
|
|
19470
19433
|
var roleName = camUtils.getAMRoleName('challenged', roleCategory);
|
|
19471
|
-
var
|
|
19472
|
-
|
|
19473
|
-
|
|
19474
|
-
|
|
19475
|
-
|
|
19476
|
-
|
|
19477
|
-
|
|
19478
|
-
|
|
19479
|
-
|
|
19480
|
-
|
|
19481
|
-
|
|
19482
|
-
|
|
19483
|
-
|
|
19484
|
-
|
|
19485
|
-
|
|
19486
|
-
|
|
19487
|
-
|
|
19488
|
-
notes: [{
|
|
19489
|
-
userId: userInfo.id,
|
|
19490
|
-
time: new Date(),
|
|
19491
|
-
comment: JSON.stringify(car)
|
|
19492
|
-
}
|
|
19493
|
-
]
|
|
19494
|
-
}]
|
|
19495
|
-
};
|
|
19496
|
-
return this.http.post("" + this.appConfig.getCamRoleAssignmentsApiUrl(), payload);
|
|
19434
|
+
var beginTime = new Date();
|
|
19435
|
+
var endTime = new Date(new Date().setUTCHours(23, 59, 59, 999));
|
|
19436
|
+
var payload = camUtils.getAMPayload(userInfo.id, userInfo.id, roleName, roleCategory, 'CHALLENGED', caseId, car, beginTime, endTime);
|
|
19437
|
+
return this.http.post(this.appConfig.getCamRoleAssignmentsApiUrl() + "/challenged", payload);
|
|
19438
|
+
};
|
|
19439
|
+
CasesService.prototype.createSpecificAccessRequest = function (caseId, sar) {
|
|
19440
|
+
// Assignment API endpoint
|
|
19441
|
+
var userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
19442
|
+
var camUtils = new case_access_utils_1.CaseAccessUtils();
|
|
19443
|
+
var userInfo;
|
|
19444
|
+
if (userInfoStr) {
|
|
19445
|
+
userInfo = JSON.parse(userInfoStr);
|
|
19446
|
+
}
|
|
19447
|
+
var roleCategory = camUtils.getMappedRoleCategory(userInfo.roles, userInfo.roleCategories);
|
|
19448
|
+
var roleName = camUtils.getAMRoleName('specific', roleCategory);
|
|
19449
|
+
var payload = camUtils.getAMPayload(null, userInfo.id, roleName, roleCategory, 'SPECIFIC', caseId, sar);
|
|
19450
|
+
return this.http.post(this.appConfig.getCamRoleAssignmentsApiUrl() + "/specific", payload);
|
|
19497
19451
|
};
|
|
19498
19452
|
var CasesService_1;
|
|
19499
19453
|
// Internal (UI) API
|
|
@@ -19506,10 +19460,6 @@ var CasesService = /** @class */ (function () {
|
|
|
19506
19460
|
CasesService.V2_MEDIATYPE_CASE_DATA_VALIDATE = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.case-data-validate.v2+json;charset=UTF-8';
|
|
19507
19461
|
CasesService.V2_MEDIATYPE_CREATE_EVENT = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-event.v2+json;charset=UTF-8';
|
|
19508
19462
|
CasesService.V2_MEDIATYPE_CREATE_CASE = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-case.v2+json;charset=UTF-8';
|
|
19509
|
-
// Handling of Dynamic Lists in Complex Types
|
|
19510
|
-
CasesService.SERVER_RESPONSE_FIELD_TYPE_COLLECTION = 'Collection';
|
|
19511
|
-
CasesService.SERVER_RESPONSE_FIELD_TYPE_COMPLEX = 'Complex';
|
|
19512
|
-
CasesService.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE = ['DynamicList', 'DynamicRadioList'];
|
|
19513
19463
|
CasesService.PUI_CASE_MANAGER = 'pui-case-manager';
|
|
19514
19464
|
CasesService = CasesService_1 = __decorate([
|
|
19515
19465
|
core_1.Injectable(),
|
|
@@ -21395,6 +21345,7 @@ var CaseFullAccessViewComponent = /** @class */ (function () {
|
|
|
21395
21345
|
this.hasPrint = true;
|
|
21396
21346
|
this.hasEventSelector = true;
|
|
21397
21347
|
this.prependedTabs = [];
|
|
21348
|
+
this.appendedTabs = [];
|
|
21398
21349
|
this.BANNER = domain_1.DisplayMode.BANNER;
|
|
21399
21350
|
this.triggerTextStart = CaseFullAccessViewComponent_1.TRIGGER_TEXT_START;
|
|
21400
21351
|
this.triggerTextIgnoreWarnings = CaseFullAccessViewComponent_1.TRIGGER_TEXT_CONTINUE;
|
|
@@ -21484,7 +21435,7 @@ var CaseFullAccessViewComponent = /** @class */ (function () {
|
|
|
21484
21435
|
}
|
|
21485
21436
|
};
|
|
21486
21437
|
CaseFullAccessViewComponent.prototype.hasTabsPresent = function () {
|
|
21487
|
-
return this.sortedTabs.length > 0 || this.prependedTabs.length > 0;
|
|
21438
|
+
return this.sortedTabs.length > 0 || this.prependedTabs.length > 0 || this.appendedTabs.length > 0;
|
|
21488
21439
|
};
|
|
21489
21440
|
CaseFullAccessViewComponent.prototype.callbackErrorsNotify = function (callbackErrorsContext) {
|
|
21490
21441
|
this.ignoreWarning = callbackErrorsContext.ignore_warning;
|
|
@@ -21533,7 +21484,9 @@ var CaseFullAccessViewComponent = /** @class */ (function () {
|
|
|
21533
21484
|
CaseFullAccessViewComponent.prototype.tabChanged = function (tabChangeEvent) {
|
|
21534
21485
|
var tab = tabChangeEvent.tab['_viewContainerRef'];
|
|
21535
21486
|
var id = tab.element.nativeElement.id;
|
|
21536
|
-
|
|
21487
|
+
var tabsLengthBeforeAppended = this.prependedTabs.length + this.caseDetails.tabs.length;
|
|
21488
|
+
if ((tabChangeEvent.index <= 1 && this.prependedTabs.length) ||
|
|
21489
|
+
(tabChangeEvent.index >= tabsLengthBeforeAppended && this.appendedTabs.length)) {
|
|
21537
21490
|
this.router.navigate([id], { relativeTo: this.route });
|
|
21538
21491
|
}
|
|
21539
21492
|
else {
|
|
@@ -21616,6 +21569,10 @@ var CaseFullAccessViewComponent = /** @class */ (function () {
|
|
|
21616
21569
|
core_1.Input(),
|
|
21617
21570
|
__metadata("design:type", Array)
|
|
21618
21571
|
], CaseFullAccessViewComponent.prototype, "prependedTabs", void 0);
|
|
21572
|
+
__decorate([
|
|
21573
|
+
core_1.Input(),
|
|
21574
|
+
__metadata("design:type", Array)
|
|
21575
|
+
], CaseFullAccessViewComponent.prototype, "appendedTabs", void 0);
|
|
21619
21576
|
__decorate([
|
|
21620
21577
|
core_1.ViewChild('tabGroup'),
|
|
21621
21578
|
__metadata("design:type", material_1.MatTabGroup)
|
|
@@ -21898,11 +21855,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
21898
21855
|
var core_1 = __webpack_require__(57208);
|
|
21899
21856
|
var forms_1 = __webpack_require__(92985);
|
|
21900
21857
|
var router_1 = __webpack_require__(92302);
|
|
21858
|
+
var case_editor_1 = __webpack_require__(27070);
|
|
21901
21859
|
var models_1 = __webpack_require__(3234);
|
|
21902
21860
|
var CaseSpecificAccessRequestComponent = /** @class */ (function () {
|
|
21903
|
-
function CaseSpecificAccessRequestComponent(fb, router, route) {
|
|
21861
|
+
function CaseSpecificAccessRequestComponent(fb, router, casesService, route) {
|
|
21904
21862
|
this.fb = fb;
|
|
21905
21863
|
this.router = router;
|
|
21864
|
+
this.casesService = casesService;
|
|
21906
21865
|
this.route = route;
|
|
21907
21866
|
this.collapsed = false;
|
|
21908
21867
|
this.submitted = false;
|
|
@@ -21940,6 +21899,7 @@ var CaseSpecificAccessRequestComponent = /** @class */ (function () {
|
|
|
21940
21899
|
this.formGroup.get(this.specificReasonControlName).setValue('');
|
|
21941
21900
|
};
|
|
21942
21901
|
CaseSpecificAccessRequestComponent.prototype.onSubmit = function () {
|
|
21902
|
+
var _this = this;
|
|
21943
21903
|
this.submitted = true;
|
|
21944
21904
|
if (this.formGroup.get(this.specificReasonControlName).invalid) {
|
|
21945
21905
|
this.errorMessage = {
|
|
@@ -21948,6 +21908,22 @@ var CaseSpecificAccessRequestComponent = /** @class */ (function () {
|
|
|
21948
21908
|
fieldId: 'specific-reason',
|
|
21949
21909
|
};
|
|
21950
21910
|
}
|
|
21911
|
+
// Initiate Specific Access Request
|
|
21912
|
+
if (this.formGroup.valid) {
|
|
21913
|
+
// Get the Case Reference (for which access is being requested) from the ActivatedRouteSnapshot data
|
|
21914
|
+
var caseId = this.route.snapshot.data.case.case_id;
|
|
21915
|
+
var specificAccessRequest = {
|
|
21916
|
+
specificReason: this.formGroup.get(this.specificReasonControlName).value
|
|
21917
|
+
};
|
|
21918
|
+
this.$roleAssignmentResponseSubscription = this.casesService.createSpecificAccessRequest(caseId, specificAccessRequest)
|
|
21919
|
+
.subscribe(function (_response) {
|
|
21920
|
+
// Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
|
|
21921
|
+
// Angular 7.2!
|
|
21922
|
+
_this.router.navigate(['success'], { relativeTo: _this.route });
|
|
21923
|
+
}, function (_error) {
|
|
21924
|
+
// Navigate to error page
|
|
21925
|
+
});
|
|
21926
|
+
}
|
|
21951
21927
|
};
|
|
21952
21928
|
CaseSpecificAccessRequestComponent.prototype.onCancel = function () {
|
|
21953
21929
|
// Navigate to the page before previous one (should be Search Results or Case List page, for example)
|
|
@@ -21965,6 +21941,7 @@ var CaseSpecificAccessRequestComponent = /** @class */ (function () {
|
|
|
21965
21941
|
}),
|
|
21966
21942
|
__metadata("design:paramtypes", [forms_1.FormBuilder,
|
|
21967
21943
|
router_1.Router,
|
|
21944
|
+
case_editor_1.CasesService,
|
|
21968
21945
|
router_1.ActivatedRoute])
|
|
21969
21946
|
], CaseSpecificAccessRequestComponent);
|
|
21970
21947
|
return CaseSpecificAccessRequestComponent;
|
|
@@ -22175,6 +22152,7 @@ var CaseViewerComponent = /** @class */ (function () {
|
|
|
22175
22152
|
this.hasPrint = true;
|
|
22176
22153
|
this.hasEventSelector = true;
|
|
22177
22154
|
this.prependedTabs = [];
|
|
22155
|
+
this.appendedTabs = [];
|
|
22178
22156
|
}
|
|
22179
22157
|
CaseViewerComponent_1 = CaseViewerComponent;
|
|
22180
22158
|
CaseViewerComponent.prototype.ngOnInit = function () {
|
|
@@ -22218,7 +22196,7 @@ var CaseViewerComponent = /** @class */ (function () {
|
|
|
22218
22196
|
// remove once Access management goes live
|
|
22219
22197
|
CaseViewerComponent.prototype.setMockData = function (caseDetails) {
|
|
22220
22198
|
var accessManagementBasicViewMock = this.appConfig.getAccessManagementBasicViewMock();
|
|
22221
|
-
if (accessManagementBasicViewMock.active && !caseDetails.basicFields) {
|
|
22199
|
+
if (accessManagementBasicViewMock && accessManagementBasicViewMock.active && !caseDetails.basicFields) {
|
|
22222
22200
|
var access_process_index = caseDetails.metadataFields.findIndex(function (metadataField) {
|
|
22223
22201
|
return metadataField.id === CaseViewerComponent_1.METADATA_FIELD_ACCESS_PROCEES_ID;
|
|
22224
22202
|
});
|
|
@@ -22253,6 +22231,10 @@ var CaseViewerComponent = /** @class */ (function () {
|
|
|
22253
22231
|
core_1.Input(),
|
|
22254
22232
|
__metadata("design:type", Array)
|
|
22255
22233
|
], CaseViewerComponent.prototype, "prependedTabs", void 0);
|
|
22234
|
+
__decorate([
|
|
22235
|
+
core_1.Input(),
|
|
22236
|
+
__metadata("design:type", Array)
|
|
22237
|
+
], CaseViewerComponent.prototype, "appendedTabs", void 0);
|
|
22256
22238
|
__decorate([
|
|
22257
22239
|
core_1.Input(),
|
|
22258
22240
|
__metadata("design:type", domain_1.CaseView)
|
|
@@ -25250,13 +25232,11 @@ var WriteCaseLinkFieldComponent = /** @class */ (function (_super) {
|
|
|
25250
25232
|
WriteCaseLinkFieldComponent.prototype.ngOnInit = function () {
|
|
25251
25233
|
if (this.caseField.value) {
|
|
25252
25234
|
this.caseLinkGroup = this.registerControl(new forms_1.FormGroup({
|
|
25253
|
-
'Id': new forms_1.FormControl('LinkedCase'),
|
|
25254
25235
|
'CaseReference': new forms_1.FormControl(this.caseField.value.CaseReference),
|
|
25255
25236
|
}), true);
|
|
25256
25237
|
}
|
|
25257
25238
|
else {
|
|
25258
25239
|
this.caseLinkGroup = this.registerControl(new forms_1.FormGroup({
|
|
25259
|
-
'Id': new forms_1.FormControl('LinkedCase'),
|
|
25260
25240
|
'CaseReference': new forms_1.FormControl(),
|
|
25261
25241
|
}), true);
|
|
25262
25242
|
}
|
|
@@ -25860,6 +25840,10 @@ var ReadFieldsFilterPipe = /** @class */ (function () {
|
|
|
25860
25840
|
return !!hasChildrenWithValue;
|
|
25861
25841
|
};
|
|
25862
25842
|
ReadFieldsFilterPipe.isValidCollection = function (field, values) {
|
|
25843
|
+
// if field is collection and it has complex/collection child field; parent field doesnt have value defined
|
|
25844
|
+
if (!Array.isArray(field.value) && values && values.hasOwnProperty(field.id)) {
|
|
25845
|
+
return true;
|
|
25846
|
+
}
|
|
25863
25847
|
var isNotEmpty = Array.isArray(field.value) && field.value.length > 0;
|
|
25864
25848
|
if (isNotEmpty && field.field_type.collection_field_type.type === 'Complex') {
|
|
25865
25849
|
return !!field.value.find(function (item) {
|
|
@@ -27761,9 +27745,6 @@ var WriteDocumentFieldComponent = /** @class */ (function (_super) {
|
|
|
27761
27745
|
this.displayFileUploadMessages(WriteDocumentFieldComponent_1.UPLOAD_WAITING_FILE_STATUS);
|
|
27762
27746
|
var documentUpload = this.buildDocumentUploadData(this.selectedFile);
|
|
27763
27747
|
this.fileUploadStateService.setUploadInProgress(true);
|
|
27764
|
-
var uploadFile = this.secureModeOn ?
|
|
27765
|
-
this.documentManagement.secureUploadFile(documentUpload) :
|
|
27766
|
-
this.documentManagement.uploadFile(documentUpload);
|
|
27767
27748
|
this.fileUploadSubscription = this.documentManagement.uploadFile(documentUpload).subscribe({
|
|
27768
27749
|
next: function (resultDocument) { return _this.handleDocumentUploadResult(resultDocument); },
|
|
27769
27750
|
error: function (error) { return _this.handleDocumentUploadError(error); }
|
|
@@ -38472,14 +38453,6 @@ var DocumentManagementService = /** @class */ (function () {
|
|
|
38472
38453
|
.pipe(operators_1.delay(DocumentManagementService_1.RESPONSE_DELAY))
|
|
38473
38454
|
.pipe();
|
|
38474
38455
|
};
|
|
38475
|
-
DocumentManagementService.prototype.secureUploadFile = function (formData) {
|
|
38476
|
-
var url = this.appConfig.getDocumentManagementUrlV2();
|
|
38477
|
-
var headers = new http_2.HttpHeaders();
|
|
38478
|
-
return this.http
|
|
38479
|
-
.post(url, formData, { headers: headers, observe: 'body' })
|
|
38480
|
-
.pipe(operators_1.delay(DocumentManagementService_1.RESPONSE_DELAY))
|
|
38481
|
-
.pipe();
|
|
38482
|
-
};
|
|
38483
38456
|
DocumentManagementService.prototype.getMediaViewerInfo = function (documentFieldValue) {
|
|
38484
38457
|
var mediaViewerInfo = {
|
|
38485
38458
|
document_binary_url: this.transformDocumentUrl(documentFieldValue.document_binary_url),
|
|
@@ -39120,6 +39093,17 @@ exports.FieldsPurger = FieldsPurger;
|
|
|
39120
39093
|
|
|
39121
39094
|
"use strict";
|
|
39122
39095
|
|
|
39096
|
+
var __assign = (this && this.__assign) || function () {
|
|
39097
|
+
__assign = Object.assign || function(t) {
|
|
39098
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
39099
|
+
s = arguments[i];
|
|
39100
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
39101
|
+
t[p] = s[p];
|
|
39102
|
+
}
|
|
39103
|
+
return t;
|
|
39104
|
+
};
|
|
39105
|
+
return __assign.apply(this, arguments);
|
|
39106
|
+
};
|
|
39123
39107
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
39124
39108
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
39125
39109
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -39263,6 +39247,74 @@ var FieldsUtils = /** @class */ (function () {
|
|
|
39263
39247
|
: typeof x === 'number' || x.length > 0)); });
|
|
39264
39248
|
return !hasNonNullPrimitive ? objectRefs.some(function (y) { return _this.containsNonEmptyValues(y); }) : hasNonNullPrimitive;
|
|
39265
39249
|
};
|
|
39250
|
+
/**
|
|
39251
|
+
* handleNestedDynamicLists()
|
|
39252
|
+
* Reassigns list_item and value data to DynamicList children
|
|
39253
|
+
* down the tree. Server response returns data only in
|
|
39254
|
+
* the `value` object of parent complex type
|
|
39255
|
+
*
|
|
39256
|
+
* EUI-2530 Dynamic Lists for Elements in a Complex Type
|
|
39257
|
+
*
|
|
39258
|
+
* @param jsonBody - { case_fields: [ CaseField, CaseField ] }
|
|
39259
|
+
*/
|
|
39260
|
+
FieldsUtils.handleNestedDynamicLists = function (jsonBody) {
|
|
39261
|
+
var _this = this;
|
|
39262
|
+
if (jsonBody.case_fields) {
|
|
39263
|
+
jsonBody.case_fields.forEach(function (caseField) {
|
|
39264
|
+
if (caseField.field_type) {
|
|
39265
|
+
_this.setDynamicListDefinition(caseField, caseField.field_type, caseField);
|
|
39266
|
+
}
|
|
39267
|
+
});
|
|
39268
|
+
}
|
|
39269
|
+
return jsonBody;
|
|
39270
|
+
};
|
|
39271
|
+
FieldsUtils.setDynamicListDefinition = function (caseField, caseFieldType, rootCaseField) {
|
|
39272
|
+
var _this = this;
|
|
39273
|
+
if (caseFieldType.type === FieldsUtils_1.SERVER_RESPONSE_FIELD_TYPE_COMPLEX) {
|
|
39274
|
+
caseFieldType.complex_fields.forEach(function (field) {
|
|
39275
|
+
try {
|
|
39276
|
+
var isDynamicField = FieldsUtils_1.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE.indexOf(field.field_type.type) !== -1;
|
|
39277
|
+
if (isDynamicField) {
|
|
39278
|
+
var dynamicListValue = _this.getDynamicListValue(rootCaseField.value, field.id);
|
|
39279
|
+
if (dynamicListValue) {
|
|
39280
|
+
var list_items = dynamicListValue.list_items;
|
|
39281
|
+
var complexValue = dynamicListValue.value;
|
|
39282
|
+
var value = {
|
|
39283
|
+
list_items: list_items,
|
|
39284
|
+
value: complexValue ? complexValue : undefined
|
|
39285
|
+
};
|
|
39286
|
+
field.value = __assign({}, value);
|
|
39287
|
+
field.formatted_value = __assign({}, field.formatted_value, value);
|
|
39288
|
+
}
|
|
39289
|
+
}
|
|
39290
|
+
else {
|
|
39291
|
+
_this.setDynamicListDefinition(field, field.field_type, rootCaseField);
|
|
39292
|
+
}
|
|
39293
|
+
}
|
|
39294
|
+
catch (error) {
|
|
39295
|
+
console.log(error);
|
|
39296
|
+
}
|
|
39297
|
+
});
|
|
39298
|
+
}
|
|
39299
|
+
else if (caseFieldType.type === FieldsUtils_1.SERVER_RESPONSE_FIELD_TYPE_COLLECTION) {
|
|
39300
|
+
if (caseFieldType.collection_field_type) {
|
|
39301
|
+
this.setDynamicListDefinition(caseField, caseFieldType.collection_field_type, rootCaseField);
|
|
39302
|
+
}
|
|
39303
|
+
}
|
|
39304
|
+
};
|
|
39305
|
+
FieldsUtils.getDynamicListValue = function (jsonBlock, key) {
|
|
39306
|
+
if (jsonBlock[key]) {
|
|
39307
|
+
return jsonBlock[key];
|
|
39308
|
+
}
|
|
39309
|
+
else {
|
|
39310
|
+
for (var elementKey in jsonBlock) {
|
|
39311
|
+
if (typeof jsonBlock === 'object' && jsonBlock.hasOwnProperty(elementKey)) {
|
|
39312
|
+
return this.getDynamicListValue(jsonBlock[elementKey], key);
|
|
39313
|
+
}
|
|
39314
|
+
}
|
|
39315
|
+
}
|
|
39316
|
+
return null;
|
|
39317
|
+
};
|
|
39266
39318
|
FieldsUtils.prototype.buildCanShowPredicate = function (eventTrigger, form) {
|
|
39267
39319
|
var currentState = this.getCurrentEventState(eventTrigger, form);
|
|
39268
39320
|
return function (page) {
|
|
@@ -39308,6 +39360,10 @@ var FieldsUtils = /** @class */ (function () {
|
|
|
39308
39360
|
FieldsUtils.datePipe = new utils_1.DatePipe(new format_translator_service_1.FormatTranslatorService());
|
|
39309
39361
|
// EUI-4244. 3 dashes instead of 1 to make this less likely to clash with a real field.
|
|
39310
39362
|
FieldsUtils.LABEL_SUFFIX = '---LABEL';
|
|
39363
|
+
// Handling of Dynamic Lists in Complex Types
|
|
39364
|
+
FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_COLLECTION = 'Collection';
|
|
39365
|
+
FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_COMPLEX = 'Complex';
|
|
39366
|
+
FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE = ['DynamicList', 'DynamicRadioList'];
|
|
39311
39367
|
FieldsUtils.DEFAULT_MERGE_FUNCTION = function mergeFunction(field, result) {
|
|
39312
39368
|
if (!result.hasOwnProperty(field.id)) {
|
|
39313
39369
|
result[field.id] = field.value;
|
|
@@ -69173,7 +69229,7 @@ module.exports = "<div *ngIf=\"isDataLoaded()\" class=\"screen-990\">\n <ccd-ac
|
|
|
69173
69229
|
/***/ 99839:
|
|
69174
69230
|
/***/ ((module) => {
|
|
69175
69231
|
|
|
69176
|
-
module.exports = "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n Something went wrong\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>We're working to fix the problem. Try again shortly.</p>\n <p><a href=\"get-help\" target=\"_blank\">Contact us</a> if you're still having problems.</p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n The callback data failed validation\n </h2>\n <p>{{error.message}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">Print</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedTabChange)=\"tabChanged($event)\" [disableRipple]=\"true\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\">\n <tbody>\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true : formGroup.controls['data']\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"caseFields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th>\n <div class=\"case-viewer-label text-16\">{{field.label}}</div>\n </th>\n <td>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\">\n </ccd-field-read>\n </span>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <th>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\">\n </ccd-field-read>\n </span>\n </th>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </tbody>\n </table>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n <router-outlet *ngIf=\"prependedTabs && prependedTabs.length\"></router-outlet>\n </ng-container>\n </div>\n</div
|
|
69232
|
+
module.exports = "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n Something went wrong\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>We're working to fix the problem. Try again shortly.</p>\n <p><a href=\"get-help\" target=\"_blank\">Contact us</a> if you're still having problems.</p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n The callback data failed validation\n </h2>\n <p>{{error.message}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">Print</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\" (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedTabChange)=\"tabChanged($event)\" [disableRipple]=\"true\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\">\n <tbody>\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true : formGroup.controls['data']\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"caseFields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th>\n <div class=\"case-viewer-label text-16\">{{field.label}}</div>\n </th>\n <td>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\">\n </ccd-field-read>\n </span>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <th>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\">\n </ccd-field-read>\n </span>\n </th>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </tbody>\n </table>\n </ng-template>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of appendedTabs\" [id]=\"tab.id\" [label]=\"tab.label\">\n </mat-tab>\n </mat-tab-group>\n <router-outlet *ngIf=\"(prependedTabs && prependedTabs.length) || (appendedTabs && appendedTabs.length)\"></router-outlet>\n </ng-container>\n </div>\n</div>\n"
|
|
69177
69233
|
|
|
69178
69234
|
/***/ }),
|
|
69179
69235
|
|
|
@@ -69208,7 +69264,7 @@ module.exports = "<div *ngIf=\"isDataLoaded()\">\n <ccd-case-viewer [hasPrint
|
|
|
69208
69264
|
/***/ 67025:
|
|
69209
69265
|
/***/ ((module) => {
|
|
69210
69266
|
|
|
69211
|
-
module.exports = "<div *ngIf=\"isDataLoaded()\">\n <ccd-case-basic-access-view *ngIf=\"!hasStandardAccess()\" [accessType]=\"userAccessType\" [caseDetails]=\"caseDetails\"></ccd-case-basic-access-view>\n <ccd-case-full-access-view *ngIf=\"hasStandardAccess()\" [caseDetails]=\"caseDetails\" [hasPrint]=\"hasPrint\" [hasEventSelector]=\"hasEventSelector\" [prependedTabs]=\"prependedTabs\"></ccd-case-full-access-view>\n</div>\n"
|
|
69267
|
+
module.exports = "<div *ngIf=\"isDataLoaded()\">\n <ccd-case-basic-access-view *ngIf=\"!hasStandardAccess()\" [accessType]=\"userAccessType\" [caseDetails]=\"caseDetails\"></ccd-case-basic-access-view>\n <ccd-case-full-access-view *ngIf=\"hasStandardAccess()\" [caseDetails]=\"caseDetails\" [hasPrint]=\"hasPrint\" [hasEventSelector]=\"hasEventSelector\" [prependedTabs]=\"prependedTabs\" [appendedTabs]=\"appendedTabs\"></ccd-case-full-access-view>\n</div>\n"
|
|
69212
69268
|
|
|
69213
69269
|
/***/ }),
|
|
69214
69270
|
|