@hmcts/ccd-case-ui-toolkit 7.2.14-multiple-followup → 7.2.14

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 (35) hide show
  1. package/esm2022/lib/app.config.mjs +1 -3
  2. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +6 -7
  3. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +3 -6
  4. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +8 -38
  5. package/esm2022/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +1 -2
  6. package/esm2022/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +1 -1
  7. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +2 -22
  8. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +22 -64
  9. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +3 -12
  10. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +19 -4
  11. package/esm2022/lib/shared/utils.mjs +1 -1
  12. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +55 -139
  13. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  14. package/lib/app.config.d.ts +0 -3
  15. package/lib/app.config.d.ts.map +1 -1
  16. package/lib/shared/components/palette/document/write-document-field.component.d.ts +0 -1
  17. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -2
  19. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  20. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +1 -8
  21. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -1
  22. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +1 -2
  23. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -1
  24. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +0 -2
  25. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -1
  26. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +0 -2
  27. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  28. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +1 -11
  29. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
  30. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +1 -1
  31. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -1
  32. package/lib/shared/services/document-management/document-management.service.d.ts +1 -0
  33. package/lib/shared/services/document-management/document-management.service.d.ts.map +1 -1
  34. package/lib/shared/utils.d.ts +1 -1
  35. package/package.json +1 -1
@@ -1326,8 +1326,6 @@ class CaseEditorConfig {
1326
1326
  icp_enabled;
1327
1327
  icp_jurisdictions;
1328
1328
  events_to_hide;
1329
- enable_service_specific_multi_followups;
1330
- multiple_follow_up_enabled;
1331
1329
  }
1332
1330
 
1333
1331
  class HttpError {
@@ -7272,12 +7270,27 @@ class DocumentManagementService {
7272
7270
  return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
7273
7271
  }
7274
7272
  getDocStoreUrl() {
7273
+ if (this.isDocumentSecureModeEnabled()) {
7274
+ return this.appConfig.getDocumentManagementUrlV2();
7275
+ }
7276
+ return this.appConfig.getDocumentManagementUrl();
7277
+ }
7278
+ // return false == document should not use CDAM
7279
+ // return true == document should use CDAM
7280
+ isDocumentSecureModeEnabled() {
7275
7281
  const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7276
7282
  const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7277
7283
  const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7278
- return (documentSecureModeEnabled && !isDocumentOnExclusionList)
7279
- ? this.appConfig.getDocumentManagementUrlV2()
7280
- : this.appConfig.getDocumentManagementUrl();
7284
+ // if the documentSecureModeEnabled is false, return false
7285
+ if (!documentSecureModeEnabled) {
7286
+ return false;
7287
+ }
7288
+ // if the documentSecureModeEnabled is true, and the case is not in the exclusion list, return true
7289
+ if (documentSecureModeEnabled && !isDocumentOnExclusionList) {
7290
+ return true;
7291
+ }
7292
+ // if documentSecureModeEnabled is true, and case is in the exclusion list, return false
7293
+ return false;
7281
7294
  }
7282
7295
  static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier), i0.ɵɵinject(JurisdictionService)); };
7283
7296
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
@@ -15135,11 +15148,11 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15135
15148
  jurisdictionSubs;
15136
15149
  uploadedDocument;
15137
15150
  dialogConfig;
15138
- secureModeOn;
15139
15151
  jurisdictionId;
15140
15152
  caseTypeId;
15141
15153
  caseTypeExclusions;
15142
- fileSecureModeOn = true;
15154
+ // Should the file upload use CDAM
15155
+ fileSecureModeOn = false;
15143
15156
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
15144
15157
  super();
15145
15158
  this.appConfig = appConfig;
@@ -15150,8 +15163,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15150
15163
  this.jurisdictionService = jurisdictionService;
15151
15164
  }
