@hmcts/ccd-case-ui-toolkit 6.13.0-rc6 → 6.13.0-rc7

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.
@@ -11008,7 +11008,7 @@ function WriteCaseFlagFieldComponent_div_1_ng_container_5_Template(rf, ctx) { if
11008
11008
  } if (rf & 2) {
11009
11009
  const ctx_r8 = i0.ɵɵnextContext(2);
11010
11010
  i0.ɵɵadvance(1);
11011
- 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);
11012
11012
  } }
11013
11013
  function WriteCaseFlagFieldComponent_div_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
11014
11014
  const _r17 = i0.ɵɵgetCurrentView();
@@ -11042,7 +11042,7 @@ function WriteCaseFlagFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
11042
11042
  i0.ɵɵtext(3);
11043
11043
  i0.ɵɵelementEnd();
11044
11044
  i0.ɵɵtemplate(4, WriteCaseFlagFieldComponent_div_1_ng_container_4_Template, 2, 2, "ng-container", 11);
11045
- 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);
11046
11046
  i0.ɵɵtemplate(6, WriteCaseFlagFieldComponent_div_1_ng_container_6_Template, 2, 3, "ng-container", 11);
11047
11047
  i0.ɵɵtemplate(7, WriteCaseFlagFieldComponent_div_1_ng_container_7_Template, 2, 2, "ng-container", 11);
11048
11048
  i0.ɵɵelementEnd();
@@ -11151,22 +11151,30 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11151
11151
  }
11152
11152
  }
11153
11153
  // Extract all flags-related data from the CaseEventTrigger object in the snapshot data
11154
- if (this.route.snapshot.data.eventTrigger && this.route.snapshot.data.eventTrigger.case_fields) {
11155
- this.flagsData = (this.route.snapshot.data.eventTrigger.case_fields)
11156
- .reduce((flags, caseField) => {
11157
- return FieldsUtils.extractFlagsDataFromCaseField(flags, caseField, caseField.id, caseField);
11158
- }, []);
11159
- // Set boolean indicating the display_context_parameter is "update"
11160
- this.isDisplayContextParameterUpdate =
11161
- this.setDisplayContextParameterUpdate((this.route.snapshot.data.eventTrigger.case_fields));
11162
- // Set starting field state
11163
- this.fieldState = this.isDisplayContextParameterUpdate ? CaseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : CaseFlagFieldState.FLAG_LOCATION;
11164
- // Get case title, to be used by child components
11165
- this.caseEditDataService.caseTitle$.subscribe({
11166
- next: title => {
11167
- this.caseTitle = title.length > 0 ? title : this.caseNameMissing;
11168
- }
11169
- });
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
+ }
11170
11178
  }
11171
11179
  }
11172
11180
  setDisplayContextParameterUpdate(caseFields) {
@@ -11399,7 +11407,7 @@ class WriteCaseFlagFieldComponent extends AbstractFieldWriteComponent {
11399
11407
  }
11400
11408
  }
11401
11409
  WriteCaseFlagFieldComponent.ɵfac = function WriteCaseFlagFieldComponent_Factory(t) { return new (t || WriteCaseFlagFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseEditDataService)); };
11402
- 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) {
11403
11411
  i0.ɵɵtemplate(0, WriteCaseFlagFieldComponent_div_0_Template, 4, 1, "div", 0);
11404
11412
  i0.ɵɵtemplate(1, WriteCaseFlagFieldComponent_div_1_Template, 8, 10, "div", 1);
11405
11413
  i0.ɵɵtemplate(2, WriteCaseFlagFieldComponent_div_2_Template, 4, 4, "div", 1);
@@ -16597,19 +16605,30 @@ class SelectFlagTypeComponent {
16597
16605
  && this.formGroup['caseField'].id === this.caseLevelCaseFlagsFieldId
16598
16606
  ? RefdataCaseFlagType.CASE
16599
16607
  : RefdataCaseFlagType.PARTY;
16600
- // HMCTS service code is required to retrieve the relevant list of flag types; attempt to obtain it by case type ID first
16601
- this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetailsByCaseType(this.caseTypeId)
16602
- .pipe(
16603
- // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
16604
- catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
16605
- // Use switchMap to return an inner Observable of the flag types data, having received the service details
16606
- // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
16607
- switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType)))
16608
- .subscribe({
16609
- // First (and only) object in the returned array should be the top-level "Party" flag type
16610
- next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16611
- error: error => this.onRefdataError(error)
16612
- });
16608
+ // If hmctsServiceId is present, use this to retrieve the relevant list of flag types
16609
+ if (this.hmctsServiceId) {
16610
+ this.flagRefdata$ = this.caseFlagRefdataService.getCaseFlagsRefdata(this.hmctsServiceId, flagType)
16611
+ .subscribe({
16612
+ // First (and only) object in the returned array should be the top-level "Party" flag type
16613
+ next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16614
+ error: error => this.onRefdataError(error)
16615
+ });
16616
+ }
16617
+ else {
16618
+ // Else, HMCTS service code is required to retrieve the relevant list of flag types; attempt to obtain it by case type ID first
16619
+ this.flagRefdata$ = this.caseFlagRefdataService.getHmctsServiceDetailsByCaseType(this.caseTypeId)
16620
+ .pipe(
16621
+ // If an error occurs retrieving HMCTS service details by case type ID, try by service name instead
16622
+ catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
16623
+ // Use switchMap to return an inner Observable of the flag types data, having received the service details
16624
+ // including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
16625
+ switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType)))
16626
+ .subscribe({
16627
+ // First (and only) object in the returned array should be the top-level "Party" flag type
16628
+ next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
16629
+ error: error => this.onRefdataError(error)
16630
+ });
16631
+ }
16613
16632
  }
16614
16633
  ngOnDestroy() {
16615
16634
  if (this.flagRefdata$) {
@@ -16680,7 +16699,7 @@ class SelectFlagTypeComponent {
16680
16699
  }
16681
16700
  }
16682
16701
  SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(CaseFlagRefdataService)); };
16683
- 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) {
16702
+ 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) {
16684
16703
  i0.ɵɵelementStart(0, "div", 0);
16685
16704
  i0.ɵɵelementStart(1, "div", 1);
16686
16705
  i0.ɵɵelementStart(2, "fieldset", 2);
@@ -16726,6 +16745,8 @@ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeCom
16726
16745
  type: Input
16727
16746
  }], caseTypeId: [{
16728
16747
  type: Input
16748
+ }], hmctsServiceId: [{
16749
+ type: Input
16729
16750
  }], caseFlagStateEmitter: [{
16730
16751
  type: Output
16731
16752
  }], flagCommentsOptionalEmitter: [{