@hmcts/ccd-case-ui-toolkit 7.1.78 → 7.1.79-last-submission-date

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.
@@ -11,14 +11,18 @@ export class QueryListData {
11
11
  this.queries = parentMessages.map((message) => this.buildQueryListItem(message, caseQueriesCollection.caseMessages));
12
12
  }
13
13
  buildQueryListItem(message, allMessages) {
14
+ const childrenMessages = allMessages.filter((childMessage) => childMessage.value.parentId === message.value.id);
15
+ const children = childrenMessages.map((childMessage, index) => {
16
+ const childItem = this.buildQueryListItem(childMessage, allMessages);
17
+ childItem.messageIndexInParent = index; // Assign index for status logic
18
+ return childItem;
19
+ });
14
20
  const queryListItem = new QueryListItem();
15
21
  Object.assign(queryListItem, {
16
22
  ...message.value,
17
- children: allMessages
18
- .filter((childMessage) => childMessage.value.parentId === message.value.id)
19
- .map((childMessage) => this.buildQueryListItem(childMessage, allMessages))
23
+ children
20
24
  });
21
25
  return queryListItem;
22
26
  }
23
27
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWRhdGEvcXVlcnktbGlzdC1kYXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sYUFBYTtJQUNqQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBa0I7SUFFaEMsWUFBWSxxQkFBNEM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFDbkQsbUZBQW1GO1FBQ25GLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQixFQUFFLFdBQTJCO1FBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDM0IsR0FBRyxPQUFPLENBQUMsS0FBSztZQUNoQixRQUFRLEVBQUUsV0FBVztpQkFDbEIsTUFBTSxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7aUJBQ3hGLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDM0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeU1lc3NhZ2UgfSBmcm9tICcuLi8uLi9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vcXVlcnktbGlzdC1pdGVtL3F1ZXJ5LWxpc3QtaXRlbS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeUxpc3REYXRhIHtcbiAgcHVibGljIHBhcnR5TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcm9sZU9uQ2FzZTogc3RyaW5nO1xuICBwdWJsaWMgcXVlcmllczogUXVlcnlMaXN0SXRlbVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNhc2VRdWVyaWVzQ29sbGVjdGlvbjogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uKSB7XG4gICAgdGhpcy5wYXJ0eU5hbWUgPSBjYXNlUXVlcmllc0NvbGxlY3Rpb24ucGFydHlOYW1lO1xuICAgIHRoaXMucm9sZU9uQ2FzZSA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5yb2xlT25DYXNlO1xuICAgIC8vIGdldCB0aGUgcGFyZW50IG1lc3NhZ2VzIChtZXNzYWdlcyB3aXRob3V0IHBhcmVudElkKSBhbmQgYWRkIHRoZSBjaGlsZHJlbiB0byB0aGVtXG4gICAgY29uc3QgcGFyZW50TWVzc2FnZXMgPSBjYXNlUXVlcmllc0NvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzLmZpbHRlcigobWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiAhbWVzc2FnZS52YWx1ZS5wYXJlbnRJZCk7XG4gICAgdGhpcy5xdWVyaWVzID0gcGFyZW50TWVzc2FnZXMubWFwKChtZXNzYWdlOiBRdWVyeU1lc3NhZ2UpID0+IHRoaXMuYnVpbGRRdWVyeUxpc3RJdGVtKG1lc3NhZ2UsIGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRRdWVyeUxpc3RJdGVtKG1lc3NhZ2U6IFF1ZXJ5TWVzc2FnZSwgYWxsTWVzc2FnZXM6IFF1ZXJ5TWVzc2FnZVtdKTogUXVlcnlMaXN0SXRlbSB7XG4gICAgY29uc3QgcXVlcnlMaXN0SXRlbSA9IG5ldyBRdWVyeUxpc3RJdGVtKCk7XG4gICAgT2JqZWN0LmFzc2lnbihxdWVyeUxpc3RJdGVtLCB7XG4gICAgICAuLi5tZXNzYWdlLnZhbHVlLFxuICAgICAgY2hpbGRyZW46IGFsbE1lc3NhZ2VzXG4gICAgICAgIC5maWx0ZXIoKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiBjaGlsZE1lc3NhZ2UudmFsdWUucGFyZW50SWQgPT09IG1lc3NhZ2UudmFsdWUuaWQpXG4gICAgICAgIC5tYXAoKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiB0aGlzLmJ1aWxkUXVlcnlMaXN0SXRlbShjaGlsZE1lc3NhZ2UsIGFsbE1lc3NhZ2VzKSlcbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnlMaXN0SXRlbTtcbiAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWRhdGEvcXVlcnktbGlzdC1kYXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sYUFBYTtJQUNqQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBa0I7SUFFaEMsWUFBWSxxQkFBNEM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFDbkQsbUZBQW1GO1FBQ25GLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQixFQUFFLFdBQTJCO1FBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDakYsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFvQixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNyRSxTQUFTLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLENBQUMsZ0NBQWdDO1lBQ3hFLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMzQixHQUFHLE9BQU8sQ0FBQyxLQUFLO1lBQ2hCLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TWVzc2FnZSB9IGZyb20gJy4uLy4uL2Nhc2UtcXVlcmllcy1jb2xsZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFF1ZXJ5TGlzdERhdGEge1xuICBwdWJsaWMgcGFydHlOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByb2xlT25DYXNlOiBzdHJpbmc7XG4gIHB1YmxpYyBxdWVyaWVzOiBRdWVyeUxpc3RJdGVtW107XG5cbiAgY29uc3RydWN0b3IoY2FzZVF1ZXJpZXNDb2xsZWN0aW9uOiBDYXNlUXVlcmllc0NvbGxlY3Rpb24pIHtcbiAgICB0aGlzLnBhcnR5TmFtZSA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5wYXJ0eU5hbWU7XG4gICAgdGhpcy5yb2xlT25DYXNlID0gY2FzZVF1ZXJpZXNDb2xsZWN0aW9uLnJvbGVPbkNhc2U7XG4gICAgLy8gZ2V0IHRoZSBwYXJlbnQgbWVzc2FnZXMgKG1lc3NhZ2VzIHdpdGhvdXQgcGFyZW50SWQpIGFuZCBhZGQgdGhlIGNoaWxkcmVuIHRvIHRoZW1cbiAgICBjb25zdCBwYXJlbnRNZXNzYWdlcyA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlOiBRdWVyeU1lc3NhZ2UpID0+ICFtZXNzYWdlLnZhbHVlLnBhcmVudElkKTtcbiAgICB0aGlzLnF1ZXJpZXMgPSBwYXJlbnRNZXNzYWdlcy5tYXAoKG1lc3NhZ2U6IFF1ZXJ5TWVzc2FnZSkgPT4gdGhpcy5idWlsZFF1ZXJ5TGlzdEl0ZW0obWVzc2FnZSwgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uLmNhc2VNZXNzYWdlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFF1ZXJ5TGlzdEl0ZW0obWVzc2FnZTogUXVlcnlNZXNzYWdlLCBhbGxNZXNzYWdlczogUXVlcnlNZXNzYWdlW10pOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBjaGlsZHJlbk1lc3NhZ2VzID0gYWxsTWVzc2FnZXMuZmlsdGVyKFxuICAgICAgKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiBjaGlsZE1lc3NhZ2UudmFsdWUucGFyZW50SWQgPT09IG1lc3NhZ2UudmFsdWUuaWRcbiAgICApO1xuXG4gICAgY29uc3QgY2hpbGRyZW46IFF1ZXJ5TGlzdEl0ZW1bXSA9IGNoaWxkcmVuTWVzc2FnZXMubWFwKChjaGlsZE1lc3NhZ2UsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjaGlsZEl0ZW0gPSB0aGlzLmJ1aWxkUXVlcnlMaXN0SXRlbShjaGlsZE1lc3NhZ2UsIGFsbE1lc3NhZ2VzKTtcbiAgICAgIGNoaWxkSXRlbS5tZXNzYWdlSW5kZXhJblBhcmVudCA9IGluZGV4OyAvLyBBc3NpZ24gaW5kZXggZm9yIHN0YXR1cyBsb2dpY1xuICAgICAgcmV0dXJuIGNoaWxkSXRlbTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHF1ZXJ5TGlzdEl0ZW0gPSBuZXcgUXVlcnlMaXN0SXRlbSgpO1xuICAgIE9iamVjdC5hc3NpZ24ocXVlcnlMaXN0SXRlbSwge1xuICAgICAgLi4ubWVzc2FnZS52YWx1ZSxcbiAgICAgIGNoaWxkcmVuXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcXVlcnlMaXN0SXRlbTtcbiAgfVxufVxuIl19
@@ -11,6 +11,7 @@ export class QueryListItem {
11
11
  createdBy;
12
12
  parentId;
13
13
  children = [];
14
+ messageIndexInParent = null;
14
15
  get lastSubmittedMessage() {
15
16
  const getLastSubmittedMessage = (item) => {
16
17
  let lastSubmittedMessage = item;
@@ -30,21 +31,51 @@ export class QueryListItem {
30
31
  return this.lastSubmittedMessage.name;
31
32
  }
32
33
  get lastSubmittedDate() {
33
- return new Date(this.lastSubmittedMessage.createdOn);
34
+ const childrenCount = this.children.length;
35
+ if (childrenCount === 0) {
36
+ return new Date(this.lastSubmittedMessage.createdOn);
37
+ }
38
+ let index;
39
+ if (childrenCount === 1) {
40
+ index = 0;
41
+ }
42
+ else {
43
+ index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
44
+ }
45
+ return new Date(this.children[index].createdOn);
34
46
  }
35
47
  get lastResponseBy() {
36
48
  return this.children?.length > 0 ? this.lastSubmittedMessage.name : '';
37
49
  }
38
50
  get lastResponseDate() {
39
- return this.children?.length > 0 ? new Date(this.lastSubmittedMessage.createdOn) : null;
51
+ const childrenCount = this.children.length;
52
+ if (childrenCount === 0) {
53
+ return null;
54
+ }
55
+ let index;
56
+ if (childrenCount === 1) {
57
+ index = 0;
58
+ }
59
+ else {
60
+ index = childrenCount % 2 === 1 ? childrenCount - 1 : childrenCount - 2;
61
+ }
62
+ return new Date(this.children[index].createdOn);
40
63
  }
41
64
  get responseStatus() {
42
- if (this.children?.length > 0) {
65
+ // Child logic (position-based)
66
+ if (this.messageIndexInParent !== null) {
67
+ return this.messageIndexInParent % 2 === 0
68
+ ? QueryItemResponseStatus.RESPONDED
69
+ : QueryItemResponseStatus.AWAITING;
70
+ }
71
+ // Parent logic (children count)
72
+ if (this.children && this.children.length > 0) {
43
73
  return this.children.length % 2 === 1
44
74
  ? QueryItemResponseStatus.RESPONDED
45
75
  : QueryItemResponseStatus.AWAITING;
46
76
  }
77
+ // No children — still awaiting
47
78
  return QueryItemResponseStatus.AWAITING;
48
79
  }
49
80
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3pGLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUMxQyxnQkFBZ0IsQ0FBUztJQUN6QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFPO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQVU7SUFDbEIsUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFdEMsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQW1CLEVBQWlCLEVBQUU7WUFDckUsSUFBSSxvQkFBb0IsR0FBa0IsSUFBSSxDQUFDO1lBRS9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pFLElBQUkseUJBQXlCLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUN6RSxvQkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztvQkFDbkQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sb0JBQW9CLENBQUM7UUFDOUIsQ0FBQyxDQUFDO1FBRUYsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTO2dCQUNuQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3F1ZXJ5LWl0ZW0tcmVzcG9uc2Utc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2FzZU1lc3NhZ2UsIFF1ZXJ5TWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlMaXN0SXRlbSBpbXBsZW1lbnRzIENhc2VNZXNzYWdlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJqZWN0Pzogc3RyaW5nO1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYm9keTogc3RyaW5nO1xuICBwdWJsaWMgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdID0gW107XG4gIHB1YmxpYyBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFyaW5nRGF0ZT86IHN0cmluZztcbiAgcHVibGljIGNyZWF0ZWRPbjogRGF0ZTtcbiAgcHVibGljIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0SXRlbVtdID0gW107XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkTWVzc2FnZSgpOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IChpdGVtOiBRdWVyeUxpc3RJdGVtKTogUXVlcnlMaXN0SXRlbSA9PiB7XG4gICAgICBsZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2U6IFF1ZXJ5TGlzdEl0ZW0gPSBpdGVtO1xuXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IGdldExhc3RTdWJtaXR0ZWRNZXNzYWdlKGNoaWxkKTtcbiAgICAgICAgICBpZiAoY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24gPiBsYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24pIHtcbiAgICAgICAgICAgIGxhc3RTdWJtaXR0ZWRNZXNzYWdlID0gY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxhc3RTdWJtaXR0ZWRNZXNzYWdlO1xuICAgIH07XG5cbiAgICByZXR1cm4gZ2V0TGFzdFN1Ym1pdHRlZE1lc3NhZ2UodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RTdWJtaXR0ZWRCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RTdWJtaXR0ZWREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RSZXNwb25zZUJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDAgPyB0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLm5hbWUgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFJlc3BvbnNlRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDAgPyBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbikgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZVN0YXR1cygpOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB7XG4gICAgaWYgKHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aCAlIDIgPT09IDFcbiAgICAgICAgPyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5SRVNQT05ERURcbiAgICAgICAgOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgICB9XG4gICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICB9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3pGLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUMxQyxnQkFBZ0IsQ0FBUztJQUN6QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFPO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQVU7SUFDbEIsUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFL0Isb0JBQW9CLEdBQW1CLElBQUksQ0FBQztJQUVuRCxJQUFXLG9CQUFvQjtRQUM3QixNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBbUIsRUFBaUIsRUFBRTtZQUNyRSxJQUFJLG9CQUFvQixHQUFrQixJQUFJLENBQUM7WUFFL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakUsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUM7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cnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3F1ZXJ5LWl0ZW0tcmVzcG9uc2Utc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2FzZU1lc3NhZ2UsIFF1ZXJ5TWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlMaXN0SXRlbSBpbXBsZW1lbnRzIENhc2VNZXNzYWdlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJqZWN0Pzogc3RyaW5nO1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYm9keTogc3RyaW5nO1xuICBwdWJsaWMgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdID0gW107XG4gIHB1YmxpYyBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFyaW5nRGF0ZT86IHN0cmluZztcbiAgcHVibGljIGNyZWF0ZWRPbjogRGF0ZTtcbiAgcHVibGljIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0SXRlbVtdID0gW107XG5cbiAgcHVibGljIG1lc3NhZ2VJbmRleEluUGFyZW50PzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkTWVzc2FnZSgpOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IChpdGVtOiBRdWVyeUxpc3RJdGVtKTogUXVlcnlMaXN0SXRlbSA9PiB7XG4gICAgICBsZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2U6IFF1ZXJ5TGlzdEl0ZW0gPSBpdGVtO1xuXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IGdldExhc3RTdWJtaXR0ZWRNZXNzYWdlKGNoaWxkKTtcbiAgICAgICAgICBpZiAoY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24gPiBsYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24pIHtcbiAgICAgICAgICAgIGxhc3RTdWJtaXR0ZWRNZXNzYWdlID0gY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBsYXN0U3VibWl0dGVkTWVzc2FnZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGdldExhc3RTdWJtaXR0ZWRNZXNzYWdlKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkQnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sYXN0U3VibWl0dGVkTWVzc2FnZS5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkRGF0ZSgpOiBEYXRlIHtcbiAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gICAgaWYgKGNoaWxkcmVuQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4OiBudW1iZXI7XG5cbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMSkge1xuICAgICAgaW5kZXggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGNoaWxkcmVuQ291bnQgJSAyID09PSAwID8gY2hpbGRyZW5Db3VudCAtIDEgOiBjaGlsZHJlbkNvdW50IC0gMjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jaGlsZHJlbltpbmRleF0uY3JlYXRlZE9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFJlc3BvbnNlQnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jaGlsZHJlbj8ubGVuZ3RoID4gMCA/IHRoaXMubGFzdFN1Ym1pdHRlZE1lc3NhZ2UubmFtZSA6ICcnO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UmVzcG9uc2VEYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gICAgaWYgKGNoaWxkcmVuQ291bnQgPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBpbmRleDogbnVtYmVyO1xuXG4gICAgaWYgKGNoaWxkcmVuQ291bnQgPT09IDEpIHtcbiAgICAgIGluZGV4ID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5kZXggPSBjaGlsZHJlbkNvdW50ICUgMiA9PT0gMSA/IGNoaWxkcmVuQ291bnQgLSAxIDogY2hpbGRyZW5Db3VudCAtIDI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuY2hpbGRyZW5baW5kZXhdLmNyZWF0ZWRPbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3BvbnNlU3RhdHVzKCk6IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzIHtcbiAgICAvLyBDaGlsZCBsb2dpYyAocG9zaXRpb24tYmFzZWQpXG4gICAgaWYgKHRoaXMubWVzc2FnZUluZGV4SW5QYXJlbnQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VJbmRleEluUGFyZW50ICUgMiA9PT0gMFxuICAgICAgICA/IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLlJFU1BPTkRFRFxuICAgICAgICA6IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICAgIH1cblxuICAgIC8vIFBhcmVudCBsb2dpYyAoY2hpbGRyZW4gY291bnQpXG4gICAgaWYgKHRoaXMuY2hpbGRyZW4gJiYgdGhpcy5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGggJSAyID09PSAxXG4gICAgICAgID8gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuUkVTUE9OREVEXG4gICAgICAgIDogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gICAgfVxuXG4gICAgLy8gTm8gY2hpbGRyZW4g4oCUIHN0aWxsIGF3YWl0aW5nXG4gICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICB9XG59XG4iXX0=
@@ -20838,6 +20838,7 @@ class QueryListItem {
20838
20838
  createdBy;
20839
20839
  parentId;
20840
20840
  children = [];
20841
+ messageIndexInParent = null;
20841
20842
  get lastSubmittedMessage() {
20842
20843
  const getLastSubmittedMessage = (item) => {
20843
20844
  let lastSubmittedMessage = item;
@@ -20857,20 +20858,50 @@ class QueryListItem {
20857
20858
  return this.lastSubmittedMessage.name;
20858
20859
  }
20859
20860
  get lastSubmittedDate() {
20860
- return new Date(this.lastSubmittedMessage.createdOn);
20861
+ const childrenCount = this.children.length;
20862
+ if (childrenCount === 0) {
20863
+ return new Date(this.lastSubmittedMessage.createdOn);
20864
+ }
20865
+ let index;
20866
+ if (childrenCount === 1) {
20867
+ index = 0;
20868
+ }
20869
+ else {
20870
+ index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
20871
+ }
20872
+ return new Date(this.children[index].createdOn);
20861
20873
  }
20862
20874
  get lastResponseBy() {
20863
20875
  return this.children?.length > 0 ? this.lastSubmittedMessage.name : '';
20864
20876
  }
20865
20877
  get lastResponseDate() {
20866
- return this.children?.length > 0 ? new Date(this.lastSubmittedMessage.createdOn) : null;
20878
+ const childrenCount = this.children.length;
20879
+ if (childrenCount === 0) {
20880
+ return null;
20881
+ }
20882
+ let index;
20883
+ if (childrenCount === 1) {
20884
+ index = 0;
20885
+ }
20886
+ else {
20887
+ index = childrenCount % 2 === 1 ? childrenCount - 1 : childrenCount - 2;
20888
+ }
20889
+ return new Date(this.children[index].createdOn);
20867
20890
  }
20868
20891
  get responseStatus() {
20869
- if (this.children?.length > 0) {
20892
+ // Child logic (position-based)
20893
+ if (this.messageIndexInParent !== null) {
20894
+ return this.messageIndexInParent % 2 === 0
20895
+ ? QueryItemResponseStatus.RESPONDED
20896
+ : QueryItemResponseStatus.AWAITING;
20897
+ }
20898
+ // Parent logic (children count)
20899
+ if (this.children && this.children.length > 0) {
20870
20900
  return this.children.length % 2 === 1
20871
20901
  ? QueryItemResponseStatus.RESPONDED
20872
20902
  : QueryItemResponseStatus.AWAITING;
20873
20903
  }
20904
+ // No children — still awaiting
20874
20905
  return QueryItemResponseStatus.AWAITING;
20875
20906
  }
20876
20907
  }
@@ -20887,12 +20918,16 @@ class QueryListData {
20887
20918
  this.queries = parentMessages.map((message) => this.buildQueryListItem(message, caseQueriesCollection.caseMessages));
20888
20919
  }
20889
20920
  buildQueryListItem(message, allMessages) {
20921
+ const childrenMessages = allMessages.filter((childMessage) => childMessage.value.parentId === message.value.id);
20922
+ const children = childrenMessages.map((childMessage, index) => {
20923
+ const childItem = this.buildQueryListItem(childMessage, allMessages);
20924
+ childItem.messageIndexInParent = index; // Assign index for status logic
20925
+ return childItem;
20926
+ });
20890
20927
  const queryListItem = new QueryListItem();
20891
20928
  Object.assign(queryListItem, {
20892
20929
  ...message.value,
20893
- children: allMessages
20894
- .filter((childMessage) => childMessage.value.parentId === message.value.id)
20895
- .map((childMessage) => this.buildQueryListItem(childMessage, allMessages))
20930
+ children
20896
20931
  });
20897
20932
  return queryListItem;
20898
20933
  }