@acorex-platform/module-assessment-management-client 2.0.0-next.2 → 2.0.0-next.20

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 (86) hide show
  1. package/fesm2022/{acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-Dr56BtSo.mjs → acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-clUYFK16.mjs} +166 -82
  2. package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-clUYFK16.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-42ZcOY2C.mjs → acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-D5gUv0HJ.mjs} +4 -4
  4. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-D5gUv0HJ.mjs.map +1 -0
  5. package/fesm2022/{acorex-platform-module-assessment-management-client-assessment-voice.commands-Zv4Q1ASd.mjs → acorex-platform-module-assessment-management-client-assessment-voice.commands-oKEAM8zA.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-assessment-management-client-assessment-voice.commands-Zv4Q1ASd.mjs.map → acorex-platform-module-assessment-management-client-assessment-voice.commands-oKEAM8zA.mjs.map} +1 -1
  7. package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-assessment-session.mjs +1 -1
  8. package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-assessment-session.mjs.map +1 -1
  9. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-Buqp2FnP.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-CgUoWW8B.mjs} +6 -6
  10. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-Buqp2FnP.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-CgUoWW8B.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-IAO_eHLl.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-GDJX71dY.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-IAO_eHLl.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-GDJX71dY.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-BVVzsiLh.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-tP9SU7u8.mjs} +3 -3
  14. package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-tP9SU7u8.mjs.map +1 -0
  15. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-WON7pvW1.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-BSXs6_z8.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-WON7pvW1.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-BSXs6_z8.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-BZ5FdPuP.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-a63MvFoX.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-BZ5FdPuP.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-a63MvFoX.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-L_p7_kL1.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-DWRFJCah.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-L_p7_kL1.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-DWRFJCah.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog.mjs +1 -1
  22. package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs +205 -1
  23. package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs.map +1 -1
  24. package/fesm2022/{acorex-platform-module-assessment-management-client-fill-assessment-session.command-B88LFQGF.mjs → acorex-platform-module-assessment-management-client-fill-assessment-session.command-DRi6bK2i.mjs} +18 -7
  25. package/fesm2022/acorex-platform-module-assessment-management-client-fill-assessment-session.command-DRi6bK2i.mjs.map +1 -0
  26. package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-BnSOK29v.mjs → acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-ByHoX67r.mjs} +2 -2
  27. package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-BnSOK29v.mjs.map → acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-ByHoX67r.mjs.map} +1 -1
  28. package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer.service-FsoP5GoC.mjs → acorex-platform-module-assessment-management-client-form-template-viewer.service-BXa0_2G9.mjs} +3 -3
  29. package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer.service-FsoP5GoC.mjs.map → acorex-platform-module-assessment-management-client-form-template-viewer.service-BXa0_2G9.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-module-assessment-management-client-index-CY7Rj5LR.mjs → acorex-platform-module-assessment-management-client-index-BMB2Htf1.mjs} +2 -2
  31. package/fesm2022/{acorex-platform-module-assessment-management-client-index-CY7Rj5LR.mjs.map → acorex-platform-module-assessment-management-client-index-BMB2Htf1.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-module-assessment-management-client-open-form-template.command-A-TnX3P_.mjs → acorex-platform-module-assessment-management-client-open-form-template.command-Cd2K2-GM.mjs} +3 -3
  33. package/fesm2022/{acorex-platform-module-assessment-management-client-open-form-template.command-A-TnX3P_.mjs.map → acorex-platform-module-assessment-management-client-open-form-template.command-Cd2K2-GM.mjs.map} +1 -1
  34. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-form-template.command-C2oXajyi.mjs → acorex-platform-module-assessment-management-client-preview-form-template.command-BJk6_haJ.mjs} +2 -2
  35. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-form-template.command-C2oXajyi.mjs.map → acorex-platform-module-assessment-management-client-preview-form-template.command-BJk6_haJ.mjs.map} +1 -1
  36. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-question.command-CMInpf_N.mjs → acorex-platform-module-assessment-management-client-preview-question.command-DWH4Nvo-.mjs} +2 -2
  37. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-question.command-CMInpf_N.mjs.map → acorex-platform-module-assessment-management-client-preview-question.command-DWH4Nvo-.mjs.map} +1 -1
  38. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-questionnaire.command-BCl7mxLu.mjs → acorex-platform-module-assessment-management-client-preview-questionnaire.command-ZblqNQzw.mjs} +2 -2
  39. package/fesm2022/{acorex-platform-module-assessment-management-client-preview-questionnaire.command-BCl7mxLu.mjs.map → acorex-platform-module-assessment-management-client-preview-questionnaire.command-ZblqNQzw.mjs.map} +1 -1
  40. package/fesm2022/{acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-SUpzNllw.mjs → acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-3eHfj_1n.mjs} +2 -2
  41. package/fesm2022/{acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-SUpzNllw.mjs.map → acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-3eHfj_1n.mjs.map} +1 -1
  42. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-DNNHMsa1.mjs → acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-CctbSOfG.mjs} +2 -2
  43. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-DNNHMsa1.mjs.map → acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-CctbSOfG.mjs.map} +1 -1
  44. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CFsLdcCd.mjs → acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-DD431Nru.mjs} +2 -2
  45. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CFsLdcCd.mjs.map → acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-DD431Nru.mjs.map} +1 -1
  46. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-_VaiHN2w.mjs → acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-CjMCIExs.mjs} +2 -2
  47. package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-_VaiHN2w.mjs.map → acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-CjMCIExs.mjs.map} +1 -1
  48. package/fesm2022/{acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-tSXHNIPe.mjs → acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CebpEyUN.mjs} +2 -2
  49. package/fesm2022/{acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-tSXHNIPe.mjs.map → acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CebpEyUN.mjs.map} +1 -1
  50. package/fesm2022/{acorex-platform-module-assessment-management-client-review-assessment-session.command-ei5Yuxft.mjs → acorex-platform-module-assessment-management-client-review-assessment-session.command-CGaUOa7I.mjs} +5 -5
  51. package/fesm2022/acorex-platform-module-assessment-management-client-review-assessment-session.command-CGaUOa7I.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-CC_MiEhE.mjs → acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-B58iMbgj.mjs} +3 -3
  53. package/fesm2022/{acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-CC_MiEhE.mjs.map → acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-B58iMbgj.mjs.map} +1 -1
  54. package/fesm2022/{acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-6yO3hkNQ.mjs → acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-PG2CAV-I.mjs} +2 -2
  55. package/fesm2022/{acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-6yO3hkNQ.mjs.map → acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-PG2CAV-I.mjs.map} +1 -1
  56. package/fesm2022/{acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-BgiXwWzD.mjs → acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command--e1ACDbF.mjs} +2 -2
  57. package/fesm2022/{acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-BgiXwWzD.mjs.map → acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command--e1ACDbF.mjs.map} +1 -1
  58. package/fesm2022/{acorex-platform-module-assessment-management-client-template-widget-edit.component-Bw4pp8op.mjs → acorex-platform-module-assessment-management-client-template-widget-edit.component-D7zOnGwK.mjs} +2 -2
  59. package/fesm2022/{acorex-platform-module-assessment-management-client-template-widget-edit.component-Bw4pp8op.mjs.map → acorex-platform-module-assessment-management-client-template-widget-edit.component-D7zOnGwK.mjs.map} +1 -1
  60. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-DIug50SN.mjs → acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-CzT6Iw5l.mjs} +2 -2
  61. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-DIug50SN.mjs.map → acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-CzT6Iw5l.mjs.map} +1 -1
  62. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-grid.component-BgFhyqrK.mjs → acorex-platform-module-assessment-management-client-test-sheet-grid.component-BqKikmM8.mjs} +3 -3
  63. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-grid.component-BgFhyqrK.mjs.map → acorex-platform-module-assessment-management-client-test-sheet-grid.component-BqKikmM8.mjs.map} +1 -1
  64. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-D320BoBB.mjs → acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-10mrzzqk.mjs} +3 -3
  65. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-D320BoBB.mjs.map → acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-10mrzzqk.mjs.map} +1 -1
  66. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DCuQsJUO.mjs → acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component--4ywmLk9.mjs} +3 -3
  67. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DCuQsJUO.mjs.map → acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component--4ywmLk9.mjs.map} +1 -1
  68. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-DT0jt6Cd.mjs → acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-j-ClIxCR.mjs} +3 -3
  69. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-DT0jt6Cd.mjs.map → acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-j-ClIxCR.mjs.map} +1 -1
  70. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet.util-CxWsnTvd.mjs → acorex-platform-module-assessment-management-client-test-sheet.util-DuWQlwcz.mjs} +2 -2
  71. package/fesm2022/{acorex-platform-module-assessment-management-client-test-sheet.util-CxWsnTvd.mjs.map → acorex-platform-module-assessment-management-client-test-sheet.util-DuWQlwcz.mjs.map} +1 -1
  72. package/fesm2022/{acorex-platform-module-assessment-management-client-view-session-answers.command-rsDFSIgz.mjs → acorex-platform-module-assessment-management-client-view-session-answers.command-EAfaZgB8.mjs} +6 -6
  73. package/fesm2022/acorex-platform-module-assessment-management-client-view-session-answers.command-EAfaZgB8.mjs.map +1 -0
  74. package/fesm2022/acorex-platform-module-assessment-management-client.mjs +1 -1
  75. package/i18n/en-AU/assessment-management.json +4 -1
  76. package/i18n/en-US/assessment-management.json +4 -1
  77. package/i18n/fa-IR/assessment-management.json +4 -1
  78. package/package.json +4 -4
  79. package/types/acorex-platform-module-assessment-management-client-contracts.d.ts +36 -3
  80. package/types/acorex-platform-module-assessment-management-client.d.ts +4 -0
  81. package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-Dr56BtSo.mjs.map +0 -1
  82. package/fesm2022/acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-42ZcOY2C.mjs.map +0 -1
  83. package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-BVVzsiLh.mjs.map +0 -1
  84. package/fesm2022/acorex-platform-module-assessment-management-client-fill-assessment-session.command-B88LFQGF.mjs.map +0 -1
  85. package/fesm2022/acorex-platform-module-assessment-management-client-review-assessment-session.command-ei5Yuxft.mjs.map +0 -1
  86. package/fesm2022/acorex-platform-module-assessment-management-client-view-session-answers.command-rsDFSIgz.mjs.map +0 -1
