@hmcts/ccd-case-ui-toolkit 7.2.13-2895-rc2 → 7.2.13-close-query-1

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 (44) hide show
  1. package/esm2022/lib/app.config.mjs +1 -2
  2. package/esm2022/lib/components/form/date-input/date-input.component.mjs +3 -3
  3. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +49 -52
  4. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +4 -4
  5. package/esm2022/lib/shared/components/palette/palette.module.mjs +7 -3
  6. package/esm2022/lib/shared/components/palette/query-management/components/close-query/close-query.component.mjs +49 -0
  7. package/esm2022/lib/shared/components/palette/query-management/components/index.mjs +2 -1
  8. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +48 -20
  9. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +15 -9
  10. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +25 -8
  11. package/esm2022/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +2 -1
  12. package/esm2022/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +1 -1
  13. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +11 -2
  14. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +27 -6
  15. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +4 -2
  16. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +76 -91
  17. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +14 -53
  18. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +351 -272
  19. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  20. package/lib/app.config.d.ts +0 -2
  21. package/lib/app.config.d.ts.map +1 -1
  22. package/lib/shared/components/palette/document/write-document-field.component.d.ts +2 -2
  23. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  24. package/lib/shared/components/palette/palette.module.d.ts +33 -32
  25. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  26. package/lib/shared/components/palette/query-management/components/close-query/close-query.component.d.ts +8 -0
  27. package/lib/shared/components/palette/query-management/components/close-query/close-query.component.d.ts.map +1 -0
  28. package/lib/shared/components/palette/query-management/components/index.d.ts +1 -0
  29. package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -1
  30. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  31. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +2 -1
  32. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -1
  33. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +1 -0
  34. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -1
  35. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +1 -0
  36. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  37. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +1 -0
  38. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
  39. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
  40. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +0 -1
  41. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
  42. package/lib/shared/services/document-management/document-management.service.d.ts +1 -5
  43. package/lib/shared/services/document-management/document-management.service.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -8,10 +8,10 @@ import * as i1$1 from '@angular/router';
8
8
  import { RouterModule, NavigationStart, NavigationEnd } from '@angular/router';
9
9
  import * as i4 from '@angular/forms';
10
10
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
11
- import { BehaviorSubject, throwError, Subject, EMPTY, Observable, of, combineLatest, timer, forkJoin, fromEvent, Subscription } from 'rxjs';
11
+ import { BehaviorSubject, throwError, Subject, EMPTY, Observable, of, timer, forkJoin, fromEvent, Subscription, combineLatest } from 'rxjs';
12
12
  import * as i1$2 from '@angular/common/http';
13
13
  import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
14
- import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, take, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, first, takeUntil, filter } from 'rxjs/operators';
14
+ import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
15
15
  import { polling } from 'rx-polling-hmcts';
16
16
  import { Type, Exclude, Expose, plainToClassFromExist, plainToClass } from 'class-transformer';
17
17
  import moment from 'moment';
@@ -661,7 +661,7 @@ class DateInputComponent {
661
661
  useExisting: forwardRef(() => DateInputComponent),
662
662
  multi: true
663
663
  }
664
- ])], decls: 22, vars: 36, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
664
+ ])], decls: 22, vars: 36, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "number", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
665
665
  const _r1 = i0.ɵɵgetCurrentView();
666
666
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "span", 8);
667
667
  i0.ɵɵtext(3);
@@ -729,7 +729,7 @@ class DateInputComponent {
729
729
  useExisting: forwardRef(() => DateInputComponent),
730
730
  multi: true
731
731
  }
732
- ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <span class=\"form-label\" [attr.id]=\"'day-label-'+dayId()\">{{'Day' | rpxTranslate}}</span>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'day-label-'+dayId()\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <span class=\"form-label\" [attr.id]=\"'month-label-'+ monthId()\">{{'Month' | rpxTranslate}}</span>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'month-label-'+ monthId()\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <span class=\"form-label\" [attr.id]=\"'year-label-'+ yearId()\">{{'Year' | rpxTranslate}}</span>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'year-label-'+ yearId()\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'hour-label-'+ hourId()\">{{'Hour' | rpxTranslate}}</span>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'hour-label-'+ hourId()\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'minute-label-'+ hourId()\">{{'Minute' | rpxTranslate}}</span>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'minute-label-'+ minuteId()\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'second-label-'+ secondId()\">{{'Second' | rpxTranslate}}</span>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'second-label-'+ secondId()\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
732
+ ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <span class=\"form-label\" [attr.id]=\"'day-label-'+dayId()\">{{'Day' | rpxTranslate}}</span>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'day-label-'+dayId()\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <span class=\"form-label\" [attr.id]=\"'month-label-'+ monthId()\">{{'Month' | rpxTranslate}}</span>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'month-label-'+ monthId()\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <span class=\"form-label\" [attr.id]=\"'year-label-'+ yearId()\">{{'Year' | rpxTranslate}}</span>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'year-label-'+ yearId()\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'hour-label-'+ hourId()\">{{'Hour' | rpxTranslate}}</span>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'hour-label-'+ hourId()\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'minute-label-'+ hourId()\">{{'Minute' | rpxTranslate}}</span>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'minute-label-'+ minuteId()\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'second-label-'+ secondId()\">{{'Second' | rpxTranslate}}</span>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'second-label-'+ secondId()\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
733
733
  }], null, { id: [{
734
734
  type: Input
735
735
  }], mandatory: [{
@@ -1281,7 +1281,6 @@ class CaseEditorConfig {
1281
1281
  hrs_url;
1282
1282
  document_management_secure_enabled;
1283
1283
  documentSecureModeCaseTypeExclusions;
1284
- mc_cdam_exclusion_list;
1285
1284
  login_url;
1286
1285
  oauth2_client_id;
1287
1286
  postcode_lookup_url;
@@ -7114,44 +7113,10 @@ class CaseNotifier {
7114
7113
  type: Injectable
7115
7114
  }], () => [{ type: CasesService }], null); })();
7116
7115
 
7117
- class JurisdictionService {
7118
- httpService;
7119
- // We retain the Subject observable because subscribing code couldn't happen a null value
7120
- selectedJurisdictionSource = new Subject();
7121
- _selectedJurisdictionBS = new BehaviorSubject(null);
7122
- selectedJurisdiction;
7123
- constructor(httpService) {
7124
- this.httpService = httpService;
7125
- this.selectedJurisdiction = this.selectedJurisdictionSource.asObservable();
7126
- }
7127
- getJurisdictions() {
7128
- return this.httpService.get('/aggregated/caseworkers/:uid/jurisdictions?access=read');
7129
- }
7130
- announceSelectedJurisdiction(jurisdiction) {
7131
- this.selectedJurisdictionSource.next(jurisdiction);
7132
- this._selectedJurisdictionBS.next(jurisdiction);
7133
- }
7134
- getSelectedJurisdiction() {
7135
- return this._selectedJurisdictionBS;
7136
- }
7137
- searchJudicialUsers(searchTerm, serviceId) {
7138
- return this.httpService.post('api/prd/judicial/getJudicialUsersSearch', { searchString: searchTerm, serviceCode: serviceId });
7139
- }
7140
- searchJudicialUsersByPersonalCodes(personalCodes) {
7141
- return this.httpService.post('api/prd/judicial/searchJudicialUserByPersonalCodes', { personal_code: personalCodes });
7142
- }
7143
- static ɵfac = function JurisdictionService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JurisdictionService)(i0.ɵɵinject(HttpService)); };
7144
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: JurisdictionService, factory: JurisdictionService.ɵfac });
7145
- }
7146
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JurisdictionService, [{
7147
- type: Injectable
7148
- }], () => [{ type: HttpService }], null); })();
7149
-
7150
7116
  class DocumentManagementService {
7151
7117
  http;
7152
7118
  appConfig;
7153
7119
  caseNotifierService;
7154
- jurisdictionService;
7155
7120
  static PDF = 'pdf';
7156
7121
  static IMAGE = 'image';
7157
7122
  static WORD = 'word';
@@ -7166,33 +7131,10 @@ class DocumentManagementService {
7166
7131
  static wordList = ['DOC', 'DOCX', 'doc', 'docx'];
7167
7132
  static excelList = ['XLS', 'XLSX', 'xls', 'xlsx'];
7168
7133
  static powerpointList = ['PPT', 'PPTX', 'ppt', 'pptx'];
7169
- caseTypeId = '';
7170
- constructor(http, appConfig, caseNotifierService, jurisdictionService) {
7134
+ constructor(http, appConfig, caseNotifierService) {
7171
7135
  this.http = http;
7172
7136
  this.appConfig = appConfig;
7173
7137
  this.caseNotifierService = caseNotifierService;
7174
- this.jurisdictionService = jurisdictionService;
7175
- combineLatest([
7176
- this.caseNotifierService.caseView.pipe(take(1)),
7177
- this.jurisdictionService.getSelectedJurisdiction()
7178
- ]).subscribe(([caseDetails, jurisdiction]) => {
7179
- if (caseDetails) {
7180
- this.caseTypeId = caseDetails?.case_type?.id;
7181
- }
7182
- if (jurisdiction) {
7183
- if (jurisdiction.currentCaseType) {
7184
- this.caseTypeId = jurisdiction.currentCaseType.id;
7185
- }
7186
- }
7187
- //if the user refreshes on the case creation page the above logic will not work, we can get the caseTypeId from the URL
7188
- if (!this.caseTypeId) {
7189
- const url = window.location.pathname;
7190
- if (url.indexOf('/case-create/') > -1) {
7191
- const parts = url.split('/');
7192
- this.caseTypeId = parts[parts.indexOf('case-create') + 2];
7193
- }
7194
- }
7195
- });
7196
7138
  }
7197
7139
  uploadFile(formData) {
7198
7140
  const url = this.getDocStoreUrl();
@@ -7270,34 +7212,22 @@ class DocumentManagementService {
7270
7212
  return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
7271
7213
  }
7272
7214
  getDocStoreUrl() {
7273
- if (this.isDocumentSecureModeEnabled()) {
7274
- return this.appConfig.getDocumentManagementUrlV2();
7275
- }
7276
- return this.appConfig.getDocumentManagementUrl();
7277
- }
7278
- // return false == document should not use CDAM
7279
- // return true == document should use CDAM
7280
- isDocumentSecureModeEnabled() {
7281
- const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7282
- const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7283
- const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7284
- // if the documentSecureModeEnabled is false, return false
7285
- if (!documentSecureModeEnabled) {
7286
- return false;
7287
- }
7288
- // if the documentSecureModeEnabled is true, and the case is not in the exclusion list, return true
7289
- if (documentSecureModeEnabled && !isDocumentOnExclusionList) {
7290
- return true;
7291
- }
7292
- // if documentSecureModeEnabled is true, and case is in the exclusion list, return false
7293
- return false;
7294
- }
7295
- static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier), i0.ɵɵinject(JurisdictionService)); };
7215
+ let docStoreUrl = '';
7216
+ this.caseNotifierService.caseView.subscribe((caseDetails) => {
7217
+ const caseType = caseDetails?.case_type?.id;
7218
+ const documentSecureModeCaseTypeExclusions = this.appConfig.getDocumentSecureModeCaseTypeExclusions()?.split(',');
7219
+ const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(caseType);
7220
+ const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7221
+ docStoreUrl = (documentSecureModeEnabled && !isDocumentOnExclusionList) ? this.appConfig.getDocumentManagementUrlV2() : this.appConfig.getDocumentManagementUrl();
7222
+ }).unsubscribe();
7223
+ return docStoreUrl;
7224
+ }
7225
+ static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier)); };
7296
7226
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
7297
7227
  }
