@hmcts/ccd-case-ui-toolkit 4.3.2-EUI-4424-date-pickers-working-as-expected-r4 → 4.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/RELEASE-NOTES.md +2 -8
  2. package/dist/index.umd.js +132 -635
  3. package/dist/index.umd.js.map +1 -1
  4. package/dist/index.umd.min.js +1 -1
  5. package/dist/index.umd.min.js.LICENSE.txt +1 -9
  6. package/dist/index.umd.min.js.map +1 -1
  7. package/dist/shared/components/activity/activity.component.js +4 -2
  8. package/dist/shared/components/activity/activity.component.js.map +1 -1
  9. package/dist/shared/components/case-editor/case-edit-form/case-edit-form.component.js +9 -3
  10. package/dist/shared/components/case-editor/case-edit-form/case-edit-form.component.js.map +1 -1
  11. package/dist/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +1 -1
  12. package/dist/shared/components/case-editor/case-edit-page/case-edit-page.component.js +3 -3
  13. package/dist/shared/components/case-editor/case-edit-page/case-edit-page.component.js.map +1 -1
  14. package/dist/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +3 -1
  15. package/dist/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js.map +1 -1
  16. package/dist/shared/components/case-editor/domain/wizard.model.d.ts +1 -1
  17. package/dist/shared/components/case-editor/domain/wizard.model.js +2 -2
  18. package/dist/shared/components/case-editor/domain/wizard.model.js.map +1 -1
  19. package/dist/shared/components/case-history/case-history.component.js +3 -1
  20. package/dist/shared/components/case-history/case-history.component.js.map +1 -1
  21. package/dist/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +2 -2
  22. package/dist/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js.map +1 -1
  23. package/dist/shared/components/case-viewer/case-view/case-view.component.d.ts +4 -4
  24. package/dist/shared/components/case-viewer/case-view/case-view.component.js +13 -11
  25. package/dist/shared/components/case-viewer/case-view/case-view.component.js.map +1 -1
  26. package/dist/shared/components/case-viewer/case-view/case-view.component.metadata.json +1 -1
  27. package/dist/shared/components/case-viewer/case-viewer.component.d.ts +4 -6
  28. package/dist/shared/components/case-viewer/case-viewer.component.js +24 -55
  29. package/dist/shared/components/case-viewer/case-viewer.component.js.map +1 -1
  30. package/dist/shared/components/case-viewer/case-viewer.component.metadata.json +1 -1
  31. package/dist/shared/components/case-viewer/case-viewer.module.js +7 -8
  32. package/dist/shared/components/case-viewer/case-viewer.module.js.map +1 -1
  33. package/dist/shared/components/case-viewer/case-viewer.module.metadata.json +1 -1
  34. package/dist/shared/components/case-viewer/printer/case-printer.component.js +3 -1
  35. package/dist/shared/components/case-viewer/printer/case-printer.component.js.map +1 -1
  36. package/dist/shared/components/case-viewer/viewer.routing.js +5 -0
  37. package/dist/shared/components/case-viewer/viewer.routing.js.map +1 -1
  38. package/dist/shared/components/case-viewer/viewer.routing.metadata.json +1 -1
  39. package/dist/shared/components/error/callback-errors.component.js +3 -1
  40. package/dist/shared/components/error/callback-errors.component.js.map +1 -1
  41. package/dist/shared/components/palette/case-link/write-case-link-field.component.js +1 -1
  42. package/dist/shared/components/palette/case-link/write-case-link-field.component.js.map +1 -1
  43. package/dist/shared/components/palette/case-link/write-case-link-field.component.metadata.json +1 -1
  44. package/dist/shared/components/palette/collection/write-collection-field.component.js +1 -1
  45. package/dist/shared/components/palette/collection/write-collection-field.component.js.map +1 -1
  46. package/dist/shared/components/palette/complex/read-complex-field.component.js +1 -3
  47. package/dist/shared/components/palette/complex/read-complex-field.component.js.map +1 -1
  48. package/dist/shared/components/palette/date/write-date-field.component.js +1 -1
  49. package/dist/shared/components/palette/date/write-date-field.component.js.map +1 -1
  50. package/dist/shared/components/palette/date/write-date-field.component.metadata.json +1 -1
  51. package/dist/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +2 -3
  52. package/dist/shared/components/palette/datetime-picker/datetime-picker.component.js +7 -29
  53. package/dist/shared/components/palette/datetime-picker/datetime-picker.component.js.map +1 -1
  54. package/dist/shared/components/palette/datetime-picker/datetime-picker.component.metadata.json +1 -1
  55. package/dist/shared/components/palette/document/read-document-field.component.js.map +1 -1
  56. package/dist/shared/components/palette/dynamic-list/read-dynamic-list-field.component.js.map +1 -1
  57. package/dist/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +1 -1
  58. package/dist/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js.map +1 -1
  59. package/dist/shared/components/palette/dynamic-list/write-dynamic-list-field.component.metadata.json +1 -1
  60. package/dist/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.d.ts +1 -1
  61. package/dist/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.js +0 -7
  62. package/dist/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.js.map +1 -1
  63. package/dist/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js +0 -7
  64. package/dist/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js.map +1 -1
  65. package/dist/shared/components/palette/email/write-email-field.component.js +1 -1
  66. package/dist/shared/components/palette/email/write-email-field.component.js.map +1 -1
  67. package/dist/shared/components/palette/email/write-email-field.component.metadata.json +1 -1
  68. package/dist/shared/components/palette/fixed-list/write-fixed-list-field.component.js +1 -1
  69. package/dist/shared/components/palette/fixed-list/write-fixed-list-field.component.js.map +1 -1
  70. package/dist/shared/components/palette/fixed-list/write-fixed-list-field.component.metadata.json +1 -1
  71. package/dist/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +1 -1
  72. package/dist/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js.map +1 -1
  73. package/dist/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.metadata.json +1 -1
  74. package/dist/shared/components/palette/money-gbp/write-money-gbp-field.component.js +1 -1
  75. package/dist/shared/components/palette/money-gbp/write-money-gbp-field.component.js.map +1 -1
  76. package/dist/shared/components/palette/money-gbp/write-money-gbp-field.component.metadata.json +1 -1
  77. package/dist/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +1 -1
  78. package/dist/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js.map +1 -1
  79. package/dist/shared/components/palette/multi-select-list/write-multi-select-list-field.component.metadata.json +1 -1
  80. package/dist/shared/components/palette/palette.module.js +0 -1
  81. package/dist/shared/components/palette/palette.module.js.map +1 -1
  82. package/dist/shared/components/palette/palette.module.metadata.json +1 -1
  83. package/dist/shared/components/palette/phone-uk/write-phone-uk-field.component.js +1 -1
  84. package/dist/shared/components/palette/phone-uk/write-phone-uk-field.component.js.map +1 -1
  85. package/dist/shared/components/palette/phone-uk/write-phone-uk-field.component.metadata.json +1 -1
  86. package/dist/shared/components/palette/text/write-text-field.component.js +1 -1
  87. package/dist/shared/components/palette/text/write-text-field.component.js.map +1 -1
  88. package/dist/shared/components/palette/text/write-text-field.component.metadata.json +1 -1
  89. package/dist/shared/components/palette/text-area/write-text-area-field.component.js +1 -1
  90. package/dist/shared/components/palette/text-area/write-text-area-field.component.js.map +1 -1
  91. package/dist/shared/components/palette/text-area/write-text-area-field.component.metadata.json +1 -1
  92. package/dist/shared/components/palette/yes-no/write-yes-no-field.component.js +1 -1
  93. package/dist/shared/components/palette/yes-no/write-yes-no-field.component.js.map +1 -1
  94. package/dist/shared/components/palette/yes-no/write-yes-no-field.component.metadata.json +1 -1
  95. package/dist/shared/pipes/pipes.module.js +6 -6
  96. package/dist/shared/pipes/pipes.module.js.map +1 -1
  97. package/dist/shared/pipes/pipes.module.metadata.json +1 -1
  98. package/dist/shared/services/activity/activity.service.js +24 -11
  99. package/dist/shared/services/activity/activity.service.js.map +1 -1
  100. package/dist/shared/services/case-fields/format-translator.service.js +0 -7
  101. package/dist/shared/services/case-fields/format-translator.service.js.map +1 -1
  102. package/package.json +2 -4
  103. package/sonar-project.properties +4 -3
  104. package/.github/workflows/functionaltest.yml +0 -29
package/RELEASE-NOTES.md CHANGED
@@ -1,10 +1,7 @@
1
1
  ## RELEASE NOTES
2
2
 
3
- ### Version 4.0.0-value-disappearing
4
- **EUI-4364** Values disappearing after mid event callback when modifying case data
5
-
6
- ### Version 4.1.6-EUI-4343-case-field-validation-red-bar-missing
7
- **EUI-4343** CCD case field validation indicator missing in WA2 release 2 part2 branch
3
+ ### Version 4.3.4
4
+ **EUI-4210** Automated Test Failures
8
5
 
9
6
  ### Version 4.1.6-EUI-3528-4205-RHF-enhancements
10
7
  **EUI-3528** "Retain Hidden Value" support for DynamicList fields, _only_ for `retain_hidden_value` flag set to `false` or unspecified
@@ -117,9 +114,6 @@ fixed an issue with the rendering of complex collections on the Case Details tab
117
114
  **EUI-3581** Field interpolation does not work for the field type MultiSelectList
118
115
  **EUI-4244** SSCS - Midevent callbacks sending empty fields for optional empty document
119
116
 
120
- ### Version 4.0.0-prepended-tabs-v3
121
- **EUI-3777** Create prepended tabs on case view
122
-
123
117
  ### Version 4.0.0
124
118
  **EUI-4227** Fixed an error with show/hide not working quite right in some configurations.
125
119
  **EUI-2022** ExUI - Error Messages (Complex Type)
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.3.2-EUI-4424-date-pickers-working-as-expected-r4
3
+ * @version v4.3.4
4
4
  * @link undefined
5
5
  * @license MIT
6
6
  */