15152
15165
  ngOnInit() {
15153
- this.secureModeOn = this.appConfig.getDocumentSecureMode();
15154
- this.caseTypeExclusions = this.appConfig.getCdamExclusionList();
15155
15166
  // Wait for both observables to emit at least once
15156
15167
  this.caseNotifierSubscription = combineLatest([
15157
15168
  this.caseNotifier.caseView.pipe(take(1)),
@@ -15176,8 +15187,9 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15176
15187
  this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15177
15188
  }
15178
15189
  }
15179
- if (this.secureModeOn && this.caseTypeExclusions.split(',').includes(this.caseTypeId)) {
15180
- this.fileSecureModeOn = false;
15190
+ // use the documentManagement service to check if the document upload should use CDAM
15191
+ if (this.documentManagement.isDocumentSecureModeEnabled()) {
15192
+ this.fileSecureModeOn = true;
15181
15193
  }
15182
15194
  this.dialogConfig = initDialog();
15183
15195
  let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
@@ -20585,7 +20597,6 @@ var QueryItemResponseStatus;
20585
20597
  QueryItemResponseStatus["NEW"] = "New";
20586
20598
  QueryItemResponseStatus["RESPONDED"] = "Responded";
20587
20599
  QueryItemResponseStatus["AWAITING"] = "Awaiting Response";
20588
- QueryItemResponseStatus["CLOSED"] = "Closed";
20589
20600
  })(QueryItemResponseStatus || (QueryItemResponseStatus = {}));
20590
20601
 
20591
20602
  var RespondToQueryErrorMessages;