@@ -2,10 +2,10 @@ import { AXTranslationService } from '@acorex/core/translation';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Injectable } from '@angular/core';
4
4
  import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
5
- import { isString, isEmpty, toString, get, defaultTo, first } from 'lodash';
6
- import { h as AXMQuestionnaireViewerService } from './acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-Dr56BtSo.mjs';
7
- import { RootConfig } from '@acorex-platform/module-assessment-management-client/contracts';
8
- import { o as openAssessmentSessionAnswersView } from './acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-42ZcOY2C.mjs';
5
+ import { isString, isEmpty, toString, get, first, defaultTo } from 'lodash';
6
+ import { h as AXMQuestionnaireViewerService } from './acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-clUYFK16.mjs';
7
+ import { toPersistedAnswers, RootConfig } from '@acorex-platform/module-assessment-management-client/contracts';
8
+ import { o as openAssessmentSessionAnswersView } from './acorex-platform-module-assessment-management-client-assessment-session-answers-view.util-D5gUv0HJ.mjs';
9
9
 
10
10
  //#endregion
11
11
  //#region ---- View Session Answers Command ----
@@ -103,7 +103,7 @@ class ViewSessionAnswersCommand {
103
103
  return {
104
104
  ...row,
105
105
  id: sessionId,
106
- answers: defaultTo(get(row, 'answers'), {}),
106
+ answers: toPersistedAnswers(get(row, 'answers')),
107
107
  };
108
108
  }
