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

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 +47 -51
  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 +53 -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 -38
  18. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +353 -256
  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 +1 -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 +9 -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 -4
  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,19 +7212,22 @@ class DocumentManagementService {
7270
7212
  return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
7271
7213
  }
7272
7214
  getDocStoreUrl() {
7273
- const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7274
- const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7275
- const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7276
- return (documentSecureModeEnabled && !isDocumentOnExclusionList)
7277
- ? this.appConfig.getDocumentManagementUrlV2()
7278
- : this.appConfig.getDocumentManagementUrl();
7279
- }
7280
- 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)); };
7281
7226
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
7282
7227
  }
7283
7228
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DocumentManagementService, [{
7284
7229
  type: Injectable
7285
- }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }, { type: JurisdictionService }], null); })();
7230
+ }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }], null); })();
7286
7231
 
7287
7232
  class ErrorNotifierService {
7288
7233
  errorSource = new BehaviorSubject(null);
@@ -7474,6 +7419,39 @@ class MultipageComponentStateService {
7474
7419
  }]
7475
7420
  }], null, null); })();
7476
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
+
7477
7455
  class BannersService {
7478
7456
  httpService;
7479
7457
  appConfig;
@@ -15136,8 +15114,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15136
15114
  secureModeOn;
15137
15115
  jurisdictionId;
15138
15116
  caseTypeId;
15139
- caseTypeExclusions;
15140
- fileSecureModeOn = true;
15141
15117
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
15142
15118
  super();
15143
15119
  this.appConfig = appConfig;
@@ -15149,44 +15125,21 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15149
15125
  }
15150
15126
  ngOnInit() {
15151
15127
  this.secureModeOn = this.appConfig.getDocumentSecureMode();
15152
- this.caseTypeExclusions = this.appConfig.getCdamExclusionList();
15153
- // Wait for both observables to emit at least once
15154
- this.caseNotifierSubscription = combineLatest([
15155
- this.caseNotifier.caseView.pipe(take(1)),
15156
- this.jurisdictionService.getSelectedJurisdiction()
15157
- ]).subscribe(([caseDetails, jurisdiction]) => {
15158
- if (caseDetails) {
15159
- this.caseTypeId = caseDetails?.case_type?.id;
15160
- this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15161
- }
15162
- if (jurisdiction) {
15163
- this.jurisdictionId = jurisdiction.id;
15164
- if (jurisdiction.currentCaseType) {
15165
- this.caseTypeId = jurisdiction.currentCaseType.id;
15166
- }
15167
- }
15168
- //if we havent set the value of caseTypeId yet, we can check if its in the url. e.g. case-creation
15169
- if (!this.caseTypeId) {
15170
- const url = window.location.pathname;
15171
- if (url.indexOf('/case-create/') > -1) {
15172
- const parts = url.split('/');
15173
- this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15174
- this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15175
- }
15176
- }
15177
- if (this.secureModeOn && this.caseTypeExclusions.split(',').includes(this.caseTypeId)) {
15178
- this.fileSecureModeOn = false;
15179
- }
15180
- this.dialogConfig = initDialog();
15181
- let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15182
- document = this.fileSecureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15183
- if (this.isAMandatoryComponent()) {
15184
- this.createDocumentFormWithValidator(document);
15185
- }
15186
- else {
15187
- this.createDocumentForm(document);
15188
- }
15189
- });
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
+ }
15190
15143
  }
15191
15144
  ngOnDestroy() {
15192
15145
  if (this.fileUploadSubscription) {
@@ -15299,6 +15252,29 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15299
15252
  this.triggerReplace();
15300
15253
  });
15301
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
+ }
15302
15278
  isAMandatoryComponent() {
15303
15279
  return this.caseField.display_context && this.caseField.display_context === Constants.MANDATORY;
15304
15280
  }
@@ -15316,7 +15292,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15316
15292
  let validation = !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_URL).valid &&
15317
15293
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_BINARY_URL).valid &&
15318
15294
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_FILENAME).valid;
15319
- if (this.fileSecureModeOn) {
15295
+ if (this.secureModeOn) {
15320
15296
  validation = validation && !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).valid;
15321
15297
  }
15322
15298
  return validation;
@@ -15344,7 +15320,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15344
15320
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15345
15321
  };
15346
15322
  }
15347
- documentFormGroup = this.fileSecureModeOn ? {
15323
+ documentFormGroup = this.secureModeOn ? {
15348
15324
  ...documentFormGroup,
15349
15325
  ...{ document_hash: new FormControl(document.document_hash) }
15350
15326
  } : documentFormGroup;
@@ -15362,7 +15338,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15362
15338
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15363
15339
  };
15364
15340
  }
15365
- documentFormGroup = this.fileSecureModeOn ? {
15341
+ documentFormGroup = this.secureModeOn ? {
15366
15342
  ...documentFormGroup,
15367
15343
  ...{ document_hash: new FormControl(document.document_hash) }
15368
15344
  } : documentFormGroup;
@@ -15410,15 +15386,15 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15410
15386
  }
15411
15387
  handleDocumentUploadResult(result) {
15412
15388
  if (!this.uploadedDocument) {
15413
- if (this.fileSecureModeOn) {
15389
+ if (this.secureModeOn) {
15414
15390
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null, document_hash: null });
15415
15391
  }
15416
15392
  else {
15417
15393
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null });
15418
15394
  }
15419
15395
  }