@@ -20886,8 +20897,6 @@ class QueryListItem {
20886
20897
  createdOn;
20887
20898
  createdBy;
20888
20899
  parentId;
20889
- isClosed;
20890
- messageType;
20891
20900
  children = [];
20892
20901
  messageIndexInParent = null;
20893
20902
  get lastSubmittedMessage() {
@@ -20948,24 +20957,7 @@ class QueryListItem {
20948
20957
  return new Date(this.children[index].createdOn);
20949
20958
  }
20950
20959
  get responseStatus() {
20951
- const isThreadClosed = (item) => {
20952
- if (item.isClosed === 'Yes') {
20953
- return true;
20954
- }
20955
- return item.children?.some((child) => isThreadClosed(child)) || false;
20956
- };
20957
- if (isThreadClosed(this)) {
20958
- return QueryItemResponseStatus.CLOSED;
20959
- }
20960
- const lastMessageType = this.children?.length
20961
- ? this.children[this.children.length - 1]?.messageType
20962
- : undefined;
20963
- if (lastMessageType && lastMessageType === QueryCreateContext.RESPOND) {
20964
- return QueryItemResponseStatus.RESPONDED;
20965
- }
20966
- else if (lastMessageType && lastMessageType === QueryCreateContext.FOLLOWUP) {
20967
- return QueryItemResponseStatus.AWAITING;
20968
- }
20960
+ // Child logic (position-based)
20969
20961
  if (this.messageIndexInParent !== null) {
20970
20962
  return this.messageIndexInParent % 2 === 0
20971
20963
  ? QueryItemResponseStatus.RESPONDED
@@ -21057,18 +21049,12 @@ class QueryManagementUtils {
21057
21049
  createdBy: currentUserId
21058
21050
  };
21059
21051
  }
21060
- static getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails, messageTypeParam) {
21052
+ static getRespondOrFollowupQueryData(formGroup, queryItem, currentUserDetails) {
21061
21053
  const currentUserId = currentUserDetails?.uid || currentUserDetails?.id;
21062
21054
  const currentUserName = currentUserDetails?.name || `${currentUserDetails?.forename} ${currentUserDetails?.surname}`;
21063
21055
  const body = formGroup.get('body').value;
21064
21056
  const attachments = formGroup.get('attachments').value;
21065
21057
  const formDocument = attachments.map((document) => this.documentToCollectionFormDocument(document));
21066
- const isClosed = formGroup.get('closeQuery').value ? 'Yes' : 'No';
21067
- const messageType = messageTypeParam === QueryCreateContext.RESPOND
21068
- ? QueryCreateContext.RESPOND
21069
- : messageTypeParam === QueryCreateContext.FOLLOWUP
21070
- ? QueryCreateContext.FOLLOWUP
21071
- : undefined;
21072
21058
  return {
21073
21059
  id: v4(),
21074
21060
  subject: queryItem.subject,
@@ -21079,9 +21065,7 @@ class QueryManagementUtils {
21079
21065
  hearingDate: queryItem.hearingDate,
21080
21066
  createdOn: new Date(),
21081
21067
  createdBy: currentUserId,
21082
- parentId: queryItem.id,
21083
- isClosed,
21084
- messageType
21068
+ parentId: queryItem.id
21085
21069
  };
21086
21070
  }
21087
21071
  static isObject(elem) {
@@ -21373,7 +21357,6 @@ class QueryCheckYourAnswersComponent {
21373
21357
  queryItem;
21374
21358
  queryCreateContext;
21375
21359
  eventData = null;
21376
- multipleFollowUpFeature;
21377
21360
  backClicked = new EventEmitter();
21378
21361
  querySubmitted = new EventEmitter();
21379
21362
  callbackConfirmationMessage = new EventEmitter();
@@ -21532,7 +21515,7 @@ class QueryCheckYourAnswersComponent {
21532
21515
  const currentUserDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
21533
21516
  const caseMessage = this.queryCreateContext === QueryCreateContext.NEW_QUERY
21534
21517
  ? QueryManagementUtils.getNewQueryData(this.formGroup, currentUserDetails)
21535
- : QueryManagementUtils.getRespondOrFollowupQueryData(this.formGroup, this.queryItem, currentUserDetails, this.queryCreateContext);
21518
+ : QueryManagementUtils.getRespondOrFollowupQueryData(this.formGroup, this.queryItem, currentUserDetails);
21536
21519
  const messageId = this.route.snapshot.params.dataid; // Get the message ID from route params (if present)
21537
21520
  const isNewQuery = this.queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
21538
21521
  // Check if the field ID has been set dynamically
@@ -21689,7 +21672,7 @@ class QueryCheckYourAnswersComponent {
21689
21672
  }
21690
21673
  }
21691
21674
  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)); };
21692
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryCheckYourAnswersComponent, selectors: [["ccd-query-check-your-answers"]], inputs: { formGroup: "formGroup", queryItem: "queryItem", queryCreateContext: "queryCreateContext", eventData: "eventData", multipleFollowUpFeature: "multipleFollowUpFeature" }, 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) {
21675
+ 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) {
21693
21676
  i0.ɵɵtemplate(0, QueryCheckYourAnswersComponent_div_0_Template, 33, 22, "div", 2);
21694
21677
  } if (rf & 2) {
21695
21678
  i0.ɵɵproperty("ngIf", ctx.readyToSubmit);
@@ -21706,8 +21689,6 @@ class QueryCheckYourAnswersComponent {
21706
21689
  type: Input
21707
21690
  }], eventData: [{
21708
21691
  type: Input
21709
- }], multipleFollowUpFeature: [{
21710
- type: Input
21711
21692
  }], backClicked: [{
21712
21693
  type: Output
21713
21694
  }], querySubmitted: [{
@@ -21925,12 +21906,10 @@ function QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_Tem
21925
21906
  i0.ɵɵtemplate(1, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_container_1_Template, 23, 19, "ng-container", 15)(2, QueryDetailsComponent_ng_container_0_ng_container_44_ng_container_1_ng_template_2_Template, 27, 22, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
21926
21907
  i0.ɵɵelementContainerEnd();
21927
21908
  } if (rf & 2) {
21928
- const child_r3 = ctx.$implicit;
21929
21909
  const i_r4 = ctx.index;
21930
21910
  const followUpMessage_r5 = i0.ɵɵreference(3);
21931
- const ctx_r1 = i0.ɵɵnextContext(3);
21932
21911
  i0.ɵɵadvance();
21933
- i0.ɵɵproperty("ngIf", i_r4 % 2 === 0 && !(child_r3 == null ? null : child_r3.messageType) || child_r3 && (child_r3 == null ? null : child_r3.messageType) === ctx_r1.respondToQuery)("ngIfElse", followUpMessage_r5);
21912
+ i0.ɵɵproperty("ngIf", i_r4 % 2 === 0)("ngIfElse", followUpMessage_r5);
21934
21913
  } }
21935
21914
  function QueryDetailsComponent_ng_container_0_ng_container_44_Template(rf, ctx) { if (rf & 1) {
21936
21915
  i0.ɵɵelementContainerStart(0);
@@ -22034,8 +22013,6 @@ class QueryDetailsComponent {
22034
22013
  sessionStorageService;
22035
22014
  route;
22036
22015
  router;
22037
- abstractConfig;
22038
- caseNotifier;
22039
22016
  query;
22040
22017
  caseId;
22041
22018
  queryResponseStatus;
@@ -22045,15 +22022,10 @@ class QueryDetailsComponent {
22045
22022
  static QUERY_ITEM_RESPOND = '3';
22046
22023
  static QUERY_ITEM_FOLLOW_UP = '4';
22047
22024
  queryItemId;
22048
- followUpQuery = QueryCreateContext.FOLLOWUP;
22049
- respondToQuery = QueryCreateContext.RESPOND;
22050
- enableServiceSpecificMultiFollowups;
22051
- constructor(sessionStorageService, route, router, abstractConfig, caseNotifier) {
22025
+ constructor(sessionStorageService, route, router) {
22052
22026
  this.sessionStorageService = sessionStorageService;
22053
22027
  this.route = route;
22054
22028
  this.router = router;
22055
- this.abstractConfig = abstractConfig;
22056
- this.caseNotifier = caseNotifier;
22057
22029
  }
22058
22030
  onBack() {
22059
22031
  this.backClicked.emit(true);
@@ -22073,23 +22045,6 @@ class QueryDetailsComponent {
22073
22045
  }
22074
22046
  hasRespondedToQuery() {
22075
22047
  const isAwaiting = this.queryResponseStatus === undefined || this.queryResponseStatus === QueryItemResponseStatus.AWAITING;
22076
- const lastChild = this.query?.children?.[this.query.children.length - 1];
22077
- const isFollowUp = lastChild?.messageType === this.followUpQuery;
22078
- const isRespond = lastChild?.messageType === this.respondToQuery;
22079
- this.enableServiceSpecificMultiFollowups = this.abstractConfig.getEnableServiceSpecificMultiFollowups() || [];
22080
- const isMultipleFollowUpEnabled = this.enableServiceSpecificMultiFollowups.some((jurisdiction) => jurisdiction === this.caseNotifier?.cachedCaseView?.case_type?.jurisdiction.id);
22081
- if (this.queryResponseStatus === QueryItemResponseStatus.CLOSED) {
22082
- this.hasResponded.emit(true);
22083
- return true;
22084
- }
22085
- if (isFollowUp && isMultipleFollowUpEnabled) {
22086
- this.hasResponded.emit(false);
22087
- return false;
22088
- }
22089
- if (isRespond) {
22090
- this.hasResponded.emit(false);
22091
- return false;
22092
- }
22093
22048
  if (this.isInternalUser()) {
22094
22049
  if (isAwaiting) {
22095
22050
  this.hasResponded.emit(false);
@@ -22105,7 +22060,7 @@ class QueryDetailsComponent {
22105
22060
  this.hasResponded.emit(false);
22106
22061
  return false;
22107
22062
  }
22108
- static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AbstractAppConfig), i0.ɵɵdirectiveInject(CaseNotifier)); };
22063
+ static ɵfac = function QueryDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryDetailsComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router)); };
22109
22064
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryDetailsComponent, selectors: [["ccd-query-details"]], inputs: { query: "query", caseId: "caseId", queryResponseStatus: "queryResponseStatus" }, outputs: { backClicked: "backClicked", hasResponded: "hasResponded" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["followUpMessage", ""], [4, "ngIf"], [1, "govuk-table", "query-details-table"], [1, "govuk-table__caption", "govuk-table__caption--l"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row govuk-table__row--isHearingRelated", 4, "ngIf"], ["class", "govuk-table__row", 4, "ngIf"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [1, "govuk-table__row", "govuk-table__row--isHearingRelated"], [3, "attachments", 4, "ngIf"], [3, "attachments"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"]], template: function QueryDetailsComponent_Template(rf, ctx) { if (rf & 1) {
22110
22065
  i0.ɵɵtemplate(0, QueryDetailsComponent_ng_container_0_Template, 45, 41, "ng-container", 1);
22111
22066
  } if (rf & 2) {
@@ -22114,8 +22069,8 @@ class QueryDetailsComponent {
22114
22069
  }
22115
22070
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
22116
22071
  type: Component,
22117
- 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 && !child?.messageType) || (child && child?.messageType === respondToQuery); 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"] }]
22118
- }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: AbstractAppConfig }, { type: CaseNotifier }], { query: [{
22072
+ args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <p *ngIf=\"showItem\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
22073
+ }], () => [{ type: SessionStorageService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }], { query: [{
22119
22074
  type: Input
22120
22075
  }], caseId: [{
22121
22076
  type: Input
@@ -22126,7 +22081,7 @@ class QueryDetailsComponent {
22126
22081
  }], hasResponded: [{
22127
22082
  type: Output
22128
22083
  }] }); })();
22129
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 16 }); })();
22084
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 14 }); })();
22130
22085
 