7298
7228
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DocumentManagementService, [{
7299
7229
  type: Injectable
7300
- }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }, { type: JurisdictionService }], null); })();
7230
+ }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }], null); })();
7301
7231
 
7302
7232
  class ErrorNotifierService {
7303
7233
  errorSource = new BehaviorSubject(null);
@@ -7489,6 +7419,39 @@ class MultipageComponentStateService {
7489
7419
  }]
7490
7420
  }], null, null); })();
7491
7421
 
7422
+ class JurisdictionService {
7423
+ httpService;
7424
+ // We retain the Subject observable because subscribing code couldn't happen a null value
7425
+ selectedJurisdictionSource = new Subject();
7426
+ _selectedJurisdictionBS = new BehaviorSubject(null);
7427
+ selectedJurisdiction;
7428
+ constructor(httpService) {
7429
+ this.httpService = httpService;
7430
+ this.selectedJurisdiction = this.selectedJurisdictionSource.asObservable();
7431
+ }
7432
+ getJurisdictions() {
7433
+ return this.httpService.get('/aggregated/caseworkers/:uid/jurisdictions?access=read');
7434
+ }
7435
+ announceSelectedJurisdiction(jurisdiction) {
7436
+ this.selectedJurisdictionSource.next(jurisdiction);
7437
+ this._selectedJurisdictionBS.next(jurisdiction);
7438
+ }
7439
+ getSelectedJurisdiction() {
7440
+ return this._selectedJurisdictionBS;
7441
+ }
7442
+ searchJudicialUsers(searchTerm, serviceId) {
7443
+ return this.httpService.post('api/prd/judicial/getJudicialUsersSearch', { searchString: searchTerm, serviceCode: serviceId });
7444
+ }
7445
+ searchJudicialUsersByPersonalCodes(personalCodes) {
7446
+ return this.httpService.post('api/prd/judicial/searchJudicialUserByPersonalCodes', { personal_code: personalCodes });
7447
+ }
7448
+ static ɵfac = function JurisdictionService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JurisdictionService)(i0.ɵɵinject(HttpService)); };
7449
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: JurisdictionService, factory: JurisdictionService.ɵfac });
7450
+ }
7451
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JurisdictionService, [{
7452
+ type: Injectable
7453
+ }], () => [{ type: HttpService }], null); })();
7454
+
7492
7455
  class BannersService {
7493
7456
  httpService;
7494
7457
  appConfig;
@@ -15148,11 +15111,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15148
15111
  jurisdictionSubs;
15149
15112
  uploadedDocument;
15150
15113
  dialogConfig;
15114
+ secureModeOn;
15151
15115
  jurisdictionId;
15152
15116
  caseTypeId;
15153
- caseTypeExclusions;
15154
- // Should the file upload use CDAM
15155
- fileSecureModeOn = false;
15156
15117
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
15157
15118
  super();
15158
15119
  this.appConfig = appConfig;
@@ -15163,44 +15124,22 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15163
15124
  this.jurisdictionService = jurisdictionService;
15164
15125
  }
15165
15126
  ngOnInit() {
15166
- // Wait for both observables to emit at least once
15167
- this.caseNotifierSubscription = combineLatest([
15168
- this.caseNotifier.caseView.pipe(take(1)),
15169
- this.jurisdictionService.getSelectedJurisdiction()
15170
- ]).subscribe(([caseDetails, jurisdiction]) => {
15171
- if (caseDetails) {
15172
- this.caseTypeId = caseDetails?.case_type?.id;
15173
- this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15174
- }
15175
- if (jurisdiction) {
15176
- this.jurisdictionId = jurisdiction.id;
15177
- if (jurisdiction.currentCaseType) {
15178
- this.caseTypeId = jurisdiction.currentCaseType.id;
15179
- }
15180
- }
15181
- //if we havent set the value of caseTypeId yet, we can check if its in the url. e.g. case-creation
15182
- if (!this.caseTypeId) {
15183
- const url = window.location.pathname;
15184
- if (url.indexOf('/case-create/') > -1) {
15185
- const parts = url.split('/');
15186
- this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15187
- this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15188
- }
15189
- }
15190
- // use the documentManagement service to check if the document upload should use CDAM
15191
- if (this.documentManagement.isDocumentSecureModeEnabled()) {
15192
- this.fileSecureModeOn = true;
15193
- }
15194
- this.dialogConfig = initDialog();
15195
- let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15196
- document = this.fileSecureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15197
- if (this.isAMandatoryComponent()) {
15198
- this.createDocumentFormWithValidator(document);
15199
- }
15200
- else {
15201
- this.createDocumentForm(document);
15202
- }
15203
- });
15127
+ this.secureModeOn = this.appConfig.getDocumentSecureMode();
15128
+ if (this.secureModeOn) {
15129
+ this.subscribeToCaseDetails();
15130
+ }
15131
+ this.dialogConfig = initDialog();
15132
+ // EUI-3403. The field was not being registered when there was no value and the field
15133
+ // itself was not mandatory, which meant that show_conditions would not be evaluated.
15134
+ // I've cleaned up the logic and it's now always registered.
15135
+ let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15136
+ document = this.secureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15137
+ if (this.isAMandatoryComponent()) {
15138
+ this.createDocumentFormWithValidator(document);
15139
+ }
15140
+ else {
15141
+ this.createDocumentForm(document);
15142
+ }
15204
15143
  }
15205
15144
  ngOnDestroy() {
15206
15145
  if (this.fileUploadSubscription) {
@@ -15313,6 +15252,29 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15313
15252
  this.triggerReplace();
15314
15253
  });
15315
15254
  }
15255
+ // Depending on the context, we can get the case type and jurisdiction from different sources
15256
+ // If we are running an event, the caseNotifier will have the current case
15257
+ // If we are creating a case, the case doesn't exist yet, so the caseNotifier can't help
15258
+ // Instead we can use the eventTrigger to get the case type, and the jurisdiction service to
15259
+ // get the currently selected jurisdiction
15260
+ subscribeToCaseDetails() {
15261
+ this.caseNotifierSubscription = this.caseNotifier.caseView.subscribe({
15262
+ next: (caseDetails) => {
15263
+ this.caseTypeId = caseDetails?.case_type.id;
15264
+ this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15265
+ }
15266
+ });
15267
+ this.jurisdictionSubs = this.jurisdictionService.getSelectedJurisdiction().subscribe({
15268
+ next: (jurisdiction) => {
15269
+ if (jurisdiction) {
15270
+ this.jurisdictionId = jurisdiction.id;
15271
+ if (jurisdiction.currentCaseType) {
15272
+ this.caseTypeId = jurisdiction.currentCaseType.id;
15273
+ }
15274
+ }
15275
+ }
15276
+ });
15277
+ }
15316
15278
  isAMandatoryComponent() {
15317
15279
  return this.caseField.display_context && this.caseField.display_context === Constants.MANDATORY;
15318
15280
  }
@@ -15330,7 +15292,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15330
15292
  let validation = !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_URL).valid &&
15331
15293
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_BINARY_URL).valid &&
15332
15294
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_FILENAME).valid;
15333
- if (this.fileSecureModeOn) {
15295
+ if (this.secureModeOn) {
15334
15296
  validation = validation && !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).valid;
15335
15297
  }
15336
15298
  return validation;
@@ -15358,7 +15320,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15358
15320
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15359
15321
  };
15360
15322
  }
15361
- documentFormGroup = this.fileSecureModeOn ? {
15323
+ documentFormGroup = this.secureModeOn ? {
15362
15324
  ...documentFormGroup,
15363
15325
  ...{ document_hash: new FormControl(document.document_hash) }
15364
15326
  } : documentFormGroup;
@@ -15376,7 +15338,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15376
15338
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15377
15339
  };
15378
15340
  }
15379
- documentFormGroup = this.fileSecureModeOn ? {
15341
+ documentFormGroup = this.secureModeOn ? {
15380
15342
  ...documentFormGroup,
15381
15343
  ...{ document_hash: new FormControl(document.document_hash) }
15382
15344
  } : documentFormGroup;
@@ -15424,15 +15386,15 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15424
15386
  }
15425
15387
  handleDocumentUploadResult(result) {
15426
15388
  if (!this.uploadedDocument) {
15427
- if (this.fileSecureModeOn) {
15389
+ if (this.secureModeOn) {
15428
15390
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null, document_hash: null });
15429
15391
  }
15430
15392
  else {
15431
15393
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null });
15432
15394
  }
15433
15395
  }
15434
- const document = this.fileSecureModeOn ? result.documents[0] : result._embedded.documents[0];
15435
- if (this.fileSecureModeOn) {
15396
+ const document = this.secureModeOn ? result.documents[0] : result._embedded.documents[0];
15397
+ if (this.secureModeOn) {
15436
15398
  this.updateDocumentForm(document._links.self.href, document._links.binary.href, document.originalDocumentName, document.hashToken);
15437
15399
  }
15438
15400
  else {
@@ -15445,7 +15407,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15445
15407
  this.caseField.value.document_binary_url = document._links.binary.href;
15446
15408
  this.caseField.value.document_filename = document.originalDocumentName;
15447
15409
  this.caseField.value.document_url = document._links.self.href;
15448
- if (this.fileSecureModeOn) {
15410
+ if (this.secureModeOn) {
15449
15411
  this.caseField.value.document_hash = document.hashToken;
15450
15412
  }
15451
15413
  }
@@ -15521,7 +15483,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15521
15483
  type: ViewChild,
15522
15484
  args: ['fileInput', { static: false }]
15523
15485
  }] }); })();
15524
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 24 }); })();
15486
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 23 }); })();
15525
15487
 
15526
15488
  class DynamicListPipe {
15527
15489
  static EMPTY = '';
@@ -19626,7 +19588,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19626
19588
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
19627
19589
  }
19628
19590
  static ɵfac = /*@__PURE__*/ (() => { let ɵWriteNumberFieldComponent_BaseFactory; return function WriteNumberFieldComponent_Factory(__ngFactoryType__) { return (ɵWriteNumberFieldComponent_BaseFactory || (ɵWriteNumberFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteNumberFieldComponent)))(__ngFactoryType__ || WriteNumberFieldComponent); }; })();