109
109
  const sessionAccessor = this.entityService
@@ -277,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
277
277
  }] });
278
278
 
279
279
  export { ViewSessionAnswersCommand };
280
- //# sourceMappingURL=acorex-platform-module-assessment-management-client-view-session-answers.command-rsDFSIgz.mjs.map
280
+ //# sourceMappingURL=acorex-platform-module-assessment-management-client-view-session-answers.command-EAfaZgB8.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-assessment-management-client-view-session-answers.command-EAfaZgB8.mjs","sources":["../../../../libs/modules/assessment-management/client/src/lib/features/questionnaire-viewer/commands/view-session-answers.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { defaultTo, first, get, isEmpty, isString, toString } from 'lodash';\nimport { AXMQuestionnaireViewerService } from '../questionnaire-viewer.service';\nimport type { AXMAssessmentManagementAssessmentCaseEntityModel } from '@acorex-platform/module-assessment-management-client/contracts';\nimport type { AXMAssessmentManagementAssessmentSessionEntityModel } from '@acorex-platform/module-assessment-management-client/contracts';\nimport { RootConfig, toPersistedAnswers } from '@acorex-platform/module-assessment-management-client/contracts';\nimport { openAssessmentSessionAnswersView, type OpenAssessmentSessionAnswersInitialStep } from '../utils/assessment-session-answers-view.util';\n\n//#endregion\n\n//#region ---- Command Input/Output Types ----\n\n/**\n * Input for ViewSessionAnswers command.\n */\nexport interface ViewSessionAnswersCommandInput {\n /**\n * Assessment Case ID. Required when `sessionId` is omitted; used to resolve the latest session.\n */\n caseId?: string;\n\n /**\n * Assessment Session ID to view answers for. When omitted, the latest session for `caseId` is used.\n */\n sessionId?: string;\n\n /**\n * When `results`, opens the readonly viewer on the outcome results step (requires stored session outcomes).\n */\n initialStep?: OpenAssessmentSessionAnswersInitialStep;\n}\n\n/** Entity list passes evaluated action options on `options` / row `data`. */\ntype ViewSessionAnswersCommandInvocation = ViewSessionAnswersCommandInput & {\n data?: Record<string, unknown>;\n options?: Partial<ViewSessionAnswersCommandInput>;\n};\n\n//#endregion\n\n//#region ---- View Session Answers Command ----\n\n/**\n * Command that opens a readonly view of assessment session answers in a dialog.\n */\n@Injectable()\nexport class ViewSessionAnswersCommand implements AXPCommand<ViewSessionAnswersCommandInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly questionnaireViewerService = inject(AXMQuestionnaireViewerService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n /**\n * Returns a non-empty string or undefined.\n */\n private asNonEmptyString(value: unknown): string | undefined {\n if (isString(value) && !isEmpty(value)) {\n return value;\n }\n if (value != null && !isString(value)) {\n const normalized = toString(value).trim();\n return isEmpty(normalized) ? undefined : normalized;\n }\n return undefined;\n }\n\n /**\n * Resolves session id from root input, action options, or related-list row data.\n */\n private resolveSessionId(input: ViewSessionAnswersCommandInvocation): string | null {\n const candidates = [\n get(input, 'sessionId'),\n get(input, 'options.sessionId'),\n get(input, 'options.sessionId'),\n ];\n\n for (const candidate of candidates) {\n const resolved = this.asNonEmptyString(candidate);\n if (resolved) {\n return resolved;\n }\n }\n\n const row = get(input, 'data') as Record<string, unknown> | undefined;\n if (row && this.asNonEmptyString(get(row, 'caseId'))) {\n return this.asNonEmptyString(get(row, 'id')) ?? null;\n }\n\n return null;\n }\n\n /**\n * Resolves case id from root input, action options, or list row data.\n */\n private resolveCaseId(input: ViewSessionAnswersCommandInvocation): string | null {\n const candidates = [\n get(input, 'caseId'),\n get(input, 'options.caseId'),\n get(input, 'options.caseId'),\n ];\n\n for (const candidate of candidates) {\n const resolved = this.asNonEmptyString(candidate);\n if (resolved) {\n return resolved;\n }\n }\n\n const row = get(input, 'data') as Record<string, unknown> | undefined;\n if (row && !this.asNonEmptyString(get(row, 'caseId'))) {\n return this.asNonEmptyString(get(row, 'id')) ?? null;\n }\n\n return null;\n }\n\n /**\n * Resolves initial viewer step from root input or action options.\n */\n private resolveInitialStep(input: ViewSessionAnswersCommandInvocation): OpenAssessmentSessionAnswersInitialStep {\n const candidates = [\n get(input, 'initialStep'),\n get(input, 'options.initialStep'),\n get(input, 'options.initialStep'),\n ];\n\n for (const candidate of candidates) {\n const normalized = this.asNonEmptyString(candidate);\n if (normalized === 'results') {\n return 'results';\n }\n }\n\n return 'answers';\n }\n\n /**\n * Loads session from related-list row data, list query, or byKey (in that order).\n */\n private async loadSession(\n sessionId: string,\n input: ViewSessionAnswersCommandInvocation,\n ): Promise<AXMAssessmentManagementAssessmentSessionEntityModel | null> {\n const row = get(input, 'data') as Record<string, unknown> | undefined;\n const rowCaseId = this.asNonEmptyString(get(row, 'caseId'));\n\n if (row && rowCaseId) {\n return {\n ...(row as unknown as AXMAssessmentManagementAssessmentSessionEntityModel),\n id: sessionId,\n answers: toPersistedAnswers(get(row, 'answers')),\n };\n }\n\n const sessionAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assessmentSession.name)\n .data<string, AXMAssessmentManagementAssessmentSessionEntityModel>();\n\n const listMatch = await sessionAccessor.query({\n skip: 0,\n take: 1,\n filter: {\n field: 'id',\n operator: { type: 'equal' },\n value: sessionId,\n },\n });\n\n const fromQuery = first(listMatch.items);\n if (fromQuery) {\n return fromQuery;\n }\n\n return defaultTo(await sessionAccessor.byKey(sessionId), null);\n }\n\n /**\n * Loads case by id using query first, then byKey.\n */\n private async loadCase(caseId: string): Promise<AXMAssessmentManagementAssessmentCaseEntityModel | null> {\n const caseAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assessmentCase.name)\n .data<string, AXMAssessmentManagementAssessmentCaseEntityModel>();\n\n const listMatch = await caseAccessor.query({\n skip: 0,\n take: 1,\n filter: {\n field: 'id',\n operator: { type: 'equal' },\n value: caseId,\n },\n });\n\n const fromQuery = first(listMatch.items);\n if (fromQuery) {\n return fromQuery;\n }\n\n return defaultTo(await caseAccessor.byKey(caseId), null);\n }\n\n /**\n * Finds the latest session record for a case (by lastSavedAt, then createdAt).\n */\n private async findLatestSession(\n caseId: string,\n ): Promise<AXMAssessmentManagementAssessmentSessionEntityModel | null> {\n const sessionAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assessmentSession.name)\n .data<string, AXMAssessmentManagementAssessmentSessionEntityModel>();\n\n const listMatch = await sessionAccessor.query({\n skip: 0,\n take: 1,\n sort: [\n { field: 'lastSavedAt', dir: 'desc' },\n { field: 'createdAt', dir: 'desc' },\n ],\n filter: {\n field: 'caseId',\n operator: { type: 'equal' },\n value: caseId,\n },\n });\n\n return first(listMatch.items) ?? null;\n }\n\n async execute(input: ViewSessionAnswersCommandInvocation): AXPCommandExecuteResultPromise<void> {\n try {\n const sessionId = this.resolveSessionId(input);\n const caseId = this.resolveCaseId(input);\n\n if (!sessionId && !caseId) {\n return {\n success: false,\n message: {\n text: 'Assessment case ID or session ID is required',\n },\n };\n }\n\n let session: AXMAssessmentManagementAssessmentSessionEntityModel | null = null;\n let assessmentCase: AXMAssessmentManagementAssessmentCaseEntityModel | null = null;\n\n if (sessionId) {\n session = await this.loadSession(sessionId, input);\n if (!session) {\n return {\n success: false,\n message: {\n text: `Assessment session with ID ${sessionId} not found`,\n },\n };\n }\n\n const resolvedCaseId = this.asNonEmptyString(get(session, 'caseId')) ?? caseId;\n if (!resolvedCaseId) {\n return {\n success: false,\n message: {\n text: 'Assessment session is missing caseId',\n },\n };\n }\n\n assessmentCase = await this.loadCase(resolvedCaseId);\n if (!assessmentCase) {\n return {\n success: false,\n message: {\n text: `Assessment case with ID ${resolvedCaseId} not found`,\n },\n };\n }\n } else if (caseId) {\n assessmentCase = await this.loadCase(caseId);\n if (!assessmentCase) {\n return {\n success: false,\n message: {\n text: `Assessment case with ID ${caseId} not found`,\n },\n };\n }\n\n session = await this.findLatestSession(caseId);\n if (!session) {\n const messageKey = '@assessment-management:cases.actions.view-last-session-answers.no-session';\n const messageText =\n (await this.translationService.translateAsync(messageKey)) ||\n 'No assessment session found for this case';\n return {\n success: false,\n message: {\n text: messageText,\n },\n };\n }\n }\n\n if (!session || !assessmentCase) {\n return {\n success: false,\n message: {\n text: 'Unable to resolve assessment session answers',\n },\n };\n }\n\n const initialStep = this.resolveInitialStep(input);\n if (initialStep === 'results' && isEmpty(get(session, 'outcomes'))) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@assessment-management:sessions.actions.view-outcomes.empty',\n ),\n },\n };\n }\n\n await openAssessmentSessionAnswersView(\n {\n entityService: this.entityService,\n questionnaireViewerService: this.questionnaireViewerService,\n translationService: this.translationService,\n },\n session,\n assessmentCase,\n { initialStep },\n );\n\n return { success: true, kind: 'object', data: undefined,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n return {\n success: false,\n message: {\n text: `Error viewing session answers: ${message}`,\n },\n };\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { C as AXMAssessmentManagementFeatureDefinitionProvider, D as AXMAssessmentManagementMenuProvider, E as AXMAssessmentManagementModule, G as AXMAssessmentManagementPermissionDefinitionProvider, H as AXMAssessmentManagementSearchCommandProvider, I as AXMQuestionnaireViewerPageComponent, h as AXMQuestionnaireViewerService, J as AXMQuestionnaireViewerStandalonePageComponent, w as resolveWidgetNodeFromMetaDataDefinitionInterface, v as stripQuestionBankInterfaceMetadata } from './acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-Dr56BtSo.mjs';
1
+ export { C as AXMAssessmentManagementFeatureDefinitionProvider, D as AXMAssessmentManagementMenuProvider, E as AXMAssessmentManagementModule, G as AXMAssessmentManagementPermissionDefinitionProvider, H as AXMAssessmentManagementSearchCommandProvider, I as AXMQuestionnaireViewerPageComponent, h as AXMQuestionnaireViewerService, J as AXMQuestionnaireViewerStandalonePageComponent, w as resolveWidgetNodeFromMetaDataDefinitionInterface, v as stripQuestionBankInterfaceMetadata } from './acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-clUYFK16.mjs';
2
2
  //# sourceMappingURL=acorex-platform-module-assessment-management-client.mjs.map