22131
22086
  class QueryEventCompletionComponent {
22132
22087
  eventCompletionParams;
@@ -23051,7 +23006,7 @@ class QueryConfirmationComponent {
23051
23006
  const _c0$B = (a0, a1) => ["/query-management", "query", a0, "4", a1];
23052
23007
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
23053
23008
  const _r1 = i0.ɵɵgetCurrentView();
23054
- i0.ɵɵelementStart(0, "div", 6)(1, "ccd-query-list", 7);
23009
+ i0.ɵɵelementStart(0, "div", 5)(1, "ccd-query-list", 6);
23055
23010
  i0.ɵɵlistener("selectedQuery", function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template_ccd_query_list_selectedQuery_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.setQuery($event)); });
23056
23011
  i0.ɵɵelementEnd()();
23057
23012
  } if (rf & 2) {
@@ -23061,7 +23016,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_T
23061
23016
  } }
23062
23017
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23063
23018
  i0.ɵɵelementContainerStart(0);
23064
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template, 2, 1, "div", 5);
23019
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template, 2, 1, "div", 4);
23065
23020
  i0.ɵɵelementContainerEnd();
23066
23021
  } if (rf & 2) {
23067
23022
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -23070,7 +23025,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Templat
23070
23025
  } }
23071
23026
  function ReadQueryManagementFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