19629
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", "inputmode", "numeric", "pattern", "[0-9]*", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19591
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "number", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19630
19592
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
19631
19593
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
19632
19594
  i0.ɵɵelementEnd();
@@ -19645,11 +19607,11 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19645
19607
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
19646
19608
  i0.ɵɵadvance();
19647
19609
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
19648
- } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.PatternValidator, i4.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19610
+ } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.NgControlStatus, i4.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19649
19611
  }
19650
19612
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
19651
19613
  type: Component,
19652
- args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.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 | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"text\" inputmode=\"numeric\" pattern=\"[0-9]*\" [formControl]=\"numberControl\">\n</div>\n" }]
19614
+ args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.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 | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"number\" [formControl]=\"numberControl\">\n</div>\n" }]
19653
19615
  }], null, null); })();
19654
19616
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
19655
19617
 
@@ -20597,6 +20559,7 @@ var QueryItemResponseStatus;
20597
20559
  QueryItemResponseStatus["NEW"] = "New";
20598
20560
  QueryItemResponseStatus["RESPONDED"] = "Responded";
20599
20561
  QueryItemResponseStatus["AWAITING"] = "Awaiting Response";
20562
+ QueryItemResponseStatus["CLOSED"] = "Closed";
20600
20563
  })(QueryItemResponseStatus || (QueryItemResponseStatus = {}));
20601
20564
 
20602
20565
  var RespondToQueryErrorMessages;
@@ -20897,6 +20860,7 @@ class QueryListItem {
20897
20860
  createdOn;
20898
20861
  createdBy;
20899
20862
  parentId;
20863
+ isClosed;
20900
20864
  children = [];
20901
20865
  messageIndexInParent = null;
20902
20866
  get lastSubmittedMessage() {
@@ -20957,7 +20921,15 @@ class QueryListItem {
20957
20921
  return new Date(this.children[index].createdOn);
20958
20922
  }
20959
20923
  get responseStatus() {
20960
- // Child logic (position-based)
20924
+ const isThreadClosed = (item) => {
20925
+ if (item.isClosed === 'Yes') {
20926
+ return true;
20927
+ }
20928
+ return item.children?.some(child => isThreadClosed(child)) || false;
20929
+ };
20930
+ if (isThreadClosed(this)) {
20931
+ return QueryItemResponseStatus.CLOSED;
20932
+ }
20961
20933
  if (this.messageIndexInParent !== null) {
20962
20934
  return this.messageIndexInParent % 2 === 0
20963
20935
  ? QueryItemResponseStatus.RESPONDED
@@ -21055,6 +21027,7 @@ class QueryManagementUtils {
21055
21027
  const body = formGroup.get('body').value;
21056
21028
  const attachments = formGroup.get('attachments').value;
21057
21029
  const formDocument = attachments.map((document) => this.documentToCollectionFormDocument(document));
21030
+ const isClosed = formGroup.get('closeQuery').value ? 'Yes' : 'No';
21058
21031
  return {
21059
21032
  id: v4(),
21060
21033
  subject: queryItem.subject,
@@ -21065,7 +21038,8 @@ class QueryManagementUtils {
21065
21038
  hearingDate: queryItem.hearingDate,
21066
21039
  createdOn: new Date(),
21067
21040
  createdBy: currentUserId,
21068
- parentId: queryItem.id
21041
+ parentId: queryItem.id,
21042
+ isClosed
21069
21043
  };
21070
21044
  }
21071
21045
  static isObject(elem) {
@@ -21269,6 +21243,32 @@ function QueryCheckYourAnswersComponent_div_0_dl_23_Template(rf, ctx) { if (rf &
21269
21243
  i0.ɵɵadvance(3);
21270
21244
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 5, "Change"), " ");
21271
21245
  } }
21246
+ function QueryCheckYourAnswersComponent_div_0_dl_24_Template(rf, ctx) { if (rf & 1) {
21247
+ const _r9 = i0.ɵɵgetCurrentView();
21248
+ i0.ɵɵelementStart(0, "dl", 12)(1, "div", 13)(2, "dt", 14);
21249
+ i0.ɵɵtext(3);
21250
+ i0.ɵɵpipe(4, "rpxTranslate");
21251
+ i0.ɵɵelementEnd();
21252
+ i0.ɵɵelementStart(5, "dd", 15);
21253
+ i0.ɵɵtext(6);
21254
+ i0.ɵɵpipe(7, "rpxTranslate");
21255
+ i0.ɵɵelementEnd();
21256
+ i0.ɵɵelementStart(8, "dd", 16)(9, "a", 17);
21257
+ i0.ɵɵlistener("click", function QueryCheckYourAnswersComponent_div_0_dl_24_Template_a_click_9_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.goBack()); });
21258
+ i0.ɵɵtext(10);
21259
+ i0.ɵɵpipe(11, "rpxTranslate");
21260
+ i0.ɵɵelementEnd()()()();
21261
+ } if (rf & 2) {
21262
+ let tmp_3_0;
21263
+ let tmp_4_0;
21264
+ const ctx_r2 = i0.ɵɵnextContext(2);
21265
+ i0.ɵɵadvance(3);
21266
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(4, 4, "Closing the query"), " ", (tmp_3_0 = ctx_r2.formGroup.get("closeQuery")) == null ? null : tmp_3_0.value, " ");
21267
+ i0.ɵɵadvance(3);
21268
+ i0.ɵɵtextInterpolate1(" ", ((tmp_4_0 = ctx_r2.formGroup.get("closeQuery")) == null ? null : tmp_4_0.value) ? "I want to close this query" : i0.ɵɵpipeBind1(7, 6, "No answer"), " ");
21269
+ i0.ɵɵadvance(4);
21270
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 8, "Change"), " ");
21271
+ } }
21272
21272
  function QueryCheckYourAnswersComponent_div_0_Template(rf, ctx) { if (rf & 1) {
21273
21273
  const _r1 = i0.ɵɵgetCurrentView();
21274
21274
  i0.ɵɵelementStart(0, "div", 3)(1, "div", 4);
@@ -21292,48 +21292,50 @@ function QueryCheckYourAnswersComponent_div_0_Template(rf, ctx) { if (rf & 1) {
21292
21292
  i0.ɵɵtext(20);
21293
21293
  i0.ɵɵpipe(21, "rpxTranslate");
21294
21294
  i0.ɵɵelementEnd()()()();
21295
- i0.ɵɵtemplate(22, QueryCheckYourAnswersComponent_div_0_dl_22_Template, 14, 9, "dl", 11)(23, QueryCheckYourAnswersComponent_div_0_dl_23_Template, 11, 7, "dl", 11);
21296
- i0.ɵɵelement(24, "br");
21297
- i0.ɵɵelementStart(25, "div")(26, "button", 18);
21298
- i0.ɵɵlistener("click", function QueryCheckYourAnswersComponent_div_0_Template_button_click_26_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.goBack()); });
21299
- i0.ɵɵtext(27);
21300
- i0.ɵɵpipe(28, "rpxTranslate");
21295
+ i0.ɵɵtemplate(22, QueryCheckYourAnswersComponent_div_0_dl_22_Template, 14, 9, "dl", 11)(23, QueryCheckYourAnswersComponent_div_0_dl_23_Template, 11, 7, "dl", 11)(24, QueryCheckYourAnswersComponent_div_0_dl_24_Template, 12, 10, "dl", 11);
21296
+ i0.ɵɵelement(25, "br");
21297
+ i0.ɵɵelementStart(26, "div")(27, "button", 18);
21298
+ i0.ɵɵlistener("click", function QueryCheckYourAnswersComponent_div_0_Template_button_click_27_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.goBack()); });
21299
+ i0.ɵɵtext(28);
21300
+ i0.ɵɵpipe(29, "rpxTranslate");
21301
21301
  i0.ɵɵelementEnd();
21302
- i0.ɵɵelementStart(29, "button", 19);
21303
- i0.ɵɵlistener("click", function QueryCheckYourAnswersComponent_div_0_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.submit()); });
21304
- i0.ɵɵtext(30);
21305
- i0.ɵɵpipe(31, "rpxTranslate");
21302
+ i0.ɵɵelementStart(30, "button", 19);
21303
+ i0.ɵɵlistener("click", function QueryCheckYourAnswersComponent_div_0_Template_button_click_30_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.submit()); });
21304
+ i0.ɵɵtext(31);
21305
+ i0.ɵɵpipe(32, "rpxTranslate");
21306
21306
  i0.ɵɵelementEnd()()();
21307
- i0.ɵɵelement(32, "ccd-query-event-completion", 20);
21307
+ i0.ɵɵelement(33, "ccd-query-event-completion", 20);
21308
21308
  i0.ɵɵelementEnd();
21309
21309
  } if (rf & 2) {
21310
21310
  let tmp_9_0;
21311
- const defaultCheckYourAnswersTitle_r9 = i0.ɵɵreference(7);
21311
+ const defaultCheckYourAnswersTitle_r10 = i0.ɵɵreference(7);
21312
21312
  const ctx_r2 = i0.ɵɵnextContext();
21313
21313
  i0.ɵɵadvance(2);
21314
21314
  i0.ɵɵproperty("ngIf", ctx_r2.errorMessages.length > 0);
21315
21315
  i0.ɵɵadvance();
21316
21316
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.NEW_QUERY);
21317
21317
  i0.ɵɵadvance(2);
21318
- i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.RESPOND)("ngIfElse", defaultCheckYourAnswersTitle_r9);
21318
+ i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.RESPOND)("ngIfElse", defaultCheckYourAnswersTitle_r10);
21319
21319
  i0.ɵɵadvance(4);
21320
21320
  i0.ɵɵproperty("caseDetails", ctx_r2.caseDetails);
21321
21321
  i0.ɵɵadvance();
21322
21322
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext !== ctx_r2.queryCreateContextEnum.FOLLOWUP);
21323
21323
  i0.ɵɵadvance(4);
21324
- i0.ɵɵtextInterpolate1(" ", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.RESPOND ? "Response detail" : i0.ɵɵpipeBind1(15, 14, "Query detail"), " ");
21324
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.RESPOND ? "Response detail" : i0.ɵɵpipeBind1(15, 15, "Query detail"), " ");
21325
21325
  i0.ɵɵadvance(3);
21326
21326
  i0.ɵɵtextInterpolate1(" ", (tmp_9_0 = ctx_r2.formGroup.get("body")) == null ? null : tmp_9_0.value, " ");
21327
21327
  i0.ɵɵadvance(3);
21328
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 16, "Change"), " ");
21328
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 17, "Change"), " ");
21329
21329
  i0.ɵɵadvance(2);
21330
21330
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.NEW_QUERY);
21331
21331
  i0.ɵɵadvance();
21332
21332
  i0.ɵɵproperty("ngIf", ctx_r2.formGroup.get("attachments").value.length > 0);
