@hmcts/ccd-case-ui-toolkit 5.0.40-case-edit-module-for-integration → 5.0.42-case-flags-integration-fixes

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 (24) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +38 -5
  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/shared/commons/case-edit-data/case-edit-data.service.js +7 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +10 -1
  7. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +1 -1
  8. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +15 -5
  9. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +2 -2
  10. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +2 -1
  11. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +10 -1
  12. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +38 -5
  13. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  14. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +4 -0
  15. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  16. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  17. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
  18. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  19. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +3 -1
  20. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  21. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts +1 -0
  23. package/lib/shared/components/palette/utils/is-compound.pipe.d.ts.map +1 -1
  24. package/package.json +1 -1
@@ -5,6 +5,14 @@ export class IsCompoundPipe {
5
5
  if (!field || !field.field_type || !field.field_type.type) {
6
6
  return false;
7
7
  }
8
+ // Case link tab spacing alignment fix
9
+ // This Pipe needs to be re-visited
10
+ // to make it more generic to support and fix alignments issues for multiple tabs
11
+ if (field.field_type.collection_field_type &&
12
+ field.field_type.collection_field_type.id &&
13
+ field.field_type.collection_field_type.id === IsCompoundPipe.CASE_LINK_FIELD_TYPE) {
14
+ return true;
15
+ }
8
16
  if (IsCompoundPipe.COMPOUND_TYPES.indexOf(field.field_type.type) !== -1) {
9
17
  if (IsCompoundPipe.EXCLUDE.indexOf(field.field_type.id) !== -1) {
10
18
  return false;
@@ -14,6 +22,7 @@ export class IsCompoundPipe {
14
22
  return false;
15
23
  }
16
24
  }
25
+ IsCompoundPipe.CASE_LINK_FIELD_TYPE = 'CaseLink';
17
26
  IsCompoundPipe.COMPOUND_TYPES = [
18
27
  'Complex',
19
28
  'Label',
@@ -40,4 +49,4 @@ IsCompoundPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdIsCompound", type: IsCompo
40
49
  name: 'ccdIsCompound'
41
50
  }]
42
51
  }], null, null); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29tcG91bmQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3V0aWxzL2lzLWNvbXBvdW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxjQUFjO0lBc0JsQixTQUFTLENBQUMsS0FBZ0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN6RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDOUQsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0FBakN1Qiw2QkFBYyxHQUFvQjtJQUN4RCxTQUFTO0lBQ1QsT0FBTztJQUNQLGVBQWU7SUFDZixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFVBQVU7Q0FDWCxDQUFDO0FBRXNCLHNCQUFPLEdBQWE7SUFDMUMsVUFBVTtJQUNWLGNBQWM7Q0FDZixDQUFDOzRFQXBCUyxjQUFjO3NFQUFkLGNBQWM7dUZBQWQsY0FBYztjQUgxQixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLWVudW0ubW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RJc0NvbXBvdW5kJ1xufSlcbmV4cG9ydCBjbGFzcyBJc0NvbXBvdW5kUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENPTVBPVU5EX1RZUEVTOiBGaWVsZFR5cGVFbnVtW10gPSBbXG4gICAgJ0NvbXBsZXgnLFxuICAgICdMYWJlbCcsXG4gICAgJ0FkZHJlc3NHbG9iYWwnLFxuICAgICdBZGRyZXNzVUsnLFxuICAgICdBZGRyZXNzR2xvYmFsVUsnLFxuICAgICdDYXNlUGF5bWVudEhpc3RvcnlWaWV3ZXInLFxuICAgICdDYXNlSGlzdG9yeVZpZXdlcicsXG4gICAgJ09yZ2FuaXNhdGlvbicsXG4gICAgJ1dheXNUb1BheScsXG4gICAgJ0NvbXBvbmVudExhdW5jaGVyJyxcbiAgICAnRmxhZ0xhdW5jaGVyJyxcbiAgICAnQ2FzZUZsYWcnXG4gIF07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhDTFVERTogc3RyaW5nW10gPSBbXG4gICAgJ0Nhc2VMaW5rJyxcbiAgICAnSnVkaWNpYWxVc2VyJ1xuICBdO1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIGlmICghZmllbGQgfHwgIWZpZWxkLmZpZWxkX3R5cGUgfHwgIWZpZWxkLmZpZWxkX3R5cGUudHlwZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChJc0NvbXBvdW5kUGlwZS5DT01QT1VORF9UWVBFUy5pbmRleE9mKGZpZWxkLmZpZWxkX3R5cGUudHlwZSkgIT09IC0xKSB7XG4gICAgICBpZiAoSXNDb21wb3VuZFBpcGUuRVhDTFVERS5pbmRleE9mKGZpZWxkLmZpZWxkX3R5cGUuaWQpICE9PSAtMSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29tcG91bmQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3V0aWxzL2lzLWNvbXBvdW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxjQUFjO0lBd0JsQixTQUFTLENBQUMsS0FBZ0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN6RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsc0NBQXNDO1FBQ3RDLG1DQUFtQztRQUNuQyxpRkFBaUY7UUFDakYsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLHFCQUFxQjtZQUN0QyxLQUFLLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDekMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLG9CQUFvQixFQUFFO1lBQ3JGLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdkUsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM5RCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7QUE1Q3VCLG1DQUFvQixHQUFHLFVBQVUsQ0FBQztBQUVsQyw2QkFBYyxHQUFvQjtJQUN4RCxTQUFTO0lBQ1QsT0FBTztJQUNQLGVBQWU7SUFDZixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFVBQVU7Q0FDWCxDQUFDO0FBRXNCLHNCQUFPLEdBQWE7SUFDMUMsVUFBVTtJQUNWLGNBQWM7Q0FDZixDQUFDOzRFQXRCUyxjQUFjO3NFQUFkLGNBQWM7dUZBQWQsY0FBYztjQUgxQixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGVBQWU7YUFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLWVudW0ubW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RJc0NvbXBvdW5kJ1xufSlcbmV4cG9ydCBjbGFzcyBJc0NvbXBvdW5kUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTElOS19GSUVMRF9UWVBFID0gJ0Nhc2VMaW5rJztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDT01QT1VORF9UWVBFUzogRmllbGRUeXBlRW51bVtdID0gW1xuICAgICdDb21wbGV4JyxcbiAgICAnTGFiZWwnLFxuICAgICdBZGRyZXNzR2xvYmFsJyxcbiAgICAnQWRkcmVzc1VLJyxcbiAgICAnQWRkcmVzc0dsb2JhbFVLJyxcbiAgICAnQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyJyxcbiAgICAnQ2FzZUhpc3RvcnlWaWV3ZXInLFxuICAgICdPcmdhbmlzYXRpb24nLFxuICAgICdXYXlzVG9QYXknLFxuICAgICdDb21wb25lbnRMYXVuY2hlcicsXG4gICAgJ0ZsYWdMYXVuY2hlcicsXG4gICAgJ0Nhc2VGbGFnJ1xuICBdO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYQ0xVREU6IHN0cmluZ1tdID0gW1xuICAgICdDYXNlTGluaycsXG4gICAgJ0p1ZGljaWFsVXNlcidcbiAgXTtcblxuICBwdWJsaWMgdHJhbnNmb3JtKGZpZWxkOiBDYXNlRmllbGQpOiBib29sZWFuIHtcbiAgICBpZiAoIWZpZWxkIHx8ICFmaWVsZC5maWVsZF90eXBlIHx8ICFmaWVsZC5maWVsZF90eXBlLnR5cGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBDYXNlIGxpbmsgdGFiIHNwYWNpbmcgYWxpZ25tZW50IGZpeFxuICAgIC8vIFRoaXMgUGlwZSBuZWVkcyB0byBiZSByZS12aXNpdGVkXG4gICAgLy8gdG8gbWFrZSBpdCBtb3JlIGdlbmVyaWMgdG8gc3VwcG9ydCBhbmQgZml4IGFsaWdubWVudHMgaXNzdWVzIGZvciBtdWx0aXBsZSB0YWJzXG4gICAgaWYgKGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlICYmXG4gICAgICAgIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkICYmXG4gICAgICAgIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSBJc0NvbXBvdW5kUGlwZS5DQVNFX0xJTktfRklFTERfVFlQRSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKElzQ29tcG91bmRQaXBlLkNPTVBPVU5EX1RZUEVTLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS50eXBlKSAhPT0gLTEpIHtcbiAgICAgIGlmIChJc0NvbXBvdW5kUGlwZS5FWENMVURFLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS5pZCkgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=
