@hmcts/ccd-case-ui-toolkit 6.13.0-rc1 → 6.13.0-rc11

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 (27) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +130 -46
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +8 -5
  7. package/esm2015/lib/shared/components/palette/base-field/payment-field.component.js +4 -1
  8. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +28 -15
  9. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +28 -20
  10. package/esm2015/lib/shared/components/palette/palette.module.js +2 -2
  11. package/esm2015/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.js +3 -3
  12. package/esm2015/lib/shared/components/palette/waystopay/waystopay-field.component.js +4 -4
  13. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +2 -2
  14. package/esm2015/lib/shared/directives/conditional-show/services/condition.peg.js +16 -3
  15. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +85 -46
  16. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  17. package/lib/app.config.d.ts +2 -0
  18. package/lib/app.config.d.ts.map +1 -1
  19. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  20. package/lib/shared/components/palette/base-field/payment-field.component.d.ts +1 -0
  21. package/lib/shared/components/palette/base-field/payment-field.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +2 -1
  23. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  24. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +1 -0
  25. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  26. package/lib/shared/directives/conditional-show/services/condition.peg.d.ts.map +1 -1
  27. package/package.json +1 -1
@@ -40,7 +40,7 @@ const conditionSource = `{
40
40
  { return [comp, f ] }
41
41
 
42
42
  OpenEqualityCheck
43
- = fr:FieldReference _? op:operator _? val:Value
43
+ = fr:FieldRef _? op:operator _? val:Value
44
44
  { return { fieldReference: fr, comparator: op, value: val } }
45
45
 
46
46
  Comparator
@@ -62,14 +62,27 @@ const conditionSource = `{
62
62
  / v:number
63
63
  { return parseInt(v.join("")) }
64
64
 
65
+ FieldRef
66
+ = FieldReference / MetadataFieldReference
67
+
68
+ MetadataFieldReference
69
+ = s1:openSquare fr:FieldReference s2:closeSquare
70
+ { return s1 + fr + s2 }
71
+
65
72
  FieldReference
66
73
  = characters:[A-Za-z0-9._]+ { return characters.join(""); }
67
74
 
75
+ openSquare
76
+ = "["
77
+
78
+ closeSquare
79
+ = "]"
80
+
68
81
  number
69
82
  = [0-9]+
70
83
 
71
84
  quotedValue
72
- = '"'val:[A-Za-z0-9.,* _-]*'"'
85
+ = '"'val:[A-Za-z0-9.,* _/-]*'"'
73
86
  { return val.join(""); }
74
87
 
75
88
  bracket
@@ -87,4 +100,4 @@ const conditionSource = `{
87
100
  nl "New line"
88
101
  = "\\n"`;
89
102
  export default generate(conditionSource);
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLnBlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L3NlcnZpY2VzL2NvbmRpdGlvbi5wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqQyxNQUFNLGVBQWUsR0FDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBc0ZTLENBQUM7QUFFWixlQUFlLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAncGVnanMnO1xuXG5jb25zdCBjb25kaXRpb25Tb3VyY2UgPVxuICBge1xuICAgIGZ1bmN0aW9uIGZsYXQoYXJyLCBkZXB0aCA9IDEpIHtcbiAgICAgIHZhciBmbGF0dGVuID0gZnVuY3Rpb24gKGFyciwgZGVwdGggPSAxKSB7XG4gICAgICAgIGlmIChkZXB0aCkgcmV0dXJuIGFycjtcblxuICAgICAgLy8gT3RoZXJ3aXNlLCBjb25jYXRlbmF0ZSBpbnRvIHRoZSBwYXJlbnQgYXJyYXlcbiAgICAgIHJldHVybiBhcnIucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHZhbCkge1xuICAgICAgICByZXR1cm4gYWNjLmNvbmNhdChBcnJheS5pc0FycmF5KHZhbCkgPyBmbGF0dGVuKHZhbCwgZGVwdGggLSAxKSA6IHZhbCk7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIH07XG5cbiAgICByZXR1cm4gZmxhdHRlbihhcnIsIGRlcHRoIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgU3RhcnRcbiAgICA9IEZvcm11bGFcblxuICBGb3JtdWxhXG4gICAgPSBFbmNsb3NlZEZvcm11bGFcbiAgICAvIE9wZW5Gb3JtdWxhXG5cbiAgRW5jbG9zZWRGb3JtdWxhXG4gICAgPSBicmFja2V0IGZvcm11bGE6T3BlbkZvcm11bGEgYnJhY2tldCBqb2luOihKb2luQ29tcGFyYXRvcikqXG4gICAgICB7IHJldHVybiBmbGF0KFsgW2Zvcm11bGFdLCBqb2luWzBdIF0sIDEpIH1cblxuICBPcGVuRm9ybXVsYVxuICAgID0gZXE6T3BlbkVxdWFsaXR5Q2hlY2sgam9pbnM6KEpvaW5Db21wYXJhdG9yKSpcbiAgICAgIHsgcmV0dXJuIGZsYXQoWyBlcSwgZmxhdChqb2lucykgXSkgfVxuXG4gIEpvaW5Db21wYXJhdG9yXG4gICAgPSBjb21wOkNvbXBhcmF0b3IgZXE6T3BlbkVxdWFsaXR5Q2hlY2tcbiAgICAgIHsgcmV0dXJuIFtjb21wLCBlcV07IH1cbiAgICAgIC8gQ29tcG91bmRKb2luQ29tcGFyYXRvclxuXG4gIENvbXBvdW5kSm9pbkNvbXBhcmF0b3JcbiAgICA9IGNvbXA6Q29tcGFyYXRvciBicmFja2V0IGY6T3BlbkZvcm11bGEgYnJhY2tldFxuICAgICAgeyByZXR1cm4gW2NvbXAsIGYgXSB9XG5cbiAgT3BlbkVxdWFsaXR5Q2hlY2tcbiAgICA9IGZyOkZpZWxkUmVmZXJlbmNlIF8/IG9wOm9wZXJhdG9yIF8/IHZhbDpWYWx1ZVxuICAgICB7IHJldHVybiB7IGZpZWxkUmVmZXJlbmNlOiBmciwgY29tcGFyYXRvcjogb3AsIHZhbHVlOiB2YWwgfSB9XG5cbiAgQ29tcGFyYXRvclxuICAgPSBfPyBjOidBTkQnIF8/XG4gICB7IHJldHVybiBjOyB9XG4gICAvIF8/IGM6J09SJyBfP1xuICAgeyByZXR1cm4gYzsgfVxuXG4gIFdvcmRcbiAgID0gbDpMZXR0ZXIrXG4gICB7IHJldHVybiBsLmpvaW4oXCJcIik7IH1cblxuICBMZXR0ZXJcbiAgID0gW2EtekEtWl1cblxuICBWYWx1ZVxuICAgPSB2OnF1b3RlZFZhbHVlIC8gdjpXb3JkXG4gICB7IHJldHVybiB2LmpvaW4oXCJcIikgfVxuICAgLyB2Om51bWJlclxuICAgeyByZXR1cm4gcGFyc2VJbnQodi5qb2luKFwiXCIpKSB9XG5cbiAgRmllbGRSZWZlcmVuY2VcbiAgICA9IGNoYXJhY3RlcnM6W0EtWmEtejAtOS5fXSsgeyByZXR1cm4gY2hhcmFjdGVycy5qb2luKFwiXCIpOyB9XG5cbiAgbnVtYmVyXG4gICA9IFswLTldK1xuXG4gIHF1b3RlZFZhbHVlXG4gICA9ICdcIid2YWw6W0EtWmEtejAtOS4sKiBfLV0qJ1wiJ1xuICAgeyByZXR1cm4gdmFsLmpvaW4oXCJcIik7IH1cblxuICBicmFja2V0XG4gICA9IChfPyBcIihcIisgXz8gLyBfPyBcIilcIisgXz8gKVxuXG4gIG9wZXJhdG9yXG4gICA9IFwiPVwiIC8gXCIhPVwiIC8gXCJDT05UQUlOU1wiXG5cbiAgd3MgXCJXaGl0ZXNwYWNlXCJcbiAgID0gWyBcXHRdXG5cbiAgXyBcIk9uZSBvciBtb3JlIHdoaXRlc3BhY2VzXCJcbiAgID0gd3MrXG5cbiAgbmwgXCJOZXcgbGluZVwiXG4gICA9IFwiXFxcXG5cImA7XG5cbmV4cG9ydCBkZWZhdWx0IGdlbmVyYXRlKGNvbmRpdGlvblNvdXJjZSk7XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLnBlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L3NlcnZpY2VzL2NvbmRpdGlvbi5wZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVqQyxNQUFNLGVBQWUsR0FDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW1HUyxDQUFDO0FBRVosZUFBZSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gJ3BlZ2pzJztcblxuY29uc3QgY29uZGl0aW9uU291cmNlID1cbiAgYHtcbiAgICBmdW5jdGlvbiBmbGF0KGFyciwgZGVwdGggPSAxKSB7XG4gICAgICB2YXIgZmxhdHRlbiA9IGZ1bmN0aW9uIChhcnIsIGRlcHRoID0gMSkge1xuICAgICAgICBpZiAoZGVwdGgpIHJldHVybiBhcnI7XG5cbiAgICAgIC8vIE90aGVyd2lzZSwgY29uY2F0ZW5hdGUgaW50byB0aGUgcGFyZW50IGFycmF5XG4gICAgICByZXR1cm4gYXJyLnJlZHVjZShmdW5jdGlvbiAoYWNjLCB2YWwpIHtcbiAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoQXJyYXkuaXNBcnJheSh2YWwpID8gZmxhdHRlbih2YWwsIGRlcHRoIC0gMSkgOiB2YWwpO1xuICAgICAgfSwgW10pO1xuXG4gICAgICB9O1xuXG4gICAgcmV0dXJuIGZsYXR0ZW4oYXJyLCBkZXB0aCAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIFN0YXJ0XG4gICAgPSBGb3JtdWxhXG5cbiAgRm9ybXVsYVxuICAgID0gRW5jbG9zZWRGb3JtdWxhXG4gICAgLyBPcGVuRm9ybXVsYVxuXG4gIEVuY2xvc2VkRm9ybXVsYVxuICAgID0gYnJhY2tldCBmb3JtdWxhOk9wZW5Gb3JtdWxhIGJyYWNrZXQgam9pbjooSm9pbkNvbXBhcmF0b3IpKlxuICAgICAgeyByZXR1cm4gZmxhdChbIFtmb3JtdWxhXSwgam9pblswXSBdLCAxKSB9XG5cbiAgT3BlbkZvcm11bGFcbiAgICA9IGVxOk9wZW5FcXVhbGl0eUNoZWNrIGpvaW5zOihKb2luQ29tcGFyYXRvcikqXG4gICAgICB7IHJldHVybiBmbGF0KFsgZXEsIGZsYXQoam9pbnMpIF0pIH1cblxuICBKb2luQ29tcGFyYXRvclxuICAgID0gY29tcDpDb21wYXJhdG9yIGVxOk9wZW5FcXVhbGl0eUNoZWNrXG4gICAgICB7IHJldHVybiBbY29tcCwgZXFdOyB9XG4gICAgICAvIENvbXBvdW5kSm9pbkNvbXBhcmF0b3JcblxuICBDb21wb3VuZEpvaW5Db21wYXJhdG9yXG4gICAgPSBjb21wOkNvbXBhcmF0b3IgYnJhY2tldCBmOk9wZW5Gb3JtdWxhIGJyYWNrZXRcbiAgICAgIHsgcmV0dXJuIFtjb21wLCBmIF0gfVxuXG4gIE9wZW5FcXVhbGl0eUNoZWNrXG4gICAgPSBmcjpGaWVsZFJlZiBfPyBvcDpvcGVyYXRvciBfPyB2YWw6VmFsdWVcbiAgICAgeyByZXR1cm4geyBmaWVsZFJlZmVyZW5jZTogZnIsIGNvbXBhcmF0b3I6IG9wLCB2YWx1ZTogdmFsIH0gfVxuXG4gIENvbXBhcmF0b3JcbiAgID0gXz8gYzonQU5EJyBfP1xuICAgeyByZXR1cm4gYzsgfVxuICAgLyBfPyBjOidPUicgXz9cbiAgIHsgcmV0dXJuIGM7IH1cblxuICBXb3JkXG4gICA9IGw6TGV0dGVyK1xuICAgeyByZXR1cm4gbC5qb2luKFwiXCIpOyB9XG5cbiAgTGV0dGVyXG4gICA9IFthLXpBLVpdXG5cbiAgVmFsdWVcbiAgID0gdjpxdW90ZWRWYWx1ZSAvIHY6V29yZFxuICAgeyByZXR1cm4gdi5qb2luKFwiXCIpIH1cbiAgIC8gdjpudW1iZXJcbiAgIHsgcmV0dXJuIHBhcnNlSW50KHYuam9pbihcIlwiKSkgfVxuXG4gIEZpZWxkUmVmXG4gICA9IEZpZWxkUmVmZXJlbmNlIC8gTWV0YWRhdGFGaWVsZFJlZmVyZW5jZVxuXG4gIE1ldGFkYXRhRmllbGRSZWZlcmVuY2VcbiAgICA9IHMxOm9wZW5TcXVhcmUgZnI6RmllbGRSZWZlcmVuY2UgczI6Y2xvc2VTcXVhcmVcbiAgICB7IHJldHVybiBzMSArIGZyICsgczIgfVxuXG4gIEZpZWxkUmVmZXJlbmNlXG4gICAgPSBjaGFyYWN0ZXJzOltBLVphLXowLTkuX10rIHsgcmV0dXJuIGNoYXJhY3RlcnMuam9pbihcIlwiKTsgfVxuXG4gIG9wZW5TcXVhcmVcbiAgID0gXCJbXCJcblxuICBjbG9zZVNxdWFyZVxuICAgPSBcIl1cIlxuXG4gIG51bWJlclxuICAgPSBbMC05XStcblxuICBxdW90ZWRWYWx1ZVxuICAgPSAnXCIndmFsOltBLVphLXowLTkuLCogXy8tXSonXCInXG4gICB7IHJldHVybiB2YWwuam9pbihcIlwiKTsgfVxuXG4gIGJyYWNrZXRcbiAgID0gKF8/IFwiKFwiKyBfPyAvIF8/IFwiKVwiKyBfPyApXG5cbiAgb3BlcmF0b3JcbiAgID0gXCI9XCIgLyBcIiE9XCIgLyBcIkNPTlRBSU5TXCJcblxuICB3cyBcIldoaXRlc3BhY2VcIlxuICAgPSBbIFxcdF1cblxuICBfIFwiT25lIG9yIG1vcmUgd2hpdGVzcGFjZXNcIlxuICAgPSB3cytcblxuICBubCBcIk5ldyBsaW5lXCJcbiAgID0gXCJcXFxcblwiYDtcblxuZXhwb3J0IGRlZmF1bHQgZ2VuZXJhdGUoY29uZGl0aW9uU291cmNlKTtcbiJdfQ==
@@ -3841,7 +3841,7 @@ const conditionSource = `{
3841
3841
  { return [comp, f ] }
3842
3842
 
3843
3843
  OpenEqualityCheck
3844
- = fr:FieldReference _? op:operator _? val:Value
3844
+ = fr:FieldRef _? op:operator _? val:Value
3845
3845
  { return { fieldReference: fr, comparator: op, value: val } }
3846
3846
 
3847
3847
  Comparator
@@ -3863,14 +3863,27 @@ const conditionSource = `{
3863
3863
  / v:number
3864
3864
  { return parseInt(v.join("")) }
3865
3865
 
3866
+ FieldRef
3867
+ = FieldReference / MetadataFieldReference
3868
+
3869
+ MetadataFieldReference
3870
+ = s1:openSquare fr:FieldReference s2:closeSquare
3871
+ { return s1 + fr + s2 }
3872
+
3866
3873
  FieldReference
3867
3874
  = characters:[A-Za-z0-9._]+ { return characters.join(""); }
3868
3875
 
3876
+ openSquare
3877
+ = "["
3878
+
3879
+ closeSquare
3880
+ = "]"
3881
+
3869
3882
  number
3870
3883
  = [0-9]+
3871
3884
 
3872
3885
  quotedValue
3873
- = '"'val:[A-Za-z0-9.,* _-]*'"'
3886
+ = '"'val:[A-Za-z0-9.,* _/-]*'"'
3874
3887
  { return val.join(""); }
3875
3888
 
3876
3889
  bracket
@@ -3909,7 +3922,7 @@ class ConditionParser {
3909
3922
  * @param conditions The PegJS formula output
3910
3923
  */
3911
3924
  static evaluate(fields, conditions, path) {
3912
- if (!conditions) {
3925
+ if (!conditions || conditions.length === 0) {
3913
3926
  return true;
3914
3927
  }
3915
3928
  ;
@@ -10995,7 +11008,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_5_Template(rf, ctx) { if
10995
11008
  } if (rf & 2) {
10996
11009
  const ctx_r8 = i0.ɵɵnextContext(2);
10997
11010
  i0.ɵɵadvance(1);
10998
- i0.ɵɵproperty("formGroup", ctx_r8.caseFlagParentFormGroup)("jurisdiction", ctx_r8.jurisdiction)("caseTypeId", ctx_r8.caseTypeId);
11011
+ i0.ɵɵproperty("formGroup", ctx_r8.caseFlagParentFormGroup)("jurisdiction", ctx_r8.jurisdiction)("caseTypeId", ctx_r8.caseTypeId)("hmctsServiceId", ctx_r8.hmctsServiceId);
10999
11012
  } }
11000
11013
  function WriteCaseFlagFieldComponent_div_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
11001
11014
  const _r17 = i0.ɵɵgetCurrentView();
@@ -11029,7 +11042,7 @@ function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
11029
11042
  i0.ɵɵtext(3);
11030
11043
  i0.ɵɵelementEnd();
11031
11044
  i0.ɵɵtemplate(4, WriteCaseFlagFieldComponent_div_1_ng_container_4_Template, 2, 2, "ng-container", 11);
11032
- i0.ɵɵtemplate(5, WriteCaseFlagFieldComponent_div_1_ng_container_5_Template, 2, 3, "ng-container", 11);
11045
+ i0.ɵɵtemplate(5, WriteCaseFlagFieldComponent_div_1_ng_container_5_Template, 2, 4, "ng-container", 11);
11033
11046
  i0.ɵɵtemplate(6, WriteCaseFlagFieldComponent_div_1_ng_container_6_Template, 2, 3, "ng-container", 11);
11034
11047
  i0.ɵɵtemplate(7, WriteCaseFlagFieldComponent_div_1_ng_container_7_Template, 2, 2, "ng-container", 11);
11035
11048
  i0.ɵɵelementEnd();
@@ -11138,22 +11151,30 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11138
11151
  }
11139
11152
  }
11140
11153
  // Extract all flags-related data from the CaseEventTrigger object in the snapshot data
11141
- if (this.route.snapshot.data.eventTrigger && this.route.snapshot.data.eventTrigger.case_fields) {
11142
- this.flagsData = (this.route.snapshot.data.eventTrigger.case_fields)
11143
- .reduce((flags, caseField) => {
11144
- return FieldsUtils.extractFlagsDataFromCaseField(flags, caseField, caseField.id, caseField);
11145
- }, []);
11146
- // Set boolean indicating the display_context_parameter is "update"
11147
- this.isDisplayContextParameterUpdate =
11148
- this.setDisplayContextParameterUpdate((this.route.snapshot.data.eventTrigger.case_fields));
11149
- // Set starting field state
11150
- this.fieldState = this.isDisplayContextParameterUpdate ? CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : CaseFlagFieldState.FLAG_LOCATION;
11151
- // Get case title, to be used by child components
11152
- this.caseEditDataService.caseTitle$.subscribe({
11153
- next: title => {
11154
- this.caseTitle = title.length > 0 ? title : this.caseNameMissing;
11155
- }
11156
- });
11154
+ if (this.route.snapshot.data.eventTrigger) {
11155
+ // Get the HMCTSServiceId from supplementary data, if it exists (required for retrieving the available flag types in
11156
+ // the first instance, only falling back on case type ID or jurisidiction if it's not present)
11157
+ if (this.route.snapshot.data.eventTrigger.supplementary_data
11158
+ && this.route.snapshot.data.eventTrigger.supplementary_data.HMCTSServiceId) {
11159
+ this.hmctsServiceId = this.route.snapshot.data.eventTrigger.supplementary_data.HMCTSServiceId;
11160
+ }
11161
+ if (this.route.snapshot.data.eventTrigger.case_fields) {
11162
+ this.flagsData = (this.route.snapshot.data.eventTrigger.case_fields)
11163
+ .reduce((flags, caseField) => {
11164
+ return FieldsUtils.extractFlagsDataFromCaseField(flags, caseField, caseField.id, caseField);
11165
+ }, []);
11166
+ // Set boolean indicating the display_context_parameter is "update"
11167
+ this.isDisplayContextParameterUpdate =
11168
+ this.setDisplayContextParameterUpdate((this.route.snapshot.data.eventTrigger.case_fields));
11169
+ // Set starting field state
11170
+ this.fieldState = this.isDisplayContextParameterUpdate ? CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : CaseFlagFieldState.FLAG_LOCATION;
11171
+ // Get case title, to be used by child components
11172
+ this.caseEditDataService.caseTitle$.subscribe({
11173
+ next: title => {
11174
+ this.caseTitle = title.length > 0 ? title : this.caseNameMissing;
11175
+ }
11176
+ });
11177
+ }
11157
11178
  }
11158
11179
  }
11159
11180
  setDisplayContextParameterUpdate(caseFields) {
@@ -11386,7 +11407,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11386
11407
  }
11387
11408
  }
11388
11409
  WriteCaseFlagFieldComponent.ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService)); };