15420
- const document = this.fileSecureModeOn ? result.documents[0] : result._embedded.documents[0];
15421
- if (this.fileSecureModeOn) {
15396
+ const document = this.secureModeOn ? result.documents[0] : result._embedded.documents[0];
15397
+ if (this.secureModeOn) {
15422
15398
  this.updateDocumentForm(document._links.self.href, document._links.binary.href, document.originalDocumentName, document.hashToken);
15423
15399
  }
15424
15400
  else {
@@ -15431,7 +15407,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15431
15407
  this.caseField.value.document_binary_url = document._links.binary.href;
15432
15408
  this.caseField.value.document_filename = document.originalDocumentName;
15433
15409
  this.caseField.value.document_url = document._links.self.href;
15434
- if (this.fileSecureModeOn) {
15410
+ if (this.secureModeOn) {
15435
15411
  this.caseField.value.document_hash = document.hashToken;
15436
15412
  }
15437
15413
  }
@@ -15507,7 +15483,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15507
15483
  type: ViewChild,
15508
15484
  args: ['fileInput', { static: false }]
15509
15485
  }] }); })();
15510
- (() => { (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 }); })();
15511
15487
 
15512
15488
  class DynamicListPipe {
15513
15489
  static EMPTY = '';
@@ -19612,7 +19588,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19612
19588
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
19613
19589
  }
19614
19590
  static ɵfac = /*@__PURE__*/ (() => { let ɵWriteNumberFieldComponent_BaseFactory; return function WriteNumberFieldComponent_Factory(__ngFactoryType__) { return (ɵWriteNumberFieldComponent_BaseFactory || (ɵWriteNumberFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteNumberFieldComponent)))(__ngFactoryType__ || WriteNumberFieldComponent); }; })();
19615
- 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) {
19616
19592
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
19617
19593
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
19618
19594
  i0.ɵɵelementEnd();
@@ -19631,11 +19607,11 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19631
19607
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
19632
19608
  i0.ɵɵadvance();
19633
19609
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
19634
- } }, 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 });
19635
19611
  }
19636
19612
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
19637
19613
  type: Component,
19638
- 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" }]
19639
19615
  }], null, null); })();
19640
19616
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
19641
19617
 
@@ -20583,6 +20559,7 @@ var QueryItemResponseStatus;
20583
20559
  QueryItemResponseStatus["NEW"] = "New";
20584
20560
  QueryItemResponseStatus["RESPONDED"] = "Responded";
20585
20561
  QueryItemResponseStatus["AWAITING"] = "Awaiting Response";
20562
+ QueryItemResponseStatus["CLOSED"] = "Closed";
20586
20563
  })(QueryItemResponseStatus || (QueryItemResponseStatus = {}));
20587
20564
 
20588
20565
  var RespondToQueryErrorMessages;
@@ -20883,6 +20860,7 @@ class QueryListItem {
20883
20860
  createdOn;
20884
20861
  createdBy;
20885
20862
  parentId;
20863
+ isClosed;
20886
20864
  children = [];
20887
20865
  messageIndexInParent = null;
20888
20866
  get lastSubmittedMessage() {
@@ -20943,7 +20921,15 @@ class QueryListItem {
20943
20921
  return new Date(this.children[index].createdOn);
20944
20922
  }
20945
20923
  get responseStatus() {
20946
- // 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
+ }
20947
20933
  if (this.messageIndexInParent !== null) {
20948
20934
  return this.messageIndexInParent % 2 === 0
20949
20935
  ? QueryItemResponseStatus.RESPONDED
@@ -21041,6 +21027,7 @@ class QueryManagementUtils {
21041
21027
  const body = formGroup.get('body').value;
21042
21028
  const attachments = formGroup.get('attachments').value;
21043
21029
  const formDocument = attachments.map((document) => this.documentToCollectionFormDocument(document));
21030
+ const isClosed = formGroup.get('closeQuery').value ? 'Yes' : 'No';
21044
21031
  return {
21045
21032
  id: v4(),
21046
21033
  subject: queryItem.subject,
@@ -21051,7 +21038,8 @@ class QueryManagementUtils {
21051
21038
  hearingDate: queryItem.hearingDate,
21052
21039
  createdOn: new Date(),
21053
21040
  createdBy: currentUserId,
21054
- parentId: queryItem.id
21041
+ parentId: queryItem.id,
21042
+ isClosed
21055
21043
  };
21056
21044
  }
21057
21045
  static isObject(elem) {
@@ -21255,6 +21243,32 @@ function QueryCheckYourAnswersComponent_div_0_dl_23_Template(rf, ctx) { if (rf &
21255
21243
  i0.ɵɵadvance(3);
21256
21244
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 5, "Change"), " ");
21257
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
+ } }
21258
21272
  function QueryCheckYourAnswersComponent_div_0_Template(rf, ctx) { if (rf & 1) {
21259
21273
  const _r1 = i0.ɵɵgetCurrentView();
21260
21274
  i0.ɵɵelementStart(0, "div", 3)(1, "div", 4);
@@ -21278,48 +21292,50 @@ function QueryCheckYourAnswersComponent_div_0_Template(rf, ctx) { if (rf & 1) {
21278
21292
  i0.ɵɵtext(20);
21279
21293
  i0.ɵɵpipe(21, "rpxTranslate");
21280
21294
  i0.ɵɵelementEnd()()()();
21281
- i0.ɵɵtemplate(22, QueryCheckYourAnswersComponent_div_0_dl_22_Template, 14, 9, "dl", 11)(23, QueryCheckYourAnswersComponent_div_0_dl_23_Template, 11, 7, "dl", 11);
21282
- i0.ɵɵelement(24, "br");
21283
- i0.ɵɵelementStart(25, "div")(26, "button", 18);
21284
- 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()); });
21285
- i0.ɵɵtext(27);
21286
- 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");
21287
21301
  i0.ɵɵelementEnd();
21288
- i0.ɵɵelementStart(29, "button", 19);
21289
- 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()); });
21290
- i0.ɵɵtext(30);
21291
- 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");
21292
21306
  i0.ɵɵelementEnd()()();
21293
- i0.ɵɵelement(32, "ccd-query-event-completion", 20);
21307
+ i0.ɵɵelement(33, "ccd-query-event-completion", 20);
21294
21308
  i0.ɵɵelementEnd();
21295
21309
  } if (rf & 2) {
21296
21310
  let tmp_9_0;
21297
- const defaultCheckYourAnswersTitle_r9 = i0.ɵɵreference(7);
21311
+ const defaultCheckYourAnswersTitle_r10 = i0.ɵɵreference(7);
21298
21312
  const ctx_r2 = i0.ɵɵnextContext();
21299
21313
  i0.ɵɵadvance(2);
21300
21314
  i0.ɵɵproperty("ngIf", ctx_r2.errorMessages.length > 0);
21301
21315
  i0.ɵɵadvance();
21302
21316
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.NEW_QUERY);
21303
21317
  i0.ɵɵadvance(2);