23072
23027
  i0.ɵɵelementContainerStart(0);
23073
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template, 2, 1, "ng-container", 4);
23028
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_Template, 2, 1, "ng-container", 3);
23074
23029
  i0.ɵɵelementContainerEnd();
23075
23030
  } if (rf & 2) {
23076
23031
  const ctx_r1 = i0.ɵɵnextContext();
@@ -23079,7 +23034,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_Template(rf, ctx) { if
23079
23034
  } }
23080
23035
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23081
23036
  i0.ɵɵelementContainerStart(0);
23082
- i0.ɵɵelementStart(1, "button", 10);
23037
+ i0.ɵɵelementStart(1, "button", 9);
23083
23038
  i0.ɵɵtext(2);
23084
23039
  i0.ɵɵpipe(3, "rpxTranslate");
23085
23040
  i0.ɵɵelementEnd();
@@ -23091,22 +23046,8 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_conta
23091
23046
  i0.ɵɵadvance();
23092
23047
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
23093
23048
  } }
23094
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
23095
- i0.ɵɵelementContainerStart(0);
23096
- i0.ɵɵelementStart(1, "button", 10);
23097
- i0.ɵɵtext(2);
23098
- i0.ɵɵpipe(3, "rpxTranslate");
23099
- i0.ɵɵelementEnd();
23100
- i0.ɵɵelementContainerEnd();
23101
- } if (rf & 2) {
23102
- const ctx_r1 = i0.ɵɵnextContext(4);
23103
- i0.ɵɵadvance();
23104
- i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(4, _c0$B, ctx_r1.caseId, ctx_r1.query.id));
23105
- i0.ɵɵadvance();
23106
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
23107
- } }
23108
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23109
- i0.ɵɵelementStart(0, "div")(1, "p", 11);
23049
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
23050
+ i0.ɵɵelementStart(0, "div")(1, "p", 10);
23110
23051
  i0.ɵɵtext(2);