@@ -2592,6 +2592,14 @@ class IsCompoundPipe {
2592
2592
  if (!field || !field.field_type || !field.field_type.type) {
2593
2593
  return false;
2594
2594
  }
2595
+ // Case link tab spacing alignment fix
2596
+ // This Pipe needs to be re-visited
2597
+ // to make it more generic to support and fix alignments issues for multiple tabs
2598
+ if (field.field_type.collection_field_type &&
2599
+ field.field_type.collection_field_type.id &&
2600
+ field.field_type.collection_field_type.id === IsCompoundPipe.CASE_LINK_FIELD_TYPE) {
2601
+ return true;
2602
+ }
2595
2603
  if (IsCompoundPipe.COMPOUND_TYPES.indexOf(field.field_type.type) !== -1) {
2596
2604
  if (IsCompoundPipe.EXCLUDE.indexOf(field.field_type.id) !== -1) {
2597
2605
  return false;
@@ -2601,6 +2609,7 @@ class IsCompoundPipe {
2601
2609
  return false;
2602
2610
  }
2603
2611
  }
2612
+ IsCompoundPipe.CASE_LINK_FIELD_TYPE = 'CaseLink';
2604
2613
  IsCompoundPipe.COMPOUND_TYPES = [
2605
2614
  'Complex',
2606
2615
  'Label',
@@ -8392,9 +8401,12 @@ class CaseEditDataService {
8392
8401
  this.formValidationErrors$ = new BehaviorSubject([]);
8393
8402
  this.linkError$ = new BehaviorSubject(null);
8394
8403
  this.eventTriggerName$ = new BehaviorSubject(null);
8404
+ this.triggerSubmitEvent$ = new BehaviorSubject(null);
8405
+ this.caseTitle$ = this.title$.asObservable();
8395
8406
  this.caseFormValidationErrors$ = this.formValidationErrors$.asObservable();
8396
8407
  this.caseLinkError$ = this.linkError$.asObservable();
8397
8408
  this.caseEventTriggerName$ = this.eventTriggerName$.asObservable();
8409
+ this.caseTriggerSubmitEvent$ = this.triggerSubmitEvent$.asObservable();
8398
8410
  }
8399
8411
  setCaseTitle(caseTitle) {
8400
8412
  this.title$.next(caseTitle);
@@ -8417,6 +8429,9 @@ class CaseEditDataService {
8417
8429
  addFormValidationError(validationError) {
8418
8430
  this.formValidationErrors$.next(this.formValidationErrors$.getValue().concat([validationError]));
8419
8431
  }
8432
+ setTriggerSubmitEvent(state) {
8433
+ this.triggerSubmitEvent$.next(state);
8434
+ }
8420
8435
  }
8421
8436
 
8422
8437
  class CaseEditDataModule {
@@ -8780,6 +8795,14 @@ class CaseEditPageComponent {
8780
8795
  }
8781
8796
  });
8782
8797
  CaseEditPageComponent.setFocusToTop();
8798
+ this.caseEditDataService.caseTriggerSubmitEvent$.subscribe({
8799
+ next: state => {
8800
+ if (state) {
8801
+ this.caseEditDataService.setTriggerSubmitEvent(false);
8802
+ this.submit();
8803
+ }
8804
+ }
8805
+ });
8783
8806
  }
8784
8807
  ngAfterViewChecked() {
8785
8808
  this.cdRef.detectChanges();
@@ -9109,6 +9132,7 @@ class CaseEditPageComponent {
9109
9132
  syncCaseEditDataService() {
9110
9133
  this.caseEditDataService.setCaseEventTriggerName(this.eventTrigger.name);
9111
9134
  this.caseEditDataService.setCaseLinkError(this.caseLinkError);
9135
+ this.caseEditDataService.setCaseTitle(this.getCaseTitle());
9112
9136
  this.caseEditDataService.caseFormValidationErrors$.subscribe({
9113
9137
  next: (validationErrors) => this.validationErrors = validationErrors
9114
9138
  });
@@ -11094,9 +11118,10 @@ function WriteCaseFlagFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
11094
11118
  i0.ɵɵproperty("ngSwitchCase", ctx_r2.caseFlagFieldState.FLAG_UPDATE);
11095
11119
  } }
11096
11120
  class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11097
- constructor(route) {
11121
+ constructor(route, caseEditDataService) {
11098
11122
  super();
11099
11123
  this.route = route;
11124
+ this.caseEditDataService = caseEditDataService;
11100
11125
  this.caseFlagFieldState = CaseFlagFieldState;
11101
11126
  this.errorMessages = [];
11102
11127
  this.caseFlagParentFormGroup = new FormGroup({});
@@ -11109,6 +11134,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11109
11134
  this.caseNameMissing = 'Case name missing';
11110
11135
  }
11111
11136
  ngOnInit() {
11137
+ this.caseEditDataService.clearFormValidationErrors();
11112
11138
  // Check for existing FlagLauncher control in parent and remove it - this is the only way to ensure its invalidity
11113
11139
  // is set correctly at the start, when the component is reloaded and the control is re-registered. Otherwise, the
11114
11140
  // validator state gets carried over
@@ -11144,13 +11170,18 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11144
11170
  // Set starting field state
11145
11171
  this.fieldState = this.isDisplayContextParameterUpdate ? CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : CaseFlagFieldState.FLAG_LOCATION;
11146
11172
  // Get case title, to be used by child components
11147
- this.caseTitle = this.caseNameMissing;
11173
+ this.caseEditDataService.caseTitle$.subscribe({
11174
+ next: title => {
11175
+ this.caseTitle = title.length > 0 ? title : this.caseNameMissing;
11176
+ }
11177
+ });
11148
11178
  }
11149
11179
  }
11150
11180
  setDisplayContextParameterUpdate(caseFields) {
11151
11181
  return caseFields.some(caseField => FieldsUtils.isFlagLauncherCaseField(caseField) && caseField.display_context_parameter === this.updateMode);
11152
11182
  }
11153
11183
  onCaseFlagStateEmitted(caseFlagState) {
11184
+ this.caseEditDataService.clearFormValidationErrors();
11154
11185
  // If the current state is CaseFlagFieldState.FLAG_LOCATION and a flag location (a Flags instance) has been selected,
11155
11186
  // set the parent Case Flag FormGroup for this component's children by using the provided pathToFlagsFormGroup, and
11156
11187
  // set the selected flag location on this component
@@ -11372,9 +11403,10 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11372
11403
  // Clear the "notAllCaseFlagStagesCompleted" error
11373
11404
  this.allCaseFlagStagesCompleted = true;
11374
11405
  this.formGroup.updateValueAndValidity();
11406
+ this.caseEditDataService.setTriggerSubmitEvent(true);
11375
11407
  }
11376
11408
  }
11377
- WriteCaseFlagFieldComponent.ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
11409
+ WriteCaseFlagFieldComponent.ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService)); };
11378
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", "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) {
11379
11411
  i0.ɵɵtemplate(0, WriteCaseFlagFieldComponent_div_0_Template, 4, 1, "div", 0);
11380
11412
  i0.ɵɵtemplate(1, WriteCaseFlagFieldComponent_div_1_Template, 8, 10, "div", 1);
@@ -11393,7 +11425,7 @@ WriteCaseFlagFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteCaseFlag
11393
11425
  templateUrl: './write-case-flag-field.component.html',
11394
11426
  styleUrls: ['./write-case-flag-field.component.scss']
11395
11427
  }]