21304
- 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);
21305
21319
  i0.ɵɵadvance(4);
21306
21320
  i0.ɵɵproperty("caseDetails", ctx_r2.caseDetails);
21307
21321
  i0.ɵɵadvance();
21308
21322
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext !== ctx_r2.queryCreateContextEnum.FOLLOWUP);
21309
21323
  i0.ɵɵadvance(4);
21310
- 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"), " ");
21311
21325
  i0.ɵɵadvance(3);
21312
21326
  i0.ɵɵtextInterpolate1(" ", (tmp_9_0 = ctx_r2.formGroup.get("body")) == null ? null : tmp_9_0.value, " ");
21313
21327
  i0.ɵɵadvance(3);
21314
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 16, "Change"), " ");
21328
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 17, "Change"), " ");
21315
21329
  i0.ɵɵadvance(2);
21316
21330
  i0.ɵɵproperty("ngIf", ctx_r2.queryCreateContext === ctx_r2.queryCreateContextEnum.NEW_QUERY);
21317
21331
  i0.ɵɵadvance();
21318
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);
21319
21335
  i0.ɵɵadvance(4);
21320
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 18, "Previous"), " ");
21336
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 19, "Previous"), " ");
21321
21337
  i0.ɵɵadvance(3);
21322
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(31, 20, "Submit"), " ");
21338
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 21, "Submit"), " ");
21323
21339
  i0.ɵɵadvance(2);
21324
21340
  i0.ɵɵproperty("eventCompletionParams", ctx_r2.eventCompletionParams);
21325
21341
  } }
@@ -21659,14 +21675,14 @@ class QueryCheckYourAnswersComponent {
21659
21675
  }
21660
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)); };
21661
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) {
21662
- i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 33, 22, "div", 2);
21678
+ i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 34, 23, "div", 2);
21663
21679
  } if (rf & 2) {
21664
21680
  i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
21665
21681
  } }, styles: [".govuk-summary-list__value--documentAttached[_ngcontent-%COMP%]{vertical-align:middle}"] });
21666
21682
  }
21667
21683
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryCheckYourAnswersComponent, [{
21668
21684
  type: Component,
21669
- 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"] }]
21670
21686
  }], () => [{ type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: CasesService }, { type: CaseNotifier }, { type: WorkAllocationService }, { type: SessionStorageService }, { type: QualifyingQuestionService }], { formGroup: [{
21671
21687
  type: Input
21672
21688
  }], queryItem: [{
@@ -21686,14 +21702,16 @@ class QueryCheckYourAnswersComponent {
21686
21702
 
21687
21703
  function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
21688
21704
  const _r1 = i0.ɵɵgetCurrentView();
21689
- i0.ɵɵelementStart(0, "p")(1, "a", 10);
21690
- 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()); });
21691
- i0.ɵɵtext(2);
21692
- 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");
21693
21711
  i0.ɵɵelementEnd()();
21694
21712
  } if (rf & 2) {
21695
- i0.ɵɵadvance(2);
21696
- 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"));
21697
21715
  } }
21698
21716
  function QueryDetailsComponent_ng_container_0_tr_42_Template(rf, ctx) { if (rf & 1) {
21699
21717
  i0.ɵɵelementStart(0, "tr", 11)(1, "th", 6);
@@ -21908,7 +21926,7 @@ function QueryDetailsComponent_ng_container_0_ng_container_44_Template(rf, ctx)
21908
21926
  } }
21909
21927
  function QueryDetailsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
21910
21928
  i0.ɵɵelementContainerStart(0);
21911
- 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);
21912
21930
  i0.ɵɵelementStart(2, "div")(3, "table", 2);
21913
21931
  i0.ɵɵpipe(4, "rpxTranslate");
21914
21932
  i0.ɵɵelementStart(5, "caption", 3)(6, "div");
@@ -22031,6 +22049,10 @@ class QueryDetailsComponent {
22031
22049
  }