@@ -1033,7 +1033,9 @@
1033
1033
  "comment": { "title": "Comment" },
1034
1034
  "question-bank-item-id": { "title": "Question Bank Item Id" },
1035
1035
  "structure": { "title": "Structure" },
1036
- "dialog-title": { "title": "Dialog Title" }
1036
+ "dialog-title": { "title": "Dialog Title" },
1037
+ "allow-edit-submitted": { "title": "Allow Editing Submitted" },
1038
+ "readonly": { "title": "Read Only" }
1037
1039
  }
1038
1040
  },
1039
1041
  "view-session-answers": {
@@ -1052,6 +1054,7 @@
1052
1054
  "questionnaire-not-found": "Questionnaire with ID {{questionnaireId}} was not found.",
1053
1055
  "no-questions": "Questionnaire has no questions to display.",
1054
1056
  "no-responder": "No responder ID provided and no current user found.",
1057
+ "session-case-mismatch": "This assessment session does not belong to the selected case.",
1055
1058
  "failed": "Error filling assessment session: {{message}}"
1056
1059
  }
1057
1060
  },
@@ -1033,7 +1033,9 @@
1033
1033
  "comment": { "title": "Comment" },
1034
1034
  "question-bank-item-id": { "title": "Question Bank Item Id" },
1035
1035
  "structure": { "title": "Structure" },