21333
+ i0.ɵɵadvance();
21334
+ i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.RESPOND);
21333
21335
  i0.ɵɵadvance(4);
21334
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 18, "Previous"), " ");
21336
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 19, "Previous"), " ");
21335
21337
  i0.ɵɵadvance(3);
21336
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(31, 20, "Submit"), " ");
21338
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 21, "Submit"), " ");
21337
21339
  i0.ɵɵadvance(2);
21338
21340
  i0.ɵɵproperty("eventCompletionParams", ctx_r2.eventCompletionParams);
21339
21341
  } }
@@ -21673,14 +21675,14 @@ class QueryCheckYourAnswersComponent {
21673
21675
  }
21674
21676
  static ɵfac = function QueryCheckYourAnswersComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryCheckYourAnswersComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(QualifyingQuestionService)); };
21675
21677
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCheckYourAnswersComponent, selectors: [["ccd-query-check-your-answers"]], inputs: { formGroup: "formGroup", queryItem: "queryItem", queryCreateContext: "queryCreateContext", eventData: "eventData" }, outputs: { backClicked: "backClicked", querySubmitted: "querySubmitted", callbackConfirmationMessage: "callbackConfirmationMessage" }, decls: 1, vars: 1, consts: [["defaultCheckYourAnswersTitle", ""], ["isHearingRelatedFalse", ""], ["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds-from-desktop"], ["class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "govuk-error-summary", 4, "ngIf"], [4, "ngIf"], [1, "govuk-heading-l"], [4, "ngIf", "ngIfElse"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], ["class", "govuk-summary-list govuk-!-margin-bottom-0", 4, "ngIf"], [1, "govuk-summary-list", "govuk-!-margin-bottom-0"], [1, "govuk-summary-list__row"], [1, "govuk-summary-list__key"], [1, "govuk-summary-list__value"], [1, "govuk-summary-list__actions"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-right-3", 3, "click"], ["data-module", "govuk-button", "type", "submit", 1, "govuk-button", 3, "click"], [3, "eventCompletionParams"], ["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"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["href", "javascript:void(0)", 1, "validation-error", 3, "id"], [1, "govuk-caption-l"], ["href", "javascript:void(0)", "class", "govuk-link", 3, "click", 4, "ngIf"], ["class", "govuk-summary-list__row", 4, "ngIf"], [1, "govuk-summary-list__value", "govuk-summary-list__value--documentAttached"], [3, "attachments", 4, "ngIf"], [3, "attachments"]], template: function QueryCheckYourAnswersComponent_Template(rf, ctx) { if (rf & 1) {
21676
- i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 33, 22, "div", 2);
21678
+ i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 34, 23, "div", 2);
21677
21679
  } if (rf & 2) {
21678
21680
  i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
21679
21681
  } }, styles: [".govuk-summary-list__value--documentAttached[_ngcontent-%COMP%]{vertical-align:middle}"] });
21680
21682
  }
21681
21683
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCheckYourAnswersComponent, [{
21682
21684
  type: Component,
21683
- args: [{ selector: 'ccd-query-check-your-answers', template: "<div class=\"govuk-grid-row\" *ngIf=\"readyToSubmit\">\n <div class=\"govuk-grid-column-two-thirds-from-desktop\">\n <!-- Error message summary -->\n <div *ngIf=\"errorMessages.length > 0\" class=\"govuk-error-summary\"\n aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{ 'There is a problem' | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a [id]=\"'error-' + errorMessage.fieldId\" href=\"javascript:void(0)\"\n class=\"validation-error\">{{ errorMessage.description | rpxTranslate }}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\">\n <div class=\"govuk-caption-l\">{{ 'Raise a query' | rpxTranslate }}</div>\n </ng-container>\n\n <h1 class=\"govuk-heading-l\">\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND; else defaultCheckYourAnswersTitle\">\n {{ 'Review query response details' | rpxTranslate }}\n </ng-container>\n\n <ng-template #defaultCheckYourAnswersTitle>\n {{ 'Review query details' | rpxTranslate }}\n </ng-template>\n </h1>\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <dl *ngIf=\"queryCreateContext !== queryCreateContextEnum.FOLLOWUP\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Submitted query' : 'Query subject' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? queryItem.subject : formGroup.get('subject')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" \n href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query detail' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('body')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n <ng-container *ngIf=\"formGroup.get('isHearingRelated')?.value === true; else isHearingRelatedFalse\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'Yes' }}\n </ng-container>\n <ng-template #isHearingRelatedFalse>\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'No' }}\n </ng-template>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n\n <div *ngIf=\"formGroup.get('isHearingRelated')?.value\" class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY\n ? 'What is the date of the hearing?'\n : 'What is the date of the hearing your query is related to?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('hearingDate')?.value | date: 'dd MMM yyyy' }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\" *ngIf=\"this.formGroup.get('attachments').value.length > 0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY ? 'Upload a file to the query' : 'Document attached' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value govuk-summary-list__value--documentAttached\">\n <ccd-query-attachments-read\n *ngIf=\"this.formGroup.get('attachments').value\"\n [attachments]=\"attachments\"\n >\n </ccd-query-attachments-read>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <br>\n\n <div>\n <button class=\"govuk-button govuk-button--secondary govuk-!-margin-right-3\" data-module=\"govuk-button\"\n (click)=\"goBack()\">\n {{ 'Previous' | rpxTranslate }}\n </button>\n <button class=\"govuk-button\" data-module=\"govuk-button\" type=\"submit\" (click)=\"submit()\">\n {{ 'Submit' | rpxTranslate }}\n </button>\n </div>\n </div>\n\n <ccd-query-event-completion [eventCompletionParams]=\"eventCompletionParams\"> \n </ccd-query-event-completion>\n</div>\n", styles: [".govuk-summary-list__value--documentAttached{vertical-align:middle}\n"] }]
21685
+ args: [{ selector: 'ccd-query-check-your-answers', template: "<div class=\"govuk-grid-row\" *ngIf=\"readyToSubmit\">\n <div class=\"govuk-grid-column-two-thirds-from-desktop\">\n <!-- Error message summary -->\n <div *ngIf=\"errorMessages.length > 0\" class=\"govuk-error-summary\"\n aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{ 'There is a problem' | rpxTranslate }}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <a [id]=\"'error-' + errorMessage.fieldId\" href=\"javascript:void(0)\"\n class=\"validation-error\">{{ errorMessage.description | rpxTranslate }}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\">\n <div class=\"govuk-caption-l\">{{ 'Raise a query' | rpxTranslate }}</div>\n </ng-container>\n\n <h1 class=\"govuk-heading-l\">\n <ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND; else defaultCheckYourAnswersTitle\">\n {{ 'Review query response details' | rpxTranslate }}\n </ng-container>\n\n <ng-template #defaultCheckYourAnswersTitle>\n {{ 'Review query details' | rpxTranslate }}\n </ng-template>\n </h1>\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <dl *ngIf=\"queryCreateContext !== queryCreateContextEnum.FOLLOWUP\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Submitted query' : 'Query subject' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? queryItem.subject : formGroup.get('subject')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" \n href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query detail' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('body')?.value }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl *ngIf=\"queryCreateContext === queryCreateContextEnum.NEW_QUERY\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n <ng-container *ngIf=\"formGroup.get('isHearingRelated')?.value === true; else isHearingRelatedFalse\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'Yes' }}\n </ng-container>\n <ng-template #isHearingRelatedFalse>\n {{ 'Is the query hearing related?' | rpxTranslate: null : 'No' }}\n </ng-template>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n\n <div *ngIf=\"formGroup.get('isHearingRelated')?.value\" class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY\n ? 'What is the date of the hearing?'\n : 'What is the date of the hearing your query is related to?' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('hearingDate')?.value | date: 'dd MMM yyyy' }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-0\" *ngIf=\"this.formGroup.get('attachments').value.length > 0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ queryCreateContext === queryCreateContextEnum.NEW_QUERY ? 'Upload a file to the query' : 'Document attached' | rpxTranslate }}\n </dt>\n <dd class=\"govuk-summary-list__value govuk-summary-list__value--documentAttached\">\n <ccd-query-attachments-read\n *ngIf=\"this.formGroup.get('attachments').value\"\n [attachments]=\"attachments\"\n >\n </ccd-query-attachments-read>\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <dl *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND\" class=\"govuk-summary-list govuk-!-margin-bottom-0\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{ 'Closing the query' | rpxTranslate }} {{formGroup.get('closeQuery')?.value }}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ formGroup.get('closeQuery')?.value ? 'I want to close this query' : 'No answer' | rpxTranslate }}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a href=\"javascript:void(0)\" class=\"govuk-link\" (click)=\"goBack()\">\n {{ 'Change' | rpxTranslate }}\n </a>\n </dd>\n </div>\n </dl>\n\n <br>\n\n <div>\n <button class=\"govuk-button govuk-button--secondary govuk-!-margin-right-3\" data-module=\"govuk-button\"\n (click)=\"goBack()\">\n {{ 'Previous' | rpxTranslate }}\n </button>\n <button class=\"govuk-button\" data-module=\"govuk-button\" type=\"submit\" (click)=\"submit()\">\n {{ 'Submit' | rpxTranslate }}\n </button>\n </div>\n </div>\n\n <ccd-query-event-completion [eventCompletionParams]=\"eventCompletionParams\"> \n </ccd-query-event-completion>\n</div>\n", styles: [".govuk-summary-list__value--documentAttached{vertical-align:middle}\n"] }]
21684
21686
  }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: CasesService }, { type: CaseNotifier }, { type: WorkAllocationService }, { type: SessionStorageService }, { type: QualifyingQuestionService }], { formGroup: [{
21685
21687
  type: Input
21686
21688
  }], queryItem: [{
@@ -21700,14 +21702,16 @@ class QueryCheckYourAnswersComponent {
21700
21702
 
21701
21703
  function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
21702
21704
  const _r1 = i0.ɵɵgetCurrentView();
21703
- i0.ɵɵelementStart(0, "p")(1, "a", 10);
21704
- i0.ɵɵlistener("click", function QueryDetailsComponent_ng_container_0_p_1_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onBack()); });
21705
- i0.ɵɵtext(2);
21706
- i0.ɵɵpipe(3, "rpxTranslate");
21705
+ i0.ɵɵelementStart(0, "p");
21706
+ i0.ɵɵelement(1, "br");
21707
+ i0.ɵɵelementStart(2, "a", 10);
21708
+ i0.ɵɵlistener("click", function QueryDetailsComponent_ng_container_0_p_1_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onBack()); });
21709
+ i0.ɵɵtext(3);
21710
+ i0.ɵɵpipe(4, "rpxTranslate");
21707
21711
  i0.ɵɵelementEnd()();
21708
21712
  } if (rf & 2) {
21709
- i0.ɵɵadvance(2);
21710
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "Back to query list"));
21713
+ i0.ɵɵadvance(3);
21714
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "Back to query list"));
21711
21715
  } }