@@ -5194,468 +5194,6 @@ var NgxMatNativeDateModule = /** @class */ (function () {
5194
5194
 
5195
5195
  //# sourceMappingURL=angular-material-components-datetime-picker.js.map
5196
5196
 
5197
- /***/ }),
5198
-
5199
- /***/ 16153:
5200
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5201
-
5202
- "use strict";
5203
- __webpack_require__.r(__webpack_exports__);
5204
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5205
- /* harmony export */ "NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS": () => /* binding */ NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS,
5206
- /* harmony export */ "NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY": () => /* binding */ NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY,
5207
- /* harmony export */ "NGX_MAT_MOMENT_FORMATS": () => /* binding */ NGX_MAT_MOMENT_FORMATS,
5208
- /* harmony export */ "NgxMatMomentAdapter": () => /* binding */ NgxMatMomentAdapter,
5209
- /* harmony export */ "NgxMatMomentModule": () => /* binding */ NgxMatMomentModule,
5210
- /* harmony export */ "NgxMomentDateModule": () => /* binding */ NgxMomentDateModule
5211
- /* harmony export */ });
5212
- /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57208);
5213
- /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_angular_core__WEBPACK_IMPORTED_MODULE_0__);
5214
- /* harmony import */ var _angular_material_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36080);
5215
- /* harmony import */ var _angular_material_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_angular_material_core__WEBPACK_IMPORTED_MODULE_1__);
5216
- /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30381);
5217
- /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_2__);
5218
- /* harmony import */ var _angular_material_components_datetime_picker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99101);
5219
-
5220
-
5221
-
5222
-
5223
-
5224
-
5225
- /**
5226
- * @fileoverview added by tsickle
5227
- * Generated from: lib/moment-adapter.ts
5228
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5229
- */
5230
- /** @type {?} */
5231
- const moment = (moment__WEBPACK_IMPORTED_MODULE_2___default()) || moment__WEBPACK_IMPORTED_MODULE_2__;
5232
- /**
5233
- * Configurable options for {\@see MomentDateAdapter}.
5234
- * @record
5235
- */
5236
- function NgxMatMomentDateAdapterOptions() { }
5237
- if (false) {}
5238
- /**
5239
- * InjectionToken for moment date adapter to configure options.
5240
- * @type {?}
5241
- */
5242
- const NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken('NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS', {
5243
- providedIn: 'root',
5244
- factory: NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY
5245
- });
5246
- /**
5247
- * \@docs-private
5248
- * @return {?}
5249
- */
5250
- function NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY() {
5251
- return {
5252
- useUtc: false
5253
- };
5254
- }
5255
- /**
5256
- * Creates an array and fills it with values.
5257
- * @template T
5258
- * @param {?} length
5259
- * @param {?} valueFunction
5260
- * @return {?}
5261
- */
5262
- function range(length, valueFunction) {
5263
- /** @type {?} */
5264
- const valuesArray = Array(length);
5265
- for (let i = 0; i < length; i++) {
5266
- valuesArray[i] = valueFunction(i);
5267
- }
5268
- return valuesArray;
5269
- }
5270
- /**
5271
- * Adapts Moment.js Dates for use with Angular Material.
5272
- */
5273
- class NgxMatMomentAdapter extends _angular_material_components_datetime_picker__WEBPACK_IMPORTED_MODULE_3__.NgxMatDateAdapter {
5274
- /**
5275
- * @param {?} dateLocale
5276
- * @param {?=} _options
5277
- */
5278
- constructor(dateLocale, _options) {
5279
- super();
5280
- this._options = _options;
5281
- this.setLocale(dateLocale || moment.locale());
5282
- }
5283
- /**
5284
- * @param {?} locale
5285
- * @return {?}
5286
- */
5287
- setLocale(locale) {
5288
- super.setLocale(locale);
5289
- /** @type {?} */
5290
- let momentLocaleData = moment.localeData(locale);
5291
- this._localeData = {
5292
- firstDayOfWeek: momentLocaleData.firstDayOfWeek(),
5293
- longMonths: momentLocaleData.months(),
5294
- shortMonths: momentLocaleData.monthsShort(),
5295
- dates: range(31, (/**
5296
- * @param {?} i
5297
- * @return {?}
5298
- */
5299
- (i) => this.createDate(2017, 0, i + 1).format('D'))),
5300
- longDaysOfWeek: momentLocaleData.weekdays(),
5301
- shortDaysOfWeek: momentLocaleData.weekdaysShort(),
5302
- narrowDaysOfWeek: momentLocaleData.weekdaysMin(),
5303
- };
5304
- }
5305
- /**
5306
- * @param {?} date
5307
- * @return {?}
5308
- */
5309
- getYear(date) {
5310
- return this.clone(date).year();
5311
- }
5312
- /**
5313
- * @param {?} date
5314
- * @return {?}
5315
- */
5316
- getMonth(date) {
5317
- return this.clone(date).month();
5318
- }
5319
- /**
5320
- * @param {?} date
5321
- * @return {?}
5322
- */
5323
- getDate(date) {
5324
- return this.clone(date).date();
5325
- }
5326
- /**
5327
- * @param {?} date
5328
- * @return {?}
5329
- */
5330
- getDayOfWeek(date) {
5331
- return this.clone(date).day();
5332
- }
5333
- /**
5334
- * @param {?} style
5335
- * @return {?}
5336
- */
5337
- getMonthNames(style) {
5338
- // Moment.js doesn't support narrow month names, so we just use short if narrow is requested.
5339
- return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;
5340
- }
5341
- /**
5342
- * @return {?}
5343
- */
5344
- getDateNames() {
5345
- return this._localeData.dates;
5346
- }
5347
- /**
5348
- * @param {?} style
5349
- * @return {?}
5350
- */
5351
- getDayOfWeekNames(style) {
5352
- if (style == 'long') {
5353
- return this._localeData.longDaysOfWeek;
5354
- }
5355
- if (style == 'short') {
5356
- return this._localeData.shortDaysOfWeek;
5357
- }
5358
- return this._localeData.narrowDaysOfWeek;
5359
- }
5360
- /**
5361
- * @param {?} date
5362
- * @return {?}
5363
- */
5364
- getYearName(date) {
5365
- return this.clone(date).format('YYYY');
5366
- }
5367
- /**
5368
- * @return {?}
5369
- */
5370
- getFirstDayOfWeek() {
5371
- return this._localeData.firstDayOfWeek;
5372
- }
5373
- /**
5374
- * @param {?} date
5375
- * @return {?}
5376
- */
5377
- getNumDaysInMonth(date) {
5378
- return this.clone(date).daysInMonth();
5379
- }
5380
- /**
5381
- * @param {?} date
5382
- * @return {?}
5383
- */
5384
- clone(date) {
5385
- return date.clone().locale(this.locale);
5386
- }
5387
- /**
5388
- * @param {?} year
5389
- * @param {?} month
5390
- * @param {?} date
5391
- * @return {?}
5392
- */
5393
- createDate(year, month, date) {
5394
- // Moment.js will create an invalid date if any of the components are out of bounds, but we
5395
- // explicitly check each case so we can throw more descriptive errors.
5396
- if (month < 0 || month > 11) {
5397
- throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
5398
- }
5399
- if (date < 1) {
5400
- throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
5401
- }
5402
- /** @type {?} */
5403
- const result = this._createMoment({ year, month, date }).locale(this.locale);
5404
- // If the result isn't valid, the date must have been out of bounds for this month.
5405
- if (!result.isValid()) {
5406
- throw Error(`Invalid date "${date}" for month with index "${month}".`);
5407
- }
5408
- return result;
5409
- }
5410
- /**
5411
- * @return {?}
5412
- */
5413
- today() {
5414
- return this._createMoment().locale(this.locale);
5415
- }
5416
- /**
5417
- * @param {?} value
5418
- * @param {?} parseFormat
5419
- * @return {?}
5420
- */
5421
- parse(value, parseFormat) {
5422
- if (value && typeof value == 'string') {
5423
- return this._createMoment(value, parseFormat, this.locale);
5424
- }
5425
- return value ? this._createMoment(value).locale(this.locale) : null;
5426
- }
5427
- /**
5428
- * @param {?} date
5429
- * @param {?} displayFormat
5430
- * @return {?}
5431
- */
5432
- format(date, displayFormat) {
5433
- date = this.clone(date);
5434
- if (!this.isValid(date)) {
5435
- throw Error('MomentDateAdapter: Cannot format invalid date.');
5436
- }
5437
- return date.format(displayFormat);
5438
- }
5439
- /**
5440
- * @param {?} date
5441
- * @param {?} years
5442
- * @return {?}
5443
- */
5444
- addCalendarYears(date, years) {
5445
- return this.clone(date).add({ years });
5446
- }
5447
- /**
5448
- * @param {?} date
5449
- * @param {?} months
5450
- * @return {?}
5451
- */
5452
- addCalendarMonths(date, months) {
5453
- return this.clone(date).add({ months });
5454
- }
5455
- /**
5456
- * @param {?} date
5457
- * @param {?} days
5458
- * @return {?}
5459
- */
5460
- addCalendarDays(date, days) {
5461
- return this.clone(date).add({ days });
5462
- }
5463
- /**
5464
- * @param {?} date
5465
- * @return {?}
5466
- */
5467
- toIso8601(date) {
5468
- return this.clone(date).format();
5469
- }
5470
- /**
5471
- * Returns the given value if given a valid Moment or null. Deserializes valid ISO 8601 strings
5472
- * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid Moments and empty
5473
- * string into null. Returns an invalid date for all other values.
5474
- * @param {?} value
5475
- * @return {?}
5476
- */
5477
- deserialize(value) {
5478
- /** @type {?} */
5479
- let date;
5480
- if (value instanceof Date) {
5481
- date = this._createMoment(value).locale(this.locale);
5482
- }
5483
- else if (this.isDateInstance(value)) {
5484
- // Note: assumes that cloning also sets the correct locale.
5485
- return this.clone(value);
5486
- }
5487
- if (typeof value === 'string') {
5488
- if (!value) {
5489
- return null;
5490
- }
5491
- date = this._createMoment(value, moment.ISO_8601).locale(this.locale);
5492
- }
5493
- if (date && this.isValid(date)) {
5494
- return this._createMoment(date).locale(this.locale);
5495
- }
5496
- return super.deserialize(value);
5497
- }
5498
- /**
5499
- * @param {?} obj
5500
- * @return {?}
5501
- */
5502
- isDateInstance(obj) {
5503
- return moment.isMoment(obj);
5504
- }
5505
- /**
5506
- * @param {?} date
5507
- * @return {?}
5508
- */
5509
- isValid(date) {
5510
- return this.clone(date).isValid();
5511
- }
5512
- /**
5513
- * @return {?}
5514
- */
5515
- invalid() {
5516
- return moment.invalid();
5517
- }
5518
- /**
5519
- * @param {?} date
5520
- * @return {?}
5521
- */
5522
- getHour(date) {
5523
- return date.hours();
5524
- }
5525
- /**
5526
- * @param {?} date
5527
- * @return {?}
5528
- */
5529
- getMinute(date) {
5530
- return date.minutes();
5531
- }
5532
- /**
5533
- * @param {?} date
5534
- * @return {?}
5535
- */
5536
- getSecond(date) {
5537
- return date.seconds();
5538
- }
5539
- /**
5540
- * @param {?} date
5541
- * @param {?} value
5542
- * @return {?}
5543
- */
5544
- setHour(date, value) {
5545
- date.hours(value);
5546
- }
5547
- /**
5548
- * @param {?} date
5549
- * @param {?} value
5550
- * @return {?}
5551
- */
5552
- setMinute(date, value) {
5553
- date.minutes(value);
5554
- }
5555
- /**
5556
- * @param {?} date
5557
- * @param {?} value
5558
- * @return {?}
5559
- */
5560
- setSecond(date, value) {
5561
- date.seconds(value);
5562
- }
5563
- /**
5564
- * Creates a Moment instance while respecting the current UTC settings.
5565
- * @private
5566
- * @param {?} date
5567
- * @param {?=} format
5568
- * @param {?=} locale
5569
- * @return {?}
5570
- */
5571
- _createMoment(date, format, locale) {
5572
- const { strict, useUtc } = this._options || {};
5573
- return useUtc
5574
- ? moment.utc(date, format, locale, strict)
5575
- : moment(date, format, locale, strict);
5576
- }
5577
- }
5578
- NgxMatMomentAdapter.decorators = [
5579
- { type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable }
5580
- ];
5581
- /** @nocollapse */
5582
- NgxMatMomentAdapter.ctorParameters = () => [
5583
- { type: String, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional }, { type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject, args: [_angular_material_core__WEBPACK_IMPORTED_MODULE_1__.MAT_DATE_LOCALE,] }] },
5584
- { type: undefined, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional }, { type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject, args: [NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS,] }] }
5585
- ];
5586
- if (false) {}
5587
-
5588
- /**
5589
- * @fileoverview added by tsickle
5590
- * Generated from: lib/moment-formats.ts
5591
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5592
- */
5593
- /**
5594
- * @license
5595
- * Copyright Google LLC All Rights Reserved.
5596
- *
5597
- * Use of this source code is governed by an MIT-style license that can be
5598
- * found in the LICENSE file at https://angular.io/license
5599
- */
5600
- /** @type {?} */
5601
- const DEFAULT_DATE_INPUT = 'l, LTS';
5602
- /** @type {?} */
5603
- const NGX_MAT_MOMENT_FORMATS = {
5604
- parse: {
5605
- dateInput: DEFAULT_DATE_INPUT,
5606
- },
5607
- display: {
5608
- dateInput: DEFAULT_DATE_INPUT,
5609
- monthYearLabel: 'MMM YYYY',
5610
- dateA11yLabel: 'LL',
5611
- monthYearA11yLabel: 'MMMM YYYY',
5612
- },
5613
- };
5614
-
5615
- /**
5616
- * @fileoverview added by tsickle
5617
- * Generated from: lib/moment-adapter.module.ts
5618
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5619
- */
5620
- class NgxMomentDateModule {
5621
- }
5622
- NgxMomentDateModule.decorators = [
5623
- { type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule, args: [{
5624
- providers: [
5625
- {
5626
- provide: _angular_material_components_datetime_picker__WEBPACK_IMPORTED_MODULE_3__.NgxMatDateAdapter,
5627
- useClass: NgxMatMomentAdapter,
5628
- deps: [_angular_material_core__WEBPACK_IMPORTED_MODULE_1__.MAT_DATE_LOCALE, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS]
5629
- }
5630
- ],
5631
- },] }
5632
- ];
5633
- const ɵ0 = NGX_MAT_MOMENT_FORMATS;
5634
- class NgxMatMomentModule {
5635
- }
5636
- NgxMatMomentModule.decorators = [
5637
- { type: _angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule, args: [{
5638
- imports: [NgxMomentDateModule],
5639
- providers: [{ provide: _angular_material_components_datetime_picker__WEBPACK_IMPORTED_MODULE_3__.NGX_MAT_DATE_FORMATS, useValue: ɵ0 }],
5640
- },] }
5641
- ];
5642
-
5643
- /**
5644
- * @fileoverview added by tsickle
5645
- * Generated from: public-api.ts
5646
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5647
- */
5648
-
5649
- /**
5650
- * @fileoverview added by tsickle
5651
- * Generated from: angular-material-components-moment-adapter.ts
5652
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5653
- */
5654
-
5655
-
5656
- //# sourceMappingURL=angular-material-components-moment-adapter.js.map
5657
-
5658
-
5659
5197
  /***/ }),