23111
23052
  i0.ɵɵpipe(3, "rpxTranslate");
23112
23053
  i0.ɵɵelementEnd();
@@ -23120,61 +23061,43 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_templ
23120
23061
  i0.ɵɵadvance(3);
23121
23062
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and respond. Do not submit the same query more than once."));
23122
23063
  } }
23123
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
23124
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_container_0_Template, 4, 7, "ng-container", 3)(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_ng_template_1_Template, 7, 6, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
23125
- } if (rf & 2) {
23126
- const queryIsInReview_r5 = i0.ɵɵreference(2);
23127
- const ctx_r1 = i0.ɵɵnextContext(3);
23128
- 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);
23129
- } }
23130
23064
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
23131
23065
  i0.ɵɵelementContainerStart(0);
23132
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template, 4, 7, "ng-container", 3)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template, 3, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
23066
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template, 4, 7, "ng-container", 2)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template, 7, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
23133
23067
  i0.ɵɵelementContainerEnd();
23134
23068
  } if (rf & 2) {
23135
- const sequentialQuery_r6 = i0.ɵɵreference(3);
23069
+ const queryIsInReview_r5 = i0.ɵɵreference(3);
23136
23070
  const ctx_r1 = i0.ɵɵnextContext(2);
23137
23071
  i0.ɵɵadvance();
23138
- i0.ɵɵproperty("ngIf", ctx_r1.messageType && ctx_r1.messageType === ctx_r1.followUpQuery && ctx_r1.isMultipleFollowUpEnabled || ctx_r1.messageType && ctx_r1.messageType === ctx_r1.respondToQuery)("ngIfElse", sequentialQuery_r6);
23072
+ 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);
23139
23073
  } }
23140
23074
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
23141
23075
  const _r4 = i0.ɵɵgetCurrentView();
23142
- i0.ɵɵelementStart(0, "ccd-query-details", 8);
23076
+ i0.ɵɵelementStart(0, "ccd-query-details", 7);
23143
23077
  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); });
23144
23078
  i0.ɵɵelementEnd();
23145
- i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 9);
23079
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8);
23146
23080
  } if (rf & 2) {
23147
23081
  const ctx_r1 = i0.ɵɵnextContext();
23148
23082
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
23149
23083
  i0.ɵɵadvance();
23150
- i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser() && !ctx_r1.isQueryClosed);
23084
+ i0.ɵɵproperty("ngIf", !ctx_r1.isInternalUser());
23151
23085
  } }
23152
23086
  class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23153
23087
  route;
23154
23088
  sessionStorageService;