22032
22050
  hasRespondedToQuery() {
22033
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
+ }
22034
22056
  if (this.isInternalUser()) {
22035
22057
  if (isAwaiting) {
22036
22058
  this.hasResponded.emit(false);
@@ -22055,7 +22077,7 @@ class QueryDetailsComponent {
22055
22077
  }
22056
22078
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
22057
22079
  type: Component,
22058
- 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"] }]
22059
22081
  }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }], { query: [{
22060
22082
  type: Input
22061
22083
  }], caseId: [{
@@ -22736,14 +22758,29 @@ function QueryWriteRespondToQueryComponent_div_12_div_1_Template(rf, ctx) { if (
22736
22758
  i0.ɵɵproperty("formControlName", "body");
22737
22759
  } }
22738
22760
  function QueryWriteRespondToQueryComponent_div_12_Template(rf, ctx) { if (rf & 1) {
22739
- i0.ɵɵelementStart(0, "div", 7);
22740
- 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);
22741
22763
  i0.ɵɵelementEnd();
22742
22764
  } if (rf & 2) {
22743
22765
  const ctx_r0 = i0.ɵɵnextContext();
22744
22766
  i0.ɵɵadvance();
22745
22767
  i0.ɵɵproperty("ngIf", !ctx_r0.hasRespondedToQuery);
22746
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
+ } }
22747
22784
  class QueryWriteRespondToQueryComponent {
22748
22785
  caseNotifier;
22749
22786
  route;
@@ -22813,7 +22850,7 @@ class QueryWriteRespondToQueryComponent {
22813
22850
  this.hasRespondedToQueryTask.emit(value);
22814
22851
  }
22815
22852
  static ɵfac = function QueryWriteRespondToQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryWriteRespondToQueryComponent)(i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute)); };
22816
- 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) {
22817
22854
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "div", 1);
22818
22855
  i0.ɵɵtext(3);
22819
22856
  i0.ɵɵpipe(4, "rpxTranslate");
@@ -22828,23 +22865,25 @@ class QueryWriteRespondToQueryComponent {
22828
22865
  i0.ɵɵelementStart(10, "div")(11, "ccd-query-details", 5);
22829
22866
  i0.ɵɵlistener("hasResponded", function QueryWriteRespondToQueryComponent_Template_ccd_query_details_hasResponded_11_listener($event) { return ctx.hasResponded($event); });
22830
22867
  i0.ɵɵelementEnd()()();
22831
- 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);
22832
22869
  } if (rf & 2) {
22833
22870
  i0.ɵɵadvance(3);
22834
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, "Respond to a query"));
22871
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, "Respond to a query"));
22835
22872
  i0.ɵɵadvance(3);
22836
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 8, "Query details"));
22873
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 9, "Query details"));
22837
22874
  i0.ɵɵadvance(3);
22838
22875
  i0.ɵɵproperty("caseDetails", ctx.caseDetails);
22839
22876
  i0.ɵɵadvance(2);
22840
22877
  i0.ɵɵproperty("query", ctx.queryListData)("queryResponseStatus", ctx.queryResponseStatus);
22841
22878
  i0.ɵɵadvance();
22842
22879
  i0.ɵɵproperty("ngIf", ctx.showForm);
22880
+ i0.ɵɵadvance();
22881
+ i0.ɵɵproperty("ngIf", ctx.queryCreateContext === ctx.queryCreateContextEnum.RESPOND);
22843
22882
  } }, styles: [".query-respond[_ngcontent-%COMP%]{width:100%;max-width:720px}"] });
22844
22883
  }
22845
22884
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryWriteRespondToQueryComponent, [{
22846
22885
  type: Component,
22847
- 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"] }]
22848
22887
  }], () => [{ type: CaseNotifier }, { type: i1$1.ActivatedRoute }], { queryItem: [{
22849
22888
  type: Input
22850
22889
  }], formGroup: [{
@@ -22989,6 +23028,54 @@ class QueryConfirmationComponent {
22989
23028
  }] }); })();
22990
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 }); })();
22991
23030
 
23031
+ class CloseQueryComponent {
23032
+ formGroup;
23033
+ closeQuery() {
23034
+ console.log('this.formGroup.get(value', this.formGroup.get('closeQuery')?.value);
23035
+ }
23036
+ static ɵfac = function CloseQueryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CloseQueryComponent)(); };
23037
+ 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", 3, "change"], ["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) {
23038
+ i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
23039
+ i0.ɵɵtext(2);
23040
+ i0.ɵɵpipe(3, "rpxTranslate");
23041
+ i0.ɵɵelementEnd();
23042
+ i0.ɵɵelementStart(4, "div", 2)(5, "input", 3);
23043
+ i0.ɵɵlistener("change", function CloseQueryComponent_Template_input_change_5_listener() { return ctx.closeQuery(); });
23044
+ i0.ɵɵelementEnd();
23045
+ i0.ɵɵelementStart(6, "label", 4);
23046
+ i0.ɵɵtext(7);
23047
+ i0.ɵɵpipe(8, "rpxTranslate");
23048
+ i0.ɵɵelementEnd()();
23049
+ i0.ɵɵelementStart(9, "div", 5)(10, "span", 6);
23050
+ i0.ɵɵtext(11, "!");
23051
+ i0.ɵɵelementEnd();
23052
+ i0.ɵɵelementStart(12, "strong", 7)(13, "span", 8);
23053
+ i0.ɵɵtext(14, "Warning");
23054
+ i0.ɵɵelementEnd();
23055
+ i0.ɵɵelementStart(15, "p", 9)(16, "strong");
23056
+ i0.ɵɵtext(17);
23057
+ i0.ɵɵpipe(18, "rpxTranslate");
23058
+ i0.ɵɵelementEnd()()()()();
23059
+ } if (rf & 2) {
23060
+ i0.ɵɵproperty("formGroup", ctx.formGroup);
23061
+ i0.ɵɵadvance(2);
23062
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, "Closing the query"));
23063
+ i0.ɵɵadvance(4);
23064
+ i0.ɵɵattribute("aria-labelledby", "closeQuery");
23065
+ i0.ɵɵadvance();
23066
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 7, "I want to close this query"), " ");
23067
+ i0.ɵɵadvance(10);
23068
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 9, "Closing the query means the parties can no longer send message in this thread."), " ");
23069
+ } }, dependencies: [i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i1.RpxTranslatePipe], encapsulation: 2 });
23070
+ }
23071
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CloseQueryComponent, [{
23072
+ type: Component,
23073
+ 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\" (change)=\"closeQuery()\" />\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>" }]
23074
+ }], null, { formGroup: [{
23075
+ type: Input
23076
+ }] }); })();
23077
+ (() => { (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 }); })();
23078
+
22992
23079
  const _c0$B = (a0, a1) => ["/query-management", "query", a0, "4", a1];