1036
- "dialog-title": { "title": "Dialog Title" }
1036
+ "dialog-title": { "title": "Dialog Title" },
1037
+ "allow-edit-submitted": { "title": "Allow Editing Submitted" },
1038
+ "readonly": { "title": "Read Only" }
1037
1039
  }
1038
1040
  },
1039
1041
  "view-session-answers": {
@@ -1052,6 +1054,7 @@
1052
1054
  "questionnaire-not-found": "Questionnaire with ID {{questionnaireId}} was not found.",
1053
1055
  "no-questions": "Questionnaire has no questions to display.",
1054
1056
  "no-responder": "No responder ID provided and no current user found.",
1057
+ "session-case-mismatch": "This assessment session does not belong to the selected case.",
1055
1058
  "failed": "Error filling assessment session: {{message}}"
1056
1059
  }
1057
1060
  },
@@ -1068,7 +1068,9 @@
1068
1068
  "comment": { "title": "توضیح" },
1069
1069
  "question-bank-item-id": { "title": "شناسه آیتم بانک سؤال" },
1070
1070
  "structure": { "title": "ساختار" },
1071
- "dialog-title": { "title": "عنوان پنجره" }
1071
+ "dialog-title": { "title": "عنوان پنجره" },
1072
+ "allow-edit-submitted": { "title": "اجازه ویرایش ارسال‌شده" },
1073
+ "readonly": { "title": "فقط خواندنی" }
1072
1074
  }
1073
1075
  },
1074
1076
  "view-session-answers": {
@@ -1087,6 +1089,7 @@
1087
1089
  "questionnaire-not-found": "پرسشنامه با شناسه {{questionnaireId}} یافت نشد.",
1088
1090
  "no-questions": "پرسشنامه سؤالی برای نمایش ندارد.",
1089
1091
  "no-responder": "شناسه پاسخ‌دهنده مشخص نشده و کاربر جاری یافت نشد.",
1092
+ "session-case-mismatch": "این جلسه ارزیابی به پرونده انتخاب‌شده تعلق ندارد.",
1090
1093
  "failed": "خطا در پر کردن جلسه ارزیابی: {{message}}"
1091
1094
  }