11396
- }], function () { return [{ type: i1$1.ActivatedRoute }]; }, null); })();
11428
+ }], function () { return [{ type: i1$1.ActivatedRoute }, { type: CaseEditDataService }]; }, null); })();
11397
11429
 
11398
11430
  function ReadCaseLinkFieldComponent_a_0_Template(rf, ctx) { if (rf & 1) {
11399
11431
  i0.ɵɵelementStart(0, "a", 2);
@@ -18426,10 +18458,10 @@ class LinkCasesComponent {
18426
18458
  this.ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS';
18427
18459
  }
18428
18460
  ngOnInit() {
18429
- this.initForm();
18430
18461
  this.caseId = this.linkedCasesService.caseId;
18431
18462
  this.caseName = this.linkedCasesService.caseName;
18432
18463
  this.linkCaseReasons = this.linkedCasesService.linkCaseReasons;
18464
+ this.initForm();
18433
18465
  if (this.linkedCasesService.editMode) {
18434
18466
  // this may have includes the currently added one but yet to be submitted.
18435
18467
  this.selectedCases = this.linkedCasesService.linkedCases;
@@ -19556,6 +19588,7 @@ class WriteLinkedCasesComponent extends AbstractFieldWriteComponent {
19556
19588
  this.errorMessages = [];
19557
19589
  }
19558
19590
  ngOnInit() {
19591
+ this.caseEditDataService.clearFormValidationErrors();
19559
19592
  this.linkedCasesService.caseId = this.caseEdit.caseDetails.case_id;
19560
19593
  this.linkedCasesService.caseName = this.linkedCasesService.getCaseName(this.caseEdit.caseDetails);
19561
19594
  this.linkedCasesService.caseDetails = this.caseEdit.caseDetails;