22993
23080
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
22994
23081
  const _r1 = i0.ɵɵgetCurrentView();
@@ -23057,17 +23144,36 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template
23057
23144
  i0.ɵɵadvance();
23058
23145
  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);
23059
23146
  } }
23147
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
23148
+ i0.ɵɵelementContainerStart(0);
23149
+ i0.ɵɵelementStart(1, "div", 11)(2, "span", 12);
23150
+ i0.ɵɵtext(3, "!");
23151
+ i0.ɵɵelementEnd();
23152
+ i0.ɵɵelementStart(4, "strong", 13)(5, "span", 14);
23153
+ i0.ɵɵtext(6, "Warning");
23154
+ i0.ɵɵelementEnd();
23155
+ i0.ɵɵelementStart(7, "p", 15);
23156
+ i0.ɵɵtext(8);
23157
+ i0.ɵɵpipe(9, "rpxTranslate");
23158
+ i0.ɵɵelementEnd()()();
23159
+ i0.ɵɵelementContainerEnd();
23160
+ } if (rf & 2) {
23161
+ i0.ɵɵadvance(8);
23162
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 1, "This query has been closed by court staff."));
23163
+ } }
23060
23164
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23061
23165
  const _r4 = i0.ɵɵgetCurrentView();
23062
23166
  i0.ɵɵelementStart(0, "ccd-query-details", 7);
23063
23167
  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); });
23064
23168
  i0.ɵɵelementEnd();
23065
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8);
23169
+ 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);
23066
23170
  } if (rf & 2) {
23067
23171
  const ctx_r1 = i0.ɵɵnextContext();
23068
23172
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
23069
23173
  i0.ɵɵadvance();
23070
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser());
23174
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
23175
+ i0.ɵɵadvance();
23176
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && ctx_r1.isQueryClosed);
23071
23177
  } }
23072
23178
  class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23073
23179
  route;
@@ -23077,6 +23183,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23077
23183
  query;
23078
23184
  showQueryList = true;
23079
23185
  caseId;
23186
+ isQueryClosed = false;
23080
23187
  constructor(route, sessionStorageService, caseNotifier) {
23081
23188
  super();
23082
23189
  this.route = route;
@@ -23113,6 +23220,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23113
23220
  setQuery(query) {
23114
23221
  this.showQueryList = false;
23115
23222
  this.query = query;
23223
+ this.isQueryClosed = this.query?.children?.some((queryItem) => queryItem?.isClosed === 'Yes');
23116
23224
  }
23117
23225
  backToQueryListPage() {
23118
23226
  this.showQueryList = true;
@@ -23122,8 +23230,8 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23122
23230
  return isInternalUser(this.sessionStorageService);
23123
23231
  }
23124
23232
  static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier)); };
23125
- 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) {
23126
- 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);
23233
+ 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) {
23234
+ 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);
23127
23235
  } if (rf & 2) {
23128
23236
  const singleQueryDetails_r6 = i0.ɵɵreference(2);
23129
23237
  i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
@@ -23131,7 +23239,7 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23131
23239
  }
23132
23240
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23133
23241
  type: Component,
23134
- 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" }]
23242
+ 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" }]
23135
23243
  }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
23136
23244
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
23137
23245
 