1092
1095
  },
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-assessment-management-client",
3
- "version": "2.0.0-next.2",
3
+ "version": "2.0.0-next.20",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
+ "@acorex-platform/extension-ai-voice-shell-client": "2.0.0-next.20",
7
+ "@acorex-platform/module-content-management-client": "2.0.0-next.20",
6
8
  "@angular/common": "^21.0.0 || ^22.0.0",
7
- "@angular/core": "^21.0.0 || ^22.0.0",
8
- "@acorex-platform/extension-ai-voice-shell-client": "2.0.0-next.2",
9
- "@acorex-platform/module-content-management-client": "2.0.0-next.2"
9
+ "@angular/core": "^21.0.0 || ^22.0.0"
10
10
  },
11
11
  "dependencies": {
12
12
  "tslib": "^2.3.0"
@@ -497,6 +497,38 @@ interface AXMAssessmentManagementAssessmentCaseEntityModel extends AXPEntityMode
497
497
  statusId?: AXMAssessmentCaseStatus;
498
498
  }
499
499
 
500
+ /**
501
+ * One saved questionnaire answer on an assessment session.
502
+ * `key` is the question item name. `order` is that item's `order`.
503
+ */
504
+ interface AXMAssessmentSessionAnswer {
505
+ key: string;
506
+ order: number;
507
+ value: unknown;
508
+ comment?: string;
509
+ }
510
+ /**
511
+ * Viewer context map (`answers.<key>`, plus `answers.comments.<key>`).
512
+ * Accepts the persisted array and the older object document.
513
+ */
514
+ declare function toViewerAnswers(stored: unknown): Record<string, unknown>;
515
+ /**
516
+ * Persists the viewer map as an ordered answer array.
517
+ * Question `order` comes from `structure`. Keys already stored keep their order when the structure has no match.
518
+ * Empty answers are omitted. A comment without a value is kept.
519
+ */
520
+ declare function toPersistedAnswers(viewerOrStored: unknown, structure?: QuestionnaireBuilderValue | null, previousStored?: unknown): AXMAssessmentSessionAnswer[];
521
+ /** True when the stored document has at least one answer or comment. */
522
+ declare function storedAnswersHaveContent(stored: unknown): boolean;
523
+ /**
524
+ * Fills missing answer keys and always returns the persisted array.
525
+ * Existing values, including `false` and `0`, are left in place.
526
+ */
527
+ declare function mergeMissingPersistedAnswers(stored: unknown, prefill: Record<string, unknown>, structure?: QuestionnaireBuilderValue | null): {
528
+ answers: AXMAssessmentSessionAnswer[];
529
+ changed: boolean;
530
+ };
531
+
500
532
  type AXMAssessmentSessionRole = 'responder' | 'supervisor' | 'reviewer';
501
533
  type AXMAssessmentSessionStatus = 'not-started' | 'in-progress' | 'submitted' | 'under-review' | 'approved' | 'rejected' | 'completed';
502
534
  interface AXMAssessmentManagementAssessmentSessionEntityModel extends AXPEntityModel<string> {
@@ -510,7 +542,8 @@ interface AXMAssessmentManagementAssessmentSessionEntityModel extends AXPEntityM
510
542
  timeSpent?: number;
511
543
  progressPercentage: number;
512
544
  answeredQuestionsCount: number;
513
- answers: Record<string, unknown>;
545
+ /** Saved answers, ordered like the questionnaire items (`key` + `order` + `value`). */
546
+ answers: AXMAssessmentSessionAnswer[];
514
547
  /**
515
548
  * Evaluated questionnaire outcome values (rule `name` → value), snapshot at submit.
516
549
  */
@@ -896,5 +929,5 @@ interface AXMFormTemplateListItemDto extends AXPEntityListItemDto<string> {
896
929
  }[];
897
930
  }
898
931
 