21712
21716
  function QueryDetailsComponent_ng_container_0_tr_42_Template(rf, ctx) { if (rf & 1) {
21713
21717
  i0.ɵɵelementStart(0, "tr", 11)(1, "th", 6);
@@ -21922,7 +21926,7 @@ function QueryDetailsComponent_ng_container_0_ng_container_44_Template(rf, ctx)
21922
21926
  } }
21923
21927
  function QueryDetailsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
21924
21928
  i0.ɵɵelementContainerStart(0);
21925
- i0.ɵɵtemplate(1, QueryDetailsComponent_ng_container_0_p_1_Template, 4, 3, "p", 1);
21929
+ i0.ɵɵtemplate(1, QueryDetailsComponent_ng_container_0_p_1_Template, 5, 3, "p", 1);
21926
21930
  i0.ɵɵelementStart(2, "div")(3, "table", 2);
21927
21931
  i0.ɵɵpipe(4, "rpxTranslate");
21928
21932
  i0.ɵɵelementStart(5, "caption", 3)(6, "div");
@@ -22045,6 +22049,10 @@ class QueryDetailsComponent {
22045
22049
  }
22046
22050
  hasRespondedToQuery() {
22047
22051
  const isAwaiting = this.queryResponseStatus === undefined || this.queryResponseStatus === QueryItemResponseStatus.AWAITING;
22052
+ if (this.queryResponseStatus === QueryItemResponseStatus.CLOSED) {
22053
+ this.hasResponded.emit(true);
22054
+ return true;
22055
+ }
22048
22056
  if (this.isInternalUser()) {
22049
22057
  if (isAwaiting) {
22050
22058
  this.hasResponded.emit(false);
@@ -22069,7 +22077,7 @@ class QueryDetailsComponent {
22069
22077
  }
22070
22078
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
22071
22079
  type: Component,
22072
- args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
22080
+ args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <br />\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
22073
22081
  }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }], { query: [{
22074
22082
  type: Input
22075
22083
  }], caseId: [{
@@ -22750,14 +22758,29 @@ function QueryWriteRespondToQueryComponent_div_12_div_1_Template(rf, ctx) { if (
22750
22758
  i0.ɵɵproperty("formControlName", "body");
22751
22759
  } }
22752
22760
  function QueryWriteRespondToQueryComponent_div_12_Template(rf, ctx) { if (rf & 1) {
22753
- i0.ɵɵelementStart(0, "div", 7);
22754
- i0.ɵɵtemplate(1, QueryWriteRespondToQueryComponent_div_12_div_1_Template, 13, 13, "div", 8);
22761
+ i0.ɵɵelementStart(0, "div", 8);
22762
+ i0.ɵɵtemplate(1, QueryWriteRespondToQueryComponent_div_12_div_1_Template, 13, 13, "div", 7);
22755
22763
  i0.ɵɵelementEnd();
22756
22764
  } if (rf & 2) {
22757
22765
  const ctx_r0 = i0.ɵɵnextContext();
22758
22766
  i0.ɵɵadvance();
22759
22767
  i0.ɵɵproperty("ngIf", !ctx_r0.hasRespondedToQuery);
22760
22768
  } }
22769
+ function QueryWriteRespondToQueryComponent_ng_container_13_ccd_close_query_1_Template(rf, ctx) { if (rf & 1) {
22770
+ i0.ɵɵelement(0, "ccd-close-query", 10);
22771
+ } if (rf & 2) {
22772
+ const ctx_r0 = i0.ɵɵnextContext(2);
22773
+ i0.ɵɵproperty("formGroup", ctx_r0.formGroup);
22774
+ } }
22775
+ function QueryWriteRespondToQueryComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
22776
+ i0.ɵɵelementContainerStart(0);
22777
+ i0.ɵɵtemplate(1, QueryWriteRespondToQueryComponent_ng_container_13_ccd_close_query_1_Template, 1, 1, "ccd-close-query", 18);
22778
+ i0.ɵɵelementContainerEnd();
22779
+ } if (rf & 2) {
22780
+ const ctx_r0 = i0.ɵɵnextContext();
22781
+ i0.ɵɵadvance();
22782
+ i0.ɵɵproperty("ngIf", !ctx_r0.hasRespondedToQuery);
22783
+ } }
22761
22784
  class QueryWriteRespondToQueryComponent {
22762
22785
  caseNotifier;
22763
22786
  route;
@@ -22827,7 +22850,7 @@ class QueryWriteRespondToQueryComponent {
22827
22850
  this.hasRespondedToQueryTask.emit(value);
22828
22851
  }
22829
22852
  static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
22830
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", caseQueriesCollections: "caseQueriesCollections", showForm: "showForm" }, outputs: { hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 10, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "hasResponded", "query", "queryResponseStatus"], ["class", "query-respond", 4, "ngIf"], [1, "query-respond"], [4, "ngIf"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
22853
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryWriteRespondToQueryComponent, selectors: [["ccd-query-write-respond-to-query"]], inputs: { queryItem: "queryItem", formGroup: "formGroup", queryCreateContext: "queryCreateContext", submitted: "submitted", caseQueriesCollections: "caseQueriesCollections", showForm: "showForm" }, outputs: { hasRespondedToQueryTask: "hasRespondedToQueryTask" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 11, consts: [[1, "govuk-!-margin-bottom-6"], [1, "govuk-caption-l"], [1, "govuk-heading-l", "govuk-!-margin-bottom-0"], [1, "govuk-!-margin-bottom-4"], [3, "caseDetails"], [3, "hasResponded", "query", "queryResponseStatus"], ["class", "query-respond", 4, "ngIf"], [4, "ngIf"], [1, "query-respond"], [1, "govuk-heading-m"], [3, "formGroup"], [1, "govuk-form-group", "body-textarea"], [1, "govuk-label-wrapper"], ["for", "body", 1, "govuk-label", "govuk-label--m", "govuk-!-font-weight-bold"], ["id", "body-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "body", "name", "body", "rows", "5", "aria-describedby", "body-hint body-error", 1, "govuk-textarea", 3, "formControlName"], ["id", "body-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [3, "formGroup", 4, "ngIf"]], template: function QueryWriteRespondToQueryComponent_Template(rf, ctx) { if (rf & 1) {
22831
22854
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
22832
22855
  i0.ɵɵtext(3);
22833
22856
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -22842,23 +22865,25 @@ class QueryWriteRespondToQueryComponent {
22842
22865
  i0.ɵɵelementStart(10, "div")(11, "ccd-query-details", 5);
22843
22866
  i0.ɵɵlistener("hasResponded", function QueryWriteRespondToQueryComponent_Template_ccd_query_details_hasResponded_11_listener($event) { return ctx.hasResponded($event); });
22844
22867
  i0.ɵɵelementEnd()()();
22845
- i0.ɵɵtemplate(12, QueryWriteRespondToQueryComponent_div_12_Template, 2, 1, "div", 6);
22868
+ i0.ɵɵtemplate(12, QueryWriteRespondToQueryComponent_div_12_Template, 2, 1, "div", 6)(13, QueryWriteRespondToQueryComponent_ng_container_13_Template, 2, 1, "ng-container", 7);
22846
22869
  } if (rf & 2) {
22847
22870
  i0.ɵɵadvance(3);
22848
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, "Respond to a query"));
22871
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, "Respond to a query"));
22849
22872
  i0.ɵɵadvance(3);
22850
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 8, "Query details"));
22873
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 9, "Query details"));
22851
22874
  i0.ɵɵadvance(3);
22852
22875
  i0.ɵɵproperty("caseDetails", ctx.caseDetails);
22853
22876
  i0.ɵɵadvance(2);
22854
22877
  i0.ɵɵproperty("query", ctx.queryListData)("queryResponseStatus", ctx.queryResponseStatus);
22855
22878
  i0.ɵɵadvance();
22856
22879
  i0.ɵɵproperty("ngIf", ctx.showForm);
22880
+ i0.ɵɵadvance();
22881
+ i0.ɵɵproperty("ngIf", ctx.queryCreateContext === ctx.queryCreateContextEnum.RESPOND);
22857
22882
  } }, styles: [".query-respond[_ngcontent-%COMP%]{width:100%;max-width:720px}"] });
22858
22883
  }
22859
22884
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
22860
22885
  type: Component,
22861
- args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryListData\"\n [queryResponseStatus]=\"queryResponseStatus\"\n (hasResponded)=\"hasResponded($event)\"></ccd-query-details>\n </div>\n</div>\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div *ngIf=\"!hasRespondedToQuery\">\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
22886
+ args: [{ selector: 'ccd-query-write-respond-to-query', template: "<div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-!-margin-bottom-6\">\n <div class=\"govuk-caption-l\">{{ 'Respond to a query' | rpxTranslate }}</div>\n <h1 class=\"govuk-heading-l govuk-!-margin-bottom-0\">{{ 'Query details' | rpxTranslate }}</h1>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <ccd-query-case-details-header [caseDetails]=\"caseDetails\"></ccd-query-case-details-header>\n </div>\n\n <div>\n <ccd-query-details [query]=\"queryListData\"\n [queryResponseStatus]=\"queryResponseStatus\"\n (hasResponded)=\"hasResponded($event)\"></ccd-query-details>\n </div>\n</div>\n<div class=\"query-respond\" *ngIf=\"showForm\">\n <div *ngIf=\"!hasRespondedToQuery\">\n <h1 class=\"govuk-heading-m\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Respond to a query' : 'Ask a follow-up question' | rpxTranslate }}\n </h1>\n\n <div [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group body-textarea\"\n [class.govuk-form-group--error]=\"submitted && formGroup.get('body')?.hasError('required')\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--m govuk-!-font-weight-bold\" for=\"body\">\n {{ queryCreateContext === queryCreateContextEnum.RESPOND ? 'Response detail' : 'Query Body' | rpxTranslate }}\n </label>\n </div>\n <p id=\"body-error\" class=\"govuk-error-message\"\n *ngIf=\"submitted && formGroup.get('body')?.hasError('required')\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }} </span>{{ queryCreateContext === queryCreateContextEnum.RESPOND ? raiseQueryErrorMessages.RESPOND_QUERY_BODY : raiseQueryErrorMessages.QUERY_BODY | rpxTranslate }}\n </p>\n <textarea [formControlName]=\"'body'\" class=\"govuk-textarea\"\n [class.govuk-textarea--error]=\"submitted && formGroup.get('body')?.hasError('required')\" id=\"body\"\n name=\"body\" rows=\"5\" aria-describedby=\"body-hint body-error\">\n </textarea>\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"queryCreateContext === queryCreateContextEnum.RESPOND\">\n <ccd-close-query *ngIf=\"!hasRespondedToQuery\"\n [formGroup]=\"formGroup\">\n </ccd-close-query>\n</ng-container>", styles: [".query-respond{width:100%;max-width:720px}\n"] }]
22862
22887
  }], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }], { queryItem: [{
22863
22888
  type: Input
22864
22889
  }], formGroup: [{
@@ -23003,6 +23028,50 @@ class QueryConfirmationComponent {
23003
23028
  }] }); })();