@@ -30349,6 +30457,7 @@ const PALETTE_COMPONENTS = [
30349
30457
  QueryAttachmentsReadComponent,
30350
30458
  QueryEventCompletionComponent,
30351
30459
  QueryConfirmationComponent,
30460
+ CloseQueryComponent,
30352
30461
  // Case event completion
30353
30462
  CaseEventCompletionComponent,
30354
30463
  CaseEventCompletionTaskCancelledComponent,
@@ -30620,6 +30729,7 @@ class PaletteModule {
30620
30729
  QueryAttachmentsReadComponent,
30621
30730
  QueryEventCompletionComponent,
30622
30731
  QueryConfirmationComponent,
30732
+ CloseQueryComponent,
30623
30733
  // Case event completion
30624
30734
  CaseEventCompletionComponent,
30625
30735
  CaseEventCompletionTaskCancelledComponent,
@@ -30777,6 +30887,7 @@ class PaletteModule {
30777
30887
  QueryAttachmentsReadComponent,
30778
30888
  QueryEventCompletionComponent,
30779
30889
  QueryConfirmationComponent,
30890
+ CloseQueryComponent,
30780
30891
  // Case event completion
30781
30892
  CaseEventCompletionComponent,
30782
30893
  CaseEventCompletionTaskCancelledComponent,
@@ -30854,7 +30965,8 @@ ReadQueryManagementFieldComponent, function () { return [i5.NgForOf, i5.NgIf, i1
30854
30965
  QueryListComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30855
30966
  i0.ɵɵsetComponentScope(QueryDetailsComponent, function () { return [i5.NgForOf, i5.NgIf, QueryAttachmentsReadComponent]; }, function () { return [i5.DatePipe, i1.RpxTranslatePipe]; });
30856
30967
  i0.ɵɵsetComponentScope(QueryWriteRespondToQueryComponent, function () { return [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, QueryDetailsComponent,
30857
- QueryCaseDetailsHeaderComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30968
+ QueryCaseDetailsHeaderComponent,
30969
+ CloseQueryComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30858
30970
  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,
30859
30971
  QueryWriteDateInputComponent]; }, function () { return [i1.RpxTranslatePipe]; });
30860
30972
  i0.ɵɵsetComponentScope(QueryCheckYourAnswersComponent, function () { return [i5.NgForOf, i5.NgIf, QueryCaseDetailsHeaderComponent,
@@ -32692,8 +32804,8 @@ class CaseListModule {
32692
32804
  NgxPaginationModule,
32693
32805
  PaginationModule, i1.RpxTranslationModule], exports: [CaseListComponent] }); })();
32694
32806
 
32695
- function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32696
- i0.ɵɵelementStart(0, "option", 14);
32807
+ function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32808
+ i0.ɵɵelementStart(0, "option", 11);
32697
32809
  i0.ɵɵtext(1);
32698
32810
  i0.ɵɵpipe(2, "rpxTranslate");
32699
32811
  i0.ɵɵelementEnd();
@@ -32702,8 +32814,8 @@ function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32702
32814
  i0.ɵɵadvance();
32703
32815
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32704
32816
  } }
32705
- function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32706
- i0.ɵɵelementStart(0, "option", 14);
32817
+ function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32818
+ i0.ɵɵelementStart(0, "option", 11);
32707
32819
  i0.ɵɵtext(1);
32708
32820
  i0.ɵɵpipe(2, "rpxTranslate");
32709
32821
  i0.ɵɵelementEnd();
@@ -32713,8 +32825,8 @@ function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32713
32825
  i0.ɵɵadvance();
32714
32826
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r1.name));
32715
32827
  } }
32716
- function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32717
- i0.ɵɵelementStart(0, "option", 14);
32828
+ function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32829
+ i0.ɵɵelementStart(0, "option", 11);
32718
32830
  i0.ɵɵtext(1);
32719
32831
  i0.ɵɵpipe(2, "rpxTranslate");
32720
32832
  i0.ɵɵelementEnd();
@@ -32723,8 +32835,8 @@ function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32723
32835
  i0.ɵɵadvance();
32724
32836
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32725
32837
  } }
32726
- function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32727
- i0.ɵɵelementStart(0, "option", 14);
32838
+ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32839
+ i0.ɵɵelementStart(0, "option", 11);
32728
32840
  i0.ɵɵtext(1);
32729
32841
  i0.ɵɵpipe(2, "rpxTranslate");
32730
32842
  i0.ɵɵelementEnd();
@@ -32734,8 +32846,8 @@ function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32734
32846
  i0.ɵɵadvance();
32735
32847
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r2.name));
32736
32848
  } }
32737
- function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32738
- i0.ɵɵelementStart(0, "option", 14);
32849
+ function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32850
+ i0.ɵɵelementStart(0, "option", 11);
32739
32851
  i0.ɵɵtext(1);
32740
32852
  i0.ɵɵpipe(2, "rpxTranslate");
32741
32853
  i0.ɵɵelementEnd();
@@ -32745,10 +32857,10 @@ function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32745
32857
  i0.ɵɵadvance();
32746
32858
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r3.name));
32747
32859
  } }
32748
- function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if (rf & 1) {
32860
+ function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
32749
32861
  const _r4 = i0.ɵɵgetCurrentView();
32750
- i0.ɵɵelementStart(0, "div", 5)(1, "ccd-field-write", 20);
32751
- 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)); });
32862
+ i0.ɵɵelementStart(0, "div", 2)(1, "ccd-field-write", 18);
32863
+ 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)); });
32752
32864
  i0.ɵɵelementEnd()();
32753
32865
  } if (rf & 2) {
32754
32866
  const workbasketInput_r6 = ctx.$implicit;
@@ -32756,10 +32868,10 @@ function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if
32756
32868
  i0.ɵɵadvance();
32757
32869
  i0.ɵɵproperty("caseField", workbasketInput_r6.field)("formGroup", ctx_r4.formGroup)("isExpanded", true)("isInSearchBlock", true);
32758
32870
  } }