899
- export { ASSESSMENT_PRINT_CONTENT_WIDTH_MM, ASSESSMENT_PRINT_HTML_GZIP_ENCODING, ASSESSMENT_PRINT_PAGE_FORMAT, AXMAssessmentManagementFeatureKeys, AXMAssessmentManagementPermissionKeys, AXMFormTemplateTypes, AXM_ASSESSMENT_PRINT_MERGE_KEYS, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_CLIENT_COMMAND_KEY, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_COMMAND_KEY, AXPAssessmentManagementMenuKeys, AXPContentDocumentsPermissionKeys, AXPFormTemplateManagementMenuKeys, AXPFormTemplateManagementPermissionKeys, AXPFormTemplateSettings, AXPSafetyRiskPermissionKeys, AssessmentManagementManifest, DEFAULT_POST_QUESTIONNAIRE_CONFIG, DEFAULT_PRE_QUESTIONNAIRE_CONFIG, DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY, DEFAULT_QUESTIONNAIRE_ENTITY_PRINT, DEFAULT_QUESTIONNAIRE_OUTCOMES, DEFAULT_QUESTIONNAIRE_PRINT_SETTINGS, DEFAULT_QUESTION_COMMENT_CONFIG, DEFAULT_QUESTION_HINT_CONFIG, PRINT_PAGE_LETTERHEAD_BOTTOM_MARGIN_MM, PRINT_PAGE_LETTERHEAD_TOP_MARGIN_MM, PRINT_PAGE_SIDE_MARGIN_MM, QUESTIONNAIRE_ITEM_COL_SPANS, QUESTIONNAIRE_OUTCOMES_PAGE_COMPONENT_KEY, QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY, RootConfig, applyQuestionnairePrintHeader, buildQuestionnairePrintBodyHtml, buildQuestionnairePrintHeaderRegion, buildQuestionnaireQuestionCardHtml, buildQuestionnaireSessionBodyHtml, coerceQuestionnaireItemColSpan, commentConfigForEditForm, diffQuestionCommentOverride, diffQuestionHintOverride, escapePrintDocumentText, extractPrintDocumentBodyHtml, findDuplicateOutcomeNames, flattenQuestionnaireOutcomeItems, formatPrintAnswerText, getQuestionAnswerCommentStoragePath, getQuestionCommentVisibilityFlag, isQuestionnaireOutcomeDisplayColorHex, matchesQuestionnaireOutcomeDisplayRule, mergeQuestionCommentConfig, mergeQuestionHintForViewer, minifyPrintHtml, normalizeCompletionMode, normalizePrintOrientation, normalizePrintPaperSize, normalizePrintWatermark, normalizeQuestionCommentConfig, normalizeQuestionHintConfig, normalizeQuestionHintFromEntityRow, normalizeQuestionHintMode, normalizeQuestionnaireOutcomeDisplayRules, normalizeQuestionnaireOutcomesValue, normalizeValidationStrategy, normalizeViewMode, parseQuestionHintPartialFromRecord, parseQuestionnaireOutcomeDisplayColor, questionnaireItemLayoutOverride, readHintFieldsFromRecord, readQuestionnaireItemColSpan, resolvePrintContentWidthMm, resolvePrintLetterheadPdfMargin, resolvePrintPaging, resolvePrintPdfPageOptions, resolvePrintPlainText, resolvePrintSettings, toDisplaySettings, toPrePostConfig, toPrintSettings, wrapPrintDocument };
900
- export type { AXMAssessmentCaseStatus, AXMAssessmentManagementAssessmentCaseEntityModel, AXMAssessmentManagementAssessmentSessionEntityModel, AXMAssessmentManagementQuestionBankItemEntityModel, AXMAssessmentManagementQuestionnaireEntityModel, AXMAssessmentPrintMergeKey, AXMAssessmentQuestionCommentConfig, AXMAssessmentQuestionHintConfig, AXMAssessmentQuestionHintConfigOff, AXMAssessmentQuestionHintConfigShown, AXMAssessmentQuestionHintMode, AXMAssessmentQuestionHintPartial, AXMAssessmentQuestionHintVisualMode, AXMAssessmentSessionPreviewPdfRequest, AXMAssessmentSessionPreviewPdfResult, AXMAssessmentSessionRole, AXMAssessmentSessionStatus, AXMCreateFormTemplateDto, AXMFormTemplateDetailDto, AXMFormTemplateListItemDto, AXMFormTemplateType, AXMFormTemplateTypeOption, AXMQuestionBankItemInterfaceMetadata, AXMQuestionBankItemInterfaceValue, AXMUpdateFormTemplateDto, AssessmentOutcomeItem, AssessmentOutcomesValue, AssessmentPostContent, AssessmentPreContent, PostQuestionnaireConfig, PrePostConfig, PrePostContentValue, PreQuestionnaireConfig, QuestionnaireBuilderValue, QuestionnaireCompletionMode, QuestionnaireDisplaySettings, QuestionnaireEntityDisplaySettings, QuestionnaireEntityPrintSettings, QuestionnaireItemColSpan, QuestionnaireOutcomeDisplayColor, QuestionnaireOutcomeDisplayEmphasis, QuestionnaireOutcomeDisplayIcon, QuestionnaireOutcomeDisplayOperator, QuestionnaireOutcomeDisplayRule, QuestionnaireOutcomeItem, QuestionnaireOutcomeResultKind, QuestionnaireOutcomeSection, QuestionnaireOutcomesValue, QuestionnairePrintBodySection, QuestionnairePrintHeaderInput, QuestionnairePrintOrientation, QuestionnairePrintPaging, QuestionnairePrintPaperSize, QuestionnairePrintQuestionHtml, QuestionnairePrintSettings };
932
+ export { ASSESSMENT_PRINT_CONTENT_WIDTH_MM, ASSESSMENT_PRINT_HTML_GZIP_ENCODING, ASSESSMENT_PRINT_PAGE_FORMAT, AXMAssessmentManagementFeatureKeys, AXMAssessmentManagementPermissionKeys, AXMFormTemplateTypes, AXM_ASSESSMENT_PRINT_MERGE_KEYS, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_CLIENT_COMMAND_KEY, AXM_ASSESSMENT_SESSION_PREVIEW_PDF_COMMAND_KEY, AXPAssessmentManagementMenuKeys, AXPContentDocumentsPermissionKeys, AXPFormTemplateManagementMenuKeys, AXPFormTemplateManagementPermissionKeys, AXPFormTemplateSettings, AXPSafetyRiskPermissionKeys, AssessmentManagementManifest, DEFAULT_POST_QUESTIONNAIRE_CONFIG, DEFAULT_PRE_QUESTIONNAIRE_CONFIG, DEFAULT_QUESTIONNAIRE_ENTITY_DISPLAY, DEFAULT_QUESTIONNAIRE_ENTITY_PRINT, DEFAULT_QUESTIONNAIRE_OUTCOMES, DEFAULT_QUESTIONNAIRE_PRINT_SETTINGS, DEFAULT_QUESTION_COMMENT_CONFIG, DEFAULT_QUESTION_HINT_CONFIG, PRINT_PAGE_LETTERHEAD_BOTTOM_MARGIN_MM, PRINT_PAGE_LETTERHEAD_TOP_MARGIN_MM, PRINT_PAGE_SIDE_MARGIN_MM, QUESTIONNAIRE_ITEM_COL_SPANS, QUESTIONNAIRE_OUTCOMES_PAGE_COMPONENT_KEY, QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY, RootConfig, applyQuestionnairePrintHeader, buildQuestionnairePrintBodyHtml, buildQuestionnairePrintHeaderRegion, buildQuestionnaireQuestionCardHtml, buildQuestionnaireSessionBodyHtml, coerceQuestionnaireItemColSpan, commentConfigForEditForm, diffQuestionCommentOverride, diffQuestionHintOverride, escapePrintDocumentText, extractPrintDocumentBodyHtml, findDuplicateOutcomeNames, flattenQuestionnaireOutcomeItems, formatPrintAnswerText, getQuestionAnswerCommentStoragePath, getQuestionCommentVisibilityFlag, isQuestionnaireOutcomeDisplayColorHex, matchesQuestionnaireOutcomeDisplayRule, mergeMissingPersistedAnswers, mergeQuestionCommentConfig, mergeQuestionHintForViewer, minifyPrintHtml, normalizeCompletionMode, normalizePrintOrientation, normalizePrintPaperSize, normalizePrintWatermark, normalizeQuestionCommentConfig, normalizeQuestionHintConfig, normalizeQuestionHintFromEntityRow, normalizeQuestionHintMode, normalizeQuestionnaireOutcomeDisplayRules, normalizeQuestionnaireOutcomesValue, normalizeValidationStrategy, normalizeViewMode, parseQuestionHintPartialFromRecord, parseQuestionnaireOutcomeDisplayColor, questionnaireItemLayoutOverride, readHintFieldsFromRecord, readQuestionnaireItemColSpan, resolvePrintContentWidthMm, resolvePrintLetterheadPdfMargin, resolvePrintPaging, resolvePrintPdfPageOptions, resolvePrintPlainText, resolvePrintSettings, storedAnswersHaveContent, toDisplaySettings, toPersistedAnswers, toPrePostConfig, toPrintSettings, toViewerAnswers, wrapPrintDocument };
933
+ export type { AXMAssessmentCaseStatus, AXMAssessmentManagementAssessmentCaseEntityModel, AXMAssessmentManagementAssessmentSessionEntityModel, AXMAssessmentManagementQuestionBankItemEntityModel, AXMAssessmentManagementQuestionnaireEntityModel, AXMAssessmentPrintMergeKey, AXMAssessmentQuestionCommentConfig, AXMAssessmentQuestionHintConfig, AXMAssessmentQuestionHintConfigOff, AXMAssessmentQuestionHintConfigShown, AXMAssessmentQuestionHintMode, AXMAssessmentQuestionHintPartial, AXMAssessmentQuestionHintVisualMode, AXMAssessmentSessionAnswer, AXMAssessmentSessionPreviewPdfRequest, AXMAssessmentSessionPreviewPdfResult, AXMAssessmentSessionRole, AXMAssessmentSessionStatus, AXMCreateFormTemplateDto, AXMFormTemplateDetailDto, AXMFormTemplateListItemDto, AXMFormTemplateType, AXMFormTemplateTypeOption, AXMQuestionBankItemInterfaceMetadata, AXMQuestionBankItemInterfaceValue, AXMUpdateFormTemplateDto, AssessmentOutcomeItem, AssessmentOutcomesValue, AssessmentPostContent, AssessmentPreContent, PostQuestionnaireConfig, PrePostConfig, PrePostContentValue, PreQuestionnaireConfig, QuestionnaireBuilderValue, QuestionnaireCompletionMode, QuestionnaireDisplaySettings, QuestionnaireEntityDisplaySettings, QuestionnaireEntityPrintSettings, QuestionnaireItemColSpan, QuestionnaireOutcomeDisplayColor, QuestionnaireOutcomeDisplayEmphasis, QuestionnaireOutcomeDisplayIcon, QuestionnaireOutcomeDisplayOperator, QuestionnaireOutcomeDisplayRule, QuestionnaireOutcomeItem, QuestionnaireOutcomeResultKind, QuestionnaireOutcomeSection, QuestionnaireOutcomesValue, QuestionnairePrintBodySection, QuestionnairePrintHeaderInput, QuestionnairePrintOrientation, QuestionnairePrintPaging, QuestionnairePrintPaperSize, QuestionnairePrintQuestionHtml, QuestionnairePrintSettings };
@@ -189,10 +189,14 @@ interface QuestionnaireViewerConfig {
189
189
  }
190
190
  /**
191
191
  * Attachment item for display (question bank or questionnaire entity attachments).
192
+ * `id` is the storage file id. `documentId` is a drive document link and must not be
193
+ * downloaded as a storage file id.
192
194
  */
193
195
  interface QuestionnaireViewerAttachment {
194
196
  id: string;
195
197
  name?: string;
198
+ /** Drive document id when the file is attached by reference (`document:{id}`). */
199
+ documentId?: string;
196
200
  }
197
201
  /**
198
202
  * Question data with full details