@acorex/modules 20.7.16 → 20.7.19

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 (163) hide show
  1. package/assessment-management/index.d.ts +0 -1
  2. package/business-core/index.d.ts +69 -2
  3. package/common/index.d.ts +21 -0
  4. package/contact-core/index.d.ts +1 -7
  5. package/customer-management/index.d.ts +1 -53
  6. package/data-management/index.d.ts +17 -4
  7. package/document-management/index.d.ts +0 -1
  8. package/fesm2022/acorex-modules-application-management.mjs +19 -27
  9. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  10. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-CULLP39a.mjs} +65 -67
  11. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-CULLP39a.mjs.map +1 -0
  12. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs → acorex-modules-assessment-management-answers-viewer-widget-column.component-BLjzQMgD.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-column.component-BLjzQMgD.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs → acorex-modules-assessment-management-answers-viewer-widget-edit.component-Dy1fV5UY.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-edit.component-Dy1fV5UY.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs → acorex-modules-assessment-management-answers-viewer-widget-view.component-UWn57QXA.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-view.component-UWn57QXA.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs → acorex-modules-assessment-management-assessment-case.entity-DMSrj4-x.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs.map → acorex-modules-assessment-management-assessment-case.entity-DMSrj4-x.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs → acorex-modules-assessment-management-assessment-session.entity-Amq-d0wb.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs.map → acorex-modules-assessment-management-assessment-session.entity-Amq-d0wb.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CdxcGakt.mjs} +3 -3
  23. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-CdxcGakt.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs → acorex-modules-assessment-management-preview-questionnaire.command-C5zwNwJi.mjs} +4 -4
  25. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-C5zwNwJi.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs → acorex-modules-assessment-management-question-bank-item.entity-MlspdBfD.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-MlspdBfD.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs → acorex-modules-assessment-management-questionnaire-builder-edit.component-DswgENO1.mjs} +3 -3
  29. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs.map → acorex-modules-assessment-management-questionnaire-builder-edit.component-DswgENO1.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs → acorex-modules-assessment-management-questionnaire-builder-view.component-C3BXFr5P.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs.map → acorex-modules-assessment-management-questionnaire-builder-view.component-C3BXFr5P.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs → acorex-modules-assessment-management-questionnaire-builder.component-BMR71H5h.mjs} +3 -3
  33. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs.map → acorex-modules-assessment-management-questionnaire-builder.component-BMR71H5h.mjs.map} +1 -1
  34. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Bj-JfJqq.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Bj-JfJqq.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs → acorex-modules-assessment-management-questionnaire-viewer.service-CVF6-BFW.mjs} +2 -2
  37. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs.map → acorex-modules-assessment-management-questionnaire-viewer.service-CVF6-BFW.mjs.map} +1 -1
  38. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs → acorex-modules-assessment-management-questionnaire.entity-BZj3A4yO.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BZj3A4yO.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs → acorex-modules-assessment-management-view-session-answers.command-BVwF-Qvd.mjs} +3 -3
  41. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs.map → acorex-modules-assessment-management-view-session-answers.command-BVwF-Qvd.mjs.map} +1 -1
  42. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  43. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CZuDhBx5.mjs → acorex-modules-auth-acorex-modules-auth-CCFM_tlK.mjs} +13 -13
  44. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CZuDhBx5.mjs.map → acorex-modules-auth-acorex-modules-auth-CCFM_tlK.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-auth-app-chooser.component-DJE47I8p.mjs → acorex-modules-auth-app-chooser.component-CK5MfqD3.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-auth-app-chooser.component-DJE47I8p.mjs.map → acorex-modules-auth-app-chooser.component-CK5MfqD3.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-auth-login.module-CI_lkyb7.mjs → acorex-modules-auth-login.module-CoRuFgHW.mjs} +4 -4
  48. package/fesm2022/{acorex-modules-auth-login.module-CI_lkyb7.mjs.map → acorex-modules-auth-login.module-CoRuFgHW.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-auth-master.layout-CdY380qS.mjs → acorex-modules-auth-master.layout-DtQSZBEK.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-auth-master.layout-CdY380qS.mjs.map → acorex-modules-auth-master.layout-DtQSZBEK.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-auth-menu.provider-Bk9KXBU3.mjs → acorex-modules-auth-menu.provider-CBNyM4Ax.mjs} +2 -14
  52. package/fesm2022/acorex-modules-auth-menu.provider-CBNyM4Ax.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-auth-oauth-callback.component-BvPk9b3e.mjs → acorex-modules-auth-oauth-callback.component-CLdkbMqN.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-auth-oauth-callback.component-BvPk9b3e.mjs.map → acorex-modules-auth-oauth-callback.component-CLdkbMqN.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-auth-password.component-Dw_v_EFQ.mjs → acorex-modules-auth-password.component-DFh6ylyI.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-auth-password.component-Dw_v_EFQ.mjs.map → acorex-modules-auth-password.component-DFh6ylyI.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-auth-password.component-CefISnvd.mjs → acorex-modules-auth-password.component-zygAB4zy.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-auth-password.component-CefISnvd.mjs.map → acorex-modules-auth-password.component-zygAB4zy.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-auth-routes-CwcJHbAi.mjs → acorex-modules-auth-routes-44-jn5HH.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-auth-routes-CwcJHbAi.mjs.map → acorex-modules-auth-routes-44-jn5HH.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DFhTYEDt.mjs → acorex-modules-auth-tenant-chooser.component-B7og_Ed1.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DFhTYEDt.mjs.map → acorex-modules-auth-tenant-chooser.component-B7og_Ed1.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-auth-two-factor.module-BOZB6sLo.mjs → acorex-modules-auth-two-factor.module--ToitCHE.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-auth-two-factor.module-BOZB6sLo.mjs.map → acorex-modules-auth-two-factor.module--ToitCHE.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-auth-user-sessions.component-BnrnXg4G.mjs → acorex-modules-auth-user-sessions.component-B49q0G5k.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-auth-user-sessions.component-BnrnXg4G.mjs.map → acorex-modules-auth-user-sessions.component-B49q0G5k.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-auth.mjs +1 -1
  68. package/fesm2022/acorex-modules-business-core.mjs +439 -4
  69. package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
  70. package/fesm2022/acorex-modules-common.mjs +49 -0
  71. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  72. package/fesm2022/{acorex-modules-contact-core-emergency-service.entity-Cro3bM4G.mjs → acorex-modules-contact-core-emergency-service.entity-l8rYNqP1.mjs} +2 -1
  73. package/fesm2022/acorex-modules-contact-core-emergency-service.entity-l8rYNqP1.mjs.map +1 -0
  74. package/fesm2022/acorex-modules-contact-core.mjs +6 -47
  75. package/fesm2022/acorex-modules-contact-core.mjs.map +1 -1
  76. package/fesm2022/acorex-modules-content-management.mjs +21 -22
  77. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  78. package/fesm2022/{acorex-modules-customer-management-customer.entity-CRp5g0OZ.mjs → acorex-modules-customer-management-customer.entity-BOUGKl2b.mjs} +61 -9
  79. package/fesm2022/acorex-modules-customer-management-customer.entity-BOUGKl2b.mjs.map +1 -0
  80. package/fesm2022/{acorex-modules-customer-management-lead.entity-Da9JTLOl.mjs → acorex-modules-customer-management-lead.entity-C-juNxOd.mjs} +19 -14
  81. package/fesm2022/acorex-modules-customer-management-lead.entity-C-juNxOd.mjs.map +1 -0
  82. package/fesm2022/acorex-modules-customer-management.mjs +34 -262
  83. package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
  84. package/fesm2022/acorex-modules-dashboard-management.mjs +28 -39
  85. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  86. package/fesm2022/acorex-modules-data-management.mjs +56 -45
  87. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  88. package/fesm2022/acorex-modules-document-management.mjs +51 -42
  89. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  90. package/fesm2022/acorex-modules-form-template-management.mjs +21 -17
  91. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  92. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-MfqQx2iN.mjs → acorex-modules-help-desk-acorex-modules-help-desk-6uU5upBy.mjs} +65 -70
  93. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-6uU5upBy.mjs.map +1 -0
  94. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CATwc3fe.mjs → acorex-modules-help-desk-capture-screen.component-CqtTzbgS.mjs} +2 -2
  95. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-CATwc3fe.mjs.map → acorex-modules-help-desk-capture-screen.component-CqtTzbgS.mjs.map} +1 -1
  96. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  97. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs → acorex-modules-human-capital-management-leave-request.entity-CS3Fr_k2.mjs} +2 -1
  98. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-CS3Fr_k2.mjs.map +1 -0
  99. package/fesm2022/acorex-modules-human-capital-management.mjs +86 -77
  100. package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
  101. package/fesm2022/acorex-modules-learning-management.mjs +105 -137
  102. package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
  103. package/fesm2022/acorex-modules-location-management.mjs +64 -198
  104. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  105. package/fesm2022/acorex-modules-meeting-management.mjs +45 -39
  106. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  107. package/fesm2022/acorex-modules-order-management-menu.provider-DeMKkRZa.mjs +61 -0
  108. package/fesm2022/acorex-modules-order-management-menu.provider-DeMKkRZa.mjs.map +1 -0
  109. package/fesm2022/acorex-modules-order-management.mjs +2 -2
  110. package/fesm2022/acorex-modules-organization-management.mjs +140 -90
  111. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  112. package/fesm2022/acorex-modules-person-management.mjs +9 -19
  113. package/fesm2022/acorex-modules-person-management.mjs.map +1 -1
  114. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-ndbiBVUt.mjs → acorex-modules-platform-management-acorex-modules-platform-management-fAjKD6Y5.mjs} +20 -17
  115. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-ndbiBVUt.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-fAjKD6Y5.mjs.map} +1 -1
  116. package/fesm2022/{acorex-modules-platform-management-menu-list.component-w-Ix2VZA.mjs → acorex-modules-platform-management-menu-list.component-BJsd86Vf.mjs} +2 -2
  117. package/fesm2022/{acorex-modules-platform-management-menu-list.component-w-Ix2VZA.mjs.map → acorex-modules-platform-management-menu-list.component-BJsd86Vf.mjs.map} +1 -1
  118. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  119. package/fesm2022/acorex-modules-procurement-management.mjs +13 -18
  120. package/fesm2022/acorex-modules-procurement-management.mjs.map +1 -1
  121. package/fesm2022/acorex-modules-product-catalog.mjs +24 -27
  122. package/fesm2022/acorex-modules-product-catalog.mjs.map +1 -1
  123. package/fesm2022/acorex-modules-reservation-management.mjs +91 -54
  124. package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
  125. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs → acorex-modules-settings-management-acorex-modules-settings-management-fj933lbu.mjs} +6 -6
  126. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-fj933lbu.mjs.map} +1 -1
  127. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs → acorex-modules-settings-management-permission-definition.provider-CW3wSb7v.mjs} +2 -2
  128. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs.map → acorex-modules-settings-management-permission-definition.provider-CW3wSb7v.mjs.map} +1 -1
  129. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs → acorex-modules-settings-management-setting-page.component-BqJ31scm.mjs} +2 -2
  130. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs.map → acorex-modules-settings-management-setting-page.component-BqJ31scm.mjs.map} +1 -1
  131. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs → acorex-modules-settings-management-setting-view.component-D7QpT246.mjs} +2 -2
  132. package/fesm2022/{acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs.map → acorex-modules-settings-management-setting-view.component-D7QpT246.mjs.map} +1 -1
  133. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  134. package/fesm2022/acorex-modules-subscription-management.mjs +19 -28
  135. package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
  136. package/fesm2022/acorex-modules-supplier-management.mjs +19 -229
  137. package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
  138. package/fesm2022/acorex-modules-tenant-management.mjs +9 -16
  139. package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
  140. package/fesm2022/acorex-modules-workflow-management.mjs +51 -36
  141. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  142. package/learning-management/index.d.ts +6 -0
  143. package/meeting-management/index.d.ts +0 -1
  144. package/package.json +14 -14
  145. package/reservation-management/index.d.ts +13 -12
  146. package/supplier-management/index.d.ts +4 -50
  147. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs.map +0 -1
  148. package/fesm2022/acorex-modules-auth-menu.provider-Bk9KXBU3.mjs.map +0 -1
  149. package/fesm2022/acorex-modules-contact-core-emergency-service.entity-Cro3bM4G.mjs.map +0 -1
  150. package/fesm2022/acorex-modules-customer-management-customer-segment.entity-CoYAU5g3.mjs +0 -69
  151. package/fesm2022/acorex-modules-customer-management-customer-segment.entity-CoYAU5g3.mjs.map +0 -1
  152. package/fesm2022/acorex-modules-customer-management-customer-type.entity-pt4gpOGq.mjs +0 -79
  153. package/fesm2022/acorex-modules-customer-management-customer-type.entity-pt4gpOGq.mjs.map +0 -1
  154. package/fesm2022/acorex-modules-customer-management-customer.entity-CRp5g0OZ.mjs.map +0 -1
  155. package/fesm2022/acorex-modules-customer-management-lead.entity-Da9JTLOl.mjs.map +0 -1
  156. package/fesm2022/acorex-modules-customer-management-lifecycle-stage.entity-DNFSDcpD.mjs +0 -60
  157. package/fesm2022/acorex-modules-customer-management-lifecycle-stage.entity-DNFSDcpD.mjs.map +0 -1
  158. package/fesm2022/acorex-modules-customer-management-sales-territory.entity-Bw5YU_a3.mjs +0 -60
  159. package/fesm2022/acorex-modules-customer-management-sales-territory.entity-Bw5YU_a3.mjs.map +0 -1
  160. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-MfqQx2iN.mjs.map +0 -1
  161. package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-CviI9xJC.mjs.map +0 -1
  162. package/fesm2022/acorex-modules-order-management-menu.provider-CDXy5oMa.mjs +0 -68
  163. package/fesm2022/acorex-modules-order-management-menu.provider-CDXy5oMa.mjs.map +0 -1
@@ -10,7 +10,7 @@ import * as i3 from '@angular/common';
10
10
  import { CommonModule } from '@angular/common';
11
11
  import * as i0 from '@angular/core';
12
12
  import { input, computed, signal, viewChild, effect, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
13
- import { d as AXMQuestionnaireViewerComponent, e as AXMPreQuestionnaireContentComponent, f as AXMPostQuestionnaireContentComponent } from './acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs';
13
+ import { d as AXMQuestionnaireViewerComponent, e as AXMPreQuestionnaireContentComponent, f as AXMPostQuestionnaireContentComponent } from './acorex-modules-assessment-management-acorex-modules-assessment-management-CULLP39a.mjs';
14
14
 
15
15
  //#region ---- Imports ----
16
16
  //#endregion
@@ -389,4 +389,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
389
389
  }], ctorParameters: () => [], propDecorators: { structure: [{ type: i0.Input, args: [{ isSignal: true, alias: "structure", required: true }] }], prePostConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "prePostConfig", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], initialAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialAnswers", required: false }] }], submitHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: "submitHandler", required: false }] }], viewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });
390
390
 
391
391
  export { AXMQuestionnaireViewerPopupComponent };