32759
- function WorkbasketFiltersComponent_ng_container_39_Template(rf, ctx) { if (rf & 1) {
32760
- i0.ɵɵelementContainerStart(0, 17);
32761
- i0.ɵɵelementStart(1, "div", 18);
32762
- i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_39_div_2_Template, 2, 4, "div", 19);
32871
+ function WorkbasketFiltersComponent_ng_container_27_Template(rf, ctx) { if (rf & 1) {
32872
+ i0.ɵɵelementContainerStart(0, 15);
32873
+ i0.ɵɵelementStart(1, "div", 16);
32874
+ i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_27_div_2_Template, 2, 4, "div", 17);
32763
32875
  i0.ɵɵelementEnd();
32764
32876
  i0.ɵɵelementContainerEnd();
32765
32877
  } if (rf & 2) {
@@ -32802,9 +32914,6 @@ class WorkbasketFiltersComponent {
32802
32914
  this.alertService = alertService;
32803
32915
  this.windowService = windowService;
32804
32916
  }
32805
- scrollToTop() {
32806
- window.scrollTo({ top: 0, behavior: 'smooth' });
32807
- }
32808
32917
  getDefaultJurisdiction() {
32809
32918
  if (!this.jurisdictions || this.jurisdictions.length === 0) {
32810
32919
  return null;
@@ -33096,79 +33205,62 @@ class WorkbasketFiltersComponent {
33096
33205
  }
33097
33206
  }
33098
33207
  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)); };
33099
- 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) {
33100
- i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "fieldset", 2);
33101
- i0.ɵɵtext(3);
33102
- i0.ɵɵpipe(4, "rpxTranslate");
33208
+ 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) {
33209
+ i0.ɵɵelementStart(0, "h2", 0);
33210
+ i0.ɵɵtext(1);
33211
+ i0.ɵɵpipe(2, "rpxTranslate");
33103
33212
  i0.ɵɵelementEnd();
33104
- i0.ɵɵelementStart(5, "button", 3);
33105
- i0.ɵɵpipe(6, "rpxTranslate");
33213
+ i0.ɵɵelementStart(3, "form", 1)(4, "div", 2)(5, "label", 3);
33214
+ i0.ɵɵtext(6);
33106
33215
  i0.ɵɵpipe(7, "rpxTranslate");
33107
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_5_listener() { return ctx.apply(true); });
33108
- i0.ɵɵtext(8);
33109
- i0.ɵɵpipe(9, "rpxTranslate");
33110
33216
  i0.ɵɵelementEnd();
33111
- i0.ɵɵtext(10, "\u00A0\u00A0\u00A0 ");
33112
- i0.ɵɵelementStart(11, "button", 4);
33113
- i0.ɵɵpipe(12, "rpxTranslate");
33114
- i0.ɵɵpipe(13, "rpxTranslate");
33115
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_11_listener() { return ctx.reset(); });
33116
- i0.ɵɵtext(14);
33117
- i0.ɵɵpipe(15, "rpxTranslate");
33118
- i0.ɵɵelementEnd()();
33119
- i0.ɵɵelementStart(16, "div", 5)(17, "label", 6);
33120
- i0.ɵɵtext(18);
33121
- i0.ɵɵpipe(19, "rpxTranslate");
33122
- i0.ɵɵelementEnd();
33123
- i0.ɵɵelementStart(20, "select", 7);
33124
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_20_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33125
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_20_listener() { return ctx.onJurisdictionIdChange(); });
33126
- i0.ɵɵtemplate(21, WorkbasketFiltersComponent_option_21_Template, 3, 4, "option", 8)(22, WorkbasketFiltersComponent_option_22_Template, 3, 4, "option", 9);
33217
+ i0.ɵɵelementStart(8, "select", 4);
33218
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33219
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
33220
+ i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 3, 4, "option", 5)(10, WorkbasketFiltersComponent_option_10_Template, 3, 4, "option", 6);
33127
33221
  i0.ɵɵelementEnd()();
33128
- i0.ɵɵelementStart(23, "div", 5)(24, "label", 10);
33129
- i0.ɵɵtext(25);
33130
- i0.ɵɵpipe(26, "rpxTranslate");
33222
+ i0.ɵɵelementStart(11, "div", 2)(12, "label", 7);
33223
+ i0.ɵɵtext(13);
33224
+ i0.ɵɵpipe(14, "rpxTranslate");
33131
33225
  i0.ɵɵelementEnd();
33132
- i0.ɵɵelementStart(27, "select", 11);
33133
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_27_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33134
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_27_listener() { return ctx.onCaseTypeIdChange(); });
33135
- i0.ɵɵtemplate(28, WorkbasketFiltersComponent_option_28_Template, 3, 4, "option", 8)(29, WorkbasketFiltersComponent_option_29_Template, 3, 4, "option", 9);
33226
+ i0.ɵɵelementStart(15, "select", 8);
33227
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33228
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
33229
+ i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 3, 4, "option", 5)(17, WorkbasketFiltersComponent_option_17_Template, 3, 4, "option", 6);
33136
33230
  i0.ɵɵelementEnd()();
33137
- i0.ɵɵelementStart(30, "div", 5)(31, "label", 12);
33138
- i0.ɵɵtext(32);
33139
- i0.ɵɵpipe(33, "rpxTranslate");
33231
+ i0.ɵɵelementStart(18, "div", 2)(19, "label", 9);
33232
+ i0.ɵɵtext(20);
33233
+ i0.ɵɵpipe(21, "rpxTranslate");
33140
33234
  i0.ɵɵelementEnd();
33141
- i0.ɵɵelementStart(34, "select", 13);
33142
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_34_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33143
- i0.ɵɵelementStart(35, "option", 14);
33144
- i0.ɵɵtext(36);
33145
- i0.ɵɵpipe(37, "rpxTranslate");
33235
+ i0.ɵɵelementStart(22, "select", 10);
33236
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33237
+ i0.ɵɵelementStart(23, "option", 11);
33238
+ i0.ɵɵtext(24);
33239
+ i0.ɵɵpipe(25, "rpxTranslate");
33146
33240
  i0.ɵɵelementEnd();