5660
5198
 
5661
5199
  /***/ 86220:
@@ -12232,8 +11770,10 @@ var ActivityComponent = /** @class */ (function () {
12232
11770
  return (this.activity.editors.length > 0 || this.activity.unknownEditors > 0);
12233
11771
  };
12234
11772
  ActivityComponent.prototype.ngOnDestroy = function () {
12235
- this.subscription.complete();
12236
- this.subscription.unsubscribe();
11773
+ if (this.subscription) {
11774
+ this.subscription.complete();
11775
+ this.subscription.unsubscribe();
11776
+ }
12237
11777
  this.activityPollingService.stopPolling();
12238
11778
  };
12239
11779
  ActivityComponent.prototype.generateDescription = function (prefix, suffix, namesArray, unknownCount) {
@@ -12580,8 +12120,12 @@ var CaseEditFormComponent = /** @class */ (function () {
12580
12120
  this.valuesChanged = new core_1.EventEmitter();
12581
12121
  }
12582
12122
  CaseEditFormComponent.prototype.ngOnDestroy = function () {
12583
- this.pageChangeSubscription.unsubscribe();
12584
- this.formGroupChangeSubscription.unsubscribe();
12123
+ if (this.pageChangeSubscription) {
12124
+ this.pageChangeSubscription.unsubscribe();
12125
+ }
12126
+ if (this.formGroupChangeSubscription) {
12127
+ this.formGroupChangeSubscription.unsubscribe();
12128
+ }
12585
12129
  };
12586
12130
  // We need the below un/subscribe complexity as we do not have proper page component per page with its AfterViewInit hook
12587
12131
  // being called on each page load. This is done for "Cancel and return" modal from RDM-2302.
@@ -12589,7 +12133,9 @@ var CaseEditFormComponent = /** @class */ (function () {
12589
12133
  var _this = this;
12590
12134
  this.retrieveInitialFormValues();
12591
12135
  this.pageChangeSubscription = this.pageChangeSubject.subscribe(function () {
12592
- _this.formGroupChangeSubscription.unsubscribe();
12136
+ if (_this.formGroupChangeSubscription) {
12137
+ _this.formGroupChangeSubscription.unsubscribe();
12138
+ }
12593
12139
  // Timeout is required for the form to be rendered before subscription to form changes and initial form values retrieval.
12594
12140
  setTimeout(function () {
12595
12141
  _this.subscribeToFormChanges();
@@ -12853,15 +12399,15 @@ var CaseEditPageComponent = /** @class */ (function () {
12853
12399
  CaseEditPageComponent.prototype.updateFormData = function (jsonData) {
12854
12400
  for (var _i = 0, _a = Object.keys(jsonData.data); _i < _a.length; _i++) {
12855
12401
  var caseFieldId = _a[_i];
12856
- if (this.pageWithFieldExists(caseFieldId, this.currentPage.id)) {
12402
+ if (this.pageWithFieldExists(caseFieldId)) {
12857
12403
  this.updateEventTriggerCaseFields(caseFieldId, jsonData, this.caseEdit.eventTrigger);
12858
12404
  this.updateFormControlsValue(this.editForm, caseFieldId, jsonData.data[caseFieldId]);
12859
12405
  }
12860
12406
  }
12861
12407
  };
12862
12408
  // we do the check, becasue the data comes from the external source
12863
- CaseEditPageComponent.prototype.pageWithFieldExists = function (caseFieldId, pageId) {
12864
- return this.wizard.findWizardPage(caseFieldId, pageId);
12409
+ CaseEditPageComponent.prototype.pageWithFieldExists = function (caseFieldId) {
12410
+ return this.wizard.findWizardPage(caseFieldId);
12865
12411
  };
12866
12412
  CaseEditPageComponent.prototype.updateEventTriggerCaseFields = function (caseFieldId, jsonData, eventTrigger) {
12867
12413
  if (eventTrigger.case_fields) {
@@ -13154,7 +12700,9 @@ var CaseEditSubmitComponent = /** @class */ (function () {
13154
12700
  this.contextFields = this.getCaseFields();
13155
12701
  };
13156
12702
  CaseEditSubmitComponent.prototype.ngOnDestroy = function () {
13157
- this.profileSubscription.unsubscribe();
12703
+ if (this.profileSubscription) {
12704
+ this.profileSubscription.unsubscribe();
12705
+ }
13158
12706
  };
13159
12707
  CaseEditSubmitComponent.prototype.submit = function () {
13160
12708
  var _this = this;
@@ -14013,8 +13561,8 @@ var Wizard = /** @class */ (function () {
14013
13561
  }
14014
13562
  return canShow(foundPage) ? foundPage : undefined;
14015
13563
  };
14016
- Wizard.prototype.findWizardPage = function (caseFieldId, pageId) {
14017
- return this.pages.find(function (wizardPage) { return wizardPage.id === pageId && wizardPage.case_fields &&
13564
+ Wizard.prototype.findWizardPage = function (caseFieldId) {
13565
+ return this.pages.find(function (wizardPage) { return wizardPage.case_fields &&
14018
13566
  wizardPage.case_fields.filter(function (caseField) { return caseField.id === caseFieldId; }).length > 0; });
14019
13567
  };
14020
13568
  Wizard.prototype.nextPage = function (pageId, canShow) {
@@ -15172,7 +14720,9 @@ var CaseHistoryComponent = /** @class */ (function () {
15172
14720
  });
15173
14721
  };
15174
14722
  CaseHistoryComponent.prototype.ngOnDestroy = function () {
15175
- this.caseSubscription.unsubscribe();
14723
+ if (this.caseSubscription) {
14724
+ this.caseSubscription.unsubscribe();
14725
+ }
15176
14726
  };
15177
14727
  CaseHistoryComponent.prototype.isDataLoaded = function () {
15178
14728
  return !!(this.caseDetails && this.caseHistory);
@@ -15973,10 +15523,10 @@ var CaseEventTriggerComponent = /** @class */ (function () {
15973
15523
  });
15974
15524
  };
15975
15525
  CaseEventTriggerComponent.prototype.ngOnDestroy = function () {
15976
- if (this.activityPollingService.isEnabled) {
15526
+ if (this.activitySubscription && this.activityPollingService.isEnabled) {
15977
15527
  this.activitySubscription.unsubscribe();
15978
15528
  }
15979
- if (!this.route.snapshot.data.case) {
15529
+ if (!this.route.snapshot.data.case && this.caseSubscription) {
15980
15530
  this.caseSubscription.unsubscribe();
15981
15531
  }
15982
15532
  };
@@ -16066,18 +15616,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
16066
15616
  };
16067
15617
  Object.defineProperty(exports, "__esModule", ({ value: true }));
16068
15618
  var core_1 = __webpack_require__(57208);
16069
- var services_1 = __webpack_require__(65010);
15619
+ var alert_1 = __webpack_require__(68164);
16070
15620
  var domain_1 = __webpack_require__(59346);
16071
15621
  var case_editor_1 = __webpack_require__(27070);
16072
- var services_2 = __webpack_require__(65010);
15622
+ var services_1 = __webpack_require__(65010);
16073
15623
  var rxjs_1 = __webpack_require__(87318);
16074
15624
  var operators_1 = __webpack_require__(19443);
16075
- var services_3 = __webpack_require__(65010);
15625
+ var navigation_notifier_service_1 = __webpack_require__(75005);
16076
15626
  var class_transformer_1 = __webpack_require__(86631);
16077
15627
  var CaseViewComponent = /** @class */ (function () {
16078
- function CaseViewComponent(navigationNotifierService, caseNotifier, casesService, draftService, alertService) {
15628
+ function CaseViewComponent(navigationNotifierService, caseNofitier, casesService, draftService, alertService) {
16079
15629
  this.navigationNotifierService = navigationNotifierService;
16080
- this.caseNotifier = caseNotifier;
15630
+ this.caseNofitier = caseNofitier;
16081
15631
  this.casesService = casesService;
16082
15632
  this.draftService = draftService;
16083
15633
  this.alertService = alertService;
@@ -16090,7 +15640,7 @@ var CaseViewComponent = /** @class */ (function () {
16090
15640
  this.getCaseView(this.case)
16091
15641
  .pipe(operators_1.map(function (caseView) {
16092
15642
  _this.caseDetails = class_transformer_1.plainToClassFromExist(new domain_1.CaseView(), caseView);
16093
- _this.caseNotifier.announceCase(_this.caseDetails);
15643
+ _this.caseNofitier.announceCase(_this.caseDetails);
16094
15644
  }))
16095
15645
  .toPromise()
16096
15646
  .catch(function (error) { return _this.checkAuthorizationError(error); });
@@ -16099,10 +15649,12 @@ var CaseViewComponent = /** @class */ (function () {
16099
15649
  });
16100
15650
  };
16101
15651
  CaseViewComponent.prototype.ngOnDestroy = function () {
16102
- this.navigationSubscription.unsubscribe();
15652
+ if (this.navigationSubscription) {
15653
+ this.navigationSubscription.unsubscribe();
15654
+ }
16103
15655
  };
16104
15656
  CaseViewComponent.prototype.isDataLoaded = function () {
16105
- return !!this.caseDetails;
15657
+ return this.caseDetails ? true : false;
16106
15658
  };
16107
15659
  CaseViewComponent.prototype.getCaseView = function (cid) {
16108
15660
  if (domain_1.Draft.isDraft(cid)) {
@@ -16146,11 +15698,11 @@ var CaseViewComponent = /** @class */ (function () {
16146
15698
  selector: 'ccd-case-view',
16147
15699
  template: __webpack_require__(24288)
16148
15700
  }),
16149
- __metadata("design:paramtypes", [services_3.NavigationNotifierService,
15701
+ __metadata("design:paramtypes", [navigation_notifier_service_1.NavigationNotifierService,
16150
15702
  case_editor_1.CaseNotifier,
16151
15703
  case_editor_1.CasesService,
16152
- services_2.DraftService,
16153
- services_1.AlertService])
15704
+ services_1.DraftService,
15705
+ alert_1.AlertService])
16154
15706
  ], CaseViewComponent);
16155
15707
  return CaseViewComponent;
16156
15708
  }());
@@ -16207,15 +15759,14 @@ var router_1 = __webpack_require__(92302);
16207
15759
  var class_transformer_1 = __webpack_require__(86631);
16208
15760
  var Subject_1 = __webpack_require__(66284);
16209
15761
  var dialogs_1 = __webpack_require__(84573);
16210
- var directives_1 = __webpack_require__(66395);
16211
- var domain_1 = __webpack_require__(59346);
15762
+ var domain_1 = __webpack_require__(32225);
15763
+ var domain_2 = __webpack_require__(59346);
16212
15764
  var services_1 = __webpack_require__(65010);
16213
15765
  var case_editor_1 = __webpack_require__(27070);
16214
15766
  var CaseViewerComponent = /** @class */ (function () {
16215
- function CaseViewerComponent(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, caseNotifier, errorNotifierService, location) {
15767
+ function CaseViewerComponent(ngZone, route, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, caseNotifier, errorNotifierService, location) {
16216
15768
  this.ngZone = ngZone;
16217
15769
  this.route = route;
16218
- this.router = router;
16219
15770
  this.navigationNotifierService = navigationNotifierService;
16220
15771
  this.orderService = orderService;
16221
15772
  this.activityPollingService = activityPollingService;
@@ -16227,8 +15778,7 @@ var CaseViewerComponent = /** @class */ (function () {
16227
15778
  this.location = location;
16228
15779
  this.hasPrint = true;
16229
15780
  this.hasEventSelector = true;
16230
- this.prependedTabs = [];
16231
- this.BANNER = domain_1.DisplayMode.BANNER;
15781
+ this.BANNER = domain_2.DisplayMode.BANNER;
16232
15782
  this.triggerTextStart = CaseViewerComponent_1.TRIGGER_TEXT_START;
16233
15783
  this.triggerTextIgnoreWarnings = CaseViewerComponent_1.TRIGGER_TEXT_CONTINUE;
16234
15784
  this.triggerText = CaseViewerComponent_1.TRIGGER_TEXT_START;
@@ -16239,13 +15789,14 @@ var CaseViewerComponent = /** @class */ (function () {
16239
15789
  CaseViewerComponent.prototype.ngOnInit = function () {
16240
15790
  var _this = this;
16241
15791
  this.initDialog();
16242
- if (!this.caseDetails) {
15792
+ if (!this.route.snapshot.data.case) {
16243
15793
  this.caseSubscription = this.caseNotifier.caseView.subscribe(function (caseDetails) {
16244
15794
  _this.caseDetails = caseDetails;
16245
15795
  _this.init();
16246
15796
  });
16247
15797
  }
16248
15798
  else {
15799
+ this.caseDetails = this.route.snapshot.data.case;
16249
15800
  this.init();
16250
15801
  }
16251
15802
  this.callbackErrorsSubject.subscribe(function (errorEvent) {
@@ -16262,11 +15813,13 @@ var CaseViewerComponent = /** @class */ (function () {
16262
15813
  return this.caseDetails.case_type.printEnabled;
16263
15814
  };
16264
15815
  CaseViewerComponent.prototype.ngOnDestroy = function () {
16265
- if (this.activityPollingService.isEnabled) {
15816
+ if (this.activitySubscription && this.activityPollingService.isEnabled) {
16266
15817
  this.activitySubscription.unsubscribe();
16267
15818
  }
16268
- this.callbackErrorsSubject.unsubscribe();
16269
- if (!this.route.snapshot.data.case) {
15819
+ if (this.callbackErrorsSubject) {
15820
+ this.callbackErrorsSubject.unsubscribe();
15821
+ }
15822
+ if (!this.route.snapshot.data.case && this.caseSubscription) {
16270
15823
  this.caseSubscription.unsubscribe();
16271
15824
  }
16272
15825
  if (!!this.errorSubscription) {
@@ -16289,7 +15842,7 @@ var CaseViewerComponent = /** @class */ (function () {
16289
15842
  theQueryParams['ignoreWarning'] = this.ignoreWarning;
16290
15843
  }
16291
15844
  // we may need to take care of different triggers in the future
16292
- if (trigger.id === domain_1.CaseViewTrigger.DELETE) {
15845
+ if (trigger.id === domain_2.CaseViewTrigger.DELETE) {
16293
15846
  var dialogRef = this.dialog.open(dialogs_1.DeleteOrCancelDialogComponent, this.dialogConfig);
16294
15847
  dialogRef.afterClosed().subscribe(function (result) {
16295
15848
  if (result === 'Delete') {
@@ -16302,8 +15855,8 @@ var CaseViewerComponent = /** @class */ (function () {
16302
15855
  }
16303
15856
  });
16304
15857
  }
16305
- else if (this.isDraft() && trigger.id !== domain_1.CaseViewTrigger.DELETE) {
16306
- theQueryParams[domain_1.DRAFT_QUERY_PARAM] = this.caseDetails.case_id;
15858
+ else if (this.isDraft() && trigger.id !== domain_2.CaseViewTrigger.DELETE) {
15859
+ theQueryParams[domain_2.DRAFT_QUERY_PARAM] = this.caseDetails.case_id;
16307
15860
  theQueryParams[CaseViewerComponent_1.ORIGIN_QUERY_PARAM] = 'viewDraft';
16308
15861
  this.navigationNotifierService.announceNavigation({
16309
15862
  action: services_1.NavigationOrigin.DRAFT_RESUMED,
@@ -16326,14 +15879,14 @@ var CaseViewerComponent = /** @class */ (function () {
16326
15879
  return !!this.caseDetails;
16327
15880
  };
16328
15881
  CaseViewerComponent.prototype.hasTabsPresent = function () {
16329
- return this.sortedTabs.length > 0 || this.prependedTabs.length > 0;
15882
+ return this.sortedTabs.length > 0;
16330
15883
  };
16331
15884
  CaseViewerComponent.prototype.callbackErrorsNotify = function (callbackErrorsContext) {
16332
15885
  this.ignoreWarning = callbackErrorsContext.ignore_warning;
16333
15886
  this.triggerText = callbackErrorsContext.trigger_text;
16334
15887
  };
16335
15888
  CaseViewerComponent.prototype.isDraft = function () {
16336
- return domain_1.Draft.isDraft(this.caseDetails.case_id);
15889
+ return domain_2.Draft.isDraft(this.caseDetails.case_id);
16337
15890
  };
16338
15891
  CaseViewerComponent.prototype.isTriggerButtonDisabled = function () {
16339
15892
  return (this.error
@@ -16345,40 +15898,17 @@ var CaseViewerComponent = /** @class */ (function () {
16345
15898
  && this.error.details.field_errors.length);
16346
15899
  };
16347
15900
  CaseViewerComponent.prototype.ngAfterViewInit = function () {
16348
- var _this = this;
16349
- var matTab;
16350
15901
  var url = this.location.path(true);
16351
15902
  var hashValue = url.substring(url.indexOf('#') + 1);
16352
- // if we have prepended tabs route to one of the prepended tabs
16353
- if (!url.includes('#') && this.prependedTabs && this.prependedTabs.length) {
16354
- var paths = url.split('/');
16355
- var tabName_1 = decodeURIComponent(paths[paths.length - 1]);
16356
- var selectedTab_1 = this.prependedTabs.find(function (caseTab) { return caseTab.id.toLowerCase() === tabName_1.toLowerCase(); });
16357
- var tab = selectedTab_1 ? selectedTab_1.id : 'tasks';
16358
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id, tab]).then(function () {
16359
- matTab = _this.tabGroup._tabs.find(function (x) { return x.textLabel === selectedTab_1.label; });
16360
- _this.tabGroup.selectedIndex = matTab.position;
16361
- });
16362
- return;
16363
- }
16364
- var regExp = new RegExp(CaseViewerComponent_1.space, 'g');
16365
- hashValue = hashValue.replace(regExp, ' ');
16366
- matTab = this.tabGroup._tabs.find(function (x) { return x.textLabel === hashValue; });
15903
+ var reguarExp = new RegExp(CaseViewerComponent_1.space, 'g');
15904
+ hashValue = hashValue.replace(reguarExp, ' ');
15905
+ var matTab = this.tabGroup._tabs.find(function (x) { return x.textLabel === hashValue; });
16367
15906
  if (matTab && matTab.position) {
16368
15907
  this.tabGroup.selectedIndex = matTab.position;
16369
15908
  }
16370
15909
  };
16371
15910
  CaseViewerComponent.prototype.tabChanged = function (tabChangeEvent) {
16372
- var tab = tabChangeEvent.tab['_viewContainerRef'];
16373
- var id = tab.element.nativeElement.id;
16374
- if (tabChangeEvent.index <= 1 && this.prependedTabs.length) {
16375
- this.router.navigate([id], { relativeTo: this.route });
16376
- }
16377
- else {
16378
- this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]).then(function () {
16379
- window.location.hash = id;
16380
- });
16381
- }
15911
+ window.location.hash = tabChangeEvent.tab.textLabel;
16382
15912
  };
16383
15913
  CaseViewerComponent.prototype.init = function () {
16384
15914
  var _this = this;
@@ -16402,11 +15932,11 @@ var CaseViewerComponent = /** @class */ (function () {
16402
15932
  var _this = this;
16403
15933
  return tabs
16404
15934
  .map(function (tab) { return Object.assign({}, tab, { fields: _this.orderService.sort(tab.fields) }); })
16405
- .filter(function (tab) { return directives_1.ShowCondition.getInstance(tab.show_condition).matchByContextFields(_this.caseFields); });
15935
+ .filter(function (tab) { return domain_1.ShowCondition.getInstance(tab.show_condition).matchByContextFields(_this.caseFields); });
16406
15936
  };
16407
15937
  CaseViewerComponent.prototype.getTabFields = function () {
16408
15938
  var caseDataFields = this.sortedTabs.reduce(function (acc, tab) {
16409
- return acc.concat(class_transformer_1.plainToClass(domain_1.CaseField, tab.fields));
15939
+ return acc.concat(class_transformer_1.plainToClass(domain_2.CaseField, tab.fields));
16410
15940
  }, []);
16411
15941
  return caseDataFields.concat(this.caseDetails.metadataFields);
16412
15942
  };
@@ -16457,14 +15987,6 @@ var CaseViewerComponent = /** @class */ (function () {
16457
15987
  core_1.Input(),
16458
15988
  __metadata("design:type", Object)
16459
15989
  ], CaseViewerComponent.prototype, "hasEventSelector", void 0);
16460
- __decorate([
16461
- core_1.Input(),
16462
- __metadata("design:type", domain_1.CaseView)
16463
- ], CaseViewerComponent.prototype, "caseDetails", void 0);
16464
- __decorate([
16465
- core_1.Input(),
16466
- __metadata("design:type", Array)
16467
- ], CaseViewerComponent.prototype, "prependedTabs", void 0);
16468
15990
  __decorate([
16469
15991
  core_1.ViewChild('tabGroup'),
16470
15992
  __metadata("design:type", material_1.MatTabGroup)
@@ -16477,7 +15999,6 @@ var CaseViewerComponent = /** @class */ (function () {
16477
15999
  }),
16478
16000
  __metadata("design:paramtypes", [core_1.NgZone,
16479
16001
  router_1.ActivatedRoute,
16480
- router_1.Router,
16481
16002
  services_1.NavigationNotifierService,
16482
16003
  services_1.OrderService,
16483
16004
  services_1.ActivityPollingService,
@@ -16514,10 +16035,10 @@ var case_viewer_component_1 = __webpack_require__(89554);
16514
16035
  var material_1 = __webpack_require__(69451);
16515
16036
  var services_1 = __webpack_require__(65010);
16516
16037
  var errors_module_1 = __webpack_require__(61386);
16517
- var activity_1 = __webpack_require__(52703);
16038
+ var activity_module_1 = __webpack_require__(4765);
16518
16039
  var case_header_1 = __webpack_require__(75150);
16519
16040
  var case_history_1 = __webpack_require__(30542);
16520
- var event_trigger_1 = __webpack_require__(7108);
16041
+ var event_trigger_module_1 = __webpack_require__(23741);
16521
16042
  var tabs_1 = __webpack_require__(80624);
16522
16043
  var palette_1 = __webpack_require__(22212);
16523
16044
  var directives_1 = __webpack_require__(66395);
@@ -16525,7 +16046,7 @@ var printer_1 = __webpack_require__(65773);
16525
16046
  var case_event_trigger_1 = __webpack_require__(92100);
16526
16047
  var services_2 = __webpack_require__(50137);
16527
16048
  var case_editor_1 = __webpack_require__(27070);
16528
- var case_view_1 = __webpack_require__(65389);
16049
+ var case_view_component_1 = __webpack_require__(76979);
16529
16050
  var pipes_1 = __webpack_require__(32741);
16530
16051
  var CaseViewerModule = /** @class */ (function () {
16531
16052
  function CaseViewerModule() {
@@ -16536,9 +16057,9 @@ var CaseViewerModule = /** @class */ (function () {
16536
16057
  common_1.CommonModule,
16537
16058
  router_1.RouterModule,
16538
16059
  errors_module_1.ErrorsModule,
16539
- activity_1.ActivityModule,
16060
+ activity_module_1.ActivityModule,
16540
16061
  case_header_1.CaseHeaderModule,
16541
- event_trigger_1.EventTriggerModule,
16062
+ event_trigger_module_1.EventTriggerModule,
16542
16063
  tabs_1.TabsModule,
16543
16064
  palette_1.PaletteModule,
16544
16065
  directives_1.LabelSubstitutorModule,
@@ -16550,17 +16071,16 @@ var CaseViewerModule = /** @class */ (function () {
16550
16071
  material_1.MatTabsModule,
16551
16072
  palette_1.ComplexModule
16552
16073
  ],
16553
- schemas: [core_1.NO_ERRORS_SCHEMA],
16554
16074
  declarations: [
16555
16075
  case_event_trigger_1.CaseEventTriggerComponent,
16556
16076
  printer_1.CasePrinterComponent,
16557
16077
  case_viewer_component_1.CaseViewerComponent,
16558
- case_view_1.CaseViewComponent,
16078
+ case_view_component_1.CaseViewComponent,
16559
16079
  printer_1.PrintUrlPipe,
16560
16080
  ],
16561
16081
  exports: [
16562
16082
  case_viewer_component_1.CaseViewerComponent,
16563
- case_view_1.CaseViewComponent,
16083
+ case_view_component_1.CaseViewComponent,
16564
16084
  ],
16565
16085
  providers: [
16566
16086
  case_editor_1.CaseNotifier,
@@ -16652,7 +16172,9 @@ var CasePrinterComponent = /** @class */ (function () {
16652
16172
  });
16653
16173
  };
16654
16174
  CasePrinterComponent.prototype.ngOnDestroy = function () {
16655
- this.caseSubscription.unsubscribe();
16175
+ if (this.caseSubscription) {
16176
+ this.caseSubscription.unsubscribe();
16177
+ }
16656
16178
  };
16657
16179
  CasePrinterComponent.prototype.isDataLoaded = function () {
16658
16180
  return this.caseDetails && this.documents ? true : false;
@@ -16995,6 +16517,7 @@ __export(__webpack_require__(69115));
16995
16517
  "use strict";
16996
16518
 
16997
16519
  Object.defineProperty(exports, "__esModule", ({ value: true }));
16520
+ var case_viewer_component_1 = __webpack_require__(89554);
16998
16521
  var printer_1 = __webpack_require__(65773);
16999
16522
  var services_1 = __webpack_require__(50137);
17000
16523
  var case_event_trigger_component_1 = __webpack_require__(83645);
@@ -17002,6 +16525,10 @@ var case_editor_1 = __webpack_require__(27070);
17002
16525
  var case_history_1 = __webpack_require__(30542);
17003
16526
  var file_upload_progress_guard_1 = __webpack_require__(27667);
17004
16527
  exports.viewerRouting = [
16528
+ {
16529
+ path: '',
16530
+ component: case_viewer_component_1.CaseViewerComponent,
16531
+ },
17005
16532
  {
17006
16533
  path: 'print',
17007
16534
  component: printer_1.CasePrinterComponent,
@@ -17642,7 +17169,9 @@ var CallbackErrorsComponent = /** @class */ (function () {
17642
17169
  });
17643
17170
  };
17644
17171
  CallbackErrorsComponent.prototype.ngOnDestroy = function () {
17645
- this.callbackErrorsSubject.unsubscribe();
17172
+ if (this.callbackErrorsSubject) {
17173
+ this.callbackErrorsSubject.unsubscribe();
17174
+ }
17646
17175
  };
17647
17176
  CallbackErrorsComponent.prototype.buildCallbackErrorsContext = function () {
17648
17177
  var errorContext = new error_context_1.CallbackErrorsContext();
@@ -19507,7 +19036,7 @@ var WriteCollectionFieldComponent = /** @class */ (function (_super) {
19507
19036
  });
19508
19037
  };
19509
19038
  WriteCollectionFieldComponent.prototype.ngOnDestroy = function () {
19510
- if (typeof this.profileSubscription !== 'undefined') {
19039
+ if (this.profileSubscription) {
19511
19040
  this.profileSubscription.unsubscribe();
19512
19041
  }
19513
19042
  };
@@ -20679,9 +20208,7 @@ var ReadComplexFieldComponent = /** @class */ (function (_super) {
20679
20208
  field.list_items = _this.caseField.value[field.id].list_items;
20680
20209
  field.value = {
20681
20210
  list_items: field.list_items,
20682
- value: _this.caseField.value[field.id].value && _this.caseField.value[field.id].value.code ?
20683
- _this.caseField.value[field.id].value.code :
20684
- _this.caseField.value[field.id].value
20211
+ value: _this.caseField.value[field.id].value
20685
20212
  };
20686
20213
  }
20687
20214
  });
@@ -21099,7 +20626,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
21099
20626
  var core_1 = __webpack_require__(57208);
21100
20627
  var forms_1 = __webpack_require__(92985);
21101
20628
  var datetime_picker_1 = __webpack_require__(99101);
21102
- var moment_adapter_1 = __webpack_require__(16153);
21103
20629
  var abstract_form_field_component_1 = __webpack_require__(19785);
21104
20630
  var datetime_picker_utils_1 = __webpack_require__(16907);
21105
20631
  var format_translator_service_1 = __webpack_require__(82646);
@@ -21138,15 +20664,12 @@ var DatetimePickerComponent = /** @class */ (function (_super) {
21138
20664
  this.dateTimeEntryFormat = this.formatTranslationService.showOnlyDates(this.caseField.dateTimeEntryFormat);
21139
20665
  this.configureDatePicker(this.dateTimeEntryFormat);
21140
20666
  this.setDateTimeFormat();
21141
- // set date control based on mandatory field
21142
- this.dateControl = (this.caseField.isMandatory ?
21143
- this.registerControl(new forms_1.FormControl(this.caseField.value || '', [forms_1.Validators.required]))
21144
- : this.registerControl(new forms_1.FormControl(this.caseField.value)));
20667
+ this.dateControl = this.registerControl(new forms_1.FormControl(this.caseField.value));
21145
20668
  // in resetting the format just after the page initialises, the input can be reformatted
21146
20669
  // otherwise the last format given will be how the text shown will be displayed
21147
20670
  setTimeout(function () {
21148
20671
  _this.setDateTimeFormat();
21149
- _this.formatValueAndSetErrors();
20672
+ _this.formatValue();
21150
20673
  }, 1);
21151
20674
  // when the status changes check that the maximum/minimum date has not been exceeded
21152
20675
  this.dateControl.statusChanges.subscribe(function () {
@@ -21162,35 +20685,20 @@ var DatetimePickerComponent = /** @class */ (function (_super) {
21162
20685
  When the value changes, update the form control
21163
20686
  */
21164
20687
  DatetimePickerComponent.prototype.valueChanged = function () {
21165
- this.formatValueAndSetErrors();
20688
+ this.formatValue();
21166
20689
  };
21167
- DatetimePickerComponent.prototype.formatValueAndSetErrors = function () {
20690
+ DatetimePickerComponent.prototype.formatValue = function () {
21168
20691
  if (this.inputElement.nativeElement.value) {
21169
20692
  var formValue = this.inputElement.nativeElement.value;
21170
20693
  formValue = moment(formValue, this.dateTimeEntryFormat).format(this.momentFormat);
21171
20694
  if (formValue !== 'Invalid date') {
21172
- // if not invalid set the value as the formatted value
21173
20695
  this.dateControl.setValue(formValue);
21174
20696
  }
21175
- else {
21176
- // ensure that the datepicker picks up the invalid error
21177
- var keepErrorText = this.inputElement.nativeElement.value;
21178
- this.dateControl.setValue(keepErrorText);
21179
- this.inputElement.nativeElement.value = keepErrorText;
21180
- }
21181
- }
21182
- else {
21183
- // ensure required errors are picked up if relevant
21184
- this.dateControl.setValue('');
21185
20697
  }
21186
20698
  };
21187
20699
  DatetimePickerComponent.prototype.focusIn = function () {
21188
20700
  this.setDateTimeFormat();
21189
20701
  };
21190
- DatetimePickerComponent.prototype.focusOut = function () {
21191
- // focus out needed to obtain errors (relevant to formatting)
21192
- this.formatValueAndSetErrors();
21193
- };
21194
20702
  DatetimePickerComponent.prototype.toggleClick = function () {
21195
20703
  this.setDateTimeFormat();
21196
20704
  };
@@ -21287,9 +20795,7 @@ var DatetimePickerComponent = /** @class */ (function (_super) {
21287
20795
  styles: [__webpack_require__(36263)],
21288
20796
  encapsulation: core_1.ViewEncapsulation.None,
21289
20797
  providers: [
21290
- { provide: datetime_picker_1.NGX_MAT_DATE_FORMATS, useValue: datetime_picker_utils_1.CUSTOM_MOMENT_FORMATS },
21291
- { provide: datetime_picker_1.NgxMatDateAdapter, useClass: moment_adapter_1.NgxMatMomentAdapter },
21292
- { provide: moment_adapter_1.NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }
20798
+ { provide: datetime_picker_1.NGX_MAT_DATE_FORMATS, useValue: datetime_picker_utils_1.CUSTOM_MOMENT_FORMATS }
21293
20799
  ]
21294
20800
  }),
21295
20801
  __param(1, core_1.Inject(datetime_picker_1.NGX_MAT_DATE_FORMATS)),
@@ -22227,13 +21733,6 @@ var DynamicRadioListPipe = /** @class */ (function () {
22227
21733
  }
22228
21734
  DynamicRadioListPipe_1 = DynamicRadioListPipe;
22229
21735
  DynamicRadioListPipe.prototype.transform = function (value, items) {
22230
- /**
22231
- *
22232
- * If value is object with element `value.code`, use code instead.
22233
- */
22234
- if (value && value.value && value.value.code) {
22235
- value = value.value.code;
22236
- }
22237
21736
  var item = items.find(function (i) { return i.code === value; });
22238
21737
  return item ? item.label : DynamicRadioListPipe_1.EMPTY;
22239
21738
  };
@@ -22308,13 +21807,6 @@ var ReadDynamicRadioListFieldComponent = /** @class */ (function (_super) {
22308
21807
  if (!this.caseField.list_items && this.caseField.formatted_value && this.caseField.formatted_value.list_items) {
22309
21808
  this.caseField.list_items = this.caseField.formatted_value.list_items;
22310
21809
  }
22311
- /**
22312
- *
22313
- * Seems formatted_value can also be empty for DynamicRadioList's. Reassigning list_items from value.list_items in that case
22314
- */
22315
- if (!this.caseField.list_items && this.caseField.value && this.caseField.value.list_items) {
22316
- this.caseField.list_items = this.caseField.value.list_items;
22317
- }
22318
21810
  };
22319
21811
  ReadDynamicRadioListFieldComponent = __decorate([
22320
21812
  core_1.Component({
@@ -25035,7 +24527,6 @@ var PaletteModule = /** @class */ (function () {
25035
24527
  ],
25036
24528
  exports: [
25037
24529
  base_field_module_1.BaseFieldModule,
25038
- substitutor_1.LabelSubstitutorModule,
25039
24530
  utils_module_1.PaletteUtilsModule,
25040
24531
  unsupported_field_component_1.UnsupportedFieldComponent,
25041
24532
  label_1.LabelFieldComponent,
@@ -31048,9 +30539,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
31048
30539
  Object.defineProperty(exports, "__esModule", ({ value: true }));
31049
30540
  var core_1 = __webpack_require__(57208);
31050
30541
  var common_1 = __webpack_require__(91216);
31051
- var case_reference_1 = __webpack_require__(63823);
30542
+ var case_reference_pipe_1 = __webpack_require__(95188);
31052
30543
  var sort_search_result_pipe_1 = __webpack_require__(75239);
31053
- var case_title_1 = __webpack_require__(94461);
30544
+ var ccd_case_title_pipe_1 = __webpack_require__(29462);
31054
30545
  var PipesModule = /** @class */ (function () {
31055
30546
  function PipesModule() {
31056
30547
  }
@@ -31060,14 +30551,14 @@ var PipesModule = /** @class */ (function () {
31060
30551
  common_1.CommonModule,
31061
30552
  ],
31062
30553
  declarations: [
31063
- case_reference_1.CaseReferencePipe,
30554
+ case_reference_pipe_1.CaseReferencePipe,
31064
30555
  sort_search_result_pipe_1.SortSearchResultPipe,
31065
- case_title_1.CcdCaseTitlePipe
30556
+ ccd_case_title_pipe_1.CcdCaseTitlePipe
31066
30557
  ],
31067
30558
  exports: [
31068
- case_reference_1.CaseReferencePipe,
30559
+ case_reference_pipe_1.CaseReferencePipe,
31069
30560
  sort_search_result_pipe_1.SortSearchResultPipe,
31070
- case_title_1.CcdCaseTitlePipe
30561
+ ccd_case_title_pipe_1.CcdCaseTitlePipe
31071
30562
  ]
31072
30563
  })
31073
30564
  ], PipesModule);
@@ -31336,22 +30827,35 @@ var ActivityService = /** @class */ (function () {
31336
30827
  for (var _i = 0; _i < arguments.length; _i++) {
31337
30828
  caseId[_i] = arguments[_i];
31338
30829
  }
31339
- var options = this.getOptions();
31340
- var url = this.activityUrl() + ("/cases/" + caseId.join(',') + "/activity");
31341
- return this.http
31342
- .get(url, options, false, ActivityService_1.handleHttpError)
31343
- .map(function (response) { return response; });
30830
+ try {
30831
+ var options = this.getOptions();
30832
+ var url = this.activityUrl() + ("/cases/" + caseId.join(',') + "/activity");
30833
+ return this.http
30834
+ .get(url, options, false, ActivityService_1.handleHttpError)
30835
+ .map(function (response) { return response; });
30836
+ }
30837
+ catch (error) {
30838
+ console.log('user may not be authenticated.' + error);
30839
+ }
31344
30840
  };
31345
30841
  ActivityService.prototype.postActivity = function (caseId, activity) {
31346
- var options = this.getOptions();
31347
- var url = this.activityUrl() + ("/cases/" + caseId + "/activity");
31348
- var body = { activity: activity };
31349
- return this.http
31350
- .post(url, body, options, false)
31351
- .map(function (response) { return response; });
30842
+ try {
30843
+ var options = this.getOptions();
30844
+ var url = this.activityUrl() + ("/cases/" + caseId + "/activity");
30845
+ var body = { activity: activity };
30846
+ return this.http
30847
+ .post(url, body, options, false)
30848
+ .map(function (response) { return response; });
30849
+ }
30850
+ catch (error) {
30851
+ console.log('user may not be authenticated.' + error);
30852
+ }
31352
30853
  };
31353
30854
  ActivityService.prototype.verifyUserIsAuthorized = function () {
31354
30855
  var _this = this;
30856
+ if (this.sessionStorageService.getItem('userDetails') === undefined) {
30857
+ return;
30858
+ }
31355
30859
  if (this.activityUrl() && this.userAuthorised === undefined) {
31356
30860
  this.getActivities(ActivityService_1.DUMMY_CASE_REFERENCE).subscribe(function () { return _this.userAuthorised = true; }, function (error) {
31357
30861
  if ([401, 403].indexOf(error.status) > -1) {
@@ -32108,10 +31612,6 @@ var FormatTranslatorService = /** @class */ (function () {
32108
31612
  case 'd':
32109
31613
  maybePush(result, 'D', inQuote);
32110
31614
  break;
32111
- // moment library defines year as capital y
32112
- case 'y':
32113
- maybePush(result, 'Y', inQuote);
32114
- break;
32115
31615
  case 'e':
32116
31616
  case 'c':
32117
31617
  maybePush(result, 'E', inQuote); // no lower case E
@@ -32155,9 +31655,6 @@ var FormatTranslatorService = /** @class */ (function () {
32155
31655
  while (dateFormat.includes('d')) {
32156
31656
  dateFormat = dateFormat.replace('d', 'D');
32157
31657
  }
32158
- while (dateFormat.includes('y')) {
32159
- dateFormat = dateFormat.replace('y', 'Y');
32160
- }
32161
31658
  return dateFormat;
32162
31659
  };
32163
31660
  FormatTranslatorService.prototype.removeTime = function (dateFormat) {
@@ -62801,14 +62298,14 @@ module.exports = "<div *ngIf=\"isDataLoaded()\" class=\"screen-990\">\n <ccd-ac
62801
62298
  /***/ 24288:
62802
62299
  /***/ ((module) => {
62803
62300
 
62804
- module.exports = "<div *ngIf=\"isDataLoaded()\">\n <ccd-case-viewer [hasPrint]=\"hasPrint\"\n [hasEventSelector]=\"hasEventSelector\"></ccd-case-viewer>\n</div>\n"
62301
+ module.exports = "<div *ngIf=\"isDataLoaded()\">\n <ccd-case-viewer [hasPrint]=\"hasPrint\"\n [hasEventSelector]=\"hasEventSelector\"></ccd-case-viewer>\n</div>"
62805
62302
 
62806
62303
  /***/ }),
62807
62304
 
62808
62305
  /***/ 67025:
62809
62306
  /***/ ((module) => {
62810
62307
 
62811
- module.exports = "<div *ngIf=\"isDataLoaded()\">\n <!-- 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>\n</div>\n"
62308
+ module.exports = "<div *ngIf=\"isDataLoaded()\">\n <!-- 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)\"\n [disableRipple]=\"true\">\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 </ng-container>\n </div>\n </div>\n</div>\n"
62812
62309
 
62813
62310
  /***/ }),
62814
62311
 
@@ -62920,7 +62417,7 @@ module.exports = "<a *ngIf=\"hasReference()\" href=\"/v2/case/{{caseField.value.
62920
62417
  /***/ 38682:
62921
62418
  /***/ ((module) => {
62922
62419
 
62923
- module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !caseReferenceControl.valid && (caseReferenceControl.dirty || caseReferenceControl.touched)}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"caseReferenceControl.errors && (caseReferenceControl.dirty || caseReferenceControl.touched)\">{{caseReferenceControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"text\" [formControl]=\"caseReferenceControl\">\n</div>\n"
62420
+ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !caseReferenceControl.valid && caseReferenceControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"caseReferenceControl.errors && caseReferenceControl.dirty\">{{caseReferenceControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [id]=\"id()\" type=\"text\" [formControl]=\"caseReferenceControl\">\n</div>\n"
62924
62421
 
62925
62422
  /***/ }),
62926
62423
 
@@ -62983,14 +62480,14 @@ module.exports = "<ng-container *ngIf=\"caseField.dateTimeEntryFormat; else nati
62983
62480
  /***/ 94946:
62984
62481
  /***/ ((module) => {
62985
62482
 
62986
- module.exports = "<div class=\"form-group bottom-30\" [id]=\"id()\" [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && (dateControl.dirty || dateControl.touched)}\">\n\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel }}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"dateControl && dateControl.errors && (dateControl.dirty || dateControl.touched)\">{{dateControl.errors | ccdFirstError:caseField.label}}</span>\n <cut-date-input [id]=\"id()\"\n [isDateTime]=\"isDateTime()\"\n [mandatory]=\"caseField | ccdIsMandatory\"\n [isInvalid]=\"dateControl.errors && (dateControl.dirty || dateControl.touched)\"\n [formControl]=\"dateControl\"></cut-date-input>\n\n </fieldset>\n</div>\n"
62483
+ module.exports = "<div class=\"form-group bottom-30\" [id]=\"id()\" [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && dateControl.dirty}\">\n\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel }}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"dateControl && dateControl.errors && dateControl.dirty\">{{dateControl.errors | ccdFirstError:caseField.label}}</span>\n <cut-date-input [id]=\"id()\"\n [isDateTime]=\"isDateTime()\"\n [mandatory]=\"caseField | ccdIsMandatory\"\n [isInvalid]=\"dateControl.errors && dateControl.dirty\"\n [formControl]=\"dateControl\"></cut-date-input>\n\n </fieldset>\n</div>\n"
62987
62484
 
62988
62485
  /***/ }),
62989
62486
 
62990
62487
  /***/ 67330:
62991
62488
  /***/ ((module) => {
62992
62489
 
62993
- module.exports = "<div class=\"govuk-form-group bottom-30\" [id]=\"caseField.id\"\n [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && dateControl.dirty}\">\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel }}</span>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.errors && dateControl.dirty && !(minError || maxError)\">{{dateControl.errors | ccdFirstError:caseField.label}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && minError\">This date is older than the minimum date allowed</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && maxError\">This date is later than the maximum date allowed</span>\n </legend>\n <div class=\"datepicker-container\">\n <input class=\"govuk-input\"\n #input\n attr.aria-label=\"Please enter a date and time in the format {{dateTimeEntryFormat}}\"\n [min]=\"minDate(caseField)\"\n [max]=\"maxDate(caseField)\"\n [formControl]=\"dateControl\"\n [ngxMatDatetimePicker]=\"picker\"\n (focusin)=\"focusIn()\"\n (focusout)=\"focusOut()\"\n (dateChange)=\"valueChanged()\"\n ng-model-options=\"{timezone:'utc'}\"\n >\n <mat-datepicker-toggle matSuffix [for]=\"picker\" id=\"pickerOpener\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #picker\n [color]=\"color\"\n [touchUi]=\"touchUi\"\n [hideTime]=\"hideTime\"\n [startView]=\"startView\"\n [stepHour]=\"stepHour\"\n [stepSecond]=\"stepSecond\"\n [stepMinute]=\"stepMinute\"\n [showSeconds]=\"showSeconds\"\n [showSpinners]=\"showSpinners\"\n [disableMinute]=\"disableMinute\"\n [enableMeridian]=\"enableMeridian\"\n\n (yearSelected)=\"yearSelected($event)\"\n (monthSelected)=\"monthSelected($event)\"\n (opened)=\"toggleClick()\"\n >\n </ngx-mat-datetime-picker>\n </div>\n </fieldset>\n</div>\n"
62490
+ module.exports = "<div class=\"govuk-form-group bottom-30\" [id]=\"caseField.id\"\n [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && dateControl.dirty}\">\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel }}</span>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.errors && dateControl.dirty && !(minError || maxError)\">{{dateControl.errors | ccdFirstError:caseField.label}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && minError\">This date is older than the minimum date allowed</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && maxError\">This date is later than the maximum date allowed</span>\n </legend>\n <div class=\"datepicker-container\">\n <input class=\"govuk-input\"\n #input\n aria-label=\"Please enter a date and time in the format DD/MM/YYYY HH:MM\"\n [min]=\"minDate(caseField)\"\n [max]=\"maxDate(caseField)\"\n [formControl]=\"dateControl\"\n [ngxMatDatetimePicker]=\"picker\"\n (focusin)=\"focusIn()\"\n (dateChange)=\"valueChanged()\"\n ng-model-options=\"{timezone:'utc'}\"\n >\n <mat-datepicker-toggle matSuffix [for]=\"picker\" id=\"pickerOpener\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #picker\n [color]=\"color\"\n [touchUi]=\"touchUi\"\n [hideTime]=\"hideTime\"\n [startView]=\"startView\"\n [stepHour]=\"stepHour\"\n [stepSecond]=\"stepSecond\"\n [stepMinute]=\"stepMinute\"\n [showSeconds]=\"showSeconds\"\n [showSpinners]=\"showSpinners\"\n [disableMinute]=\"disableMinute\"\n [enableMeridian]=\"enableMeridian\"\n\n (yearSelected)=\"yearSelected($event)\"\n (monthSelected)=\"monthSelected($event)\"\n (opened)=\"toggleClick()\"\n >\n </ngx-mat-datetime-picker>\n </div>\n </fieldset>\n</div>\n"
62994
62491
 
62995
62492
  /***/ }),
62996
62493
 
@@ -63011,7 +62508,7 @@ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error botto
63011
62508
  /***/ 12270:
63012
62509
  /***/ ((module) => {
63013
62510
 
63014
- module.exports = "<div class=\"form-group\"\n [ngClass]=\"{'form-group-error': !dynamicListFormControl.valid && (dynamicListFormControl.dirty || dynamicListFormControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"form-label\" *ngIf=\"!caseField.label && !caseField.hint_text\">Select an option from the\n dropdown</span>\n <span class=\"error-message\"\n *ngIf=\"dynamicListFormControl.errors && dynamicListFormControl.dirty\">{{dynamicListFormControl.errors |\n ccdFirstError:caseField.label}}</span>\n\n <select class=\"form-control ccd-dropdown bottom-30\" [id]=\"id()\"\n [formControl]=\"dynamicListFormControl\">\n <option [ngValue]=null>--Select a value--</option>\n <option [ngValue]=\"type.code\" *ngFor=\"let type of caseField.list_items\" role=\"option\">{{type.label}}</option>\n </select>\n\n</div>\n"
62511
+ module.exports = "<div class=\"form-group\"\n [ngClass]=\"{'form-group-error': !dynamicListFormControl.valid && dynamicListFormControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"form-label\" *ngIf=\"!caseField.label && !caseField.hint_text\">Select an option from the\n dropdown</span>\n <span class=\"error-message\"\n *ngIf=\"dynamicListFormControl.errors && dynamicListFormControl.dirty\">{{dynamicListFormControl.errors |\n ccdFirstError:caseField.label}}</span>\n\n <select class=\"form-control ccd-dropdown bottom-30\" [id]=\"id()\"\n [formControl]=\"dynamicListFormControl\">\n <option [ngValue]=null>--Select a value--</option>\n <option [ngValue]=\"type.code\" *ngFor=\"let type of caseField.list_items\" role=\"option\">{{type.label}}</option>\n </select>\n\n</div>"
63015
62512
 
63016
62513
  /***/ }),
63017
62514
 
@@ -63025,21 +62522,21 @@ module.exports = "<div class=\"form-group bottom-30\"\n [ngClass]=\"{'form-gr
63025
62522
  /***/ 36974:
63026
62523
  /***/ ((module) => {
63027
62524
 
63028
- module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !emailControl.valid && (emailControl.dirty || emailControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"emailControl.errors && (emailControl.dirty || emailControl.touched)\">{{emailControl.errors | ccdFirstError:caseField.label}}</span>\n\n <input class=\"form-control\" [ngClass]=\"{'govuk-input--error': emailControl.errors && (emailControl.dirty || emailControl.touched)}\"\n [id]=\"id()\" type=\"email\" [formControl]=\"emailControl\">\n\n</div>\n"
62525
+ module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !emailControl.valid && emailControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"emailControl.errors && emailControl.dirty\">{{emailControl.errors | ccdFirstError:caseField.label}}</span>\n\n <input class=\"form-control\" [ngClass]=\"{'govuk-input--error': emailControl.errors && emailControl.dirty}\"\n [id]=\"id()\" type=\"email\" [formControl]=\"emailControl\">\n\n</div>\n"
63029
62526
 
63030
62527
  /***/ }),
63031
62528
 
63032
62529
  /***/ 70428:
63033
62530
  /***/ ((module) => {
63034
62531
 
63035
- module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !fixedListFormControl.valid && (fixedListFormControl.dirty || fixedListFormControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"fixedListFormControl.errors && (fixedListFormControl.dirty || fixedListFormControl.touched)\">{{fixedListFormControl.errors | ccdFirstError:caseField.label}}</span>\n\n <select class=\"form-control ccd-dropdown bottom-30\" [id]=\"id()\" [formControl]=\"fixedListFormControl\">\n <option [ngValue]=null>--Select a value--</option>\n <option [ngValue]=\"type.code\" *ngFor=\"let type of listItems\">{{type.label}}</option>\n </select>\n\n</div>\n"
62532
+ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !fixedListFormControl.valid && fixedListFormControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"fixedListFormControl.errors && fixedListFormControl.dirty\">{{fixedListFormControl.errors | ccdFirstError:caseField.label}}</span>\n\n <select class=\"form-control ccd-dropdown bottom-30\" [id]=\"id()\" [formControl]=\"fixedListFormControl\">\n <option [ngValue]=null>--Select a value--</option>\n <option [ngValue]=\"type.code\" *ngFor=\"let type of listItems\">{{type.label}}</option>\n </select>\n\n</div>\n"
63036
62533
 
63037
62534
  /***/ }),
63038
62535
 
63039
62536
  /***/ 83332:
63040
62537
  /***/ ((module) => {
63041
62538
 
63042
- module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !fixedRadioListControl.valid && (fixedRadioListControl.dirty || fixedRadioListControl.touched)}\" [id]=\"id()\">\n <fieldset>\n <legend>\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"fixedRadioListControl.errors && (fixedRadioListControl.dirty || fixedRadioListControl.touched)\">{{fixedRadioListControl.errors | ccdFirstError:caseField.label}}</span>\n </legend>\n <ng-container>\n <div class=\"multiple-choice\" *ngFor=\"let radioButton of caseField.field_type.fixed_list_items\" [ngClass]=\"{selected: fixedRadioListControl.value === radioButton.code}\">\n <input class=\"form-control\" [id]=\"id()+'-'+radioButton.code\" [name]=\"id()\" type=\"radio\" [formControl]=\"fixedRadioListControl\" [value]=\"radioButton.code\">\n <label class=\"form-label\" [for]=\"id()+'-'+radioButton.code\">{{radioButton.label}}</label>\n </div>\n </ng-container>\n </fieldset>\n</div>\n"
62539
+ module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !fixedRadioListControl.valid && fixedRadioListControl.dirty}\" [id]=\"id()\">\n <fieldset>\n <legend>\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"fixedRadioListControl.errors && fixedRadioListControl.dirty\">{{fixedRadioListControl.errors | ccdFirstError:caseField.label}}</span>\n </legend>\n <ng-container>\n <div class=\"multiple-choice\" *ngFor=\"let radioButton of caseField.field_type.fixed_list_items\" [ngClass]=\"{selected: fixedRadioListControl.value === radioButton.code}\">\n <input class=\"form-control\" [id]=\"id()+'-'+radioButton.code\" [name]=\"id()\" type=\"radio\" [formControl]=\"fixedRadioListControl\" [value]=\"radioButton.code\">\n <label class=\"form-label\" [for]=\"id()+'-'+radioButton.code\">{{radioButton.label}}</label>\n </div>\n </ng-container>\n </fieldset>\n</div>\n"
63043
62540
 
63044
62541
  /***/ }),
63045
62542
 
@@ -63081,7 +62578,7 @@ module.exports = "<dl [hidden]=\"caseField.hidden\" class=\"case-field\" ccdLabe
63081
62578
  /***/ 86017:
63082
62579
  /***/ ((module) => {
63083
62580
 
63084
- module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !moneyGbpControl.valid && (moneyGbpControl.dirty || moneyGbpControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"moneyGbpControl.errors && (moneyGbpControl.dirty || moneyGbpControl.touched)\">{{moneyGbpControl.errors | ccdFirstError:caseField.label}}</span>\n\n <div class=\"form-money\">\n <span class=\"form-currency\">&#163;</span>\n <ccd-money-gbp-input [id]=\"id()\"\n [name]=\"id()\"\n [mandatory]=\"caseField | ccdIsMandatory\"\n [formControl]=\"moneyGbpControl\"></ccd-money-gbp-input>\n </div>\n\n</div>\n"
62581
+ module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !moneyGbpControl.valid && moneyGbpControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"moneyGbpControl.errors && moneyGbpControl.dirty\">{{moneyGbpControl.errors | ccdFirstError:caseField.label}}</span>\n\n <div class=\"form-money\">\n <span class=\"form-currency\">&#163;</span>\n <ccd-money-gbp-input [id]=\"id()\"\n [name]=\"id()\"\n [mandatory]=\"caseField | ccdIsMandatory\"\n [formControl]=\"moneyGbpControl\"></ccd-money-gbp-input>\n </div>\n\n</div>\n"
63085
62582
 
63086
62583
  /***/ }),
63087
62584
 
@@ -63095,7 +62592,7 @@ module.exports = "<table *ngIf=\"caseField.value && caseField.value.length\" cla
63095
62592
  /***/ 56159:
63096
62593
  /***/ ((module) => {
63097
62594
 
63098
- module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && (checkboxes.dirty || checkboxes.touched)}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && (checkboxes.dirty || checkboxes.touched)\" class=\"error-message\">{{checkboxes.errors | ccdFirstError:caseField.label}}</span>\n\n <ng-container *ngFor=\"let checkbox of caseField.field_type.fixed_list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" [id]=\"id()+'-'+checkbox.code\" [name]=\"id()\" type=\"checkbox\" [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" [for]=\"id()+'-'+checkbox.code\">{{checkbox.label}}</label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n"
62595
+ module.exports = "<div class=\"form-group bottom-30\" [ngClass]=\"{'error': !checkboxes.valid && checkboxes.dirty}\" [id]=\"id()\">\n\n <fieldset>\n\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">{{caseField.hint_text}}</span>\n <span *ngIf=\"checkboxes.errors && checkboxes.dirty\" class=\"error-message\">{{checkboxes.errors | ccdFirstError:caseField.label}}</span>\n\n <ng-container *ngFor=\"let checkbox of caseField.field_type.fixed_list_items\">\n\n <div class=\"multiple-choice\">\n <input class=\"form-control\" [id]=\"id()+'-'+checkbox.code\" [name]=\"id()\" type=\"checkbox\" [value]=\"checkbox.code\" [checked]=\"isSelected(checkbox.code)\" (change)=\"onCheckChange($event)\">\n <label class=\"form-label\" [for]=\"id()+'-'+checkbox.code\">{{checkbox.label}}</label>\n </div>\n\n </ng-container>\n\n </fieldset>\n\n</div>\n"
63099
62596
 
63100
62597
  /***/ }),
63101
62598
 
@@ -63172,28 +62669,28 @@ module.exports = "<ccpay-payment-lib [API_ROOT]=\"getBaseURL()\" [CCD_CASE_NUMBE
63172
62669
  /***/ 95250:
63173
62670
  /***/ ((module) => {
63174
62671
 
63175
- module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !phoneUkControl.valid && (phoneUkControl.dirty || phoneUkControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"phoneUkControl.errors && (phoneUkControl.dirty || phoneUkControl.touched)\">{{phoneUkControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': phoneUkControl.errors && phoneUkControl.dirty}\"\n [id]=\"id()\" type=\"tel\" [formControl]=\"phoneUkControl\">\n\n</div>\n"
62672
+ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !phoneUkControl.valid && phoneUkControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"phoneUkControl.errors && phoneUkControl.dirty\">{{phoneUkControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': phoneUkControl.errors && phoneUkControl.dirty}\"\n [id]=\"id()\" type=\"tel\" [formControl]=\"phoneUkControl\">\n\n</div>\n"
63176
62673
 
63177
62674
  /***/ }),
63178
62675
 
63179
62676
  /***/ 70945:
63180
62677
  /***/ ((module) => {
63181
62678
 
63182
- module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !textareaControl.valid && textareaControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"textareaControl.errors && (textareaControl.dirty || textareaControl.touched)\">{{textareaControl.errors | ccdFirstError:caseField.label}}</span>\n\n <textarea (input)=\"autoGrow($event)\" class=\"form-control bottom-30\" [ngClass]=\"{'govuk-textarea--error': textareaControl.errors && (textareaControl.dirty || textareaControl.touched)}\"\n [id]=\"id()\" rows=\"3\" [formControl]=\"textareaControl\"></textarea>\n\n</div>\n"
62679
+ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !textareaControl.valid && textareaControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"textareaControl.errors && textareaControl.dirty\">{{textareaControl.errors | ccdFirstError:caseField.label}}</span>\n\n <textarea (input)=\"autoGrow($event)\" class=\"form-control bottom-30\" [ngClass]=\"{'govuk-textarea--error': textareaControl.errors && textareaControl.dirty}\" \n [id]=\"id()\" rows=\"3\" [formControl]=\"textareaControl\"></textarea>\n\n</div>\n"
63183
62680
 
63184
62681
  /***/ }),
63185
62682
 
63186
62683
  /***/ 36157:
63187
62684
  /***/ ((module) => {
63188
62685
 
63189
- module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !textControl.valid && (textControl.dirty || textControl.touched)}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"textControl.errors && (textControl.dirty || textControl.touched)\">{{textControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': textControl.errors && (textControl.dirty || textControl.touched)}\"\n [id]=\"id()\" type=\"text\" [formControl]=\"textControl\">\n\n</div>\n"
62686
+ module.exports = "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !textControl.valid && textControl.dirty}\">\n\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"textControl.errors && textControl.dirty\">{{textControl.errors | ccdFirstError:caseField.label}}</span>\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': textControl.errors && textControl.dirty}\"\n [id]=\"id()\" type=\"text\" [formControl]=\"textControl\">\n \n</div>\n"
63190
62687
 
63191
62688
  /***/ }),
63192
62689
 
63193
62690
  /***/ 77724:
63194
62691
  /***/ ((module) => {
63195
62692
 
63196
- module.exports = "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\n\t<fieldset class=\"inline\">\n\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">{{yesNoControl.errors | ccdFirstError:caseField.label}}</span>\n\n <div [id]=\"createElementId('radio')\">\n\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n \t <label class=\"form-label\" [for]=\"createElementId(value)\">{{value}}</label>\n \t </div>\n\n </div>\n\n\t</fieldset>\n\n</div>\n"
62693
+ module.exports = "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && yesNoControl.dirty}\">\n\n\t<fieldset class=\"inline\">\n\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && yesNoControl.dirty\">{{yesNoControl.errors | ccdFirstError:caseField.label}}</span>\n\n <div [id]=\"createElementId('radio')\">\n\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n \t <label class=\"form-label\" [for]=\"createElementId(value)\">{{value}}</label>\n \t </div>\n\n </div>\n\n\t</fieldset>\n\n</div>\n"
63197
62694
 
63198
62695
  /***/ }),
63199
62696