392
- //# sourceMappingURL=acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs.map
392
+ //# sourceMappingURL=acorex-modules-assessment-management-questionnaire-viewer-popup.component-Bj-JfJqq.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs","sources":["../tmp-esm2022/assessment-management/lib/features/questionnaire-viewer/questionnaire-viewer-popup.component.js"],"sourcesContent":["//#region ---- Imports ----\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPStopwatchComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXMQuestionnaireViewerComponent } from './questionnaire-viewer.component';\nimport { AXMPreQuestionnaireContentComponent } from './components/pre-questionnaire-content';\nimport { AXMPostQuestionnaireContentComponent, } from './components/post-questionnaire-content';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\n//#endregion\n//#region ---- Component ----\nexport class AXMQuestionnaireViewerPopupComponent extends AXBasePageComponent {\n safeInputValue(inputOrValue) {\n return typeof inputOrValue === 'function' ? inputOrValue() : inputOrValue;\n }\n /** Fallback when submitHandler is not passed (e.g. popup framework does not pass functions). */\n getDefaultSubmitHandler() {\n const structure = this.structureValue();\n const prePost = this.prePostConfigValue();\n const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;\n const passingScore = prePost?.passingScore;\n return async (answers) => {\n const answeredCount = Object.keys(answers).filter((k) => {\n const v = answers[k];\n return v != null && v !== '' && !(Array.isArray(v) && v.length === 0);\n }).length;\n const progressPercentage = totalQuestions > 0 ? Math.round((answeredCount / totalQuestions) * 100) : 0;\n const passFail = passingScore != null ? (progressPercentage >= passingScore ? 'Pass' : 'Fail') : undefined;\n return { score: progressPercentage, passFail, totalQuestions, answeredCount };\n };\n }\n //#endregion\n //#region ---- Lifecycle ----\n constructor() {\n super();\n //#region ---- Inputs ----\n this.structure = input.required(...(ngDevMode ? [{ debugName: \"structure\" }] : []));\n this.prePostConfig = input(null, ...(ngDevMode ? [{ debugName: \"prePostConfig\" }] : []));\n this.config = input(undefined, ...(ngDevMode ? [{ debugName: \"config\" }] : []));\n this.initialAnswers = input({}, ...(ngDevMode ? [{ debugName: \"initialAnswers\" }] : []));\n this.submitHandler = input(...(ngDevMode ? [undefined, { debugName: \"submitHandler\" }] : []));\n /** Safe accessors: popup framework may overwrite inputs with plain values. */\n this.prePostConfigValue = computed(() => this.safeInputValue(this.prePostConfig), ...(ngDevMode ? [{ debugName: \"prePostConfigValue\" }] : []));\n this.structureValue = computed(() => this.safeInputValue(this.structure), ...(ngDevMode ? [{ debugName: \"structureValue\" }] : []));\n this.configValue = computed(() => this.safeInputValue(this.config), ...(ngDevMode ? [{ debugName: \"configValue\" }] : []));\n this.initialAnswersValue = computed(() => this.safeInputValue(this.initialAnswers), ...(ngDevMode ? [{ debugName: \"initialAnswersValue\" }] : []));\n this.submitHandlerValue = computed(() => {\n const handler = this.safeInputValue(this.submitHandler);\n if (typeof handler === 'function')\n return handler;\n return this.getDefaultSubmitHandler();\n }, ...(ngDevMode ? [{ debugName: \"submitHandlerValue\" }] : []));\n /** Use answers from review context when returning from review; otherwise use initial input. */\n this.effectiveInitialAnswers = computed(() => {\n const ctx = this.reviewContext();\n if (!ctx)\n return this.initialAnswersValue();\n return ctx.answers ?? ctx;\n }, ...(ngDevMode ? [{ debugName: \"effectiveInitialAnswers\" }] : []));\n //#endregion\n //#region ---- State ----\n this.flowStep = signal('questions', ...(ngDevMode ? [{ debugName: \"flowStep\" }] : []));\n this.reviewSnapshot = signal([], ...(ngDevMode ? [{ debugName: \"reviewSnapshot\" }] : []));\n this.reviewContext = signal(null, ...(ngDevMode ? [{ debugName: \"reviewContext\" }] : []));\n this.submitResult = signal(null, ...(ngDevMode ? [{ debugName: \"submitResult\" }] : []));\n this.lastSubmittedAnswers = signal({}, ...(ngDevMode ? [{ debugName: \"lastSubmittedAnswers\" }] : []));\n this.lastSubmittedQuestions = signal([], ...(ngDevMode ? [{ debugName: \"lastSubmittedQuestions\" }] : []));\n this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: \"isSubmitting\" }] : []));\n this.canNavigatePrevious = signal(false, ...(ngDevMode ? [{ debugName: \"canNavigatePrevious\" }] : []));\n this.canNavigateNext = signal(false, ...(ngDevMode ? [{ debugName: \"canNavigateNext\" }] : []));\n this.showNavigationButtons = signal(false, ...(ngDevMode ? [{ debugName: \"showNavigationButtons\" }] : []));\n this.isLastStep = signal(false, ...(ngDevMode ? [{ debugName: \"isLastStep\" }] : []));\n this.areAllRequiredQuestionsAnswered = signal(false, ...(ngDevMode ? [{ debugName: \"areAllRequiredQuestionsAnswered\" }] : []));\n //#endregion\n //#region ---- View References ----\n this.viewer = viewChild('viewer', ...(ngDevMode ? [{ debugName: \"viewer\" }] : []));\n //#endregion\n //#region ---- Computed ----\n this.viewerViewModel = computed(() => this.viewer()?.viewmodel, ...(ngDevMode ? [{ debugName: \"viewerViewModel\" }] : []));\n this.totalQuestionsCount = computed(() => this.viewerViewModel()?.totalQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: \"totalQuestionsCount\" }] : []));\n this.showTimer = computed(() => this.viewerViewModel()?.showTimer() ?? false, ...(ngDevMode ? [{ debugName: \"showTimer\" }] : []));\n this.timerTimeLimit = computed(() => this.viewerViewModel()?.timerTimeLimit(), ...(ngDevMode ? [{ debugName: \"timerTimeLimit\" }] : []));\n this.timerElapsed = computed(() => this.viewerViewModel()?.timerElapsed() ?? 0, ...(ngDevMode ? [{ debugName: \"timerElapsed\" }] : []));\n this.answeredQuestionsCount = computed(() => this.viewerViewModel()?.answeredQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: \"answeredQuestionsCount\" }] : []));\n this.showReviewButton = computed(() => this.isLastStep() && (this.prePostConfigValue()?.postReviewEnabled ?? false) && this.flowStep() === 'questions', ...(ngDevMode ? [{ debugName: \"showReviewButton\" }] : []));\n effect(() => {\n const cfg = this.prePostConfigValue();\n this.flowStep.set(cfg?.preEnabled === true ? 'pre' : 'questions');\n });\n effect(() => {\n const v = this.viewer();\n if (v) {\n const vm = v.viewmodel;\n this.canNavigatePrevious.set(vm.canNavigatePrevious());\n this.canNavigateNext.set(vm.canNavigateNext());\n const viewMode = v.viewMode;\n this.showNavigationButtons.set(viewMode === 'page-per-group' || viewMode === 'page-per-question' || viewMode === 'side-menu');\n this.isLastStep.set(v.isLastStep);\n this.areAllRequiredQuestionsAnswered.set(v.areAllRequiredQuestionsAnswered);\n }\n });\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleReviewClick() {\n const viewer = this.viewer();\n const items = viewer?.getQuestionsWithAnswers() ?? [];\n const context = viewer?.getReviewContext() ?? null;\n this.reviewSnapshot.set(items.map((q) => ({ questionId: q.questionId, title: q.title, answer: q.answer, question: q.question })));\n this.reviewContext.set(context);\n this.flowStep.set('review');\n }\n async handleReviewSubmit() {\n const viewer = this.viewer();\n const handler = this.submitHandlerValue();\n if (!viewer || !handler)\n return;\n this.isSubmitting.set(true);\n try {\n const result = await viewer.submit();\n if (result.success && result.answers) {\n const summary = await handler(result.answers);\n const questions = viewer.getQuestionsWithAnswers();\n this.submitResult.set(summary ?? null);\n this.lastSubmittedAnswers.set(result.answers);\n this.lastSubmittedQuestions.set(questions);\n if ((this.prePostConfigValue()?.postSummaryEnabled ?? false) && summary) {\n this.flowStep.set('summary');\n }\n else {\n this.close({ answers: result.answers, questions, submitted: true });\n }\n }\n }\n finally {\n this.isSubmitting.set(false);\n }\n }\n async handlePreviousClick() {\n await this.viewer()?.navigatePrevious();\n }\n async handleNextClick() {\n await this.viewer()?.navigateNext();\n }\n async handleSubmitClick() {\n const viewer = this.viewer();\n const handler = this.submitHandlerValue();\n if (!viewer || !handler)\n return;\n this.isSubmitting.set(true);\n try {\n const result = await viewer.submit();\n if (result.success && result.answers) {\n const summary = await handler(result.answers);\n const questions = viewer.getQuestionsWithAnswers();\n this.submitResult.set(summary ?? null);\n this.lastSubmittedAnswers.set(result.answers);\n this.lastSubmittedQuestions.set(questions);\n if (this.prePostConfigValue()?.postSummaryEnabled && summary) {\n this.flowStep.set('summary');\n }\n else {\n this.close({ answers: result.answers, questions, submitted: true });\n }\n }\n }\n finally {\n this.isSubmitting.set(false);\n }\n }\n handleDone() {\n const answers = this.lastSubmittedAnswers();\n const questions = this.lastSubmittedQuestions();\n this.close({ answers, questions, submitted: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.16\", type: AXMQuestionnaireViewerPopupComponent, isStandalone: true, selector: \"axm-questionnaire-viewer-popup\", inputs: { structure: { classPropertyName: \"structure\", publicName: \"structure\", isSignal: true, isRequired: true, transformFunction: null }, prePostConfig: { classPropertyName: \"prePostConfig\", publicName: \"prePostConfig\", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: \"config\", publicName: \"config\", isSignal: true, isRequired: false, transformFunction: null }, initialAnswers: { classPropertyName: \"initialAnswers\", publicName: \"initialAnswers\", isSignal: true, isRequired: false, transformFunction: null }, submitHandler: { classPropertyName: \"submitHandler\", publicName: \"submitHandler\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"viewer\", first: true, predicate: [\"viewer\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n <div class=\"__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden\">\n <div class=\"__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto\">\n @if (flowStep() === 'pre') {\n <axm-pre-questionnaire-content\n [content]=\"prePostConfigValue()?.preContent\"\n ></axm-pre-questionnaire-content>\n } @else if (flowStep() === 'summary') {\n <axm-post-questionnaire-content\n mode=\"summary\"\n [summaryContent]=\"prePostConfigValue()?.postSummaryContent\"\n [placeholderValues]=\"submitResult()\"\n ></axm-post-questionnaire-content>\n } @else {\n @if (flowStep() === 'review') {\n <axm-post-questionnaire-content\n mode=\"review\"\n [questionsWithAnswers]=\"reviewSnapshot()\"\n [reviewContext]=\"reviewContext()\"\n ></axm-post-questionnaire-content>\n }\n <div\n class=\"__questions ax-flex ax-flex-col ax-min-h-full\"\n [class.ax-invisible]=\"flowStep() === 'review'\"\n [style.position]=\"flowStep() === 'review' ? 'fixed' : null\"\n [style.left]=\"flowStep() === 'review' ? '-9999px' : null\"\n [class.ax-size-0]=\"flowStep() === 'review'\"\n [class.ax-overflow-hidden]=\"flowStep() === 'review'\"\n >\n <div class=\"__header ax-p-4 ax-border-b\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600\">\n @if (totalQuestionsCount() > 0) {\n <span><i class=\"fa-light fa-list-check\"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>\n }\n @if (showTimer()) {\n <axp-stopwatch\n [mode]=\"'count-down'\"\n [timeLimit]=\"timerTimeLimit()\"\n [format]=\"timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'\"\n [autoStart]=\"true\"\n [showControls]=\"false\"\n [value]=\"timerElapsed()\"\n (valueChange)=\"viewerViewModel()!.updateTimerElapsed($event)\"\n ></axp-stopwatch>\n }\n </div>\n </div>\n </div>\n <div class=\"__content ax-flex-1 ax-min-h-0\">\n <axm-questionnaire-viewer\n #viewer\n [structure]=\"structureValue()\"\n [config]=\"configValue()\"\n [initialAnswers]=\"effectiveInitialAnswers()\"\n ></axm-questionnaire-viewer>\n </div>\n </div>\n }\n </div>\n @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {\n <ax-footer class=\"ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3\">\n <ax-prefix>\n @if (flowStep() === 'questions') {\n <div class=\"ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600\">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>\n }\n </ax-prefix>\n <ax-suffix>\n @if (flowStep() === 'pre') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n } @else if (flowStep() === 'questions') {\n @if (showNavigationButtons()) {\n <ax-button look=\"solid\" [disabled]=\"!canNavigatePrevious()\" [text]=\"'@general:actions.previous.title' | translate | async\" (onClick)=\"handlePreviousClick()\"></ax-button>\n @if (!isLastStep()) {\n <ax-button look=\"solid\" color=\"primary\" [disabled]=\"!canNavigateNext()\" [text]=\"'@general:actions.next.title' | translate | async\" (onClick)=\"handleNextClick()\"></ax-button>\n }\n }\n @if (isLastStep() && showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async\" [disabled]=\"!areAllRequiredQuestionsAnswered()\" (onClick)=\"handleReviewClick()\"></ax-button>\n }\n @if (isLastStep() && !showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting() || !areAllRequiredQuestionsAnswered()\" (onClick)=\"handleSubmitClick()\"></ax-button>\n }\n } @else if (flowStep() === 'review') {\n <ax-button look=\"outline\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting()\" (onClick)=\"handleReviewSubmit()\"></ax-button>\n } @else if (flowStep() === 'summary') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\" (onClick)=\"handleDone()\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n </div>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPStopwatchComponent, selector: \"axp-stopwatch\", inputs: [\"mode\", \"timeLimit\", \"format\", \"autoStart\", \"showControls\", \"value\"], outputs: [\"valueChange\", \"timeUp\"] }, { kind: \"component\", type: AXMQuestionnaireViewerComponent, selector: \"axm-questionnaire-viewer\", inputs: [\"questionnaireId\", \"structure\", \"config\", \"initialAnswers\"], outputs: [\"answersChanged\", \"questionAnswered\"] }, { kind: \"component\", type: AXMPreQuestionnaireContentComponent, selector: \"axm-pre-questionnaire-content\", inputs: [\"content\", \"locale\"] }, { kind: \"component\", type: AXMPostQuestionnaireContentComponent, selector: \"axm-post-questionnaire-content\", inputs: [\"mode\", \"questionsWithAnswers\", \"reviewContext\", \"summaryContent\", \"placeholderValues\", \"locale\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axm-questionnaire-viewer-popup',\n template: `\n <div class=\"__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden\">\n <div class=\"__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto\">\n @if (flowStep() === 'pre') {\n <axm-pre-questionnaire-content\n [content]=\"prePostConfigValue()?.preContent\"\n ></axm-pre-questionnaire-content>\n } @else if (flowStep() === 'summary') {\n <axm-post-questionnaire-content\n mode=\"summary\"\n [summaryContent]=\"prePostConfigValue()?.postSummaryContent\"\n [placeholderValues]=\"submitResult()\"\n ></axm-post-questionnaire-content>\n } @else {\n @if (flowStep() === 'review') {\n <axm-post-questionnaire-content\n mode=\"review\"\n [questionsWithAnswers]=\"reviewSnapshot()\"\n [reviewContext]=\"reviewContext()\"\n ></axm-post-questionnaire-content>\n }\n <div\n class=\"__questions ax-flex ax-flex-col ax-min-h-full\"\n [class.ax-invisible]=\"flowStep() === 'review'\"\n [style.position]=\"flowStep() === 'review' ? 'fixed' : null\"\n [style.left]=\"flowStep() === 'review' ? '-9999px' : null\"\n [class.ax-size-0]=\"flowStep() === 'review'\"\n [class.ax-overflow-hidden]=\"flowStep() === 'review'\"\n >\n <div class=\"__header ax-p-4 ax-border-b\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600\">\n @if (totalQuestionsCount() > 0) {\n <span><i class=\"fa-light fa-list-check\"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>\n }\n @if (showTimer()) {\n <axp-stopwatch\n [mode]=\"'count-down'\"\n [timeLimit]=\"timerTimeLimit()\"\n [format]=\"timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'\"\n [autoStart]=\"true\"\n [showControls]=\"false\"\n [value]=\"timerElapsed()\"\n (valueChange)=\"viewerViewModel()!.updateTimerElapsed($event)\"\n ></axp-stopwatch>\n }\n </div>\n </div>\n </div>\n <div class=\"__content ax-flex-1 ax-min-h-0\">\n <axm-questionnaire-viewer\n #viewer\n [structure]=\"structureValue()\"\n [config]=\"configValue()\"\n [initialAnswers]=\"effectiveInitialAnswers()\"\n ></axm-questionnaire-viewer>\n </div>\n </div>\n }\n </div>\n @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {\n <ax-footer class=\"ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3\">\n <ax-prefix>\n @if (flowStep() === 'questions') {\n <div class=\"ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600\">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>\n }\n </ax-prefix>\n <ax-suffix>\n @if (flowStep() === 'pre') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n } @else if (flowStep() === 'questions') {\n @if (showNavigationButtons()) {\n <ax-button look=\"solid\" [disabled]=\"!canNavigatePrevious()\" [text]=\"'@general:actions.previous.title' | translate | async\" (onClick)=\"handlePreviousClick()\"></ax-button>\n @if (!isLastStep()) {\n <ax-button look=\"solid\" color=\"primary\" [disabled]=\"!canNavigateNext()\" [text]=\"'@general:actions.next.title' | translate | async\" (onClick)=\"handleNextClick()\"></ax-button>\n }\n }\n @if (isLastStep() && showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async\" [disabled]=\"!areAllRequiredQuestionsAnswered()\" (onClick)=\"handleReviewClick()\"></ax-button>\n }\n @if (isLastStep() && !showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting() || !areAllRequiredQuestionsAnswered()\" (onClick)=\"handleSubmitClick()\"></ax-button>\n }\n } @else if (flowStep() === 'review') {\n <ax-button look=\"outline\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting()\" (onClick)=\"handleReviewSubmit()\"></ax-button>\n } @else if (flowStep() === 'summary') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\" (onClick)=\"handleDone()\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPStopwatchComponent,\n AXMQuestionnaireViewerComponent,\n AXMPreQuestionnaireContentComponent,\n AXMPostQuestionnaireContentComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: () => [], propDecorators: { structure: [{ type: i0.Input, args: [{ isSignal: true, alias: \"structure\", required: true }] }], prePostConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: \"prePostConfig\", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: \"config\", required: false }] }], initialAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: \"initialAnswers\", required: false }] }], submitHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: \"submitHandler\", required: false }] }], viewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS12aWV3ZXItcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3F1ZXN0aW9ubmFpcmUtdmlld2VyL3F1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RixPQUFPLEVBQ0wsb0NBQW9DLEdBRXJDLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVFqRCxZQUFZO0FBRVosaUNBQWlDO0FBK0dqQyxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsbUJBQW1CO0lBNkJuRSxjQUFjLENBQUksWUFBMkI7UUFDbkQsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFV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QU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F6TFUsb0NBQW9DO21HQUFwQyxvQ0FBb0MsZzZCQTNHckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZGVCwyREFHQyxZQUFZLDhCQUNaLG1CQUFtQiw4QkFDbkIsY0FBYyw2WEFDZCxpQkFBaUIsc1BBQ2pCLHFCQUFxQiw2S0FDckIsK0JBQStCLDRMQUMvQixtQ0FBbUMseUdBQ25DLG9DQUFvQzs7NEZBSTNCLG9DQUFvQztrQkE3R2hELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsK0JBQStCO3dCQUMvQixtQ0FBbUM7d0JBQ25DLG9DQUFvQztxQkFDckM7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzJsQkF3RXdFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYUFN0b3B3YXRjaENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQnVpbGRlclZhbHVlIH0gZnJvbSAnLi4vcXVlc3Rpb25uYWlyZS1idWlsZGVyL3F1ZXN0aW9ubmFpcmUtYnVpbGRlci50eXBlcyc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9xdWVzdGlvbm5haXJlLXZpZXdlci50eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFByZVBvc3RDb25maWcgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUudHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfSBmcm9tICcuL3V0aWxzL3ByZS1wb3N0LWNvbnRlbnQudXRpbHMnO1xuaW1wb3J0IHsgQVhNUXVlc3Rpb25uYWlyZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlc3Rpb25uYWlyZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTVByZVF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZS1xdWVzdGlvbm5haXJlLWNvbnRlbnQnO1xuaW1wb3J0IHtcbiAgQVhNUG9zdFF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50LFxuICB0eXBlIFF1ZXN0aW9uV2l0aEFuc3dlcixcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Bvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50JztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbnR5cGUgRmxvd1N0ZXAgPSAncHJlJyB8ICdxdWVzdGlvbnMnIHwgJ3JldmlldycgfCAnc3VtbWFyeSc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCAgIC0tLS1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXF1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiX19tYWluLWNvbnRhaW5lciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWZsZXgtMSBheC1taW4taC0wIGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudC1hcmVhIGF4LWZsZXgtMSBheC1taW4taC0wIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgQGlmIChmbG93U3RlcCgpID09PSAncHJlJykge1xuICAgICAgICAgIDxheG0tcHJlLXF1ZXN0aW9ubmFpcmUtY29udGVudFxuICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnByZUNvbnRlbnRcIlxuICAgICAgICAgID48L2F4bS1wcmUtcXVlc3Rpb25uYWlyZS1jb250ZW50PlxuICAgICAgICB9IEBlbHNlIGlmIChmbG93U3RlcCgpID09PSAnc3VtbWFyeScpIHtcbiAgICAgICAgICA8YXhtLXBvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50XG4gICAgICAgICAgICBtb2RlPVwic3VtbWFyeVwiXG4gICAgICAgICAgICBbc3VtbWFyeUNvbnRlbnRdPVwicHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnBvc3RTdW1tYXJ5Q29udGVudFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJWYWx1ZXNdPVwic3VibWl0UmVzdWx0KClcIlxuICAgICAgICAgID48L2F4bS1wb3N0LXF1ZXN0aW9ubmFpcmUtY29udGVudD5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGlmIChmbG93U3RlcCgpID09PSAncmV2aWV3Jykge1xuICAgICAgICAgICAgPGF4bS1wb3N0LXF1ZXN0aW9ubmFpcmUtY29udGVudFxuICAgICAgICAgICAgICBtb2RlPVwicmV2aWV3XCJcbiAgICAgICAgICAgICAgW3F1ZXN0aW9uc1dpdGhBbnN3ZXJzXT1cInJldmlld1NuYXBzaG90KClcIlxuICAgICAgICAgICAgICBbcmV2aWV3Q29udGV4dF09XCJyZXZpZXdDb250ZXh0KClcIlxuICAgICAgICAgICAgPjwvYXhtLXBvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIl9fcXVlc3Rpb25zIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWluLWgtZnVsbFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtaW52aXNpYmxlXT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnXCJcbiAgICAgICAgICAgIFtzdHlsZS5wb3NpdGlvbl09XCJmbG93U3RlcCgpID09PSAncmV2aWV3JyA/ICdmaXhlZCcgOiBudWxsXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnID8gJy05OTk5cHgnIDogbnVsbFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtc2l6ZS0wXT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnXCJcbiAgICAgICAgICAgIFtjbGFzcy5heC1vdmVyZmxvdy1oaWRkZW5dPVwiZmxvd1N0ZXAoKSA9PT0gJ3JldmlldydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2hlYWRlciBheC1wLTQgYXgtYm9yZGVyLWJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtNCBheC10ZXh0LXNtIGF4LXRleHQtbmV1dHJhbC02MDBcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAodG90YWxRdWVzdGlvbnNDb3VudCgpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWxpc3QtY2hlY2tcIj48L2k+IHt7IHRvdGFsUXVlc3Rpb25zQ291bnQoKSB9fSB7eyB0b3RhbFF1ZXN0aW9uc0NvdW50KCkgPT09IDEgPyAnUXVlc3Rpb24nIDogJ1F1ZXN0aW9ucycgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaWYgKHNob3dUaW1lcigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheHAtc3RvcHdhdGNoXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2NvdW50LWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGltZUxpbWl0XT1cInRpbWVyVGltZUxpbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidGltZXJUaW1lTGltaXQoKSAmJiB0aW1lclRpbWVMaW1pdCgpISA+PSAzNjAwID8gJ2hoOm1tOnNzJyA6ICdtbTpzcydcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdXRvU3RhcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDb250cm9sc109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRpbWVyRWxhcHNlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmlld2VyVmlld01vZGVsKCkhLnVwZGF0ZVRpbWVyRWxhcHNlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXhwLXN0b3B3YXRjaD5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnQgYXgtZmxleC0xIGF4LW1pbi1oLTBcIj5cbiAgICAgICAgICAgICAgPGF4bS1xdWVzdGlvbm5haXJlLXZpZXdlclxuICAgICAgICAgICAgICAgICN2aWV3ZXJcbiAgICAgICAgICAgICAgICBbc3RydWN0dXJlXT1cInN0cnVjdHVyZVZhbHVlKClcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgW2luaXRpYWxBbnN3ZXJzXT1cImVmZmVjdGl2ZUluaXRpYWxBbnN3ZXJzKClcIlxuICAgICAgICAgICAgICA+PC9heG0tcXVlc3Rpb25uYWlyZS12aWV3ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGZsb3dTdGVwKCkgPT09ICdwcmUnIHx8IGZsb3dTdGVwKCkgPT09ICdxdWVzdGlvbnMnIHx8IGZsb3dTdGVwKCkgPT09ICdyZXZpZXcnIHx8IGZsb3dTdGVwKCkgPT09ICdzdW1tYXJ5Jykge1xuICAgICAgICA8YXgtZm9vdGVyIGNsYXNzPVwiYXgtZmxleC1zaHJpbmstMCBheC1ib3JkZXItdCBheC1ib3JkZXItbmV1dHJhbC0yMDAgYXgtcHgtNCBheC1weS0zXCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIEBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3F1ZXN0aW9ucycpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1tb25vIGF4LXRhYnVsYXItbnVtcyBheC10ZXh0LW5ldXRyYWwtNjAwXCI+e3sgYW5zd2VyZWRRdWVzdGlvbnNDb3VudCgpIH19IC8ge3sgdG90YWxRdWVzdGlvbnNDb3VudCgpIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgIEBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3ByZScpIHtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cuc3RhcnQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJmbG93U3RlcC5zZXQoJ3F1ZXN0aW9ucycpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIGlmIChmbG93U3RlcCgpID09PSAncXVlc3Rpb25zJykge1xuICAgICAgICAgICAgICBAaWYgKHNob3dOYXZpZ2F0aW9uQnV0dG9ucygpKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBbZGlzYWJsZWRdPVwiIWNhbk5hdmlnYXRlUHJldmlvdXMoKVwiIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLnByZXZpb3VzLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlUHJldmlvdXNDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgQGlmICghaXNMYXN0U3RlcCgpKSB7XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY2FuTmF2aWdhdGVOZXh0KClcIiBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5uZXh0LnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlTmV4dENsaWNrKClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChpc0xhc3RTdGVwKCkgJiYgc2hvd1Jldmlld0J1dHRvbigpKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cucmV2aWV3JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cIiFhcmVBbGxSZXF1aXJlZFF1ZXN0aW9uc0Fuc3dlcmVkKClcIiAob25DbGljayk9XCJoYW5kbGVSZXZpZXdDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChpc0xhc3RTdGVwKCkgJiYgIXNob3dSZXZpZXdCdXR0b24oKSkge1xuICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuc3VibWl0LnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImlzU3VibWl0dGluZygpIHx8ICFhcmVBbGxSZXF1aXJlZFF1ZXN0aW9uc0Fuc3dlcmVkKClcIiAob25DbGljayk9XCJoYW5kbGVTdWJtaXRDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZsb3dTdGVwKCkgPT09ICdyZXZpZXcnKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cIm91dGxpbmVcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cuZWRpdCcgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImZsb3dTdGVwLnNldCgncXVlc3Rpb25zJylcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5zdWJtaXQudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nKClcIiAob25DbGljayk9XCJoYW5kbGVSZXZpZXdTdWJtaXQoKVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3N1bW1hcnknKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiJ0Bhc3Nlc3NtZW50LW1hbmFnZW1lbnQ6cXVlc3Rpb25uYWlyZXMuY29tcG9uZW50cy5xdWVzdGlvbm5haXJlLXZpZXdlci5mbG93LmRvbmUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVEb25lKClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgPC9heC1mb290ZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhQU3RvcHdhdGNoQ29tcG9uZW50LFxuICAgIEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJDb21wb25lbnQsXG4gICAgQVhNUHJlUXVlc3Rpb25uYWlyZUNvbnRlbnRDb21wb25lbnQsXG4gICAgQVhNUG9zdFF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1RdWVzdGlvbm5haXJlVmlld2VyUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBJbnB1dHMgICAtLS0tXG5cbiAgc3RydWN0dXJlID0gaW5wdXQucmVxdWlyZWQ8UXVlc3Rpb25uYWlyZUJ1aWxkZXJWYWx1ZT4oKTtcbiAgcHJlUG9zdENvbmZpZyA9IGlucHV0PFByZVBvc3RDb25maWcgfCBudWxsPihudWxsKTtcbiAgY29uZmlnID0gaW5wdXQ8UXVlc3Rpb25uYWlyZVZpZXdlckNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaW5pdGlhbEFuc3dlcnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG4gIHN1Ym1pdEhhbmRsZXIgPSBpbnB1dDxcbiAgICAoKGFuc3dlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IFByb21pc2U8U3VtbWFyeVBsYWNlaG9sZGVyVmFsdWVzIHwgbnVsbCB8IHZvaWQ+KSB8IHVuZGVmaW5lZFxuICA+KCk7XG5cbiAgLyoqIFNhZmUgYWNjZXNzb3JzOiBwb3B1cCBmcmFtZXdvcmsgbWF5IG92ZXJ3cml0ZSBpbnB1dHMgd2l0aCBwbGFpbiB2YWx1ZXMuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVQb3N0Q29uZmlnVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMucHJlUG9zdENvbmZpZykpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RydWN0dXJlVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMuc3RydWN0dXJlKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWdWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2FmZUlucHV0VmFsdWUodGhpcy5jb25maWcpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluaXRpYWxBbnN3ZXJzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMuaW5pdGlhbEFuc3dlcnMpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1pdEhhbmRsZXJWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5zYWZlSW5wdXRWYWx1ZSh0aGlzLnN1Ym1pdEhhbmRsZXIpO1xuICAgIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGhhbmRsZXI7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFN1Ym1pdEhhbmRsZXIoKTtcbiAgfSk7XG5cbiAgLyoqIFVzZSBhbnN3ZXJzIGZyb20gcmV2aWV3IGNvbnRleHQgd2hlbiByZXR1cm5pbmcgZnJvbSByZXZpZXc7IG90aGVyd2lzZSB1c2UgaW5pdGlhbCBpbnB1dC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVmZmVjdGl2ZUluaXRpYWxBbnN3ZXJzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMucmV2aWV3Q29udGV4dCgpO1xuICAgIGlmICghY3R4KSByZXR1cm4gdGhpcy5pbml0aWFsQW5zd2Vyc1ZhbHVlKCk7XG4gICAgcmV0dXJuIChjdHggYXMgeyBhbnN3ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PiB9KS5hbnN3ZXJzID8/IGN0eDtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBzYWZlSW5wdXRWYWx1ZTxUPihpbnB1dE9yVmFsdWU6IFQgfCAoKCkgPT4gVCkpOiBUIHtcbiAgICByZXR1cm4gdHlwZW9mIGlucHV0T3JWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IChpbnB1dE9yVmFsdWUgYXMgKCkgPT4gVCkoKSA6IChpbnB1dE9yVmFsdWUgYXMgVCk7XG4gIH1cblxuICAvKiogRmFsbGJhY2sgd2hlbiBzdWJtaXRIYW5kbGVyIGlzIG5vdCBwYXNzZWQgKGUuZy4gcG9wdXAgZnJhbWV3b3JrIGRvZXMgbm90IHBhc3MgZnVuY3Rpb25zKS4gKi9cbiAgcHJpdmF0ZSBnZXREZWZhdWx0U3VibWl0SGFuZGxlcigpOiAoYW5zd2VyczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUHJvbWlzZTxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsPiB7XG4gICAgY29uc3Qgc3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVWYWx1ZSgpO1xuICAgIGNvbnN0IHByZVBvc3QgPSB0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpO1xuICAgIGNvbnN0IHRvdGFsUXVlc3Rpb25zID0gc3RydWN0dXJlPy5zZWN0aW9ucz8ucmVkdWNlKChzOiBudW1iZXIsIHNlYzogYW55KSA9PiBzICsgKHNlYy5pdGVtcz8ubGVuZ3RoID8/IDApLCAwKSA/PyAwO1xuICAgIGNvbnN0IHBhc3NpbmdTY29yZSA9IHByZVBvc3Q/LnBhc3NpbmdTY29yZTtcbiAgICByZXR1cm4gYXN5bmMgKGFuc3dlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgICAgIGNvbnN0IGFuc3dlcmVkQ291bnQgPSBPYmplY3Qua2V5cyhhbnN3ZXJzKS5maWx0ZXIoKGspID0+IHtcbiAgICAgICAgY29uc3QgdiA9IGFuc3dlcnNba107XG4gICAgICAgIHJldHVybiB2ICE9IG51bGwgJiYgdiAhPT0gJycgJiYgIShBcnJheS5pc0FycmF5KHYpICYmIHYubGVuZ3RoID09PSAwKTtcbiAgICAgIH0pLmxlbmd0aDtcbiAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudGFnZSA9IHRvdGFsUXVlc3Rpb25zID4gMCA/IE1hdGgucm91bmQoKGFuc3dlcmVkQ291bnQgLyB0b3RhbFF1ZXN0aW9ucykgKiAxMDApIDogMDtcbiAgICAgIGNvbnN0IHBhc3NGYWlsID0gcGFzc2luZ1Njb3JlICE9IG51bGwgPyAocHJvZ3Jlc3NQZXJjZW50YWdlID49IHBhc3NpbmdTY29yZSA/ICdQYXNzJyA6ICdGYWlsJykgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyBzY29yZTogcHJvZ3Jlc3NQZXJjZW50YWdlLCBwYXNzRmFpbCwgdG90YWxRdWVzdGlvbnMsIGFuc3dlcmVkQ291bnQgfTtcbiAgICB9O1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBTdGF0ZSAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmxvd1N0ZXAgPSBzaWduYWw8Rmxvd1N0ZXA+KCdxdWVzdGlvbnMnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJldmlld1NuYXBzaG90ID0gc2lnbmFsPFF1ZXN0aW9uV2l0aEFuc3dlcltdPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZXZpZXdDb250ZXh0ID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1pdFJlc3VsdCA9IHNpZ25hbDxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhc3RTdWJtaXR0ZWRBbnN3ZXJzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhc3RTdWJtaXR0ZWRRdWVzdGlvbnMgPSBzaWduYWw8QXJyYXk8eyBxdWVzdGlvbklkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IGFuc3dlcjogYW55IH0+PihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1N1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuTmF2aWdhdGVQcmV2aW91cyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYW5OYXZpZ2F0ZU5leHQgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd05hdmlnYXRpb25CdXR0b25zID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTGFzdFN0ZXAgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJlQWxsUmVxdWlyZWRRdWVzdGlvbnNBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBWaWV3IFJlZmVyZW5jZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdlciA9IHZpZXdDaGlsZDxBWE1RdWVzdGlvbm5haXJlVmlld2VyQ29tcG9uZW50Pigndmlld2VyJyk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld2VyVmlld01vZGVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXIoKT8udmlld21vZGVsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvdGFsUXVlc3Rpb25zQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdlclZpZXdNb2RlbCgpPy50b3RhbFF1ZXN0aW9uc0NvdW50KCkgPz8gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzaG93VGltZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdlclZpZXdNb2RlbCgpPy5zaG93VGltZXIoKSA/PyBmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aW1lclRpbWVMaW1pdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlld2VyVmlld01vZGVsKCk/LnRpbWVyVGltZUxpbWl0KCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGltZXJFbGFwc2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXJWaWV3TW9kZWwoKT8udGltZXJFbGFwc2VkKCkgPz8gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBhbnN3ZXJlZFF1ZXN0aW9uc0NvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXJWaWV3TW9kZWwoKT8uYW5zd2VyZWRRdWVzdGlvbnNDb3VudCgpID8/IDApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzaG93UmV2aWV3QnV0dG9uID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5pc0xhc3RTdGVwKCkgJiYgKHRoaXMucHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnBvc3RSZXZpZXdFbmFibGVkID8/IGZhbHNlKSAmJiB0aGlzLmZsb3dTdGVwKCkgPT09ICdxdWVzdGlvbnMnXG4gICk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgICAtLS0tXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY2ZnID0gdGhpcy5wcmVQb3N0Q29uZmlnVmFsdWUoKTtcbiAgICAgIHRoaXMuZmxvd1N0ZXAuc2V0KGNmZz8ucHJlRW5hYmxlZCA9PT0gdHJ1ZSA/ICdwcmUnIDogJ3F1ZXN0aW9ucycpO1xuICAgIH0pO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB2ID0gdGhpcy52aWV3ZXIoKTtcbiAgICAgIGlmICh2KSB7XG4gICAgICAgIGNvbnN0IHZtID0gdi52aWV3bW9kZWw7XG4gICAgICAgIHRoaXMuY2FuTmF2aWdhdGVQcmV2aW91cy5zZXQodm0uY2FuTmF2aWdhdGVQcmV2aW91cygpKTtcbiAgICAgICAgdGhpcy5jYW5OYXZpZ2F0ZU5leHQuc2V0KHZtLmNhbk5hdmlnYXRlTmV4dCgpKTtcbiAgICAgICAgY29uc3Qgdmlld01vZGUgPSB2LnZpZXdNb2RlO1xuICAgICAgICB0aGlzLnNob3dOYXZpZ2F0aW9uQnV0dG9ucy5zZXQodmlld01vZGUgPT09ICdwYWdlLXBlci1ncm91cCcgfHwgdmlld01vZGUgPT09ICdwYWdlLXBlci1xdWVzdGlvbicgfHwgdmlld01vZGUgPT09ICdzaWRlLW1lbnUnKTtcbiAgICAgICAgdGhpcy5pc0xhc3RTdGVwLnNldCh2LmlzTGFzdFN0ZXApO1xuICAgICAgICB0aGlzLmFyZUFsbFJlcXVpcmVkUXVlc3Rpb25zQW5zd2VyZWQuc2V0KHYuYXJlQWxsUmVxdWlyZWRRdWVzdGlvbnNBbnN3ZXJlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZXZpZXdDbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3ZXIgPSB0aGlzLnZpZXdlcigpO1xuICAgIGNvbnN0IGl0ZW1zID0gdmlld2VyPy5nZXRRdWVzdGlvbnNXaXRoQW5zd2VycygpID8/IFtdO1xuICAgIGNvbnN0IGNvbnRleHQgPSB2aWV3ZXI/LmdldFJldmlld0NvbnRleHQoKSA/PyBudWxsO1xuICAgIHRoaXMucmV2aWV3U25hcHNob3Quc2V0KGl0ZW1zLm1hcCgocSkgPT4gKHsgcXVlc3Rpb25JZDogcS5xdWVzdGlvbklkLCB0aXRsZTogcS50aXRsZSwgYW5zd2VyOiBxLmFuc3dlciwgcXVlc3Rpb246IHEucXVlc3Rpb24gfSkpKTtcbiAgICB0aGlzLnJldmlld0NvbnRleHQuc2V0KGNvbnRleHQpO1xuICAgIHRoaXMuZmxvd1N0ZXAuc2V0KCdyZXZpZXcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVSZXZpZXdTdWJtaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgdmlld2VyID0gdGhpcy52aWV3ZXIoKTtcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5zdWJtaXRIYW5kbGVyVmFsdWUoKTtcbiAgICBpZiAoIXZpZXdlciB8fCAhaGFuZGxlcikgcmV0dXJuO1xuICAgIHRoaXMuaXNTdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmlld2VyLnN1Ym1pdCgpO1xuICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzICYmIHJlc3VsdC5hbnN3ZXJzKSB7XG4gICAgICAgIGNvbnN0IHN1bW1hcnkgPSBhd2FpdCBoYW5kbGVyKHJlc3VsdC5hbnN3ZXJzKTtcbiAgICAgICAgY29uc3QgcXVlc3Rpb25zID0gdmlld2VyLmdldFF1ZXN0aW9uc1dpdGhBbnN3ZXJzKCk7XG4gICAgICAgIHRoaXMuc3VibWl0UmVzdWx0LnNldChzdW1tYXJ5ID8/IG51bGwpO1xuICAgICAgICB0aGlzLmxhc3RTdWJtaXR0ZWRBbnN3ZXJzLnNldChyZXN1bHQuYW5zd2Vycyk7XG4gICAgICAgIHRoaXMubGFzdFN1Ym1pdHRlZFF1ZXN0aW9ucy5zZXQocXVlc3Rpb25zKTtcbiAgICAgICAgaWYgKCh0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpPy5wb3N0U3VtbWFyeUVuYWJsZWQgPz8gZmFsc2UpICYmIHN1bW1hcnkpIHtcbiAgICAgICAgICB0aGlzLmZsb3dTdGVwLnNldCgnc3VtbWFyeScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY2xvc2UoeyBhbnN3ZXJzOiByZXN1bHQuYW5zd2VycywgcXVlc3Rpb25zLCBzdWJtaXR0ZWQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUHJldmlvdXNDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnZpZXdlcigpPy5uYXZpZ2F0ZVByZXZpb3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudmlld2VyKCk/Lm5hdmlnYXRlTmV4dCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVN1Ym1pdENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpZXdlciA9IHRoaXMudmlld2VyKCk7XG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuc3VibWl0SGFuZGxlclZhbHVlKCk7XG4gICAgaWYgKCF2aWV3ZXIgfHwgIWhhbmRsZXIpIHJldHVybjtcbiAgICB0aGlzLmlzU3VibWl0dGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZpZXdlci5zdWJtaXQoKTtcbiAgICAgIGlmIChyZXN1bHQuc3VjY2VzcyAmJiByZXN1bHQuYW5zd2Vycykge1xuICAgICAgICBjb25zdCBzdW1tYXJ5ID0gYXdhaXQgaGFuZGxlcihyZXN1bHQuYW5zd2Vycyk7XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9ucyA9IHZpZXdlci5nZXRRdWVzdGlvbnNXaXRoQW5zd2VycygpO1xuICAgICAgICB0aGlzLnN1Ym1pdFJlc3VsdC5zZXQoc3VtbWFyeSA/PyBudWxsKTtcbiAgICAgICAgdGhpcy5sYXN0U3VibWl0dGVkQW5zd2Vycy5zZXQocmVzdWx0LmFuc3dlcnMpO1xuICAgICAgICB0aGlzLmxhc3RTdWJtaXR0ZWRRdWVzdGlvbnMuc2V0KHF1ZXN0aW9ucyk7XG4gICAgICAgIGlmICh0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpPy5wb3N0U3VtbWFyeUVuYWJsZWQgJiYgc3VtbWFyeSkge1xuICAgICAgICAgIHRoaXMuZmxvd1N0ZXAuc2V0KCdzdW1tYXJ5Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSh7IGFuc3dlcnM6IHJlc3VsdC5hbnN3ZXJzLCBxdWVzdGlvbnMsIHN1Ym1pdHRlZDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEb25lKCk6IHZvaWQge1xuICAgIGNvbnN0IGFuc3dlcnMgPSB0aGlzLmxhc3RTdWJtaXR0ZWRBbnN3ZXJzKCk7XG4gICAgY29uc3QgcXVlc3Rpb25zID0gdGhpcy5sYXN0U3VibWl0dGVkUXVlc3Rpb25zKCk7XG4gICAgdGhpcy5jbG9zZSh7IGFuc3dlcnMsIHF1ZXN0aW9ucywgc3VibWl0dGVkOiB0cnVlIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-assessment-management-questionnaire-viewer-popup.component-Bj-JfJqq.mjs","sources":["../tmp-esm2022/assessment-management/lib/features/questionnaire-viewer/questionnaire-viewer-popup.component.js"],"sourcesContent":["//#region ---- Imports ----\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPStopwatchComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, input, signal, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXMQuestionnaireViewerComponent } from './questionnaire-viewer.component';\nimport { AXMPreQuestionnaireContentComponent } from './components/pre-questionnaire-content';\nimport { AXMPostQuestionnaireContentComponent, } from './components/post-questionnaire-content';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\n//#endregion\n//#region ---- Component ----\nexport class AXMQuestionnaireViewerPopupComponent extends AXBasePageComponent {\n safeInputValue(inputOrValue) {\n return typeof inputOrValue === 'function' ? inputOrValue() : inputOrValue;\n }\n /** Fallback when submitHandler is not passed (e.g. popup framework does not pass functions). */\n getDefaultSubmitHandler() {\n const structure = this.structureValue();\n const prePost = this.prePostConfigValue();\n const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;\n const passingScore = prePost?.passingScore;\n return async (answers) => {\n const answeredCount = Object.keys(answers).filter((k) => {\n const v = answers[k];\n return v != null && v !== '' && !(Array.isArray(v) && v.length === 0);\n }).length;\n const progressPercentage = totalQuestions > 0 ? Math.round((answeredCount / totalQuestions) * 100) : 0;\n const passFail = passingScore != null ? (progressPercentage >= passingScore ? 'Pass' : 'Fail') : undefined;\n return { score: progressPercentage, passFail, totalQuestions, answeredCount };\n };\n }\n //#endregion\n //#region ---- Lifecycle ----\n constructor() {\n super();\n //#region ---- Inputs ----\n this.structure = input.required(...(ngDevMode ? [{ debugName: \"structure\" }] : []));\n this.prePostConfig = input(null, ...(ngDevMode ? [{ debugName: \"prePostConfig\" }] : []));\n this.config = input(undefined, ...(ngDevMode ? [{ debugName: \"config\" }] : []));\n this.initialAnswers = input({}, ...(ngDevMode ? [{ debugName: \"initialAnswers\" }] : []));\n this.submitHandler = input(...(ngDevMode ? [undefined, { debugName: \"submitHandler\" }] : []));\n /** Safe accessors: popup framework may overwrite inputs with plain values. */\n this.prePostConfigValue = computed(() => this.safeInputValue(this.prePostConfig), ...(ngDevMode ? [{ debugName: \"prePostConfigValue\" }] : []));\n this.structureValue = computed(() => this.safeInputValue(this.structure), ...(ngDevMode ? [{ debugName: \"structureValue\" }] : []));\n this.configValue = computed(() => this.safeInputValue(this.config), ...(ngDevMode ? [{ debugName: \"configValue\" }] : []));\n this.initialAnswersValue = computed(() => this.safeInputValue(this.initialAnswers), ...(ngDevMode ? [{ debugName: \"initialAnswersValue\" }] : []));\n this.submitHandlerValue = computed(() => {\n const handler = this.safeInputValue(this.submitHandler);\n if (typeof handler === 'function')\n return handler;\n return this.getDefaultSubmitHandler();\n }, ...(ngDevMode ? [{ debugName: \"submitHandlerValue\" }] : []));\n /** Use answers from review context when returning from review; otherwise use initial input. */\n this.effectiveInitialAnswers = computed(() => {\n const ctx = this.reviewContext();\n if (!ctx)\n return this.initialAnswersValue();\n return ctx.answers ?? ctx;\n }, ...(ngDevMode ? [{ debugName: \"effectiveInitialAnswers\" }] : []));\n //#endregion\n //#region ---- State ----\n this.flowStep = signal('questions', ...(ngDevMode ? [{ debugName: \"flowStep\" }] : []));\n this.reviewSnapshot = signal([], ...(ngDevMode ? [{ debugName: \"reviewSnapshot\" }] : []));\n this.reviewContext = signal(null, ...(ngDevMode ? [{ debugName: \"reviewContext\" }] : []));\n this.submitResult = signal(null, ...(ngDevMode ? [{ debugName: \"submitResult\" }] : []));\n this.lastSubmittedAnswers = signal({}, ...(ngDevMode ? [{ debugName: \"lastSubmittedAnswers\" }] : []));\n this.lastSubmittedQuestions = signal([], ...(ngDevMode ? [{ debugName: \"lastSubmittedQuestions\" }] : []));\n this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: \"isSubmitting\" }] : []));\n this.canNavigatePrevious = signal(false, ...(ngDevMode ? [{ debugName: \"canNavigatePrevious\" }] : []));\n this.canNavigateNext = signal(false, ...(ngDevMode ? [{ debugName: \"canNavigateNext\" }] : []));\n this.showNavigationButtons = signal(false, ...(ngDevMode ? [{ debugName: \"showNavigationButtons\" }] : []));\n this.isLastStep = signal(false, ...(ngDevMode ? [{ debugName: \"isLastStep\" }] : []));\n this.areAllRequiredQuestionsAnswered = signal(false, ...(ngDevMode ? [{ debugName: \"areAllRequiredQuestionsAnswered\" }] : []));\n //#endregion\n //#region ---- View References ----\n this.viewer = viewChild('viewer', ...(ngDevMode ? [{ debugName: \"viewer\" }] : []));\n //#endregion\n //#region ---- Computed ----\n this.viewerViewModel = computed(() => this.viewer()?.viewmodel, ...(ngDevMode ? [{ debugName: \"viewerViewModel\" }] : []));\n this.totalQuestionsCount = computed(() => this.viewerViewModel()?.totalQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: \"totalQuestionsCount\" }] : []));\n this.showTimer = computed(() => this.viewerViewModel()?.showTimer() ?? false, ...(ngDevMode ? [{ debugName: \"showTimer\" }] : []));\n this.timerTimeLimit = computed(() => this.viewerViewModel()?.timerTimeLimit(), ...(ngDevMode ? [{ debugName: \"timerTimeLimit\" }] : []));\n this.timerElapsed = computed(() => this.viewerViewModel()?.timerElapsed() ?? 0, ...(ngDevMode ? [{ debugName: \"timerElapsed\" }] : []));\n this.answeredQuestionsCount = computed(() => this.viewerViewModel()?.answeredQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: \"answeredQuestionsCount\" }] : []));\n this.showReviewButton = computed(() => this.isLastStep() && (this.prePostConfigValue()?.postReviewEnabled ?? false) && this.flowStep() === 'questions', ...(ngDevMode ? [{ debugName: \"showReviewButton\" }] : []));\n effect(() => {\n const cfg = this.prePostConfigValue();\n this.flowStep.set(cfg?.preEnabled === true ? 'pre' : 'questions');\n });\n effect(() => {\n const v = this.viewer();\n if (v) {\n const vm = v.viewmodel;\n this.canNavigatePrevious.set(vm.canNavigatePrevious());\n this.canNavigateNext.set(vm.canNavigateNext());\n const viewMode = v.viewMode;\n this.showNavigationButtons.set(viewMode === 'page-per-group' || viewMode === 'page-per-question' || viewMode === 'side-menu');\n this.isLastStep.set(v.isLastStep);\n this.areAllRequiredQuestionsAnswered.set(v.areAllRequiredQuestionsAnswered);\n }\n });\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleReviewClick() {\n const viewer = this.viewer();\n const items = viewer?.getQuestionsWithAnswers() ?? [];\n const context = viewer?.getReviewContext() ?? null;\n this.reviewSnapshot.set(items.map((q) => ({ questionId: q.questionId, title: q.title, answer: q.answer, question: q.question })));\n this.reviewContext.set(context);\n this.flowStep.set('review');\n }\n async handleReviewSubmit() {\n const viewer = this.viewer();\n const handler = this.submitHandlerValue();\n if (!viewer || !handler)\n return;\n this.isSubmitting.set(true);\n try {\n const result = await viewer.submit();\n if (result.success && result.answers) {\n const summary = await handler(result.answers);\n const questions = viewer.getQuestionsWithAnswers();\n this.submitResult.set(summary ?? null);\n this.lastSubmittedAnswers.set(result.answers);\n this.lastSubmittedQuestions.set(questions);\n if ((this.prePostConfigValue()?.postSummaryEnabled ?? false) && summary) {\n this.flowStep.set('summary');\n }\n else {\n this.close({ answers: result.answers, questions, submitted: true });\n }\n }\n }\n finally {\n this.isSubmitting.set(false);\n }\n }\n async handlePreviousClick() {\n await this.viewer()?.navigatePrevious();\n }\n async handleNextClick() {\n await this.viewer()?.navigateNext();\n }\n async handleSubmitClick() {\n const viewer = this.viewer();\n const handler = this.submitHandlerValue();\n if (!viewer || !handler)\n return;\n this.isSubmitting.set(true);\n try {\n const result = await viewer.submit();\n if (result.success && result.answers) {\n const summary = await handler(result.answers);\n const questions = viewer.getQuestionsWithAnswers();\n this.submitResult.set(summary ?? null);\n this.lastSubmittedAnswers.set(result.answers);\n this.lastSubmittedQuestions.set(questions);\n if (this.prePostConfigValue()?.postSummaryEnabled && summary) {\n this.flowStep.set('summary');\n }\n else {\n this.close({ answers: result.answers, questions, submitted: true });\n }\n }\n }\n finally {\n this.isSubmitting.set(false);\n }\n }\n handleDone() {\n const answers = this.lastSubmittedAnswers();\n const questions = this.lastSubmittedQuestions();\n this.close({ answers, questions, submitted: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.16\", type: AXMQuestionnaireViewerPopupComponent, isStandalone: true, selector: \"axm-questionnaire-viewer-popup\", inputs: { structure: { classPropertyName: \"structure\", publicName: \"structure\", isSignal: true, isRequired: true, transformFunction: null }, prePostConfig: { classPropertyName: \"prePostConfig\", publicName: \"prePostConfig\", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: \"config\", publicName: \"config\", isSignal: true, isRequired: false, transformFunction: null }, initialAnswers: { classPropertyName: \"initialAnswers\", publicName: \"initialAnswers\", isSignal: true, isRequired: false, transformFunction: null }, submitHandler: { classPropertyName: \"submitHandler\", publicName: \"submitHandler\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"viewer\", first: true, predicate: [\"viewer\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `\n <div class=\"__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden\">\n <div class=\"__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto\">\n @if (flowStep() === 'pre') {\n <axm-pre-questionnaire-content\n [content]=\"prePostConfigValue()?.preContent\"\n ></axm-pre-questionnaire-content>\n } @else if (flowStep() === 'summary') {\n <axm-post-questionnaire-content\n mode=\"summary\"\n [summaryContent]=\"prePostConfigValue()?.postSummaryContent\"\n [placeholderValues]=\"submitResult()\"\n ></axm-post-questionnaire-content>\n } @else {\n @if (flowStep() === 'review') {\n <axm-post-questionnaire-content\n mode=\"review\"\n [questionsWithAnswers]=\"reviewSnapshot()\"\n [reviewContext]=\"reviewContext()\"\n ></axm-post-questionnaire-content>\n }\n <div\n class=\"__questions ax-flex ax-flex-col ax-min-h-full\"\n [class.ax-invisible]=\"flowStep() === 'review'\"\n [style.position]=\"flowStep() === 'review' ? 'fixed' : null\"\n [style.left]=\"flowStep() === 'review' ? '-9999px' : null\"\n [class.ax-size-0]=\"flowStep() === 'review'\"\n [class.ax-overflow-hidden]=\"flowStep() === 'review'\"\n >\n <div class=\"__header ax-p-4 ax-border-b\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600\">\n @if (totalQuestionsCount() > 0) {\n <span><i class=\"fa-light fa-list-check\"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>\n }\n @if (showTimer()) {\n <axp-stopwatch\n [mode]=\"'count-down'\"\n [timeLimit]=\"timerTimeLimit()\"\n [format]=\"timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'\"\n [autoStart]=\"true\"\n [showControls]=\"false\"\n [value]=\"timerElapsed()\"\n (valueChange)=\"viewerViewModel()!.updateTimerElapsed($event)\"\n ></axp-stopwatch>\n }\n </div>\n </div>\n </div>\n <div class=\"__content ax-flex-1 ax-min-h-0\">\n <axm-questionnaire-viewer\n #viewer\n [structure]=\"structureValue()\"\n [config]=\"configValue()\"\n [initialAnswers]=\"effectiveInitialAnswers()\"\n ></axm-questionnaire-viewer>\n </div>\n </div>\n }\n </div>\n @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {\n <ax-footer class=\"ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3\">\n <ax-prefix>\n @if (flowStep() === 'questions') {\n <div class=\"ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600\">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>\n }\n </ax-prefix>\n <ax-suffix>\n @if (flowStep() === 'pre') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n } @else if (flowStep() === 'questions') {\n @if (showNavigationButtons()) {\n <ax-button look=\"solid\" [disabled]=\"!canNavigatePrevious()\" [text]=\"'@general:actions.previous.title' | translate | async\" (onClick)=\"handlePreviousClick()\"></ax-button>\n @if (!isLastStep()) {\n <ax-button look=\"solid\" color=\"primary\" [disabled]=\"!canNavigateNext()\" [text]=\"'@general:actions.next.title' | translate | async\" (onClick)=\"handleNextClick()\"></ax-button>\n }\n }\n @if (isLastStep() && showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async\" [disabled]=\"!areAllRequiredQuestionsAnswered()\" (onClick)=\"handleReviewClick()\"></ax-button>\n }\n @if (isLastStep() && !showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting() || !areAllRequiredQuestionsAnswered()\" (onClick)=\"handleSubmitClick()\"></ax-button>\n }\n } @else if (flowStep() === 'review') {\n <ax-button look=\"outline\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting()\" (onClick)=\"handleReviewSubmit()\"></ax-button>\n } @else if (flowStep() === 'summary') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\" (onClick)=\"handleDone()\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n </div>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXPStopwatchComponent, selector: \"axp-stopwatch\", inputs: [\"mode\", \"timeLimit\", \"format\", \"autoStart\", \"showControls\", \"value\"], outputs: [\"valueChange\", \"timeUp\"] }, { kind: \"component\", type: AXMQuestionnaireViewerComponent, selector: \"axm-questionnaire-viewer\", inputs: [\"questionnaireId\", \"structure\", \"config\", \"initialAnswers\"], outputs: [\"answersChanged\", \"questionAnswered\"] }, { kind: \"component\", type: AXMPreQuestionnaireContentComponent, selector: \"axm-pre-questionnaire-content\", inputs: [\"content\", \"locale\"] }, { kind: \"component\", type: AXMPostQuestionnaireContentComponent, selector: \"axm-post-questionnaire-content\", inputs: [\"mode\", \"questionsWithAnswers\", \"reviewContext\", \"summaryContent\", \"placeholderValues\", \"locale\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerPopupComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'axm-questionnaire-viewer-popup',\n template: `\n <div class=\"__main-container ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-overflow-hidden\">\n <div class=\"__content-area ax-flex-1 ax-min-h-0 ax-overflow-auto\">\n @if (flowStep() === 'pre') {\n <axm-pre-questionnaire-content\n [content]=\"prePostConfigValue()?.preContent\"\n ></axm-pre-questionnaire-content>\n } @else if (flowStep() === 'summary') {\n <axm-post-questionnaire-content\n mode=\"summary\"\n [summaryContent]=\"prePostConfigValue()?.postSummaryContent\"\n [placeholderValues]=\"submitResult()\"\n ></axm-post-questionnaire-content>\n } @else {\n @if (flowStep() === 'review') {\n <axm-post-questionnaire-content\n mode=\"review\"\n [questionsWithAnswers]=\"reviewSnapshot()\"\n [reviewContext]=\"reviewContext()\"\n ></axm-post-questionnaire-content>\n }\n <div\n class=\"__questions ax-flex ax-flex-col ax-min-h-full\"\n [class.ax-invisible]=\"flowStep() === 'review'\"\n [style.position]=\"flowStep() === 'review' ? 'fixed' : null\"\n [style.left]=\"flowStep() === 'review' ? '-9999px' : null\"\n [class.ax-size-0]=\"flowStep() === 'review'\"\n [class.ax-overflow-hidden]=\"flowStep() === 'review'\"\n >\n <div class=\"__header ax-p-4 ax-border-b\">\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600\">\n @if (totalQuestionsCount() > 0) {\n <span><i class=\"fa-light fa-list-check\"></i> {{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>\n }\n @if (showTimer()) {\n <axp-stopwatch\n [mode]=\"'count-down'\"\n [timeLimit]=\"timerTimeLimit()\"\n [format]=\"timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'\"\n [autoStart]=\"true\"\n [showControls]=\"false\"\n [value]=\"timerElapsed()\"\n (valueChange)=\"viewerViewModel()!.updateTimerElapsed($event)\"\n ></axp-stopwatch>\n }\n </div>\n </div>\n </div>\n <div class=\"__content ax-flex-1 ax-min-h-0\">\n <axm-questionnaire-viewer\n #viewer\n [structure]=\"structureValue()\"\n [config]=\"configValue()\"\n [initialAnswers]=\"effectiveInitialAnswers()\"\n ></axm-questionnaire-viewer>\n </div>\n </div>\n }\n </div>\n @if (flowStep() === 'pre' || flowStep() === 'questions' || flowStep() === 'review' || flowStep() === 'summary') {\n <ax-footer class=\"ax-flex-shrink-0 ax-border-t ax-border-neutral-200 ax-px-4 ax-py-3\">\n <ax-prefix>\n @if (flowStep() === 'questions') {\n <div class=\"ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600\">{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}</div>\n }\n </ax-prefix>\n <ax-suffix>\n @if (flowStep() === 'pre') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n } @else if (flowStep() === 'questions') {\n @if (showNavigationButtons()) {\n <ax-button look=\"solid\" [disabled]=\"!canNavigatePrevious()\" [text]=\"'@general:actions.previous.title' | translate | async\" (onClick)=\"handlePreviousClick()\"></ax-button>\n @if (!isLastStep()) {\n <ax-button look=\"solid\" color=\"primary\" [disabled]=\"!canNavigateNext()\" [text]=\"'@general:actions.next.title' | translate | async\" (onClick)=\"handleNextClick()\"></ax-button>\n }\n }\n @if (isLastStep() && showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async\" [disabled]=\"!areAllRequiredQuestionsAnswered()\" (onClick)=\"handleReviewClick()\"></ax-button>\n }\n @if (isLastStep() && !showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting() || !areAllRequiredQuestionsAnswered()\" (onClick)=\"handleSubmitClick()\"></ax-button>\n }\n } @else if (flowStep() === 'review') {\n <ax-button look=\"outline\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async\" (onClick)=\"flowStep.set('questions')\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\" [disabled]=\"isSubmitting()\" (onClick)=\"handleReviewSubmit()\"></ax-button>\n } @else if (flowStep() === 'summary') {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\" (onClick)=\"handleDone()\"></ax-button>\n }\n </ax-suffix>\n </ax-footer>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPStopwatchComponent,\n AXMQuestionnaireViewerComponent,\n AXMPreQuestionnaireContentComponent,\n AXMPostQuestionnaireContentComponent,\n ],\n encapsulation: ViewEncapsulation.None,\n }]\n }], ctorParameters: () => [], propDecorators: { structure: [{ type: i0.Input, args: [{ isSignal: true, alias: \"structure\", required: true }] }], prePostConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: \"prePostConfig\", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: \"config\", required: false }] }], initialAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: \"initialAnswers\", required: false }] }], submitHandler: [{ type: i0.Input, args: [{ isSignal: true, alias: \"submitHandler\", required: false }] }], viewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS12aWV3ZXItcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2Fzc2Vzc21lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3F1ZXN0aW9ubmFpcmUtdmlld2VyL3F1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RixPQUFPLEVBQ0wsb0NBQW9DLEdBRXJDLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVFqRCxZQUFZO0FBRVosaUNBQWlDO0FBK0dqQyxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsbUJBQW1CO0lBNkJuRSxjQUFjLENBQUksWUFBMkI7UUFDbkQsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFV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QU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F6TFUsb0NBQW9DO21HQUFwQyxvQ0FBb0MsZzZCQTNHckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZGVCwyREFHQyxZQUFZLDhCQUNaLG1CQUFtQiw4QkFDbkIsY0FBYyw2WEFDZCxpQkFBaUIsc1BBQ2pCLHFCQUFxQiw2S0FDckIsK0JBQStCLDRMQUMvQixtQ0FBbUMseUdBQ25DLG9DQUFvQzs7NEZBSTNCLG9DQUFvQztrQkE3R2hELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2RlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsK0JBQStCO3dCQUMvQixtQ0FBbUM7d0JBQ25DLG9DQUFvQztxQkFDckM7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzJsQkF3RXdFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYUFN0b3B3YXRjaENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQnVpbGRlclZhbHVlIH0gZnJvbSAnLi4vcXVlc3Rpb25uYWlyZS1idWlsZGVyL3F1ZXN0aW9ubmFpcmUtYnVpbGRlci50eXBlcyc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9xdWVzdGlvbm5haXJlLXZpZXdlci50eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFByZVBvc3RDb25maWcgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUudHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfSBmcm9tICcuL3V0aWxzL3ByZS1wb3N0LWNvbnRlbnQudXRpbHMnO1xuaW1wb3J0IHsgQVhNUXVlc3Rpb25uYWlyZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vcXVlc3Rpb25uYWlyZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFYTVByZVF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZS1xdWVzdGlvbm5haXJlLWNvbnRlbnQnO1xuaW1wb3J0IHtcbiAgQVhNUG9zdFF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50LFxuICB0eXBlIFF1ZXN0aW9uV2l0aEFuc3dlcixcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Bvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50JztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgVHlwZXMgICAtLS0tXG5cbnR5cGUgRmxvd1N0ZXAgPSAncHJlJyB8ICdxdWVzdGlvbnMnIHwgJ3JldmlldycgfCAnc3VtbWFyeSc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCAgIC0tLS1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhtLXF1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiX19tYWluLWNvbnRhaW5lciBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWZsZXgtMSBheC1taW4taC0wIGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudC1hcmVhIGF4LWZsZXgtMSBheC1taW4taC0wIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgQGlmIChmbG93U3RlcCgpID09PSAncHJlJykge1xuICAgICAgICAgIDxheG0tcHJlLXF1ZXN0aW9ubmFpcmUtY29udGVudFxuICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnByZUNvbnRlbnRcIlxuICAgICAgICAgID48L2F4bS1wcmUtcXVlc3Rpb25uYWlyZS1jb250ZW50PlxuICAgICAgICB9IEBlbHNlIGlmIChmbG93U3RlcCgpID09PSAnc3VtbWFyeScpIHtcbiAgICAgICAgICA8YXhtLXBvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50XG4gICAgICAgICAgICBtb2RlPVwic3VtbWFyeVwiXG4gICAgICAgICAgICBbc3VtbWFyeUNvbnRlbnRdPVwicHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnBvc3RTdW1tYXJ5Q29udGVudFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJWYWx1ZXNdPVwic3VibWl0UmVzdWx0KClcIlxuICAgICAgICAgID48L2F4bS1wb3N0LXF1ZXN0aW9ubmFpcmUtY29udGVudD5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGlmIChmbG93U3RlcCgpID09PSAncmV2aWV3Jykge1xuICAgICAgICAgICAgPGF4bS1wb3N0LXF1ZXN0aW9ubmFpcmUtY29udGVudFxuICAgICAgICAgICAgICBtb2RlPVwicmV2aWV3XCJcbiAgICAgICAgICAgICAgW3F1ZXN0aW9uc1dpdGhBbnN3ZXJzXT1cInJldmlld1NuYXBzaG90KClcIlxuICAgICAgICAgICAgICBbcmV2aWV3Q29udGV4dF09XCJyZXZpZXdDb250ZXh0KClcIlxuICAgICAgICAgICAgPjwvYXhtLXBvc3QtcXVlc3Rpb25uYWlyZS1jb250ZW50PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIl9fcXVlc3Rpb25zIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWluLWgtZnVsbFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtaW52aXNpYmxlXT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnXCJcbiAgICAgICAgICAgIFtzdHlsZS5wb3NpdGlvbl09XCJmbG93U3RlcCgpID09PSAncmV2aWV3JyA/ICdmaXhlZCcgOiBudWxsXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnID8gJy05OTk5cHgnIDogbnVsbFwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtc2l6ZS0wXT1cImZsb3dTdGVwKCkgPT09ICdyZXZpZXcnXCJcbiAgICAgICAgICAgIFtjbGFzcy5heC1vdmVyZmxvdy1oaWRkZW5dPVwiZmxvd1N0ZXAoKSA9PT0gJ3JldmlldydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2hlYWRlciBheC1wLTQgYXgtYm9yZGVyLWJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtNCBheC10ZXh0LXNtIGF4LXRleHQtbmV1dHJhbC02MDBcIj5cbiAgICAgICAgICAgICAgICAgIEBpZiAodG90YWxRdWVzdGlvbnNDb3VudCgpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWxpc3QtY2hlY2tcIj48L2k+IHt7IHRvdGFsUXVlc3Rpb25zQ291bnQoKSB9fSB7eyB0b3RhbFF1ZXN0aW9uc0NvdW50KCkgPT09IDEgPyAnUXVlc3Rpb24nIDogJ1F1ZXN0aW9ucycgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaWYgKHNob3dUaW1lcigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheHAtc3RvcHdhdGNoXG4gICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwiJ2NvdW50LWRvd24nXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGltZUxpbWl0XT1cInRpbWVyVGltZUxpbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwidGltZXJUaW1lTGltaXQoKSAmJiB0aW1lclRpbWVMaW1pdCgpISA+PSAzNjAwID8gJ2hoOm1tOnNzJyA6ICdtbTpzcydcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdXRvU3RhcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dDb250cm9sc109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRpbWVyRWxhcHNlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwidmlld2VyVmlld01vZGVsKCkhLnVwZGF0ZVRpbWVyRWxhcHNlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXhwLXN0b3B3YXRjaD5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2NvbnRlbnQgYXgtZmxleC0xIGF4LW1pbi1oLTBcIj5cbiAgICAgICAgICAgICAgPGF4bS1xdWVzdGlvbm5haXJlLXZpZXdlclxuICAgICAgICAgICAgICAgICN2aWV3ZXJcbiAgICAgICAgICAgICAgICBbc3RydWN0dXJlXT1cInN0cnVjdHVyZVZhbHVlKClcIlxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgW2luaXRpYWxBbnN3ZXJzXT1cImVmZmVjdGl2ZUluaXRpYWxBbnN3ZXJzKClcIlxuICAgICAgICAgICAgICA+PC9heG0tcXVlc3Rpb25uYWlyZS12aWV3ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICBAaWYgKGZsb3dTdGVwKCkgPT09ICdwcmUnIHx8IGZsb3dTdGVwKCkgPT09ICdxdWVzdGlvbnMnIHx8IGZsb3dTdGVwKCkgPT09ICdyZXZpZXcnIHx8IGZsb3dTdGVwKCkgPT09ICdzdW1tYXJ5Jykge1xuICAgICAgICA8YXgtZm9vdGVyIGNsYXNzPVwiYXgtZmxleC1zaHJpbmstMCBheC1ib3JkZXItdCBheC1ib3JkZXItbmV1dHJhbC0yMDAgYXgtcHgtNCBheC1weS0zXCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIEBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3F1ZXN0aW9ucycpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1tb25vIGF4LXRhYnVsYXItbnVtcyBheC10ZXh0LW5ldXRyYWwtNjAwXCI+e3sgYW5zd2VyZWRRdWVzdGlvbnNDb3VudCgpIH19IC8ge3sgdG90YWxRdWVzdGlvbnNDb3VudCgpIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgIEBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3ByZScpIHtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cuc3RhcnQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJmbG93U3RlcC5zZXQoJ3F1ZXN0aW9ucycpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICB9IEBlbHNlIGlmIChmbG93U3RlcCgpID09PSAncXVlc3Rpb25zJykge1xuICAgICAgICAgICAgICBAaWYgKHNob3dOYXZpZ2F0aW9uQnV0dG9ucygpKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBbZGlzYWJsZWRdPVwiIWNhbk5hdmlnYXRlUHJldmlvdXMoKVwiIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLnByZXZpb3VzLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlUHJldmlvdXNDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgQGlmICghaXNMYXN0U3RlcCgpKSB7XG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhY2FuTmF2aWdhdGVOZXh0KClcIiBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5uZXh0LnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgKG9uQ2xpY2spPVwiaGFuZGxlTmV4dENsaWNrKClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChpc0xhc3RTdGVwKCkgJiYgc2hvd1Jldmlld0J1dHRvbigpKSB7XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cucmV2aWV3JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cIiFhcmVBbGxSZXF1aXJlZFF1ZXN0aW9uc0Fuc3dlcmVkKClcIiAob25DbGljayk9XCJoYW5kbGVSZXZpZXdDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChpc0xhc3RTdGVwKCkgJiYgIXNob3dSZXZpZXdCdXR0b24oKSkge1xuICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiJ0BnZW5lcmFsOmFjdGlvbnMuc3VibWl0LnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImlzU3VibWl0dGluZygpIHx8ICFhcmVBbGxSZXF1aXJlZFF1ZXN0aW9uc0Fuc3dlcmVkKClcIiAob25DbGljayk9XCJoYW5kbGVTdWJtaXRDbGljaygpXCI+PC9heC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZsb3dTdGVwKCkgPT09ICdyZXZpZXcnKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cIm91dGxpbmVcIiBbdGV4dF09XCInQGFzc2Vzc21lbnQtbWFuYWdlbWVudDpxdWVzdGlvbm5haXJlcy5jb21wb25lbnRzLnF1ZXN0aW9ubmFpcmUtdmlld2VyLmZsb3cuZWRpdCcgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChvbkNsaWNrKT1cImZsb3dTdGVwLnNldCgncXVlc3Rpb25zJylcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5zdWJtaXQudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXR0aW5nKClcIiAob25DbGljayk9XCJoYW5kbGVSZXZpZXdTdWJtaXQoKVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoZmxvd1N0ZXAoKSA9PT0gJ3N1bW1hcnknKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiJ0Bhc3Nlc3NtZW50LW1hbmFnZW1lbnQ6cXVlc3Rpb25uYWlyZXMuY29tcG9uZW50cy5xdWVzdGlvbm5haXJlLXZpZXdlci5mbG93LmRvbmUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAob25DbGljayk9XCJoYW5kbGVEb25lKClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgPC9heC1mb290ZXI+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhQU3RvcHdhdGNoQ29tcG9uZW50LFxuICAgIEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJDb21wb25lbnQsXG4gICAgQVhNUHJlUXVlc3Rpb25uYWlyZUNvbnRlbnRDb21wb25lbnQsXG4gICAgQVhNUG9zdFF1ZXN0aW9ubmFpcmVDb250ZW50Q29tcG9uZW50LFxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1RdWVzdGlvbm5haXJlVmlld2VyUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBJbnB1dHMgICAtLS0tXG5cbiAgc3RydWN0dXJlID0gaW5wdXQucmVxdWlyZWQ8UXVlc3Rpb25uYWlyZUJ1aWxkZXJWYWx1ZT4oKTtcbiAgcHJlUG9zdENvbmZpZyA9IGlucHV0PFByZVBvc3RDb25maWcgfCBudWxsPihudWxsKTtcbiAgY29uZmlnID0gaW5wdXQ8UXVlc3Rpb25uYWlyZVZpZXdlckNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgaW5pdGlhbEFuc3dlcnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG4gIHN1Ym1pdEhhbmRsZXIgPSBpbnB1dDxcbiAgICAoKGFuc3dlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IFByb21pc2U8U3VtbWFyeVBsYWNlaG9sZGVyVmFsdWVzIHwgbnVsbCB8IHZvaWQ+KSB8IHVuZGVmaW5lZFxuICA+KCk7XG5cbiAgLyoqIFNhZmUgYWNjZXNzb3JzOiBwb3B1cCBmcmFtZXdvcmsgbWF5IG92ZXJ3cml0ZSBpbnB1dHMgd2l0aCBwbGFpbiB2YWx1ZXMuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVQb3N0Q29uZmlnVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMucHJlUG9zdENvbmZpZykpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RydWN0dXJlVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMuc3RydWN0dXJlKSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWdWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2FmZUlucHV0VmFsdWUodGhpcy5jb25maWcpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluaXRpYWxBbnN3ZXJzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNhZmVJbnB1dFZhbHVlKHRoaXMuaW5pdGlhbEFuc3dlcnMpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1pdEhhbmRsZXJWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5zYWZlSW5wdXRWYWx1ZSh0aGlzLnN1Ym1pdEhhbmRsZXIpO1xuICAgIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGhhbmRsZXI7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFN1Ym1pdEhhbmRsZXIoKTtcbiAgfSk7XG5cbiAgLyoqIFVzZSBhbnN3ZXJzIGZyb20gcmV2aWV3IGNvbnRleHQgd2hlbiByZXR1cm5pbmcgZnJvbSByZXZpZXc7IG90aGVyd2lzZSB1c2UgaW5pdGlhbCBpbnB1dC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVmZmVjdGl2ZUluaXRpYWxBbnN3ZXJzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMucmV2aWV3Q29udGV4dCgpO1xuICAgIGlmICghY3R4KSByZXR1cm4gdGhpcy5pbml0aWFsQW5zd2Vyc1ZhbHVlKCk7XG4gICAgcmV0dXJuIChjdHggYXMgeyBhbnN3ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PiB9KS5hbnN3ZXJzID8/IGN0eDtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBzYWZlSW5wdXRWYWx1ZTxUPihpbnB1dE9yVmFsdWU6IFQgfCAoKCkgPT4gVCkpOiBUIHtcbiAgICByZXR1cm4gdHlwZW9mIGlucHV0T3JWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IChpbnB1dE9yVmFsdWUgYXMgKCkgPT4gVCkoKSA6IChpbnB1dE9yVmFsdWUgYXMgVCk7XG4gIH1cblxuICAvKiogRmFsbGJhY2sgd2hlbiBzdWJtaXRIYW5kbGVyIGlzIG5vdCBwYXNzZWQgKGUuZy4gcG9wdXAgZnJhbWV3b3JrIGRvZXMgbm90IHBhc3MgZnVuY3Rpb25zKS4gKi9cbiAgcHJpdmF0ZSBnZXREZWZhdWx0U3VibWl0SGFuZGxlcigpOiAoYW5zd2VyczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUHJvbWlzZTxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsPiB7XG4gICAgY29uc3Qgc3RydWN0dXJlID0gdGhpcy5zdHJ1Y3R1cmVWYWx1ZSgpO1xuICAgIGNvbnN0IHByZVBvc3QgPSB0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpO1xuICAgIGNvbnN0IHRvdGFsUXVlc3Rpb25zID0gc3RydWN0dXJlPy5zZWN0aW9ucz8ucmVkdWNlKChzOiBudW1iZXIsIHNlYzogYW55KSA9PiBzICsgKHNlYy5pdGVtcz8ubGVuZ3RoID8/IDApLCAwKSA/PyAwO1xuICAgIGNvbnN0IHBhc3NpbmdTY29yZSA9IHByZVBvc3Q/LnBhc3NpbmdTY29yZTtcbiAgICByZXR1cm4gYXN5bmMgKGFuc3dlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgICAgIGNvbnN0IGFuc3dlcmVkQ291bnQgPSBPYmplY3Qua2V5cyhhbnN3ZXJzKS5maWx0ZXIoKGspID0+IHtcbiAgICAgICAgY29uc3QgdiA9IGFuc3dlcnNba107XG4gICAgICAgIHJldHVybiB2ICE9IG51bGwgJiYgdiAhPT0gJycgJiYgIShBcnJheS5pc0FycmF5KHYpICYmIHYubGVuZ3RoID09PSAwKTtcbiAgICAgIH0pLmxlbmd0aDtcbiAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudGFnZSA9IHRvdGFsUXVlc3Rpb25zID4gMCA/IE1hdGgucm91bmQoKGFuc3dlcmVkQ291bnQgLyB0b3RhbFF1ZXN0aW9ucykgKiAxMDApIDogMDtcbiAgICAgIGNvbnN0IHBhc3NGYWlsID0gcGFzc2luZ1Njb3JlICE9IG51bGwgPyAocHJvZ3Jlc3NQZXJjZW50YWdlID49IHBhc3NpbmdTY29yZSA/ICdQYXNzJyA6ICdGYWlsJykgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyBzY29yZTogcHJvZ3Jlc3NQZXJjZW50YWdlLCBwYXNzRmFpbCwgdG90YWxRdWVzdGlvbnMsIGFuc3dlcmVkQ291bnQgfTtcbiAgICB9O1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBTdGF0ZSAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmxvd1N0ZXAgPSBzaWduYWw8Rmxvd1N0ZXA+KCdxdWVzdGlvbnMnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJldmlld1NuYXBzaG90ID0gc2lnbmFsPFF1ZXN0aW9uV2l0aEFuc3dlcltdPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZXZpZXdDb250ZXh0ID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1pdFJlc3VsdCA9IHNpZ25hbDxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhc3RTdWJtaXR0ZWRBbnN3ZXJzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhc3RTdWJtaXR0ZWRRdWVzdGlvbnMgPSBzaWduYWw8QXJyYXk8eyBxdWVzdGlvbklkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IGFuc3dlcjogYW55IH0+PihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1N1Ym1pdHRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuTmF2aWdhdGVQcmV2aW91cyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYW5OYXZpZ2F0ZU5leHQgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd05hdmlnYXRpb25CdXR0b25zID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTGFzdFN0ZXAgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJlQWxsUmVxdWlyZWRRdWVzdGlvbnNBbnN3ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBWaWV3IFJlZmVyZW5jZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdlciA9IHZpZXdDaGlsZDxBWE1RdWVzdGlvbm5haXJlVmlld2VyQ29tcG9uZW50Pigndmlld2VyJyk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlld2VyVmlld01vZGVsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXIoKT8udmlld21vZGVsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvdGFsUXVlc3Rpb25zQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdlclZpZXdNb2RlbCgpPy50b3RhbFF1ZXN0aW9uc0NvdW50KCkgPz8gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzaG93VGltZXIgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZpZXdlclZpZXdNb2RlbCgpPy5zaG93VGltZXIoKSA/PyBmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0aW1lclRpbWVMaW1pdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmlld2VyVmlld01vZGVsKCk/LnRpbWVyVGltZUxpbWl0KCkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGltZXJFbGFwc2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXJWaWV3TW9kZWwoKT8udGltZXJFbGFwc2VkKCkgPz8gMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBhbnN3ZXJlZFF1ZXN0aW9uc0NvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3ZXJWaWV3TW9kZWwoKT8uYW5zd2VyZWRRdWVzdGlvbnNDb3VudCgpID8/IDApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzaG93UmV2aWV3QnV0dG9uID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5pc0xhc3RTdGVwKCkgJiYgKHRoaXMucHJlUG9zdENvbmZpZ1ZhbHVlKCk/LnBvc3RSZXZpZXdFbmFibGVkID8/IGZhbHNlKSAmJiB0aGlzLmZsb3dTdGVwKCkgPT09ICdxdWVzdGlvbnMnXG4gICk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgICAtLS0tXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY2ZnID0gdGhpcy5wcmVQb3N0Q29uZmlnVmFsdWUoKTtcbiAgICAgIHRoaXMuZmxvd1N0ZXAuc2V0KGNmZz8ucHJlRW5hYmxlZCA9PT0gdHJ1ZSA/ICdwcmUnIDogJ3F1ZXN0aW9ucycpO1xuICAgIH0pO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB2ID0gdGhpcy52aWV3ZXIoKTtcbiAgICAgIGlmICh2KSB7XG4gICAgICAgIGNvbnN0IHZtID0gdi52aWV3bW9kZWw7XG4gICAgICAgIHRoaXMuY2FuTmF2aWdhdGVQcmV2aW91cy5zZXQodm0uY2FuTmF2aWdhdGVQcmV2aW91cygpKTtcbiAgICAgICAgdGhpcy5jYW5OYXZpZ2F0ZU5leHQuc2V0KHZtLmNhbk5hdmlnYXRlTmV4dCgpKTtcbiAgICAgICAgY29uc3Qgdmlld01vZGUgPSB2LnZpZXdNb2RlO1xuICAgICAgICB0aGlzLnNob3dOYXZpZ2F0aW9uQnV0dG9ucy5zZXQodmlld01vZGUgPT09ICdwYWdlLXBlci1ncm91cCcgfHwgdmlld01vZGUgPT09ICdwYWdlLXBlci1xdWVzdGlvbicgfHwgdmlld01vZGUgPT09ICdzaWRlLW1lbnUnKTtcbiAgICAgICAgdGhpcy5pc0xhc3RTdGVwLnNldCh2LmlzTGFzdFN0ZXApO1xuICAgICAgICB0aGlzLmFyZUFsbFJlcXVpcmVkUXVlc3Rpb25zQW5zd2VyZWQuc2V0KHYuYXJlQWxsUmVxdWlyZWRRdWVzdGlvbnNBbnN3ZXJlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSZXZpZXdDbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3ZXIgPSB0aGlzLnZpZXdlcigpO1xuICAgIGNvbnN0IGl0ZW1zID0gdmlld2VyPy5nZXRRdWVzdGlvbnNXaXRoQW5zd2VycygpID8/IFtdO1xuICAgIGNvbnN0IGNvbnRleHQgPSB2aWV3ZXI/LmdldFJldmlld0NvbnRleHQoKSA/PyBudWxsO1xuICAgIHRoaXMucmV2aWV3U25hcHNob3Quc2V0KGl0ZW1zLm1hcCgocSkgPT4gKHsgcXVlc3Rpb25JZDogcS5xdWVzdGlvbklkLCB0aXRsZTogcS50aXRsZSwgYW5zd2VyOiBxLmFuc3dlciwgcXVlc3Rpb246IHEucXVlc3Rpb24gfSkpKTtcbiAgICB0aGlzLnJldmlld0NvbnRleHQuc2V0KGNvbnRleHQpO1xuICAgIHRoaXMuZmxvd1N0ZXAuc2V0KCdyZXZpZXcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVSZXZpZXdTdWJtaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgdmlld2VyID0gdGhpcy52aWV3ZXIoKTtcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5zdWJtaXRIYW5kbGVyVmFsdWUoKTtcbiAgICBpZiAoIXZpZXdlciB8fCAhaGFuZGxlcikgcmV0dXJuO1xuICAgIHRoaXMuaXNTdWJtaXR0aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdmlld2VyLnN1Ym1pdCgpO1xuICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzICYmIHJlc3VsdC5hbnN3ZXJzKSB7XG4gICAgICAgIGNvbnN0IHN1bW1hcnkgPSBhd2FpdCBoYW5kbGVyKHJlc3VsdC5hbnN3ZXJzKTtcbiAgICAgICAgY29uc3QgcXVlc3Rpb25zID0gdmlld2VyLmdldFF1ZXN0aW9uc1dpdGhBbnN3ZXJzKCk7XG4gICAgICAgIHRoaXMuc3VibWl0UmVzdWx0LnNldChzdW1tYXJ5ID8/IG51bGwpO1xuICAgICAgICB0aGlzLmxhc3RTdWJtaXR0ZWRBbnN3ZXJzLnNldChyZXN1bHQuYW5zd2Vycyk7XG4gICAgICAgIHRoaXMubGFzdFN1Ym1pdHRlZFF1ZXN0aW9ucy5zZXQocXVlc3Rpb25zKTtcbiAgICAgICAgaWYgKCh0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpPy5wb3N0U3VtbWFyeUVuYWJsZWQgPz8gZmFsc2UpICYmIHN1bW1hcnkpIHtcbiAgICAgICAgICB0aGlzLmZsb3dTdGVwLnNldCgnc3VtbWFyeScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY2xvc2UoeyBhbnN3ZXJzOiByZXN1bHQuYW5zd2VycywgcXVlc3Rpb25zLCBzdWJtaXR0ZWQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUHJldmlvdXNDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnZpZXdlcigpPy5uYXZpZ2F0ZVByZXZpb3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlTmV4dENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudmlld2VyKCk/Lm5hdmlnYXRlTmV4dCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVN1Ym1pdENsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpZXdlciA9IHRoaXMudmlld2VyKCk7XG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuc3VibWl0SGFuZGxlclZhbHVlKCk7XG4gICAgaWYgKCF2aWV3ZXIgfHwgIWhhbmRsZXIpIHJldHVybjtcbiAgICB0aGlzLmlzU3VibWl0dGluZy5zZXQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZpZXdlci5zdWJtaXQoKTtcbiAgICAgIGlmIChyZXN1bHQuc3VjY2VzcyAmJiByZXN1bHQuYW5zd2Vycykge1xuICAgICAgICBjb25zdCBzdW1tYXJ5ID0gYXdhaXQgaGFuZGxlcihyZXN1bHQuYW5zd2Vycyk7XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9ucyA9IHZpZXdlci5nZXRRdWVzdGlvbnNXaXRoQW5zd2VycygpO1xuICAgICAgICB0aGlzLnN1Ym1pdFJlc3VsdC5zZXQoc3VtbWFyeSA/PyBudWxsKTtcbiAgICAgICAgdGhpcy5sYXN0U3VibWl0dGVkQW5zd2Vycy5zZXQocmVzdWx0LmFuc3dlcnMpO1xuICAgICAgICB0aGlzLmxhc3RTdWJtaXR0ZWRRdWVzdGlvbnMuc2V0KHF1ZXN0aW9ucyk7XG4gICAgICAgIGlmICh0aGlzLnByZVBvc3RDb25maWdWYWx1ZSgpPy5wb3N0U3VtbWFyeUVuYWJsZWQgJiYgc3VtbWFyeSkge1xuICAgICAgICAgIHRoaXMuZmxvd1N0ZXAuc2V0KCdzdW1tYXJ5Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSh7IGFuc3dlcnM6IHJlc3VsdC5hbnN3ZXJzLCBxdWVzdGlvbnMsIHN1Ym1pdHRlZDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEb25lKCk6IHZvaWQge1xuICAgIGNvbnN0IGFuc3dlcnMgPSB0aGlzLmxhc3RTdWJtaXR0ZWRBbnN3ZXJzKCk7XG4gICAgY29uc3QgcXVlc3Rpb25zID0gdGhpcy5sYXN0U3VibWl0dGVkUXVlc3Rpb25zKCk7XG4gICAgdGhpcy5jbG9zZSh7IGFuc3dlcnMsIHF1ZXN0aW9ucywgc3VibWl0dGVkOiB0cnVlIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ class AXMQuestionnaireViewerService {
16
16
  * Open questionnaire viewer in a dialog