23155
23089
  caseNotifier;
23156
- abstractConfig;
23157
23090
  caseQueriesCollections;
23158
23091
  query;
23159
23092
  showQueryList = true;
23160
23093
  caseId;
23161
- messageType;
23162
- followUpQuery = QueryCreateContext.FOLLOWUP;
23163
- respondToQuery = QueryCreateContext.RESPOND;
23164
- isQueryClosed = false;
23165
- value;
23166
- isMultipleFollowUpEnabled;
23167
- enableServiceSpecificMultiFollowups;
23168
- constructor(route, sessionStorageService, caseNotifier, abstractConfig) {
23094
+ constructor(route, sessionStorageService, caseNotifier) {
23169
23095
  super();
23170
23096
  this.route = route;
23171
23097
  this.sessionStorageService = sessionStorageService;
23172
23098
  this.caseNotifier = caseNotifier;
23173
- this.abstractConfig = abstractConfig;
23174
23099
  }
23175
23100
  ngOnInit() {
23176
- this.enableServiceSpecificMultiFollowups = this.abstractConfig.getEnableServiceSpecificMultiFollowups() || [];
23177
- this.isMultipleFollowUpEnabled = this.enableServiceSpecificMultiFollowups.some((jurisdiction) => jurisdiction === this.caseNotifier?.cachedCaseView?.case_type?.jurisdiction.id);
23178
23101
  this.caseId = this.route.snapshot.params.cid;
23179
23102
  if (this.context === PaletteContext.DEFAULT) {
23180
23103
  // EUI-8303 Using mock data until CCD is ready with the API and data contract
@@ -23204,8 +23127,6 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23204
23127
  setQuery(query) {
23205
23128
  this.showQueryList = false;
23206
23129
  this.query = query;
23207
- this.messageType = this.getMessageType(query);
23208
- this.isQueryClosed = this.query?.children?.some((queryItem) => queryItem?.isClosed === 'Yes');
23209
23130
  }
23210
23131
  backToQueryListPage() {
23211
23132
  this.showQueryList = true;
@@ -23214,24 +23135,19 @@ class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
23214
23135
  isInternalUser() {
23215
23136
  return isInternalUser(this.sessionStorageService);
23216
23137
  }
23217
- getMessageType(query) {
23218
- return query?.children?.length
23219
- ? query.children[query.children.length - 1]?.messageType
23220
- : undefined;
23221
- }
23222
- static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
23223
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["sequentialQuery", ""], ["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) {
23224
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 3)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23138
+ static ɵfac = function ReadQueryManagementFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier)); };
23139
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
23140
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
23225
23141
  } if (rf & 2) {
23226
- const singleQueryDetails_r7 = i0.ɵɵreference(2);
23227
- i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r7);
23142
+ const singleQueryDetails_r6 = i0.ɵɵreference(2);
23143
+ i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
23228
23144
  } }, encapsulation: 2 });
23229
23145
  }
23230
23146
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
23231
23147
  type: Component,
23232
- 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=\"(messageType && messageType === followUpQuery && isMultipleFollowUpEnabled) || (messageType && messageType === respondToQuery); else sequentialQuery\">\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 <ng-template #sequentialQuery>\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-template>\n \n </ng-container>\n</ng-template>\n" }]
23233
- }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
23234
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 17 }); })();
23148
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isInternalUser()\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
23149
+ }], () => [{ type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: CaseNotifier }], null); })();
23150
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
23235
23151
 
23236
23152
  class ReadTextAreaFieldComponent extends AbstractFieldReadComponent {
23237
23153
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadTextAreaFieldComponent_BaseFactory; return function ReadTextAreaFieldComponent_Factory(__ngFactoryType__) { return (ɵReadTextAreaFieldComponent_BaseFactory || (ɵReadTextAreaFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadTextAreaFieldComponent)))(__ngFactoryType__ || ReadTextAreaFieldComponent); }; })();