23004
23029
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryConfirmationComponent, { className: "QueryConfirmationComponent", filePath: "lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.ts", lineNumber: 9 }); })();
23005
23030
 
23031
+ class CloseQueryComponent {
23032
+ formGroup;
23033
+ static ɵfac = function CloseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CloseQueryComponent)(); };
23034
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CloseQueryComponent, selectors: [["ccd-close-query"]], inputs: { formGroup: "formGroup" }, decls: 19, vars: 11, consts: [[3, "formGroup"], [1, "govuk-heading-m"], [1, "govuk-checkboxes__item"], ["formControlName", "closeQuery", "id", "closeQuery", "name", "closeQuery", "type", "checkbox", 1, "govuk-checkboxes__input"], ["for", "closeQuery", 1, "govuk-label", "govuk-checkboxes__label"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [1, "qm-service-message"]], template: function CloseQueryComponent_Template(rf, ctx) { if (rf & 1) {
23035
+ i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
23036
+ i0.ɵɵtext(2);
23037
+ i0.ɵɵpipe(3, "rpxTranslate");
23038
+ i0.ɵɵelementEnd();
23039
+ i0.ɵɵelementStart(4, "div", 2);
23040
+ i0.ɵɵelement(5, "input", 3);
23041
+ i0.ɵɵelementStart(6, "label", 4);
23042
+ i0.ɵɵtext(7);
23043
+ i0.ɵɵpipe(8, "rpxTranslate");
23044
+ i0.ɵɵelementEnd()();
23045
+ i0.ɵɵelementStart(9, "div", 5)(10, "span", 6);
23046
+ i0.ɵɵtext(11, "!");
23047
+ i0.ɵɵelementEnd();
23048
+ i0.ɵɵelementStart(12, "strong", 7)(13, "span", 8);
23049
+ i0.ɵɵtext(14, "Warning");
23050
+ i0.ɵɵelementEnd();
23051
+ i0.ɵɵelementStart(15, "p", 9)(16, "strong");
23052
+ i0.ɵɵtext(17);
23053
+ i0.ɵɵpipe(18, "rpxTranslate");
23054
+ i0.ɵɵelementEnd()()()()();
23055
+ } if (rf & 2) {
23056
+ i0.ɵɵproperty("formGroup", ctx.formGroup);
23057
+ i0.ɵɵadvance(2);
23058
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, "Closing the query"));
23059
+ i0.ɵɵadvance(4);
23060
+ i0.ɵɵattribute("aria-labelledby", "closeQuery");
23061
+ i0.ɵɵadvance();
23062
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 7, "I want to close this query"), " ");
23063
+ i0.ɵɵadvance(10);
23064
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 9, "Closing the query means the parties can no longer send message in this thread."), " ");
23065
+ } }, dependencies: [i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
23066
+ }
23067
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CloseQueryComponent, [{
23068
+ type: Component,
23069
+ args: [{ selector: 'ccd-close-query', template: "<div [formGroup]=\"formGroup\">\n <h2 class=\"govuk-heading-m\">{{ 'Closing the query' | rpxTranslate }}</h2>\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\"\n formControlName=\"closeQuery\" id=\"closeQuery\" name=\"closeQuery\" type=\"checkbox\" />\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"closeQuery\" [attr.aria-labelledby]=\"'closeQuery'\">\n {{ 'I want to close this query' | rpxTranslate }}\n </label>\n </div>\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message\">\n <strong>\n {{ 'Closing the query means the parties can no longer send message in this thread.' | rpxTranslate }}\n </strong>\n </p>\n </strong>\n </div>\n</div>" }]
23070
+ }], null, { formGroup: [{
23071
+ type: Input
23072
+ }] }); })();
23073
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CloseQueryComponent, { className: "CloseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/close-query/close-query.component.ts", lineNumber: 8 }); })();
23074
+
23006
23075
  const _c0$B = (a0, a1) => ["/query-management", "query", a0, "4", a1];
23007
23076
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
23008
23077
  const _r1 = i0.ɵɵgetCurrentView();
@@ -23071,17 +23140,36 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template
23071
23140
  i0.ɵɵadvance();
23072
23141
  i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0 && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 1)("ngIfElse", queryIsInReview_r5);
23073
23142
  } }
23143
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
23144
+ i0.ɵɵelementContainerStart(0);
23145
+ i0.ɵɵelementStart(1, "div", 11)(2, "span", 12);
23146
+ i0.ɵɵtext(3, "!");
23147
+ i0.ɵɵelementEnd();
23148
+ i0.ɵɵelementStart(4, "strong", 13)(5, "span", 14);
23149
+ i0.ɵɵtext(6, "Warning");
23150
+ i0.ɵɵelementEnd();
23151
+ i0.ɵɵelementStart(7, "p", 15);
23152
+ i0.ɵɵtext(8);
23153
+ i0.ɵɵpipe(9, "rpxTranslate");
23154
+ i0.ɵɵelementEnd()()();
23155
+ i0.ɵɵelementContainerEnd();
23156
+ } if (rf & 2) {
23157
+ i0.ɵɵadvance(8);
23158
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 1, "This query has been closed by court staff."));
23159
+ } }
23074
23160
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23075
23161
  const _r4 = i0.ɵɵgetCurrentView();
23076
23162
  i0.ɵɵelementStart(0, "ccd-query-details", 7);
23077
23163
  i0.ɵɵlistener("backClicked", function ReadQueryManagementFieldComponent_ng_template_1_Template_ccd_query_details_backClicked_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showQueryList = true); });
23078
23164
  i0.ɵɵelementEnd();
23079
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8);
23165
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template, 10, 3, "ng-container", 8);
23080
23166
  } if (rf & 2) {
23081
23167
  const ctx_r1 = i0.ɵɵnextContext();
23082
23168
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
23083
23169
  i0.ɵɵadvance();
23084
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser());
23170
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
23171
+ i0.ɵɵadvance();
23172
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && ctx_r1.isQueryClosed);
23085
23173
  } }
23086
23174
  class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23087
23175
  route;
@@ -23091,6 +23179,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23091
23179
  query;
23092
23180
  showQueryList = true;
23093
23181
  caseId;
23182
+ isQueryClosed = false;
23094
23183
  constructor(route, sessionStorageService, caseNotifier) {
23095
23184
  super();
23096
23185
  this.route = route;
@@ -23127,6 +23216,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23127
23216
  setQuery(query) {
23128
23217
  this.showQueryList = false;
23129
23218
  this.query = query;
23219
+ this.isQueryClosed = this.query?.children?.some((queryItem) => queryItem?.isClosed === 'Yes');
23130
23220
  }
23131
23221
  backToQueryListPage() {
23132
23222
  this.showQueryList = true;
@@ -23136,8 +23226,8 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23136
23226
  return isInternalUser(this.sessionStorageService);
23137
23227
  }
23138
23228
  static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier)); };
23139
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
23140
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23229
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-visually-hidden"], [1, "qm-service-message", "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
23230
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23141
23231
  } if (rf & 2) {
23142
23232
  const singleQueryDetails_r6 = i0.ɵɵreference(2);
23143
23233
  i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
@@ -23145,7 +23235,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23145
23235
  }
23146
23236
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23147
23237
  type: Component,
23148
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser()\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
23238
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser() && !isQueryClosed\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!isInternalUser() && isQueryClosed\">\n <div class=\"govuk-warning-text\">\n <span aria-hidden=\"true\" class=\"govuk-warning-text__icon\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-visually-hidden\">Warning</span>\n <p class=\"qm-service-message govuk-!-font-weight-bold\">{{ 'This query has been closed by court staff.' | rpxTranslate }}</p>\n </strong>\n </div>\n </ng-container>\n</ng-template>\n" }]
23149
23239
  }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
23150
23240
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
23151
23241
 
@@ -30363,6 +30453,7 @@ const PALETTE_COMPONENTS = [
30363
30453
  QueryAttachmentsReadComponent,
30364
30454
  QueryEventCompletionComponent,
30365
30455
  QueryConfirmationComponent,
30456
+ CloseQueryComponent,
30366
30457
  // Case event completion
30367
30458
  CaseEventCompletionComponent,
30368
30459
  CaseEventCompletionTaskCancelledComponent,
@@ -30634,6 +30725,7 @@ class PaletteModule {
30634
30725
  QueryAttachmentsReadComponent,
30635
30726
  QueryEventCompletionComponent,
30636
30727
  QueryConfirmationComponent,
30728
+ CloseQueryComponent,
30637
30729
  // Case event completion
30638
30730
  CaseEventCompletionComponent,
30639
30731
  CaseEventCompletionTaskCancelledComponent,
@@ -30791,6 +30883,7 @@ class PaletteModule {
30791
30883
  QueryAttachmentsReadComponent,
30792
30884
  QueryEventCompletionComponent,
30793
30885
  QueryConfirmationComponent,
30886
+ CloseQueryComponent,
30794
30887
  // Case event completion
30795
30888
  CaseEventCompletionComponent,
30796
30889
  CaseEventCompletionTaskCancelledComponent,
@@ -30868,7 +30961,8 @@ ReadQueryManagementFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i1
30868
30961
  QueryListComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30869
30962
  i0.ɵɵsetComponentScope(QueryDetailsComponent, function () { return [i5.NgForOf, i5.NgIf, QueryAttachmentsReadComponent]; }, function () { return [i5.DatePipe, i1.RpxTranslatePipe]; });
30870
30963
  i0.ɵɵsetComponentScope(QueryWriteRespondToQueryComponent, function () { return [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, QueryDetailsComponent,
30871
- QueryCaseDetailsHeaderComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30964
+ QueryCaseDetailsHeaderComponent,
30965
+ CloseQueryComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30872
30966
  i0.ɵɵsetComponentScope(QueryWriteRaiseQueryComponent, function () { return [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.RadioControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.MaxLengthValidator, i4.FormGroupDirective, i4.FormControlName, MarkdownComponent, QueryCaseDetailsHeaderComponent,
30873
30967
  QueryWriteDateInputComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30874
30968
  i0.ɵɵsetComponentScope(QueryCheckYourAnswersComponent, function () { return [i5.NgForOf, i5.NgIf, QueryCaseDetailsHeaderComponent,
@@ -32706,8 +32800,8 @@ class CaseListModule {
32706
32800
  NgxPaginationModule,
32707
32801
  PaginationModule, i1.RpxTranslationModule], exports: [CaseListComponent] }); })();
32708
32802
 
32709
- function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32710
- i0.ɵɵelementStart(0, "option", 14);
32803
+ function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32804
+ i0.ɵɵelementStart(0, "option", 11);
32711
32805
  i0.ɵɵtext(1);
32712
32806
  i0.ɵɵpipe(2, "rpxTranslate");
32713
32807
  i0.ɵɵelementEnd();
@@ -32716,8 +32810,8 @@ function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32716
32810
  i0.ɵɵadvance();
32717
32811
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32718
32812
  } }
32719
- function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32720
- i0.ɵɵelementStart(0, "option", 14);
32813
+ function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32814
+ i0.ɵɵelementStart(0, "option", 11);
32721
32815
  i0.ɵɵtext(1);
32722
32816
  i0.ɵɵpipe(2, "rpxTranslate");
32723
32817
  i0.ɵɵelementEnd();
@@ -32727,8 +32821,8 @@ function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32727
32821
  i0.ɵɵadvance();
32728
32822
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r1.name));
32729
32823
  } }
32730
- function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32731
- i0.ɵɵelementStart(0, "option", 14);
32824
+ function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32825
+ i0.ɵɵelementStart(0, "option", 11);
32732
32826
  i0.ɵɵtext(1);
32733
32827
  i0.ɵɵpipe(2, "rpxTranslate");
32734
32828
  i0.ɵɵelementEnd();
@@ -32737,8 +32831,8 @@ function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32737
32831
  i0.ɵɵadvance();
32738
32832
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32739
32833
  } }