11389
- WriteCaseFlagFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseFlagFieldComponent, selectors: [["ccd-write-case-flag-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], ["id", "create-flag-caption", 1, "govuk-caption-l", 3, "ngClass"], [4, "ngSwitchCase"], [3, "formGroup", "flagsData", "caseFlagStateEmitter"], [3, "formGroup", "jurisdiction", "caseTypeId", "caseFlagStateEmitter", "flagCommentsOptionalEmitter"], [3, "formGroup", "languages", "flagCode", "caseFlagStateEmitter"], [3, "formGroup", "optional", "caseFlagStateEmitter"], [3, "formGroup", "flagsData", "caseTitle", "caseFlagStateEmitter"], [3, "formGroup", "selectedFlag", "caseFlagStateEmitter"]], template: function WriteCaseFlagFieldComponent_Template(rf, ctx) { if (rf & 1) {
11410
+ WriteCaseFlagFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseFlagFieldComponent, selectors: [["ccd-write-case-flag-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], ["class", "form-group", 3, "formGroup", 4, "ngIf"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], ["class", "govuk-error-summary__body", 4, "ngFor", "ngForOf"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [1, "validation-error", 3, "click"], [1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngSwitch"], ["id", "create-flag-caption", 1, "govuk-caption-l", 3, "ngClass"], [4, "ngSwitchCase"], [3, "formGroup", "flagsData", "caseFlagStateEmitter"], [3, "formGroup", "jurisdiction", "caseTypeId", "hmctsServiceId", "caseFlagStateEmitter", "flagCommentsOptionalEmitter"], [3, "formGroup", "languages", "flagCode", "caseFlagStateEmitter"], [3, "formGroup", "optional", "caseFlagStateEmitter"], [3, "formGroup", "flagsData", "caseTitle", "caseFlagStateEmitter"], [3, "formGroup", "selectedFlag", "caseFlagStateEmitter"]], template: function WriteCaseFlagFieldComponent_Template(rf, ctx) { if (rf & 1) {
11390
11411
  i0.ɵɵtemplate(0, WriteCaseFlagFieldComponent_div_0_Template, 4, 1, "div", 0);
11391
11412
  i0.ɵɵtemplate(1, WriteCaseFlagFieldComponent_div_1_Template, 8, 10, "div", 1);
11392
11413
  i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_2_Template, 4, 4, "div", 1);
@@ -14708,6 +14729,9 @@ class PaymentField extends AbstractFieldReadComponent {
14708
14729
  getRefundsUrl() {
14709
14730
  return this.appConfig.getRefundsUrl();
14710
14731
  }
14732
+ getNotificationUrl() {
14733
+ return this.appConfig.getNotificationUrl();
14734
+ }
14711
14735
  getUserRoles() {
14712
14736
  const userDetails = JSON.parse(this.sessionStorage.getItem('userDetails') || null);
14713
14737
  if (!userDetails || !userDetails.hasOwnProperty('roles')) {
@@ -14730,10 +14754,10 @@ class CasePaymentHistoryViewerFieldComponent extends PaymentField {
14730
14754
  }
14731
14755
  }
14732
14756
  CasePaymentHistoryViewerFieldComponent.ɵfac = function CasePaymentHistoryViewerFieldComponent_Factory(t) { return new (t || CasePaymentHistoryViewerFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(SessionStorageService)); };
14733
- CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CasePaymentHistoryViewerFieldComponent, selectors: [["ccd-case-payment-history-viewer-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 15, consts: [[3, "API_ROOT", "CCD_CASE_NUMBER", "BULKSCAN_API_ROOT", "SELECTED_OPTION", "ISBSENABLE", "LOGGEDINUSEREMAIL", "LOGGEDINUSERROLES", "REFUNDS_API_ROOT", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "ISPAYMENTSTATUSENABLED"]], template: function CasePaymentHistoryViewerFieldComponent_Template(rf, ctx) { if (rf & 1) {
14757
+ CasePaymentHistoryViewerFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CasePaymentHistoryViewerFieldComponent, selectors: [["ccd-case-payment-history-viewer-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 16, consts: [[3, "API_ROOT", "CCD_CASE_NUMBER", "BULKSCAN_API_ROOT", "SELECTED_OPTION", "ISBSENABLE", "LOGGEDINUSEREMAIL", "LOGGEDINUSERROLES", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "ISPAYMENTSTATUSENABLED"]], template: function CasePaymentHistoryViewerFieldComponent_Template(rf, ctx) { if (rf & 1) {
14734
14758
  i0.ɵɵelement(0, "ccpay-payment-lib", 0);
14735
14759
  } if (rf & 2) {
14736
- i0.ɵɵproperty("API_ROOT", ctx.getBaseURL())("CCD_CASE_NUMBER", ctx.caseReference)("BULKSCAN_API_ROOT", ctx.getPayBulkScanBaseURL())("SELECTED_OPTION", "CCDorException")("ISBSENABLE", "true")("LOGGEDINUSEREMAIL", ctx.getUserEmail())("LOGGEDINUSERROLES", ctx.getUserRoles())("REFUNDS_API_ROOT", ctx.getRefundsUrl())("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", false)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx.caseReference)("DCN_NUMBER", null)("ISPAYMENTSTATUSENABLED", "Enable");
14760
+ i0.ɵɵproperty("API_ROOT", ctx.getBaseURL())("CCD_CASE_NUMBER", ctx.caseReference)("BULKSCAN_API_ROOT", ctx.getPayBulkScanBaseURL())("SELECTED_OPTION", "CCDorException")("ISBSENABLE", "true")("LOGGEDINUSEREMAIL", ctx.getUserEmail())("LOGGEDINUSERROLES", ctx.getUserRoles())("REFUNDS_API_ROOT", ctx.getRefundsUrl())("NOTIFICATION_API_ROOT", ctx.getNotificationUrl())("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", false)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx.caseReference)("DCN_NUMBER", null)("ISPAYMENTSTATUSENABLED", "Enable");
14737
14761
  } }, directives: [i3.PaymentLibComponent], encapsulation: 2 });
14738
14762
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasePaymentHistoryViewerFieldComponent, [{
14739
14763
  type: Component,
@@ -15044,7 +15068,7 @@ function WaysToPayFieldComponent_ccpay_payment_lib_0_Template(rf, ctx) { if (rf
15044
15068
  i0.ɵɵelement(0, "ccpay-payment-lib", 1);
15045
15069
  } if (rf & 2) {
15046
15070
  const ctx_r0 = i0.ɵɵnextContext();
15047
- i0.ɵɵproperty("API_ROOT", ctx_r0.getBaseURL())("BULKSCAN_API_ROOT", ctx_r0.getPayBulkScanBaseURL())("REFUNDS_API_ROOT", ctx_r0.getRefundsUrl())("CCD_CASE_NUMBER", ctx_r0.caseReference)("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", true)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx_r0.caseReference)("DCN_NUMBER", null)("SELECTED_OPTION", "CCDorException")("LOGGEDINUSERROLES", ctx_r0.getUserRoles())("CARDPAYMENTRETURNURL", ctx_r0.getCardPaymentReturnUrl())("ISPAYMENTSTATUSENABLED", "Enable");
15071
+ i0.ɵɵproperty("API_ROOT", ctx_r0.getBaseURL())("BULKSCAN_API_ROOT", ctx_r0.getPayBulkScanBaseURL())("REFUNDS_API_ROOT", ctx_r0.getRefundsUrl())("NOTIFICATION_API_ROOT", ctx_r0.getNotificationUrl())("CCD_CASE_NUMBER", ctx_r0.caseReference)("VIEW", "case-transactions")("TAKEPAYMENT", false)("SERVICEREQUEST", true)("PAYMENT_GROUP_REF", null)("EXC_REFERENCE", ctx_r0.caseReference)("DCN_NUMBER", null)("SELECTED_OPTION", "CCDorException")("LOGGEDINUSERROLES", ctx_r0.getUserRoles())("CARDPAYMENTRETURNURL", ctx_r0.getCardPaymentReturnUrl())("ISPAYMENTSTATUSENABLED", "Enable");
15048
15072
  } }
15049
15073
  class WaysToPayFieldComponent extends PaymentField {
15050
15074
  constructor(appConfig, sessionStorage) {
@@ -15055,8 +15079,8 @@ class WaysToPayFieldComponent extends PaymentField {
15055
15079
  }
15056
15080
  }
15057
15081
  WaysToPayFieldComponent.ɵfac = function WaysToPayFieldComponent_Factory(t) { return new (t || WaysToPayFieldComponent)(i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(SessionStorageService)); };
15058
- WaysToPayFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WaysToPayFieldComponent, selectors: [["ccd-ways-to-pay-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED", 4, "ngIf"], [3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED"]], template: function WaysToPayFieldComponent_Template(rf, ctx) { if (rf & 1) {
15059
- i0.ɵɵtemplate(0, WaysToPayFieldComponent_ccpay_payment_lib_0_Template, 1, 14, "ccpay-payment-lib", 0);
15082
+ WaysToPayFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WaysToPayFieldComponent, selectors: [["ccd-ways-to-pay-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED", 4, "ngIf"], [3, "API_ROOT", "BULKSCAN_API_ROOT", "REFUNDS_API_ROOT", "NOTIFICATION_API_ROOT", "CCD_CASE_NUMBER", "VIEW", "TAKEPAYMENT", "SERVICEREQUEST", "PAYMENT_GROUP_REF", "EXC_REFERENCE", "DCN_NUMBER", "SELECTED_OPTION", "LOGGEDINUSERROLES", "CARDPAYMENTRETURNURL", "ISPAYMENTSTATUSENABLED"]], template: function WaysToPayFieldComponent_Template(rf, ctx) { if (rf & 1) {
15083
+ i0.ɵɵtemplate(0, WaysToPayFieldComponent_ccpay_payment_lib_0_Template, 1, 15, "ccpay-payment-lib", 0);
15060
15084
  } if (rf & 2) {
15061
15085
  i0.ɵɵproperty("ngIf", ctx.getUserRoles().length > 0);
15062
15086
  } }, directives: [i1.NgIf, i3.PaymentLibComponent], encapsulation: 2 });
@@ -16584,19 +16608,30 @@ class SelectFlagTypeComponent {
16584
16608
  && this.formGroup['caseField'].id === this.caseLevelCaseFlagsFieldId
16585
16609
  ? RefdataCaseFlagType.CASE
16586
16610
  : RefdataCaseFlagType.PARTY;
16587
- // HMCTS service code is required to retrieve the relevant list of flag types; attempt to obtain it by case type ID first
16588
- this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetailsByCaseType(this.caseTypeId)
16589
- .pipe(
16590
- // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
16591
- catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
16592
- // Use switchMap to return an inner Observable of the flag types data, having received the service details
16593
- // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
16594
- switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType)))
16595
- .subscribe({
16596
- // First (and only) object in the returned array should be the top-level "Party" flag type
16597
- next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16598
- error: error => this.onRefdataError(error)
16599
- });
16611
+ // If hmctsServiceId is present, use this to retrieve the relevant list of flag types
16612
+ if (this.hmctsServiceId) {
16613
+ this.flagRefdata$ = this.caseFlagRefdataService.getCaseFlagsRefdata(this.hmctsServiceId, flagType)
16614
+ .subscribe({
16615
+ // First (and only) object in the returned array should be the top-level "Party" flag type
16616
+ next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16617
+ error: error => this.onRefdataError(error)
16618
+ });
16619
+ }
16620
+ else {
16621
+ // Else, HMCTS service code is required to retrieve the relevant list of flag types; attempt to obtain it by case type ID first
16622
+ this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetailsByCaseType(this.caseTypeId)
16623
+ .pipe(
16624
+ // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
16625
+ catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
16626
+ // Use switchMap to return an inner Observable of the flag types data, having received the service details
16627
+ // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
16628
+ switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType)))
16629
+ .subscribe({
16630
+ // First (and only) object in the returned array should be the top-level "Party" flag type
16631
+ next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16632
+ error: error => this.onRefdataError(error)
16633
+ });
16634
+ }
16600
16635
  }
16601
16636
  ngOnDestroy() {
16602
16637
  if (this.flagRefdata$) {
@@ -16667,7 +16702,7 @@ class SelectFlagTypeComponent {
16667
16702
  }
16668
16703
  }
16669
16704
  SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService)); };