17
17
  */
18
18
  async open(config) {
19
- const { AXMQuestionnaireViewerPopupComponent } = await import('./acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs');
19
+ const { AXMQuestionnaireViewerPopupComponent } = await import('./acorex-modules-assessment-management-questionnaire-viewer-popup.component-Bj-JfJqq.mjs');
20
20
  const structure = config.structure;
21
21
  const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;
22
22
  const passingScore = config.prePostConfig?.passingScore;
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
55
55
  }] });
56
56
 
57
57
  export { AXMQuestionnaireViewerService as A };
58
- //# sourceMappingURL=acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs.map
58
+ //# sourceMappingURL=acorex-modules-assessment-management-questionnaire-viewer.service-CVF6-BFW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs","sources":["../tmp-esm2022/assessment-management/lib/features/questionnaire-viewer/questionnaire-viewer.service.js"],"sourcesContent":["//#region ---- Imports ----\nimport { Injectable, inject } from '@angular/core';\nimport { AXPopupService } from '@acorex/components/popup';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Service ----\nexport class AXMQuestionnaireViewerService {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.popupService = inject(AXPopupService);\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Open questionnaire viewer in a dialog\n */\n async open(config) {\n const { AXMQuestionnaireViewerPopupComponent } = await import('./questionnaire-viewer-popup.component');\n const structure = config.structure;\n const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;\n const passingScore = config.prePostConfig?.passingScore;\n const submitHandler = config.submitHandler ??\n (async (answers) => {\n const answeredCount = Object.keys(answers).filter((k) => {\n const v = answers[k];\n return v != null && v !== '' && !(Array.isArray(v) && v.length === 0);\n }).length;\n const progressPercentage = totalQuestions > 0 ? Math.round((answeredCount / totalQuestions) * 100) : 0;\n const passFail = passingScore != null ? (progressPercentage >= passingScore ? 'Pass' : 'Fail') : undefined;\n return { score: progressPercentage, passFail, totalQuestions, answeredCount };\n });\n const result = await this.popupService.open(AXMQuestionnaireViewerPopupComponent, {\n title: config.title,\n size: config.size || 'lg',\n maximizable: true,\n data: {\n structure: config.structure,\n prePostConfig: config.prePostConfig ?? null,\n config: config.config,\n initialAnswers: config.initialAnswers || {},\n submitHandler,\n },\n });\n return result.data || null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS12aWV3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hc3Nlc3NtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9xdWVzdGlvbm5haXJlLXZpZXdlci9xdWVzdGlvbm5haXJlLXZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBeUUxRCxZQUFZO0FBRVosK0JBQStCO0FBSy9CLE1BQU0sT0FBTyw2QkFBNkI7SUFIMUM7UUFJSSwrQ0FBK0M7UUFFOUIsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0EwQzFEO0lBeENHLFlBQVk7SUFFWixzQ0FBc0M7SUFFdEM7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQTJDO1FBQ2xELE1BQU0sRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDeEcsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxNQUFNLGNBQWMsR0FBRyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQVMsRUFBRSxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsSCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FDZixNQUFNLENBQUMsYUFBYTtZQUNwQixDQUFDLEtBQUssRUFBRSxPQUE0QixFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ3BELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNWLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLFFBQVEsR0FBRyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDbEYsQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFO1lBQzlFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQ3pCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLElBQUksRUFBRTtnQkFDRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUk7Z0JBQzNDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLElBQUksRUFBRTtnQkFDM0MsYUFBYTthQUNoQjtTQUNKLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDL0IsQ0FBQzsrR0ExQ1EsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGMUIsTUFBTTs7NEZBRVQsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQnVpbGRlclZhbHVlIH0gZnJvbSAnLi4vcXVlc3Rpb25uYWlyZS1idWlsZGVyL3F1ZXN0aW9ubmFpcmUtYnVpbGRlci50eXBlcyc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9xdWVzdGlvbm5haXJlLXZpZXdlci50eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFByZVBvc3RDb25maWcgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUudHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfSBmcm9tICcuL3V0aWxzL3ByZS1wb3N0LWNvbnRlbnQudXRpbHMnO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBBWE1RdWVzdGlvbm5haXJlVmlld2VyU2VydmljZUNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogRGlhbG9nIHRpdGxlXG4gICAgICovXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFF1ZXN0aW9ubmFpcmUgc3RydWN0dXJlIGRhdGFcbiAgICAgKi9cbiAgICBzdHJ1Y3R1cmU6IFF1ZXN0aW9ubmFpcmVCdWlsZGVyVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBQcmUvcG9zdCBxdWVzdGlvbm5haXJlIGNvbmZpZyAod2VsY29tZSwgcmV2aWV3LCBzdW1tYXJ5KVxuICAgICAqL1xuICAgIHByZVBvc3RDb25maWc/OiBQcmVQb3N0Q29uZmlnIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIHZpZXdlciBjb25maWd1cmF0aW9uXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCBkaXNwbGF5U2V0dGluZ3MgZnJvbSBzdHJ1Y3R1cmUgd2lsbCBiZSB1c2VkXG4gICAgICovXG4gICAgY29uZmlnPzogUXVlc3Rpb25uYWlyZVZpZXdlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIERpYWxvZyBzaXplXG4gICAgICovXG4gICAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJztcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgYW5zd2VycyB0byBwcmUtZmlsbCB0aGUgcXVlc3Rpb25uYWlyZVxuICAgICAqL1xuICAgIGluaXRpYWxBbnN3ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gcHJvdmlkZWQsIGNhbGxlZCBvbiBzdWJtaXQuIFNob3VsZCBzYXZlIGFuZCByZXR1cm4gcmVzdWx0IGZvciBzdW1tYXJ5LlxuICAgICAqL1xuICAgIHN1Ym1pdEhhbmRsZXI/OiAoYW5zd2VyczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUHJvbWlzZTxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsIHwgdm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhNUXVlc3Rpb25uYWlyZVZpZXdlclNlcnZpY2VSZXN1bHQge1xuICAgIC8qKlxuICAgICAqIEFsbCBhbnN3ZXJzIGZyb20gdGhlIHF1ZXN0aW9ubmFpcmVcbiAgICAgKi9cbiAgICBhbnN3ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgLyoqXG4gICAgICogUXVlc3Rpb25zIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZyBhbnN3ZXJzXG4gICAgICovXG4gICAgcXVlc3Rpb25zOiBBcnJheTx7XG4gICAgICAgIHF1ZXN0aW9uSWQ6IHN0cmluZztcbiAgICAgICAgcXVlc3Rpb25CYW5rSXRlbUlkOiBzdHJpbmc7XG4gICAgICAgIHNlY3Rpb25JZDogc3RyaW5nO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgYW5zd2VyOiBhbnk7XG4gICAgICAgIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHdhcyBzdWJtaXR0ZWQgKHRydWUpIG9yIGNsb3NlZCAoZmFsc2UpXG4gICAgICovXG4gICAgc3VibWl0dGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlICAgLS0tLVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1RdWVzdGlvbm5haXJlVmlld2VyU2VydmljZSB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gcXVlc3Rpb25uYWlyZSB2aWV3ZXIgaW4gYSBkaWFsb2dcbiAgICAgKi9cbiAgICBhc3luYyBvcGVuKGNvbmZpZzogQVhNUXVlc3Rpb25uYWlyZVZpZXdlclNlcnZpY2VDb25maWcpOiBQcm9taXNlPEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJTZXJ2aWNlUmVzdWx0IHwgbnVsbD4ge1xuICAgICAgICBjb25zdCB7IEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJQb3B1cENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuL3F1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwLmNvbXBvbmVudCcpO1xuICAgICAgICBjb25zdCBzdHJ1Y3R1cmUgPSBjb25maWcuc3RydWN0dXJlO1xuICAgICAgICBjb25zdCB0b3RhbFF1ZXN0aW9ucyA9IHN0cnVjdHVyZT8uc2VjdGlvbnM/LnJlZHVjZSgoczogbnVtYmVyLCBzZWM6IGFueSkgPT4gcyArIChzZWMuaXRlbXM/Lmxlbmd0aCA/PyAwKSwgMCkgPz8gMDtcbiAgICAgICAgY29uc3QgcGFzc2luZ1Njb3JlID0gY29uZmlnLnByZVBvc3RDb25maWc/LnBhc3NpbmdTY29yZTtcbiAgICAgICAgY29uc3Qgc3VibWl0SGFuZGxlciA9XG4gICAgICAgICAgICBjb25maWcuc3VibWl0SGFuZGxlciA/P1xuICAgICAgICAgICAgKGFzeW5jIChhbnN3ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5zd2VyZWRDb3VudCA9IE9iamVjdC5rZXlzKGFuc3dlcnMpLmZpbHRlcigoaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ID0gYW5zd2Vyc1trXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHYgIT0gbnVsbCAmJiB2ICE9PSAnJyAmJiAhKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT09IDApO1xuICAgICAgICAgICAgICAgIH0pLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9ncmVzc1BlcmNlbnRhZ2UgPSB0b3RhbFF1ZXN0aW9ucyA+IDAgPyBNYXRoLnJvdW5kKChhbnN3ZXJlZENvdW50IC8gdG90YWxRdWVzdGlvbnMpICogMTAwKSA6IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFzc0ZhaWwgPSBwYXNzaW5nU2NvcmUgIT0gbnVsbCA/IChwcm9ncmVzc1BlcmNlbnRhZ2UgPj0gcGFzc2luZ1Njb3JlID8gJ1Bhc3MnIDogJ0ZhaWwnKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzY29yZTogcHJvZ3Jlc3NQZXJjZW50YWdlLCBwYXNzRmFpbCwgdG90YWxRdWVzdGlvbnMsIGFuc3dlcmVkQ291bnQgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJQb3B1cENvbXBvbmVudCwge1xuICAgICAgICAgICAgdGl0bGU6IGNvbmZpZy50aXRsZSxcbiAgICAgICAgICAgIHNpemU6IGNvbmZpZy5zaXplIHx8ICdsZycsXG4gICAgICAgICAgICBtYXhpbWl6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6IGNvbmZpZy5zdHJ1Y3R1cmUsXG4gICAgICAgICAgICAgICAgcHJlUG9zdENvbmZpZzogY29uZmlnLnByZVBvc3RDb25maWcgPz8gbnVsbCxcbiAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZy5jb25maWcsXG4gICAgICAgICAgICAgICAgaW5pdGlhbEFuc3dlcnM6IGNvbmZpZy5pbml0aWFsQW5zd2VycyB8fCB7fSxcbiAgICAgICAgICAgICAgICBzdWJtaXRIYW5kbGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhIHx8IG51bGw7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-assessment-management-questionnaire-viewer.service-CVF6-BFW.mjs","sources":["../tmp-esm2022/assessment-management/lib/features/questionnaire-viewer/questionnaire-viewer.service.js"],"sourcesContent":["//#region ---- Imports ----\nimport { Injectable, inject } from '@angular/core';\nimport { AXPopupService } from '@acorex/components/popup';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Service ----\nexport class AXMQuestionnaireViewerService {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.popupService = inject(AXPopupService);\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Open questionnaire viewer in a dialog\n */\n async open(config) {\n const { AXMQuestionnaireViewerPopupComponent } = await import('./questionnaire-viewer-popup.component');\n const structure = config.structure;\n const totalQuestions = structure?.sections?.reduce((s, sec) => s + (sec.items?.length ?? 0), 0) ?? 0;\n const passingScore = config.prePostConfig?.passingScore;\n const submitHandler = config.submitHandler ??\n (async (answers) => {\n const answeredCount = Object.keys(answers).filter((k) => {\n const v = answers[k];\n return v != null && v !== '' && !(Array.isArray(v) && v.length === 0);\n }).length;\n const progressPercentage = totalQuestions > 0 ? Math.round((answeredCount / totalQuestions) * 100) : 0;\n const passFail = passingScore != null ? (progressPercentage >= passingScore ? 'Pass' : 'Fail') : undefined;\n return { score: progressPercentage, passFail, totalQuestions, answeredCount };\n });\n const result = await this.popupService.open(AXMQuestionnaireViewerPopupComponent, {\n title: config.title,\n size: config.size || 'lg',\n maximizable: true,\n data: {\n structure: config.structure,\n prePostConfig: config.prePostConfig ?? null,\n config: config.config,\n initialAnswers: config.initialAnswers || {},\n submitHandler,\n },\n });\n return result.data || null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMQuestionnaireViewerService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb25uYWlyZS12aWV3ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hc3Nlc3NtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9xdWVzdGlvbm5haXJlLXZpZXdlci9xdWVzdGlvbm5haXJlLXZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBeUUxRCxZQUFZO0FBRVosK0JBQStCO0FBSy9CLE1BQU0sT0FBTyw2QkFBNkI7SUFIMUM7UUFJSSwrQ0FBK0M7UUFFOUIsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0EwQzFEO0lBeENHLFlBQVk7SUFFWixzQ0FBc0M7SUFFdEM7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQTJDO1FBQ2xELE1BQU0sRUFBRSxvQ0FBb0MsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDeEcsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxNQUFNLGNBQWMsR0FBRyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQVMsRUFBRSxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsSCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztRQUN4RCxNQUFNLGFBQWEsR0FDZixNQUFNLENBQUMsYUFBYTtZQUNwQixDQUFDLEtBQUssRUFBRSxPQUE0QixFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ3BELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckIsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNWLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLFFBQVEsR0FBRyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMzRyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDbEYsQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFO1lBQzlFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQ3pCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLElBQUksRUFBRTtnQkFDRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUk7Z0JBQzNDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLElBQUksRUFBRTtnQkFDM0MsYUFBYTthQUNoQjtTQUNKLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDL0IsQ0FBQzsrR0ExQ1EsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGMUIsTUFBTTs7NEZBRVQsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQnVpbGRlclZhbHVlIH0gZnJvbSAnLi4vcXVlc3Rpb25uYWlyZS1idWlsZGVyL3F1ZXN0aW9ubmFpcmUtYnVpbGRlci50eXBlcyc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlVmlld2VyQ29uZmlnIH0gZnJvbSAnLi9xdWVzdGlvbm5haXJlLXZpZXdlci50eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFByZVBvc3RDb25maWcgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUudHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfSBmcm9tICcuL3V0aWxzL3ByZS1wb3N0LWNvbnRlbnQudXRpbHMnO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBBWE1RdWVzdGlvbm5haXJlVmlld2VyU2VydmljZUNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogRGlhbG9nIHRpdGxlXG4gICAgICovXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFF1ZXN0aW9ubmFpcmUgc3RydWN0dXJlIGRhdGFcbiAgICAgKi9cbiAgICBzdHJ1Y3R1cmU6IFF1ZXN0aW9ubmFpcmVCdWlsZGVyVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBQcmUvcG9zdCBxdWVzdGlvbm5haXJlIGNvbmZpZyAod2VsY29tZSwgcmV2aWV3LCBzdW1tYXJ5KVxuICAgICAqL1xuICAgIHByZVBvc3RDb25maWc/OiBQcmVQb3N0Q29uZmlnIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIHZpZXdlciBjb25maWd1cmF0aW9uXG4gICAgICogSWYgbm90IHByb3ZpZGVkLCBkaXNwbGF5U2V0dGluZ3MgZnJvbSBzdHJ1Y3R1cmUgd2lsbCBiZSB1c2VkXG4gICAgICovXG4gICAgY29uZmlnPzogUXVlc3Rpb25uYWlyZVZpZXdlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIERpYWxvZyBzaXplXG4gICAgICovXG4gICAgc2l6ZT86ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJztcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgYW5zd2VycyB0byBwcmUtZmlsbCB0aGUgcXVlc3Rpb25uYWlyZVxuICAgICAqL1xuICAgIGluaXRpYWxBbnN3ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gcHJvdmlkZWQsIGNhbGxlZCBvbiBzdWJtaXQuIFNob3VsZCBzYXZlIGFuZCByZXR1cm4gcmVzdWx0IGZvciBzdW1tYXJ5LlxuICAgICAqL1xuICAgIHN1Ym1pdEhhbmRsZXI/OiAoYW5zd2VyczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUHJvbWlzZTxTdW1tYXJ5UGxhY2Vob2xkZXJWYWx1ZXMgfCBudWxsIHwgdm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhNUXVlc3Rpb25uYWlyZVZpZXdlclNlcnZpY2VSZXN1bHQge1xuICAgIC8qKlxuICAgICAqIEFsbCBhbnN3ZXJzIGZyb20gdGhlIHF1ZXN0aW9ubmFpcmVcbiAgICAgKi9cbiAgICBhbnN3ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gICAgLyoqXG4gICAgICogUXVlc3Rpb25zIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZyBhbnN3ZXJzXG4gICAgICovXG4gICAgcXVlc3Rpb25zOiBBcnJheTx7XG4gICAgICAgIHF1ZXN0aW9uSWQ6IHN0cmluZztcbiAgICAgICAgcXVlc3Rpb25CYW5rSXRlbUlkOiBzdHJpbmc7XG4gICAgICAgIHNlY3Rpb25JZDogc3RyaW5nO1xuICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgICAgYW5zd2VyOiBhbnk7XG4gICAgICAgIGlzUmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHdhcyBzdWJtaXR0ZWQgKHRydWUpIG9yIGNsb3NlZCAoZmFsc2UpXG4gICAgICovXG4gICAgc3VibWl0dGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlICAgLS0tLVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1RdWVzdGlvbm5haXJlVmlld2VyU2VydmljZSB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gcXVlc3Rpb25uYWlyZSB2aWV3ZXIgaW4gYSBkaWFsb2dcbiAgICAgKi9cbiAgICBhc3luYyBvcGVuKGNvbmZpZzogQVhNUXVlc3Rpb25uYWlyZVZpZXdlclNlcnZpY2VDb25maWcpOiBQcm9taXNlPEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJTZXJ2aWNlUmVzdWx0IHwgbnVsbD4ge1xuICAgICAgICBjb25zdCB7IEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJQb3B1cENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KCcuL3F1ZXN0aW9ubmFpcmUtdmlld2VyLXBvcHVwLmNvbXBvbmVudCcpO1xuICAgICAgICBjb25zdCBzdHJ1Y3R1cmUgPSBjb25maWcuc3RydWN0dXJlO1xuICAgICAgICBjb25zdCB0b3RhbFF1ZXN0aW9ucyA9IHN0cnVjdHVyZT8uc2VjdGlvbnM/LnJlZHVjZSgoczogbnVtYmVyLCBzZWM6IGFueSkgPT4gcyArIChzZWMuaXRlbXM/Lmxlbmd0aCA/PyAwKSwgMCkgPz8gMDtcbiAgICAgICAgY29uc3QgcGFzc2luZ1Njb3JlID0gY29uZmlnLnByZVBvc3RDb25maWc/LnBhc3NpbmdTY29yZTtcbiAgICAgICAgY29uc3Qgc3VibWl0SGFuZGxlciA9XG4gICAgICAgICAgICBjb25maWcuc3VibWl0SGFuZGxlciA/P1xuICAgICAgICAgICAgKGFzeW5jIChhbnN3ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5zd2VyZWRDb3VudCA9IE9iamVjdC5rZXlzKGFuc3dlcnMpLmZpbHRlcigoaykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ID0gYW5zd2Vyc1trXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHYgIT0gbnVsbCAmJiB2ICE9PSAnJyAmJiAhKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPT09IDApO1xuICAgICAgICAgICAgICAgIH0pLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9ncmVzc1BlcmNlbnRhZ2UgPSB0b3RhbFF1ZXN0aW9ucyA+IDAgPyBNYXRoLnJvdW5kKChhbnN3ZXJlZENvdW50IC8gdG90YWxRdWVzdGlvbnMpICogMTAwKSA6IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFzc0ZhaWwgPSBwYXNzaW5nU2NvcmUgIT0gbnVsbCA/IChwcm9ncmVzc1BlcmNlbnRhZ2UgPj0gcGFzc2luZ1Njb3JlID8gJ1Bhc3MnIDogJ0ZhaWwnKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzY29yZTogcHJvZ3Jlc3NQZXJjZW50YWdlLCBwYXNzRmFpbCwgdG90YWxRdWVzdGlvbnMsIGFuc3dlcmVkQ291bnQgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKEFYTVF1ZXN0aW9ubmFpcmVWaWV3ZXJQb3B1cENvbXBvbmVudCwge1xuICAgICAgICAgICAgdGl0bGU6IGNvbmZpZy50aXRsZSxcbiAgICAgICAgICAgIHNpemU6IGNvbmZpZy5zaXplIHx8ICdsZycsXG4gICAgICAgICAgICBtYXhpbWl6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6IGNvbmZpZy5zdHJ1Y3R1cmUsXG4gICAgICAgICAgICAgICAgcHJlUG9zdENvbmZpZzogY29uZmlnLnByZVBvc3RDb25maWcgPz8gbnVsbCxcbiAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZy5jb25maWcsXG4gICAgICAgICAgICAgICAgaW5pdGlhbEFuc3dlcnM6IGNvbmZpZy5pbml0aWFsQW5zd2VycyB8fCB7fSxcbiAgICAgICAgICAgICAgICBzdWJtaXRIYW5kbGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhIHx8IG51bGw7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AXPWidgetsList } from '@acorex/modules/common';
2
2
  import { createAllQueryView, createQueryView, AXPEntityCommandScope } from '@acorex/platform/common';
3
3
  import { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';
4
- import { R as RootConfig } from './acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs';
4
+ import { R as RootConfig } from './acorex-modules-assessment-management-acorex-modules-assessment-management-CULLP39a.mjs';
5
5
 
6
6
  //#region ---- Imports ----
7
7
  //#endregion
@@ -452,4 +452,4 @@ async function factory(injector) {
452
452
  //#endregion
453
453
 
454
454
  export { factory };
455
- //# sourceMappingURL=acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs.map
455
+ //# sourceMappingURL=acorex-modules-assessment-management-questionnaire.entity-BZj3A4yO.mjs.map