32740
- function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32741
- i0.ɵɵelementStart(0, "option", 14);
32834
+ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32835
+ i0.ɵɵelementStart(0, "option", 11);
32742
32836
  i0.ɵɵtext(1);
32743
32837
  i0.ɵɵpipe(2, "rpxTranslate");
32744
32838
  i0.ɵɵelementEnd();
@@ -32748,8 +32842,8 @@ function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32748
32842
  i0.ɵɵadvance();
32749
32843
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r2.name));
32750
32844
  } }
32751
- function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32752
- i0.ɵɵelementStart(0, "option", 14);
32845
+ function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32846
+ i0.ɵɵelementStart(0, "option", 11);
32753
32847
  i0.ɵɵtext(1);
32754
32848
  i0.ɵɵpipe(2, "rpxTranslate");
32755
32849
  i0.ɵɵelementEnd();
@@ -32759,10 +32853,10 @@ function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32759
32853
  i0.ɵɵadvance();
32760
32854
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r3.name));
32761
32855
  } }
32762
- function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if (rf & 1) {
32856
+ function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
32763
32857
  const _r4 = i0.ɵɵgetCurrentView();
32764
- i0.ɵɵelementStart(0, "div", 5)(1, "ccd-field-write", 20);
32765
- i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_39_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.apply(null)); });
32858
+ i0.ɵɵelementStart(0, "div", 2)(1, "ccd-field-write", 18);
32859
+ i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_27_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.apply(null)); });
32766
32860
  i0.ɵɵelementEnd()();
32767
32861
  } if (rf & 2) {
32768
32862
  const workbasketInput_r6 = ctx.$implicit;
@@ -32770,10 +32864,10 @@ function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if
32770
32864
  i0.ɵɵadvance();
32771
32865
  i0.ɵɵproperty("caseField", workbasketInput_r6.field)("formGroup", ctx_r4.formGroup)("isExpanded", true)("isInSearchBlock", true);
32772
32866
  } }
32773
- function WorkbasketFiltersComponent_ng_container_39_Template(rf, ctx) { if (rf & 1) {
32774
- i0.ɵɵelementContainerStart(0, 17);
32775
- i0.ɵɵelementStart(1, "div", 18);
32776
- i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_39_div_2_Template, 2, 4, "div", 19);
32867
+ function WorkbasketFiltersComponent_ng_container_27_Template(rf, ctx) { if (rf & 1) {
32868
+ i0.ɵɵelementContainerStart(0, 15);
32869
+ i0.ɵɵelementStart(1, "div", 16);
32870
+ i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_27_div_2_Template, 2, 4, "div", 17);
32777
32871
  i0.ɵɵelementEnd();
32778
32872
  i0.ɵɵelementContainerEnd();
32779
32873
  } if (rf & 2) {
@@ -32816,9 +32910,6 @@ class WorkbasketFiltersComponent {
32816
32910
  this.alertService = alertService;
32817
32911
  this.windowService = windowService;
32818
32912
  }
32819
- scrollToTop() {
32820
- window.scrollTo({ top: 0, behavior: 'smooth' });
32821
- }
32822
32913
  getDefaultJurisdiction() {
32823
32914
  if (!this.jurisdictions || this.jurisdictions.length === 0) {
32824
32915
  return null;
@@ -33110,79 +33201,62 @@ class WorkbasketFiltersComponent {
33110
33201
  }
33111
33202
  }
33112
33203
  static ɵfac = function WorkbasketFiltersComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(WorkbasketInputFilterService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(JurisdictionService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(WindowService)); };
33113
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 45, vars: 55, consts: [["id", "filters", 1, "global-display"], [1, "form-group", "flex"], ["aria-label", "Filters", 1, "heading-h2"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "click", "disabled", "title"], ["type", "button", 1, "button", "button-secondary", 3, "click", "title"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel", "disabled"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "ngModel", "disabled"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", 3, "click", "title"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "keyup.enter", "caseField", "formGroup", "isExpanded", "isInSearchBlock"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
33114
- i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "fieldset", 2);
33115
- i0.ɵɵtext(3);
33116
- i0.ɵɵpipe(4, "rpxTranslate");
33204
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 39, vars: 46, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel", "disabled"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "ngModel", "disabled"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "click", "disabled", "title"], ["type", "button", 1, "button", "button-secondary", 3, "click", "title"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "keyup.enter", "caseField", "formGroup", "isExpanded", "isInSearchBlock"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
33205
+ i0.ɵɵelementStart(0, "h2", 0);
33206
+ i0.ɵɵtext(1);
33207
+ i0.ɵɵpipe(2, "rpxTranslate");
33117
33208
  i0.ɵɵelementEnd();
33118
- i0.ɵɵelementStart(5, "button", 3);
33119
- i0.ɵɵpipe(6, "rpxTranslate");
33209
+ i0.ɵɵelementStart(3, "form", 1)(4, "div", 2)(5, "label", 3);
33210
+ i0.ɵɵtext(6);
33120
33211
  i0.ɵɵpipe(7, "rpxTranslate");
33121
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_5_listener() { return ctx.apply(true); });
33122
- i0.ɵɵtext(8);
33123
- i0.ɵɵpipe(9, "rpxTranslate");
33124
- i0.ɵɵelementEnd();
33125
- i0.ɵɵtext(10, "\u00A0\u00A0\u00A0 ");
33126
- i0.ɵɵelementStart(11, "button", 4);
33127
- i0.ɵɵpipe(12, "rpxTranslate");
33128
- i0.ɵɵpipe(13, "rpxTranslate");
33129
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_11_listener() { return ctx.reset(); });
33130
- i0.ɵɵtext(14);
33131
- i0.ɵɵpipe(15, "rpxTranslate");
33132
- i0.ɵɵelementEnd()();
33133
- i0.ɵɵelementStart(16, "div", 5)(17, "label", 6);
33134
- i0.ɵɵtext(18);
33135
- i0.ɵɵpipe(19, "rpxTranslate");
33136
33212
  i0.ɵɵelementEnd();
33137
- i0.ɵɵelementStart(20, "select", 7);
33138
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_20_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33139
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_20_listener() { return ctx.onJurisdictionIdChange(); });
33140
- i0.ɵɵtemplate(21, WorkbasketFiltersComponent_option_21_Template, 3, 4, "option", 8)(22, WorkbasketFiltersComponent_option_22_Template, 3, 4, "option", 9);
33213
+ i0.ɵɵelementStart(8, "select", 4);
33214
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33215
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
33216
+ i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 3, 4, "option", 5)(10, WorkbasketFiltersComponent_option_10_Template, 3, 4, "option", 6);
33141
33217
  i0.ɵɵelementEnd()();
33142
- i0.ɵɵelementStart(23, "div", 5)(24, "label", 10);
33143
- i0.ɵɵtext(25);
33144
- i0.ɵɵpipe(26, "rpxTranslate");
33218
+ i0.ɵɵelementStart(11, "div", 2)(12, "label", 7);
33219
+ i0.ɵɵtext(13);
33220
+ i0.ɵɵpipe(14, "rpxTranslate");
33145
33221
  i0.ɵɵelementEnd();
33146
- i0.ɵɵelementStart(27, "select", 11);
33147
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_27_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33148
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_27_listener() { return ctx.onCaseTypeIdChange(); });
33149
- i0.ɵɵtemplate(28, WorkbasketFiltersComponent_option_28_Template, 3, 4, "option", 8)(29, WorkbasketFiltersComponent_option_29_Template, 3, 4, "option", 9);
33222
+ i0.ɵɵelementStart(15, "select", 8);
33223
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33224
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
33225
+ i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 3, 4, "option", 5)(17, WorkbasketFiltersComponent_option_17_Template, 3, 4, "option", 6);
33150
33226
  i0.ɵɵelementEnd()();
33151
- i0.ɵɵelementStart(30, "div", 5)(31, "label", 12);
33152
- i0.ɵɵtext(32);
33153
- i0.ɵɵpipe(33, "rpxTranslate");
33227
+ i0.ɵɵelementStart(18, "div", 2)(19, "label", 9);
33228
+ i0.ɵɵtext(20);
33229
+ i0.ɵɵpipe(21, "rpxTranslate");
33154
33230
  i0.ɵɵelementEnd();
33155
- i0.ɵɵelementStart(34, "select", 13);
33156
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_34_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33157
- i0.ɵɵelementStart(35, "option", 14);
33158
- i0.ɵɵtext(36);
33159
- i0.ɵɵpipe(37, "rpxTranslate");
33231
+ i0.ɵɵelementStart(22, "select", 10);
33232
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33233
+ i0.ɵɵelementStart(23, "option", 11);
33234
+ i0.ɵɵtext(24);
33235
+ i0.ɵɵpipe(25, "rpxTranslate");
33160
33236
  i0.ɵɵelementEnd();
33161
- i0.ɵɵtemplate(38, WorkbasketFiltersComponent_option_38_Template, 3, 4, "option", 9);
33237
+ i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
33162
33238
  i0.ɵɵelementEnd()();