33147
- i0.ɵɵtemplate(38, WorkbasketFiltersComponent_option_38_Template, 3, 4, "option", 9);
33241
+ i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
33148
33242
  i0.ɵɵelementEnd()();
33149
- i0.ɵɵtemplate(39, WorkbasketFiltersComponent_ng_container_39_Template, 3, 3, "ng-container", 15);
33150
- i0.ɵɵelementStart(40, "button", 16);
33151
- i0.ɵɵpipe(41, "rpxTranslate");
33152
- i0.ɵɵpipe(42, "rpxTranslate");
33153
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_40_listener() { return ctx.scrollToTop(); });
33154
- i0.ɵɵtext(43);
33155
- i0.ɵɵpipe(44, "rpxTranslate");
33243
+ i0.ɵɵtemplate(27, WorkbasketFiltersComponent_ng_container_27_Template, 3, 3, "ng-container", 12);
33244
+ i0.ɵɵelementStart(28, "button", 13);
33245
+ i0.ɵɵpipe(29, "rpxTranslate");
33246
+ i0.ɵɵpipe(30, "rpxTranslate");
33247
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_28_listener() { return ctx.apply(true); });
33248
+ i0.ɵɵtext(31);
33249
+ i0.ɵɵpipe(32, "rpxTranslate");
33250
+ i0.ɵɵelementEnd();
33251
+ i0.ɵɵtext(33, " \u00A0\u00A0\u00A0 ");
33252
+ i0.ɵɵelementStart(34, "button", 14);
33253
+ i0.ɵɵpipe(35, "rpxTranslate");
33254
+ i0.ɵɵpipe(36, "rpxTranslate");
33255
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_34_listener() { return ctx.reset(); });
33256
+ i0.ɵɵtext(37);
33257
+ i0.ɵɵpipe(38, "rpxTranslate");
33156
33258
  i0.ɵɵelementEnd()();
33157
33259
  } if (rf & 2) {
33158
- i0.ɵɵadvance(3);
33159
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "Filters"));
33160
- i0.ɵɵadvance(2);
33161
- i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(6, 29, "Apply filter"));
33162
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(7, 31, "Apply filter"));
33163
- i0.ɵɵadvance(3);
33164
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 33, "Apply"), " ");
33165
- i0.ɵɵadvance(3);
33166
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(12, 35, "Reset filter"));
33167
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(13, 37, "Reset filter"));
33168
- i0.ɵɵadvance(3);
33169
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 39, "Reset"), " ");
33170
- i0.ɵɵadvance(4);
33171
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 41, "Jurisdiction"));
33260
+ i0.ɵɵadvance();
33261
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 24, "Filters"));
33262
+ i0.ɵɵadvance(5);
33263
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 26, "Jurisdiction"));
33172
33264
  i0.ɵɵadvance(2);
33173
33265
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.jurisdiction);
33174
33266
  i0.ɵɵadvance();
@@ -33176,7 +33268,7 @@ class WorkbasketFiltersComponent {
33176
33268
  i0.ɵɵadvance();
33177
33269
  i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
33178
33270
  i0.ɵɵadvance(3);
33179
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 43, "Case type"));
33271
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
33180
33272
  i0.ɵɵadvance(2);
33181
33273
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseType);
33182
33274
  i0.ɵɵproperty("disabled", ctx.isCaseTypesDropdownDisabled());
@@ -33185,28 +33277,33 @@ class WorkbasketFiltersComponent {
33185
33277
  i0.ɵɵadvance();
33186
33278
  i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
33187
33279
  i0.ɵɵadvance(3);
33188
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "State"));
33280
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
33189
33281
  i0.ɵɵadvance(2);
33190
33282
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseState);
33191
33283
  i0.ɵɵproperty("disabled", ctx.isCaseStatesDropdownDisabled());
33192
33284
  i0.ɵɵadvance();
33193
33285
  i0.ɵɵproperty("ngValue", null);
33194
33286
  i0.ɵɵadvance();
33195
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(37, 47, "Any"));
33287
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
33196
33288
  i0.ɵɵadvance(2);
33197
33289
  i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
33198
33290
  i0.ɵɵadvance();
33199
33291
  i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
33200
33292
  i0.ɵɵadvance();
33201
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(41, 49, "Back to top"));
33202
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(42, 51, "Back to top"));
33293
+ i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(29, 34, "Apply filter"));
33294
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(30, 36, "Apply filter"));
33295
+ i0.ɵɵadvance(3);
33296
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 38, "Apply"), " ");
33297
+ i0.ɵɵadvance(3);
33298
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(35, 40, "Reset filter"));
33299
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(36, 42, "Reset filter"));
33203
33300
  i0.ɵɵadvance(3);
33204
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(44, 53, "Back to top"), " ");
33205
- } }, 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}"] });
33301
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 44, "Reset"), " ");
33302
+ } }, 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}"] });
33206
33303
  }
33207
33304
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
33208
33305
  type: Component,
33209
- 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"] }]
33306
+ 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"] }]
33210
33307
  }], () => [{ type: i1$1.ActivatedRoute }, { type: WorkbasketInputFilterService }, { type: OrderService }, { type: JurisdictionService }, { type: AlertService }, { type: WindowService }], { jurisdictions: [{
33211
33308
  type: Input
33212
33309
  }], defaults: [{
@@ -39914,5 +40011,5 @@ class TestRouteSnapshotBuilder {
39914
40011
  * Generated bundle index. Do not edit.
39915
40012
  */
39916
40013
 
39917
- 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 };
40014
+ 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 };
39918
40015
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map