16670
- SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 11, vars: 9, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName", "change"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
16705
+ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 11, vars: 9, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading"], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName", "change"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
16671
16706
  i0.ɵɵelementStart(0, "div", 0);
16672
16707
  i0.ɵɵelementStart(1, "div", 1);
16673
16708
  i0.ɵɵelementStart(2, "fieldset", 2);
@@ -16713,6 +16748,8 @@ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeCom
16713
16748
  type: Input
16714
16749
  }], caseTypeId: [{
16715
16750
  type: Input
16751
+ }], hmctsServiceId: [{
16752
+ type: Input
16716
16753
  }], caseFlagStateEmitter: [{
16717
16754
  type: Output
16718
16755
  }], flagCommentsOptionalEmitter: [{
@@ -20002,8 +20039,8 @@ i0.ɵɵsetComponentScope(WriteDateContainerFieldComponent, [i1.NgIf, DatetimePic
20002
20039
  i0.ɵɵsetComponentScope(WriteCollectionFieldComponent, [i1.NgIf, i1.NgForOf, FieldWriteComponent, i2.NgControlStatusGroup, i2.FormGroupDirective], [FieldLabelPipe, FirstErrorPipe]);
20003
20040
  i0.ɵɵsetComponentScope(
20004
20041
  // ComponentLauncher web components
20005
- CaseFileViewFieldComponent, [i1.NgIf, CaseFileViewFolderComponent, i11.ɵcs], []);
20006
- i0.ɵɵsetComponentScope(CaseFileViewFieldReadComponent, [i1.NgIf, CaseFileViewFolderComponent, i11.ɵcs], []);
20042
+ CaseFileViewFieldComponent, [i1.NgIf, CaseFileViewFolderComponent, i11.MediaViewerComponent], []);
20043
+ i0.ɵɵsetComponentScope(CaseFileViewFieldReadComponent, [i1.NgIf, CaseFileViewFolderComponent, i11.MediaViewerComponent], []);
20007
20044
 
20008
20045
  class Confirmation {
20009
20046
  constructor(caseId, status, header, body) {
@@ -24161,7 +24198,7 @@ class CaseFullAccessViewComponent {
24161
24198
  this.activeCaseFlags = this.hasActiveCaseFlags();
24162
24199
  }
24163
24200
  ngOnChanges(changes) {
24164
- if (!changes.prependedTabs.firstChange) {
24201
+ if (changes && changes.prependedTabs && !changes.prependedTabs.firstChange) {
24165
24202
  this.init();
24166
24203
  this.crf.detectChanges();
24167
24204
  this.organiseTabPosition();
@@ -24187,8 +24224,10 @@ class CaseFullAccessViewComponent {
24187
24224
  }
24188
24225
  }
24189
24226
  checkRouteAndSetCaseViewTab() {
24190
- this.router.events.subscribe((val) => {
24191
- const url = val && val.url;
24227
+ this.router.events
24228
+ .pipe(filter((event) => event instanceof NavigationEnd))
24229
+ .subscribe((event) => {
24230
+ const url = event && event.url;
24192
24231
  if (url) {
24193
24232
  const tabUrl = url ? url.split('#') : null;
24194
24233
  const tab = tabUrl && tabUrl.length > 1 ? tabUrl[tabUrl.length - 1].replaceAll('%20', ' ') : '';