33163
- i0.ɵɵtemplate(39, WorkbasketFiltersComponent_ng_container_39_Template, 3, 3, "ng-container", 15);
33164
- i0.ɵɵelementStart(40, "button", 16);
33165
- i0.ɵɵpipe(41, "rpxTranslate");
33166
- i0.ɵɵpipe(42, "rpxTranslate");
33167
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_40_listener() { return ctx.scrollToTop(); });
33168
- i0.ɵɵtext(43);
33169
- i0.ɵɵpipe(44, "rpxTranslate");
33239
+ i0.ɵɵtemplate(27, WorkbasketFiltersComponent_ng_container_27_Template, 3, 3, "ng-container", 12);
33240
+ i0.ɵɵelementStart(28, "button", 13);
33241
+ i0.ɵɵpipe(29, "rpxTranslate");
33242
+ i0.ɵɵpipe(30, "rpxTranslate");
33243
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_28_listener() { return ctx.apply(true); });
33244
+ i0.ɵɵtext(31);
33245
+ i0.ɵɵpipe(32, "rpxTranslate");
33246
+ i0.ɵɵelementEnd();
33247
+ i0.ɵɵtext(33, " \u00A0\u00A0\u00A0 ");
33248
+ i0.ɵɵelementStart(34, "button", 14);
33249
+ i0.ɵɵpipe(35, "rpxTranslate");
33250
+ i0.ɵɵpipe(36, "rpxTranslate");
33251
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_34_listener() { return ctx.reset(); });
33252
+ i0.ɵɵtext(37);
33253
+ i0.ɵɵpipe(38, "rpxTranslate");
33170
33254
  i0.ɵɵelementEnd()();
33171
33255
  } if (rf & 2) {
33172
- i0.ɵɵadvance(3);
33173
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "Filters"));
33174
- i0.ɵɵadvance(2);
33175
- i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(6, 29, "Apply filter"));
33176
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(7, 31, "Apply filter"));
33177
- i0.ɵɵadvance(3);
33178
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 33, "Apply"), " ");
33179
- i0.ɵɵadvance(3);
33180
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(12, 35, "Reset filter"));
33181
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(13, 37, "Reset filter"));
33182
- i0.ɵɵadvance(3);
33183
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 39, "Reset"), " ");
33184
- i0.ɵɵadvance(4);
33185
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 41, "Jurisdiction"));
33256
+ i0.ɵɵadvance();
33257
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 24, "Filters"));
33258
+ i0.ɵɵadvance(5);
33259
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 26, "Jurisdiction"));
33186
33260
  i0.ɵɵadvance(2);
33187
33261
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.jurisdiction);
33188
33262
  i0.ɵɵadvance();
@@ -33190,7 +33264,7 @@ class WorkbasketFiltersComponent {
33190
33264
  i0.ɵɵadvance();
33191
33265
  i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
33192
33266
  i0.ɵɵadvance(3);
33193
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 43, "Case type"));
33267
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
33194
33268
  i0.ɵɵadvance(2);
33195
33269
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseType);
33196
33270
  i0.ɵɵproperty("disabled", ctx.isCaseTypesDropdownDisabled());
@@ -33199,28 +33273,33 @@ class WorkbasketFiltersComponent {
33199
33273
  i0.ɵɵadvance();
33200
33274
  i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
33201
33275
  i0.ɵɵadvance(3);
33202
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "State"));
33276
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
33203
33277
  i0.ɵɵadvance(2);
33204
33278
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseState);
33205
33279
  i0.ɵɵproperty("disabled", ctx.isCaseStatesDropdownDisabled());
33206
33280
  i0.ɵɵadvance();
33207
33281
  i0.ɵɵproperty("ngValue", null);
33208
33282
  i0.ɵɵadvance();
33209
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(37, 47, "Any"));
33283
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
33210
33284
  i0.ɵɵadvance(2);
33211
33285
  i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
33212
33286
  i0.ɵɵadvance();
33213
33287
  i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
33214
33288
  i0.ɵɵadvance();
33215
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(41, 49, "Back to top"));
33216
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(42, 51, "Back to top"));
33289
+ i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(29, 34, "Apply filter"));
33290
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(30, 36, "Apply filter"));
33291
+ i0.ɵɵadvance(3);
33292
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 38, "Apply"), " ");
33293
+ i0.ɵɵadvance(3);
33294
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(35, 40, "Reset filter"));
33295
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(36, 42, "Reset filter"));
33217
33296
  i0.ɵɵadvance(3);
33218
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(44, 53, "Back to top"), " ");
33219
- } }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.form-group.flex[_ngcontent-%COMP%]{display:flex}.form-group.flex[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:1rem .25rem .25rem;height:2rem}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
33297
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 44, "Reset"), " ");
33298
+ } }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
33220
33299
  }
33221
33300
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
33222
33301
  type: Component,
33223
- args: [{ selector: 'ccd-workbasket-filters', template: "<form id=\"filters\" class=\"global-display\">\n <div class=\"form-group flex\">\n <fieldset class=\"heading-h2\" aria-label=\"Filters\">{{'Filters' | rpxTranslate }}</fieldset>\n <button type=\"button\" class=\"button workbasket-filters-apply\" (click)=\"apply(true)\" [disabled]=\"isApplyButtonDisabled()\"\n [title]=\"'Apply filter' | rpxTranslate\" [attr.aria-label]=\"'Apply filter' | rpxTranslate\">\n {{'Apply' | rpxTranslate}}\n </button>&nbsp;&nbsp;&nbsp;\n <button type=\"button\" (click)=\"reset()\" class=\"button button-secondary\"\n [title]=\"'Reset filter' | rpxTranslate\" [attr.aria-label]=\"'Reset filter' | rpxTranslate\">\n {{'Reset' | rpxTranslate}}\n </button>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-jurisdiction\">{{'Jurisdiction' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-jurisdiction\"\n name=\"jurisdiction\" [(ngModel)]=\"selected.jurisdiction\" aria-controls=\"search-result\"\n (change)=\"onJurisdictionIdChange()\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let j of jurisdictions\" [ngValue]=\"j\">{{j.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-type\">{{'Case type' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-type\"\n name=\"case-type\" [(ngModel)]=\"selected.caseType\" [disabled]=\"isCaseTypesDropdownDisabled()\"\n (change)=\"onCaseTypeIdChange()\" aria-controls=\"search-result\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let ct of selectedJurisdictionCaseTypes\" [ngValue]=\"ct\">{{ct.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-state\">{{'State' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-state\"\n name=\"state\" [(ngModel)]=\"selected.caseState\" [disabled]=\"isCaseStatesDropdownDisabled()\"\n aria-controls=\"search-result\">\n <option [ngValue]=\"null\">{{'Any' | rpxTranslate}}</option>\n <option *ngFor=\"let cs of selectedCaseTypeStates\" [ngValue]=\"cs\">{{cs.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <ng-container ccdConditionalShowForm *ngIf=\"isSearchableAndWorkbasketInputsReady()\" [formGroup]=\"formGroup\" [contextFields]=\"caseFields\">\n <div id=\"dynamicFilters\">\n <div class=\"form-group\" *ngFor=\"let workbasketInput of workbasketInputs\">\n <ccd-field-write [caseField]=\"workbasketInput.field\" [formGroup]=\"formGroup\" [isExpanded]=\"true\" [isInSearchBlock]=\"true\" (keyup.enter)=\"apply(null)\">\n </ccd-field-write>\n </div>\n </div>\n </ng-container>\n\n <button type=\"button\" class=\"button\" (click)=\"scrollToTop()\"\n [title]=\"'Back to top' | rpxTranslate\" [attr.aria-label]=\"'Back to top' | rpxTranslate\">{{'Back to top' | rpxTranslate}}\n </button>\n</form>\n", styles: ["div select{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div select{font-size:12pt;line-height:1.3333333333}}.form-group{margin-bottom:7px}.form-group.flex{display:flex}.form-group.flex button{margin:1rem .25rem .25rem;height:2rem}.ccd-dropdown{width:100%}span.heading-medium{margin-top:0}\n"] }]
33302
+ args: [{ selector: 'ccd-workbasket-filters', template: "<h2 class=\"heading-h2\" aria-label=\"Filters\">{{'Filters' | rpxTranslate }}</h2>\n\n<form class=\"global-display\">\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-jurisdiction\">{{'Jurisdiction' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-jurisdiction\"\n name=\"jurisdiction\" [(ngModel)]=\"selected.jurisdiction\" aria-controls=\"search-result\"\n (change)=\"onJurisdictionIdChange()\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let j of jurisdictions\" [ngValue]=\"j\">{{j.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-type\">{{'Case type' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-type\"\n name=\"case-type\" [(ngModel)]=\"selected.caseType\" [disabled]=\"isCaseTypesDropdownDisabled()\"\n (change)=\"onCaseTypeIdChange()\" aria-controls=\"search-result\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let ct of selectedJurisdictionCaseTypes\" [ngValue]=\"ct\">{{ct.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-state\">{{'State' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-state\"\n name=\"state\" [(ngModel)]=\"selected.caseState\" [disabled]=\"isCaseStatesDropdownDisabled()\"\n aria-controls=\"search-result\">\n <option [ngValue]=\"null\">{{'Any' | rpxTranslate}}</option>\n <option *ngFor=\"let cs of selectedCaseTypeStates\" [ngValue]=\"cs\">{{cs.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <ng-container ccdConditionalShowForm *ngIf=\"isSearchableAndWorkbasketInputsReady()\" [formGroup]=\"formGroup\" [contextFields]=\"caseFields\">\n <div id=\"dynamicFilters\">\n <div class=\"form-group\" *ngFor=\"let workbasketInput of workbasketInputs\">\n <ccd-field-write [caseField]=\"workbasketInput.field\" [formGroup]=\"formGroup\" [isExpanded]=\"true\" [isInSearchBlock]=\"true\" (keyup.enter)=\"apply(null)\">\n </ccd-field-write>\n </div>\n </div>\n </ng-container>\n\n <button type=\"button\" class=\"button workbasket-filters-apply\" (click)=\"apply(true)\" [disabled]=\"isApplyButtonDisabled()\"\n [title]=\"'Apply filter' | rpxTranslate\" [attr.aria-label]=\"'Apply filter' | rpxTranslate\">\n {{'Apply' | rpxTranslate}}\n </button> &nbsp;&nbsp;&nbsp;\n <button type=\"button\" (click)=\"reset()\" class=\"button button-secondary\"\n [title]=\"'Reset filter' | rpxTranslate\" [attr.aria-label]=\"'Reset filter' | rpxTranslate\">\n {{'Reset' | rpxTranslate}}\n </button>\n</form>\n", styles: ["div select{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div select{font-size:12pt;line-height:1.3333333333}}.form-group{margin-bottom:7px}.ccd-dropdown{width:100%}span.heading-medium{margin-top:0}\n"] }]
33224
33303
  }], () => [{ type: i1$1.ActivatedRoute }, { type: WorkbasketInputFilterService }, { type: OrderService }, { type: JurisdictionService }, { type: AlertService }, { type: WindowService }], { jurisdictions: [{
33225
33304
  type: Input
33226
33305
  }], defaults: [{
@@ -39928,5 +40007,5 @@ class TestRouteSnapshotBuilder {
39928
40007
  * Generated bundle index. Do not edit.
39929
40008
  */
39930
40009
 
39931
- export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
40010
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
39932
40011
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map