@acorex/modules 20.7.9 → 20.7.10
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.
- package/assessment-management/index.d.ts +266 -1
- package/common/index.d.ts +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-5peOXPDz.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs} +846 -24
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-D6KO7up6.mjs → acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-D6KO7up6.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-C4NilFjL.mjs → acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-C4NilFjL.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-DtHvmJQD.mjs → acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-DtHvmJQD.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BDRkvtin.mjs → acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs} +3 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-MLP74IAt.mjs → acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-MLP74IAt.mjs.map → acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-wtCw3l5I.mjs → acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs} +40 -6
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Cm7cniSG.mjs → acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs} +4 -4
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Cm7cniSG.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BIGQMXEc.mjs → acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BIGQMXEc.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-BxN8kxpu.mjs → acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-BxN8kxpu.mjs.map → acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-CHA00XC0.mjs → acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-CHA00XC0.mjs.map → acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-C-AX1MiC.mjs → acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-C-AX1MiC.mjs.map → acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BY8YfBf1.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BY8YfBf1.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-ktXkCzVb.mjs → acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-ktXkCzVb.mjs.map → acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C2soGbpn.mjs → acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C2soGbpn.mjs.map → acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-RvdyXryB.mjs → acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-RvdyXryB.mjs.map → acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-Dg9sg98-.mjs → acorex-modules-auth-acorex-modules-auth-IIyirCLb.mjs} +14 -14
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-IIyirCLb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dr8EZ7ZX.mjs → acorex-modules-auth-app-chooser.component-BGLW8Qtn.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dr8EZ7ZX.mjs.map → acorex-modules-auth-app-chooser.component-BGLW8Qtn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-C7Rt6tLk.mjs → acorex-modules-auth-login.module-uUQkWCgY.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-C7Rt6tLk.mjs.map → acorex-modules-auth-login.module-uUQkWCgY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CgD5kk65.mjs → acorex-modules-auth-master.layout-XkwT3Slv.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CgD5kk65.mjs.map → acorex-modules-auth-master.layout-XkwT3Slv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CuGIGBVO.mjs → acorex-modules-auth-oauth-callback.component-C0p17V1b.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CuGIGBVO.mjs.map → acorex-modules-auth-oauth-callback.component-C0p17V1b.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DmohsIxt.mjs → acorex-modules-auth-password.component-CaH-OaIv.mjs} +4 -4
- package/fesm2022/acorex-modules-auth-password.component-CaH-OaIv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-C6TCAUm4.mjs → acorex-modules-auth-password.component-DDFOsrkt.mjs} +3 -3
- package/fesm2022/acorex-modules-auth-password.component-DDFOsrkt.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-C3162bwa.mjs → acorex-modules-auth-routes-Cik9Y3RJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-C3162bwa.mjs.map → acorex-modules-auth-routes-Cik9Y3RJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Ce-n3WC9.mjs → acorex-modules-auth-tenant-chooser.component-B9VJd12P.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Ce-n3WC9.mjs.map → acorex-modules-auth-tenant-chooser.component-B9VJd12P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-B2nPzX-3.mjs → acorex-modules-auth-two-factor.module-D1TKyIXZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-B2nPzX-3.mjs.map → acorex-modules-auth-two-factor.module-D1TKyIXZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-wVKJ2KIm.mjs → acorex-modules-auth-user-sessions.component-MZJramlf.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-wVKJ2KIm.mjs.map → acorex-modules-auth-user-sessions.component-MZJramlf.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-C_iazC89.mjs +95 -0
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-C_iazC89.mjs.map +1 -0
- package/fesm2022/acorex-modules-calendar-management.mjs +68 -33
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +25 -17
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +387 -12
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-Civ7UZb8.mjs → acorex-modules-document-management-link-dialog.component-F1DkJ4Ns.mjs} +2 -2
- package/fesm2022/acorex-modules-document-management-link-dialog.component-F1DkJ4Ns.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-BwUZShJg.mjs → acorex-modules-document-management-share-dialog.component-BV2JJmED.mjs} +2 -2
- package/fesm2022/acorex-modules-document-management-share-dialog.component-BV2JJmED.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BMiCmb1k.mjs → acorex-modules-document-management-share-email-dialog.component-Dn-j0ETn.mjs} +2 -2
- package/fesm2022/acorex-modules-document-management-share-email-dialog.component-Dn-j0ETn.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management.mjs +3 -3
- package/fesm2022/acorex-modules-financial-core-data-source.provider-Do4rvgy4.mjs +73 -0
- package/fesm2022/acorex-modules-financial-core-data-source.provider-Do4rvgy4.mjs.map +1 -0
- package/fesm2022/acorex-modules-financial-core.mjs +4 -2
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +37 -405
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-CydmGF5Q.mjs → acorex-modules-help-desk-acorex-modules-help-desk-Clea9Hhv.mjs} +3 -3
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-CydmGF5Q.mjs.map → acorex-modules-help-desk-acorex-modules-help-desk-Clea9Hhv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-Bsq1FJId.mjs → acorex-modules-help-desk-capture-screen.component-CiQv__MW.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-Bsq1FJId.mjs.map → acorex-modules-help-desk-capture-screen.component-CiQv__MW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +13 -355
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +140 -6
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DVkP3JKC.mjs → acorex-modules-platform-management-acorex-modules-platform-management-BAIx0BJe.mjs} +3 -3
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DVkP3JKC.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-BAIx0BJe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-C_mdsuRc.mjs → acorex-modules-platform-management-menu-list.component-BxGLun0f.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-C_mdsuRc.mjs.map → acorex-modules-platform-management-menu-list.component-BxGLun0f.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-product-catalog-product.entity-CuTXUcc1.mjs → acorex-modules-product-catalog-product.entity-BXDh4Wlu.mjs} +10 -2
- package/fesm2022/acorex-modules-product-catalog-product.entity-BXDh4Wlu.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-BUp5SQ7b.mjs → acorex-modules-task-management-task-board.page-Cgxdk78j.mjs} +3 -3
- package/fesm2022/acorex-modules-task-management-task-board.page-Cgxdk78j.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/form-template-management/index.d.ts +2 -12
- package/locale-management/index.d.ts +3 -23
- package/package.json +2 -2
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-5peOXPDz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-BDRkvtin.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-wtCw3l5I.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-Dg9sg98-.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-C6TCAUm4.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-DmohsIxt.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-link-dialog.component-Civ7UZb8.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-share-dialog.component-BwUZShJg.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-share-email-dialog.component-BMiCmb1k.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product.entity-CuTXUcc1.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-BUp5SQ7b.mjs.map +0 -1
|
@@ -2,10 +2,12 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { inject, Injector, Injectable, NgModule, computed, input, ChangeDetectionStrategy, Component, ViewEncapsulation, signal, effect, output, viewChild } from '@angular/core';
|
|
3
3
|
import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
|
|
4
4
|
import { AXPSearchCommandProvider, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
|
|
5
|
-
import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
|
|
5
|
+
import { AXPAuthGuard, AXP_PERMISSION_DEFINITION_PROVIDER, AXPSessionService } from '@acorex/platform/auth';
|
|
6
6
|
import { AXPDeviceService, AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex/platform/core';
|
|
7
|
+
import { ROUTES, ActivatedRoute, Router } from '@angular/router';
|
|
8
|
+
import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
|
|
7
9
|
import * as i1 from '@acorex/platform/layout/widget-core';
|
|
8
|
-
import { AXPWidgetGroupEnum, AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetCoreModule, createStringProperty, createSelectProperty, createBooleanProperty, AXP_WIDGETS_ADVANCE_CATEGORY, AXPWidgetContainerComponent, AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';
|
|
10
|
+
import { AXPWidgetGroupEnum, AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetCoreModule, createStringProperty, createSelectProperty, createBooleanProperty, AXP_WIDGETS_ADVANCE_CATEGORY, AXPWidgetContainerComponent, AXPValueWidgetComponent, AXPWidgetCoreService, AXPWidgetCoreContextStore } from '@acorex/platform/layout/widget-core';
|
|
9
11
|
import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_READONLY_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';
|
|
10
12
|
import * as i3$1 from '@angular/common';
|
|
11
13
|
import { CommonModule } from '@angular/common';
|
|
@@ -13,7 +15,7 @@ import * as i1$4 from '@acorex/components/form';
|
|
|
13
15
|
import { AXFormModule } from '@acorex/components/form';
|
|
14
16
|
import * as i4 from '@acorex/core/translation';
|
|
15
17
|
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
16
|
-
import { AXPStateMessageComponent } from '@acorex/platform/layout/components';
|
|
18
|
+
import { AXPStateMessageComponent, AXPStopwatchComponent, AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';
|
|
17
19
|
import * as i2 from '@acorex/components/decorators';
|
|
18
20
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
19
21
|
import { AXToastService } from '@acorex/components/toast';
|
|
@@ -30,6 +32,7 @@ import { AXTabsModule } from '@acorex/components/tabs';
|
|
|
30
32
|
import * as i1$3 from '@acorex/components/button';
|
|
31
33
|
import { AXButtonModule } from '@acorex/components/button';
|
|
32
34
|
import { provideCommandSetups } from '@acorex/platform/runtime';
|
|
35
|
+
import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
|
|
33
36
|
|
|
34
37
|
//#region ---- Root Configuration ----
|
|
35
38
|
const config = { i18n: 'assessment-management' };
|
|
@@ -37,6 +40,7 @@ const RootConfig = {
|
|
|
37
40
|
config,
|
|
38
41
|
module: {
|
|
39
42
|
module: 'assessment-management',
|
|
43
|
+
route: 'assessment-management',
|
|
40
44
|
name: 'AssessmentManagement',
|
|
41
45
|
title: '@assessment-management:module.title',
|
|
42
46
|
icon: 'fa-light fa-clipboard-list-check',
|
|
@@ -81,13 +85,13 @@ class AXMAssessmentManagementEntityProvider {
|
|
|
81
85
|
if (moduleName === RootConfig.module.name) {
|
|
82
86
|
switch (entityName) {
|
|
83
87
|
case RootConfig.entities.questionBankItem.name:
|
|
84
|
-
return (await import('./acorex-modules-assessment-management-question-bank-item.entity-
|
|
88
|
+
return (await import('./acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs')).factory(this.injector);
|
|
85
89
|
case RootConfig.entities.questionnaire.name:
|
|
86
|
-
return (await import('./acorex-modules-assessment-management-questionnaire.entity-
|
|
90
|
+
return (await import('./acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs')).factory(this.injector);
|
|
87
91
|
case RootConfig.entities.assessmentCase.name:
|
|
88
|
-
return (await import('./acorex-modules-assessment-management-assessment-case.entity-
|
|
92
|
+
return (await import('./acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs')).factory(this.injector);
|
|
89
93
|
case RootConfig.entities.assessmentSession.name:
|
|
90
|
-
return (await import('./acorex-modules-assessment-management-assessment-session.entity-
|
|
94
|
+
return (await import('./acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs')).factory(this.injector);
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
return null;
|
|
@@ -522,13 +526,13 @@ const AXMQuestionnaireBuilderWidget = {
|
|
|
522
526
|
],
|
|
523
527
|
components: {
|
|
524
528
|
view: {
|
|
525
|
-
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-view.component-
|
|
529
|
+
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs').then((c) => c.AXMQuestionnaireBuilderWidgetViewComponent),
|
|
526
530
|
},
|
|
527
531
|
edit: {
|
|
528
|
-
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-edit.component-
|
|
532
|
+
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs').then((c) => c.AXMQuestionnaireBuilderWidgetEditComponent),
|
|
529
533
|
},
|
|
530
534
|
print: {
|
|
531
|
-
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-edit.component-
|
|
535
|
+
component: () => import('./acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs').then((c) => c.AXMQuestionnaireBuilderWidgetEditComponent),
|
|
532
536
|
},
|
|
533
537
|
},
|
|
534
538
|
};
|
|
@@ -675,16 +679,16 @@ const AXMAnswersViewerWidget = {
|
|
|
675
679
|
],
|
|
676
680
|
components: {
|
|
677
681
|
designer: {
|
|
678
|
-
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-edit.component-
|
|
682
|
+
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs').then((c) => c.AXMAnswersViewerWidgetEditComponent),
|
|
679
683
|
},
|
|
680
684
|
view: {
|
|
681
|
-
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-view.component-
|
|
685
|
+
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs').then((c) => c.AXMAnswersViewerWidgetViewComponent),
|
|
682
686
|
},
|
|
683
687
|
edit: {
|
|
684
|
-
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-edit.component-
|
|
688
|
+
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs').then((c) => c.AXMAnswersViewerWidgetEditComponent),
|
|
685
689
|
},
|
|
686
690
|
column: {
|
|
687
|
-
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-column.component-
|
|
691
|
+
component: () => import('./acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs').then((c) => c.AXMAnswersViewerWidgetColumnComponent),
|
|
688
692
|
},
|
|
689
693
|
},
|
|
690
694
|
};
|
|
@@ -3049,19 +3053,19 @@ class AXMQuestionnaireViewerFeatureModule {
|
|
|
3049
3053
|
provideCommandSetups([
|
|
3050
3054
|
{
|
|
3051
3055
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:Preview`,
|
|
3052
|
-
command: () => import('./acorex-modules-assessment-management-preview-questionnaire.command-
|
|
3056
|
+
command: () => import('./acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs').then((c) => c.PreviewQuestionnaireCommand),
|
|
3053
3057
|
},
|
|
3054
3058
|
{
|
|
3055
3059
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ViewAnswers`,
|
|
3056
|
-
command: () => import('./acorex-modules-assessment-management-view-session-answers.command-
|
|
3060
|
+
command: () => import('./acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs').then((c) => c.ViewSessionAnswersCommand),
|
|
3057
3061
|
},
|
|
3058
3062
|
{
|
|
3059
3063
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:Fill`,
|
|
3060
|
-
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-
|
|
3064
|
+
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
3061
3065
|
},
|
|
3062
3066
|
{
|
|
3063
3067
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:Fill`,
|
|
3064
|
-
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-
|
|
3068
|
+
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
3065
3069
|
},
|
|
3066
3070
|
]),
|
|
3067
3071
|
], imports: [AXPWidgetCoreModule.forChild({
|
|
@@ -3097,19 +3101,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3097
3101
|
provideCommandSetups([
|
|
3098
3102
|
{
|
|
3099
3103
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:Preview`,
|
|
3100
|
-
command: () => import('./acorex-modules-assessment-management-preview-questionnaire.command-
|
|
3104
|
+
command: () => import('./acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs').then((c) => c.PreviewQuestionnaireCommand),
|
|
3101
3105
|
},
|
|
3102
3106
|
{
|
|
3103
3107
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ViewAnswers`,
|
|
3104
|
-
command: () => import('./acorex-modules-assessment-management-view-session-answers.command-
|
|
3108
|
+
command: () => import('./acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs').then((c) => c.ViewSessionAnswersCommand),
|
|
3105
3109
|
},
|
|
3106
3110
|
{
|
|
3107
3111
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:Fill`,
|
|
3108
|
-
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-
|
|
3112
|
+
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
3109
3113
|
},
|
|
3110
3114
|
{
|
|
3111
3115
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:Fill`,
|
|
3112
|
-
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-
|
|
3116
|
+
command: () => import('./acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
3113
3117
|
},
|
|
3114
3118
|
]),
|
|
3115
3119
|
],
|
|
@@ -3118,6 +3122,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3118
3122
|
|
|
3119
3123
|
//#region ---- Imports ----
|
|
3120
3124
|
//#endregion
|
|
3125
|
+
//#region ---- Routes ----
|
|
3126
|
+
function questionnaireViewerRoutesFactory() {
|
|
3127
|
+
const route = RootConfig.module.route ?? 'assessment-management';
|
|
3128
|
+
return [
|
|
3129
|
+
{
|
|
3130
|
+
path: `:app/${route}/questionnaire/fill/:caseId`,
|
|
3131
|
+
canActivate: [AXPAuthGuard],
|
|
3132
|
+
loadComponent: () => AXPRootLayoutComponent,
|
|
3133
|
+
children: [
|
|
3134
|
+
{
|
|
3135
|
+
path: '',
|
|
3136
|
+
loadComponent: () => Promise.resolve().then(function () { return questionnaireViewerPage_component; }).then((c) => c.AXMQuestionnaireViewerPageComponent),
|
|
3137
|
+
data: { reuse: false },
|
|
3138
|
+
},
|
|
3139
|
+
],
|
|
3140
|
+
},
|
|
3141
|
+
];
|
|
3142
|
+
}
|
|
3143
|
+
//#endregion
|
|
3121
3144
|
//#region ---- Module ----
|
|
3122
3145
|
class AXMAssessmentManagementModule {
|
|
3123
3146
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMAssessmentManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -3127,6 +3150,11 @@ class AXMAssessmentManagementModule {
|
|
|
3127
3150
|
AXMAssessmentSessionEntityModule,
|
|
3128
3151
|
AXMQuestionnaireViewerFeatureModule] }); }
|
|
3129
3152
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMAssessmentManagementModule, providers: [
|
|
3153
|
+
{
|
|
3154
|
+
provide: ROUTES,
|
|
3155
|
+
multi: true,
|
|
3156
|
+
useFactory: questionnaireViewerRoutesFactory,
|
|
3157
|
+
},
|
|
3130
3158
|
// Module Manifest Provider
|
|
3131
3159
|
{
|
|
3132
3160
|
provide: AXP_MODULE_MANIFEST_PROVIDER,
|
|
@@ -3159,6 +3187,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3159
3187
|
AXMQuestionnaireViewerFeatureModule,
|
|
3160
3188
|
],
|
|
3161
3189
|
providers: [
|
|
3190
|
+
{
|
|
3191
|
+
provide: ROUTES,
|
|
3192
|
+
multi: true,
|
|
3193
|
+
useFactory: questionnaireViewerRoutesFactory,
|
|
3194
|
+
},
|
|
3162
3195
|
// Module Manifest Provider
|
|
3163
3196
|
{
|
|
3164
3197
|
provide: AXP_MODULE_MANIFEST_PROVIDER,
|
|
@@ -3190,9 +3223,798 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3190
3223
|
//#region ---- Types ----
|
|
3191
3224
|
//#endregion
|
|
3192
3225
|
|
|
3226
|
+
//#region ---- Imports ----
|
|
3227
|
+
//#endregion
|
|
3228
|
+
//#region ---- Component ----
|
|
3229
|
+
class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
3230
|
+
//#endregion
|
|
3231
|
+
//#region ---- Page Layout Overrides ----
|
|
3232
|
+
async getPageTitle() {
|
|
3233
|
+
return this.translateService.translateAsync('@assessment-management:cases.actions.fill-assessment.title');
|
|
3234
|
+
}
|
|
3235
|
+
getPageBreadcrumbs() {
|
|
3236
|
+
return [
|
|
3237
|
+
{
|
|
3238
|
+
title: '@assessment-management:cases.entities.assessment-case.plural',
|
|
3239
|
+
command: { name: 'navigate', options: { path: this.getCasesListPath() } },
|
|
3240
|
+
},
|
|
3241
|
+
{ title: '@assessment-management:cases.actions.fill-assessment.title' },
|
|
3242
|
+
];
|
|
3243
|
+
}
|
|
3244
|
+
async getBackButton() {
|
|
3245
|
+
const title = await this.translateService.translateAsync('@assessment-management:cases.entities.assessment-case.plural');
|
|
3246
|
+
return { title };
|
|
3247
|
+
}
|
|
3248
|
+
onBackButtonClick() {
|
|
3249
|
+
this.router.navigateByUrl(this.getCasesListPath());
|
|
3250
|
+
}
|
|
3251
|
+
//#endregion
|
|
3252
|
+
//#region ---- Lifecycle ----
|
|
3253
|
+
constructor() {
|
|
3254
|
+
super();
|
|
3255
|
+
//#region ---- Services & Dependencies ----
|
|
3256
|
+
this.route = inject(ActivatedRoute);
|
|
3257
|
+
this.router = inject(Router);
|
|
3258
|
+
this.caseService = inject(AXMAssessmentCaseService);
|
|
3259
|
+
this.questionnaireService = inject(AXMQuestionnaireService);
|
|
3260
|
+
this.assessmentSessionService = inject(AXMAssessmentSessionService);
|
|
3261
|
+
this.authSession = inject(AXPSessionService);
|
|
3262
|
+
//#endregion
|
|
3263
|
+
//#region ---- State ----
|
|
3264
|
+
this.structure = signal(null, ...(ngDevMode ? [{ debugName: "structure" }] : []));
|
|
3265
|
+
this.initialAnswers = signal({}, ...(ngDevMode ? [{ debugName: "initialAnswers" }] : []));
|
|
3266
|
+
this.viewerConfig = signal({ readonly: false }, ...(ngDevMode ? [{ debugName: "viewerConfig" }] : []));
|
|
3267
|
+
this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
3268
|
+
this.loadError = signal(null, ...(ngDevMode ? [{ debugName: "loadError" }] : []));
|
|
3269
|
+
this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
|
|
3270
|
+
this.currentSessionId = signal(null, ...(ngDevMode ? [{ debugName: "currentSessionId" }] : []));
|
|
3271
|
+
//#endregion
|
|
3272
|
+
//#region ---- View References ----
|
|
3273
|
+
this.questionnaireViewer = viewChild('viewer', ...(ngDevMode ? [{ debugName: "questionnaireViewer" }] : []));
|
|
3274
|
+
//#endregion
|
|
3275
|
+
//#region ---- Computed ----
|
|
3276
|
+
this.viewerViewModel = computed(() => this.questionnaireViewer()?.viewmodel, ...(ngDevMode ? [{ debugName: "viewerViewModel" }] : []));
|
|
3277
|
+
this.totalQuestionsCount = computed(() => this.viewerViewModel()?.totalQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "totalQuestionsCount" }] : []));
|
|
3278
|
+
this.totalSectionsCount = computed(() => this.viewerViewModel()?.totalSectionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "totalSectionsCount" }] : []));
|
|
3279
|
+
this.showTimer = computed(() => this.viewerViewModel()?.showTimer() ?? false, ...(ngDevMode ? [{ debugName: "showTimer" }] : []));
|
|
3280
|
+
this.timerTimeLimit = computed(() => this.viewerViewModel()?.timerTimeLimit(), ...(ngDevMode ? [{ debugName: "timerTimeLimit" }] : []));
|
|
3281
|
+
this.timerElapsed = computed(() => this.viewerViewModel()?.timerElapsed() ?? 0, ...(ngDevMode ? [{ debugName: "timerElapsed" }] : []));
|
|
3282
|
+
this.showProgressBar = computed(() => this.viewerViewModel()?.showProgressBar() ?? false, ...(ngDevMode ? [{ debugName: "showProgressBar" }] : []));
|
|
3283
|
+
this.answeredQuestionsCount = computed(() => this.viewerViewModel()?.answeredQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "answeredQuestionsCount" }] : []));
|
|
3284
|
+
this.isReadonly = computed(() => this.viewerConfig()?.readonly ?? false, ...(ngDevMode ? [{ debugName: "isReadonly" }] : []));
|
|
3285
|
+
this.canNavigatePrevious = signal(false, ...(ngDevMode ? [{ debugName: "canNavigatePrevious" }] : []));
|
|
3286
|
+
this.canNavigateNext = signal(false, ...(ngDevMode ? [{ debugName: "canNavigateNext" }] : []));
|
|
3287
|
+
this.showNavigationButtons = signal(false, ...(ngDevMode ? [{ debugName: "showNavigationButtons" }] : []));
|
|
3288
|
+
this.isLastStep = signal(false, ...(ngDevMode ? [{ debugName: "isLastStep" }] : []));
|
|
3289
|
+
this.areAllRequiredQuestionsAnswered = signal(false, ...(ngDevMode ? [{ debugName: "areAllRequiredQuestionsAnswered" }] : []));
|
|
3290
|
+
effect(() => {
|
|
3291
|
+
const viewer = this.questionnaireViewer();
|
|
3292
|
+
if (viewer) {
|
|
3293
|
+
const vm = viewer.viewmodel;
|
|
3294
|
+
this.canNavigatePrevious.set(vm.canNavigatePrevious());
|
|
3295
|
+
this.canNavigateNext.set(vm.canNavigateNext());
|
|
3296
|
+
const viewMode = viewer.viewMode;
|
|
3297
|
+
this.showNavigationButtons.set(viewMode === 'page-per-group' || viewMode === 'page-per-question' || viewMode === 'side-menu');
|
|
3298
|
+
this.isLastStep.set(viewer.isLastStep);
|
|
3299
|
+
this.areAllRequiredQuestionsAnswered.set(viewer.areAllRequiredQuestionsAnswered);
|
|
3300
|
+
}
|
|
3301
|
+
});
|
|
3302
|
+
}
|
|
3303
|
+
async ngOnInit() {
|
|
3304
|
+
await super.ngOnInit();
|
|
3305
|
+
await this.loadData();
|
|
3306
|
+
}
|
|
3307
|
+
//#endregion
|
|
3308
|
+
//#region ---- Data Loading ----
|
|
3309
|
+
async loadData() {
|
|
3310
|
+
const caseId = this.route.snapshot.paramMap.get('caseId') ?? this.route.parent?.snapshot.paramMap.get('caseId');
|
|
3311
|
+
if (!caseId) {
|
|
3312
|
+
this.loadError.set('Case ID is required');
|
|
3313
|
+
this.isLoading.set(false);
|
|
3314
|
+
return;
|
|
3315
|
+
}
|
|
3316
|
+
this.isLoading.set(true);
|
|
3317
|
+
this.loadError.set(null);
|
|
3318
|
+
try {
|
|
3319
|
+
const assessmentCase = await this.caseService.getOne(caseId);
|
|
3320
|
+
if (!assessmentCase) {
|
|
3321
|
+
this.loadError.set('Assessment case not found');
|
|
3322
|
+
this.isLoading.set(false);
|
|
3323
|
+
return;
|
|
3324
|
+
}
|
|
3325
|
+
const questionnaire = await this.questionnaireService.getOne(assessmentCase.questionnaireId);
|
|
3326
|
+
if (!questionnaire?.structure?.sections?.length) {
|
|
3327
|
+
this.loadError.set('Questionnaire or structure not found');
|
|
3328
|
+
this.isLoading.set(false);
|
|
3329
|
+
return;
|
|
3330
|
+
}
|
|
3331
|
+
let answers = {};
|
|
3332
|
+
const existingSessionId = this.route.snapshot.queryParamMap.get('sessionId') ??
|
|
3333
|
+
this.route.parent?.snapshot.queryParamMap.get('sessionId');
|
|
3334
|
+
if (existingSessionId) {
|
|
3335
|
+
const session = await this.assessmentSessionService.getOne(existingSessionId);
|
|
3336
|
+
if (session?.answers) {
|
|
3337
|
+
answers = session.answers;
|
|
3338
|
+
this.currentSessionId.set(existingSessionId);
|
|
3339
|
+
}
|
|
3340
|
+
}
|
|
3341
|
+
this.structure.set(questionnaire.structure);
|
|
3342
|
+
this.initialAnswers.set(answers);
|
|
3343
|
+
this.viewerConfig.set({ readonly: false });
|
|
3344
|
+
}
|
|
3345
|
+
catch (err) {
|
|
3346
|
+
this.loadError.set(err?.message ?? 'Failed to load questionnaire');
|
|
3347
|
+
}
|
|
3348
|
+
finally {
|
|
3349
|
+
this.isLoading.set(false);
|
|
3350
|
+
}
|
|
3351
|
+
}
|
|
3352
|
+
//#endregion
|
|
3353
|
+
//#region ---- Helpers ----
|
|
3354
|
+
getCasesListPath() {
|
|
3355
|
+
const app = this.authSession.application?.name ?? 'demo';
|
|
3356
|
+
return `/${app}/m/assessment-management/e/AssessmentCase/list`;
|
|
3357
|
+
}
|
|
3358
|
+
calculateProgress(structure, answers) {
|
|
3359
|
+
if (!structure?.sections?.length)
|
|
3360
|
+
return { answeredQuestionsCount: 0, progressPercentage: 0 };
|
|
3361
|
+
let answered = 0;
|
|
3362
|
+
let total = 0;
|
|
3363
|
+
for (const section of structure.sections) {
|
|
3364
|
+
if (!section.items?.length)
|
|
3365
|
+
continue;
|
|
3366
|
+
for (const item of section.items) {
|
|
3367
|
+
total++;
|
|
3368
|
+
const answerPath = item.id ? `answers.${item.id}` : null;
|
|
3369
|
+
const value = answerPath ? get(answers, answerPath) : null;
|
|
3370
|
+
const isEmpty = value === null ||
|
|
3371
|
+
value === undefined ||
|
|
3372
|
+
value === '' ||
|
|
3373
|
+
(Array.isArray(value) && value.length === 0) ||
|
|
3374
|
+
(typeof value === 'object' && value !== null && Object.keys(value).length === 0);
|
|
3375
|
+
if (!isEmpty)
|
|
3376
|
+
answered++;
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3379
|
+
const progressPercentage = total > 0 ? Math.round((answered / total) * 100) : 0;
|
|
3380
|
+
return { answeredQuestionsCount: answered, progressPercentage };
|
|
3381
|
+
}
|
|
3382
|
+
//#endregion
|
|
3383
|
+
//#region ---- Event Handlers ----
|
|
3384
|
+
handleAnswersChanged(_answers) { }
|
|
3385
|
+
async handlePreviousClick() {
|
|
3386
|
+
await this.questionnaireViewer()?.navigatePrevious();
|
|
3387
|
+
}
|
|
3388
|
+
async handleNextClick() {
|
|
3389
|
+
await this.questionnaireViewer()?.navigateNext();
|
|
3390
|
+
}
|
|
3391
|
+
async handleSubmitClick() {
|
|
3392
|
+
const viewer = this.questionnaireViewer();
|
|
3393
|
+
if (!viewer)
|
|
3394
|
+
return;
|
|
3395
|
+
this.isSubmitting.set(true);
|
|
3396
|
+
try {
|
|
3397
|
+
const result = await viewer.submit();
|
|
3398
|
+
if (result.success && result.answers) {
|
|
3399
|
+
const caseIdVal = this.route.snapshot.paramMap.get('caseId') ?? this.route.parent?.snapshot.paramMap.get('caseId');
|
|
3400
|
+
const structureVal = this.structure();
|
|
3401
|
+
if (!caseIdVal || !structureVal)
|
|
3402
|
+
return;
|
|
3403
|
+
const { answeredQuestionsCount, progressPercentage } = this.calculateProgress(structureVal, result.answers);
|
|
3404
|
+
const responderId = this.authSession.user?.id;
|
|
3405
|
+
if (!responderId) {
|
|
3406
|
+
this.toastService.show({
|
|
3407
|
+
color: 'danger',
|
|
3408
|
+
title: await this.translateService.translateAsync('@general:messages.generic.error.title'),
|
|
3409
|
+
content: await this.translateService.translateAsync('@general:messages.generic.error.description'),
|
|
3410
|
+
});
|
|
3411
|
+
return;
|
|
3412
|
+
}
|
|
3413
|
+
const now = new Date();
|
|
3414
|
+
const sessionIdVal = this.currentSessionId();
|
|
3415
|
+
const role = 'responder';
|
|
3416
|
+
const sessionData = {
|
|
3417
|
+
caseId: caseIdVal,
|
|
3418
|
+
responderId,
|
|
3419
|
+
role,
|
|
3420
|
+
answers: result.answers,
|
|
3421
|
+
progressPercentage,
|
|
3422
|
+
answeredQuestionsCount,
|
|
3423
|
+
lastSavedAt: now,
|
|
3424
|
+
};
|
|
3425
|
+
if (sessionIdVal) {
|
|
3426
|
+
await this.assessmentSessionService.updateOne(sessionIdVal, sessionData);
|
|
3427
|
+
this.toastService.show({
|
|
3428
|
+
color: 'success',
|
|
3429
|
+
title: await this.translateService.translateAsync('@general:messages.form.saved.success.title'),
|
|
3430
|
+
content: await this.translateService.translateAsync('@general:messages.form.saved.success.description'),
|
|
3431
|
+
});
|
|
3432
|
+
}
|
|
3433
|
+
else {
|
|
3434
|
+
const newSessionData = {
|
|
3435
|
+
...sessionData,
|
|
3436
|
+
startedAt: now,
|
|
3437
|
+
};
|
|
3438
|
+
await this.assessmentSessionService.insertOne(newSessionData);
|
|
3439
|
+
this.toastService.show({
|
|
3440
|
+
color: 'success',
|
|
3441
|
+
title: await this.translateService.translateAsync('@assessment-management:sessions.states.submitted'),
|
|
3442
|
+
content: '',
|
|
3443
|
+
});
|
|
3444
|
+
}
|
|
3445
|
+
await this.router.navigateByUrl(this.getCasesListPath());
|
|
3446
|
+
}
|
|
3447
|
+
}
|
|
3448
|
+
finally {
|
|
3449
|
+
this.isSubmitting.set(false);
|
|
3450
|
+
}
|
|
3451
|
+
}
|
|
3452
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMQuestionnaireViewerPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3453
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXMQuestionnaireViewerPageComponent, isStandalone: true, selector: "axm-questionnaire-viewer-page", host: { classAttribute: "axm-questionnaire-viewer-page" }, providers: [
|
|
3454
|
+
AXPWidgetCoreService,
|
|
3455
|
+
AXPWidgetCoreContextStore,
|
|
3456
|
+
{ provide: AXPPageLayoutBase, useExisting: AXMQuestionnaireViewerPageComponent },
|
|
3457
|
+
], viewQueries: [{ propertyName: "questionnaireViewer", first: true, predicate: ["viewer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
3458
|
+
<axp-page-layout>
|
|
3459
|
+
<axp-page-content class="ax-overflow-auto">
|
|
3460
|
+
@if (isLoading()) {
|
|
3461
|
+
<div class="ax-flex ax-items-center ax-justify-center ax-min-h-[200px]">
|
|
3462
|
+
<span>{{ '@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async }}</span>
|
|
3463
|
+
</div>
|
|
3464
|
+
} @else if (loadError()) {
|
|
3465
|
+
<div class="ax-p-4 ax-text-error-600">
|
|
3466
|
+
{{ loadError() }}
|
|
3467
|
+
</div>
|
|
3468
|
+
} @else if (structure()) {
|
|
3469
|
+
<div class="__main-container ax-h-full ax-flex ax-flex-col">
|
|
3470
|
+
<div class="__header">
|
|
3471
|
+
<div class="__header-top">
|
|
3472
|
+
<div class="__header-meta">
|
|
3473
|
+
@if (totalQuestionsCount() > 0) {
|
|
3474
|
+
<span class="__meta-item">
|
|
3475
|
+
<i class="fa-light fa-list-check"></i>
|
|
3476
|
+
<span>{{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
|
|
3477
|
+
</span>
|
|
3478
|
+
}
|
|
3479
|
+
@if (totalSectionsCount() > 0) {
|
|
3480
|
+
<span class="__meta-item">
|
|
3481
|
+
<i class="fa-light fa-folder"></i>
|
|
3482
|
+
<span>{{ totalSectionsCount() }} {{ totalSectionsCount() === 1 ? 'Section' : 'Sections' }}</span>
|
|
3483
|
+
</span>
|
|
3484
|
+
}
|
|
3485
|
+
</div>
|
|
3486
|
+
@if (showTimer()) {
|
|
3487
|
+
<div class="__header-timer">
|
|
3488
|
+
<axp-stopwatch
|
|
3489
|
+
[mode]="'count-down'"
|
|
3490
|
+
[timeLimit]="timerTimeLimit()"
|
|
3491
|
+
[format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
|
|
3492
|
+
[autoStart]="true"
|
|
3493
|
+
[showControls]="false"
|
|
3494
|
+
[value]="timerElapsed()"
|
|
3495
|
+
(valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
|
|
3496
|
+
>
|
|
3497
|
+
</axp-stopwatch>
|
|
3498
|
+
</div>
|
|
3499
|
+
}
|
|
3500
|
+
</div>
|
|
3501
|
+
</div>
|
|
3502
|
+
|
|
3503
|
+
<div class="__content-wrapper">
|
|
3504
|
+
<axm-questionnaire-viewer
|
|
3505
|
+
#viewer
|
|
3506
|
+
[structure]="structure()!"
|
|
3507
|
+
[config]="viewerConfig()"
|
|
3508
|
+
[initialAnswers]="initialAnswers()"
|
|
3509
|
+
(answersChanged)="handleAnswersChanged($event)"
|
|
3510
|
+
>
|
|
3511
|
+
</axm-questionnaire-viewer>
|
|
3512
|
+
</div>
|
|
3513
|
+
|
|
3514
|
+
<div class="__footer ax-flex ax-items-center ax-justify-between ax-gap-4 ax-p-4 ax-border-t">
|
|
3515
|
+
<div class="ax-text-sm ax-font-mono ax-tabular-nums">
|
|
3516
|
+
@if (viewerViewModel() && showProgressBar()) {
|
|
3517
|
+
{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}
|
|
3518
|
+
}
|
|
3519
|
+
</div>
|
|
3520
|
+
<div class="ax-flex ax-gap-2">
|
|
3521
|
+
@if (showNavigationButtons()) {
|
|
3522
|
+
<ax-button
|
|
3523
|
+
look="solid"
|
|
3524
|
+
[disabled]="!canNavigatePrevious()"
|
|
3525
|
+
[text]="'@general:actions.previous.title' | translate | async"
|
|
3526
|
+
(onClick)="handlePreviousClick()"
|
|
3527
|
+
></ax-button>
|
|
3528
|
+
@if (!isLastStep()) {
|
|
3529
|
+
<ax-button
|
|
3530
|
+
look="solid"
|
|
3531
|
+
color="primary"
|
|
3532
|
+
[disabled]="!canNavigateNext()"
|
|
3533
|
+
[text]="'@general:actions.next.title' | translate | async"
|
|
3534
|
+
(onClick)="handleNextClick()"
|
|
3535
|
+
></ax-button>
|
|
3536
|
+
}
|
|
3537
|
+
}
|
|
3538
|
+
@if (isLastStep()) {
|
|
3539
|
+
<ax-button
|
|
3540
|
+
look="solid"
|
|
3541
|
+
color="primary"
|
|
3542
|
+
[text]="'@general:actions.submit.title' | translate | async"
|
|
3543
|
+
[disabled]="isReadonly() || isSubmitting() || !areAllRequiredQuestionsAnswered()"
|
|
3544
|
+
(onClick)="handleSubmitClick()"
|
|
3545
|
+
></ax-button>
|
|
3546
|
+
}
|
|
3547
|
+
</div>
|
|
3548
|
+
</div>
|
|
3549
|
+
</div>
|
|
3550
|
+
}
|
|
3551
|
+
</axp-page-content>
|
|
3552
|
+
</axp-page-layout>
|
|
3553
|
+
`, isInline: true, styles: ["axm-questionnaire-viewer-popup{display:flex;height:100%;flex-direction:column;overflow:hidden;max-height:80vh}axm-questionnaire-viewer-popup .__main-container{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__header{display:flex;flex-shrink:0;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));background-color:#fff;backdrop-filter:blur(8px)}axm-questionnaire-viewer-popup .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:.375rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item i{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-600),var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item span{font-weight:500}axm-questionnaire-viewer-popup .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-popup .__content-wrapper{display:flex;min-height:0px;flex:1 1 0%;overflow:hidden}axm-questionnaire-viewer-popup axm-questionnaire-viewer{display:flex;height:100%;flex:1 1 0%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$3.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: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXMQuestionnaireViewerComponent, selector: "axm-questionnaire-viewer", inputs: ["questionnaireId", "structure", "config", "initialAnswers"], outputs: ["answersChanged", "questionAnswered"] }, { kind: "component", type: AXPStopwatchComponent, selector: "axp-stopwatch", inputs: ["mode", "timeLimit", "format", "autoStart", "showControls", "value"], outputs: ["valueChange", "timeUp"] }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3554
|
+
}
|
|
3555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMQuestionnaireViewerPageComponent, decorators: [{
|
|
3556
|
+
type: Component,
|
|
3557
|
+
args: [{ selector: 'axm-questionnaire-viewer-page', template: `
|
|
3558
|
+
<axp-page-layout>
|
|
3559
|
+
<axp-page-content class="ax-overflow-auto">
|
|
3560
|
+
@if (isLoading()) {
|
|
3561
|
+
<div class="ax-flex ax-items-center ax-justify-center ax-min-h-[200px]">
|
|
3562
|
+
<span>{{ '@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async }}</span>
|
|
3563
|
+
</div>
|
|
3564
|
+
} @else if (loadError()) {
|
|
3565
|
+
<div class="ax-p-4 ax-text-error-600">
|
|
3566
|
+
{{ loadError() }}
|
|
3567
|
+
</div>
|
|
3568
|
+
} @else if (structure()) {
|
|
3569
|
+
<div class="__main-container ax-h-full ax-flex ax-flex-col">
|
|
3570
|
+
<div class="__header">
|
|
3571
|
+
<div class="__header-top">
|
|
3572
|
+
<div class="__header-meta">
|
|
3573
|
+
@if (totalQuestionsCount() > 0) {
|
|
3574
|
+
<span class="__meta-item">
|
|
3575
|
+
<i class="fa-light fa-list-check"></i>
|
|
3576
|
+
<span>{{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
|
|
3577
|
+
</span>
|
|
3578
|
+
}
|
|
3579
|
+
@if (totalSectionsCount() > 0) {
|
|
3580
|
+
<span class="__meta-item">
|
|
3581
|
+
<i class="fa-light fa-folder"></i>
|
|
3582
|
+
<span>{{ totalSectionsCount() }} {{ totalSectionsCount() === 1 ? 'Section' : 'Sections' }}</span>
|
|
3583
|
+
</span>
|
|
3584
|
+
}
|
|
3585
|
+
</div>
|
|
3586
|
+
@if (showTimer()) {
|
|
3587
|
+
<div class="__header-timer">
|
|
3588
|
+
<axp-stopwatch
|
|
3589
|
+
[mode]="'count-down'"
|
|
3590
|
+
[timeLimit]="timerTimeLimit()"
|
|
3591
|
+
[format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
|
|
3592
|
+
[autoStart]="true"
|
|
3593
|
+
[showControls]="false"
|
|
3594
|
+
[value]="timerElapsed()"
|
|
3595
|
+
(valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
|
|
3596
|
+
>
|
|
3597
|
+
</axp-stopwatch>
|
|
3598
|
+
</div>
|
|
3599
|
+
}
|
|
3600
|
+
</div>
|
|
3601
|
+
</div>
|
|
3602
|
+
|
|
3603
|
+
<div class="__content-wrapper">
|
|
3604
|
+
<axm-questionnaire-viewer
|
|
3605
|
+
#viewer
|
|
3606
|
+
[structure]="structure()!"
|
|
3607
|
+
[config]="viewerConfig()"
|
|
3608
|
+
[initialAnswers]="initialAnswers()"
|
|
3609
|
+
(answersChanged)="handleAnswersChanged($event)"
|
|
3610
|
+
>
|
|
3611
|
+
</axm-questionnaire-viewer>
|
|
3612
|
+
</div>
|
|
3613
|
+
|
|
3614
|
+
<div class="__footer ax-flex ax-items-center ax-justify-between ax-gap-4 ax-p-4 ax-border-t">
|
|
3615
|
+
<div class="ax-text-sm ax-font-mono ax-tabular-nums">
|
|
3616
|
+
@if (viewerViewModel() && showProgressBar()) {
|
|
3617
|
+
{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}
|
|
3618
|
+
}
|
|
3619
|
+
</div>
|
|
3620
|
+
<div class="ax-flex ax-gap-2">
|
|
3621
|
+
@if (showNavigationButtons()) {
|
|
3622
|
+
<ax-button
|
|
3623
|
+
look="solid"
|
|
3624
|
+
[disabled]="!canNavigatePrevious()"
|
|
3625
|
+
[text]="'@general:actions.previous.title' | translate | async"
|
|
3626
|
+
(onClick)="handlePreviousClick()"
|
|
3627
|
+
></ax-button>
|
|
3628
|
+
@if (!isLastStep()) {
|
|
3629
|
+
<ax-button
|
|
3630
|
+
look="solid"
|
|
3631
|
+
color="primary"
|
|
3632
|
+
[disabled]="!canNavigateNext()"
|
|
3633
|
+
[text]="'@general:actions.next.title' | translate | async"
|
|
3634
|
+
(onClick)="handleNextClick()"
|
|
3635
|
+
></ax-button>
|
|
3636
|
+
}
|
|
3637
|
+
}
|
|
3638
|
+
@if (isLastStep()) {
|
|
3639
|
+
<ax-button
|
|
3640
|
+
look="solid"
|
|
3641
|
+
color="primary"
|
|
3642
|
+
[text]="'@general:actions.submit.title' | translate | async"
|
|
3643
|
+
[disabled]="isReadonly() || isSubmitting() || !areAllRequiredQuestionsAnswered()"
|
|
3644
|
+
(onClick)="handleSubmitClick()"
|
|
3645
|
+
></ax-button>
|
|
3646
|
+
}
|
|
3647
|
+
</div>
|
|
3648
|
+
</div>
|
|
3649
|
+
</div>
|
|
3650
|
+
}
|
|
3651
|
+
</axp-page-content>
|
|
3652
|
+
</axp-page-layout>
|
|
3653
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
3654
|
+
CommonModule,
|
|
3655
|
+
AXButtonModule,
|
|
3656
|
+
AXDecoratorModule,
|
|
3657
|
+
AXTranslationModule,
|
|
3658
|
+
AXPWidgetCoreModule,
|
|
3659
|
+
AXMQuestionnaireViewerComponent,
|
|
3660
|
+
AXPStopwatchComponent,
|
|
3661
|
+
AXPPageLayoutComponent,
|
|
3662
|
+
AXPThemeLayoutBlockComponent,
|
|
3663
|
+
], providers: [
|
|
3664
|
+
AXPWidgetCoreService,
|
|
3665
|
+
AXPWidgetCoreContextStore,
|
|
3666
|
+
{ provide: AXPPageLayoutBase, useExisting: AXMQuestionnaireViewerPageComponent },
|
|
3667
|
+
], encapsulation: ViewEncapsulation.None, host: { class: 'axm-questionnaire-viewer-page' }, styles: ["axm-questionnaire-viewer-popup{display:flex;height:100%;flex-direction:column;overflow:hidden;max-height:80vh}axm-questionnaire-viewer-popup .__main-container{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__header{display:flex;flex-shrink:0;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));background-color:#fff;backdrop-filter:blur(8px)}axm-questionnaire-viewer-popup .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:.375rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item i{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-600),var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item span{font-weight:500}axm-questionnaire-viewer-popup .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-popup .__content-wrapper{display:flex;min-height:0px;flex:1 1 0%;overflow:hidden}axm-questionnaire-viewer-popup axm-questionnaire-viewer{display:flex;height:100%;flex:1 1 0%;overflow:hidden}\n"] }]
|
|
3668
|
+
}], ctorParameters: () => [], propDecorators: { questionnaireViewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });
|
|
3669
|
+
|
|
3670
|
+
var questionnaireViewerPage_component = /*#__PURE__*/Object.freeze({
|
|
3671
|
+
__proto__: null,
|
|
3672
|
+
AXMQuestionnaireViewerPageComponent: AXMQuestionnaireViewerPageComponent
|
|
3673
|
+
});
|
|
3674
|
+
|
|
3675
|
+
//#region ---- Imports ----
|
|
3676
|
+
//#endregion
|
|
3677
|
+
//#region ---- Component ----
|
|
3678
|
+
/**
|
|
3679
|
+
* Standalone questionnaire viewer page for external access (e.g. shareable links).
|
|
3680
|
+
* Renders full-screen without app shell (no sidebar, no main header).
|
|
3681
|
+
*/
|
|
3682
|
+
class AXMQuestionnaireViewerStandalonePageComponent {
|
|
3683
|
+
//#endregion
|
|
3684
|
+
//#region ---- Lifecycle ----
|
|
3685
|
+
constructor() {
|
|
3686
|
+
//#region ---- Services & Dependencies ----
|
|
3687
|
+
this.route = inject(ActivatedRoute);
|
|
3688
|
+
this.sessionService = inject(AXMAssessmentSessionService);
|
|
3689
|
+
this.caseService = inject(AXMAssessmentCaseService);
|
|
3690
|
+
this.questionnaireService = inject(AXMQuestionnaireService);
|
|
3691
|
+
//#endregion
|
|
3692
|
+
//#region ---- State ----
|
|
3693
|
+
this.structure = signal(null, ...(ngDevMode ? [{ debugName: "structure" }] : []));
|
|
3694
|
+
this.initialAnswers = signal({}, ...(ngDevMode ? [{ debugName: "initialAnswers" }] : []));
|
|
3695
|
+
this.viewerConfig = signal({ readonly: false }, ...(ngDevMode ? [{ debugName: "viewerConfig" }] : []));
|
|
3696
|
+
this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
3697
|
+
this.loadError = signal(null, ...(ngDevMode ? [{ debugName: "loadError" }] : []));
|
|
3698
|
+
this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
|
|
3699
|
+
//#endregion
|
|
3700
|
+
//#region ---- View References ----
|
|
3701
|
+
this.questionnaireViewer = viewChild('viewer', ...(ngDevMode ? [{ debugName: "questionnaireViewer" }] : []));
|
|
3702
|
+
//#endregion
|
|
3703
|
+
//#region ---- Computed ----
|
|
3704
|
+
this.viewerViewModel = computed(() => this.questionnaireViewer()?.viewmodel, ...(ngDevMode ? [{ debugName: "viewerViewModel" }] : []));
|
|
3705
|
+
this.totalQuestionsCount = computed(() => this.viewerViewModel()?.totalQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "totalQuestionsCount" }] : []));
|
|
3706
|
+
this.totalSectionsCount = computed(() => this.viewerViewModel()?.totalSectionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "totalSectionsCount" }] : []));
|
|
3707
|
+
this.showTimer = computed(() => this.viewerViewModel()?.showTimer() ?? false, ...(ngDevMode ? [{ debugName: "showTimer" }] : []));
|
|
3708
|
+
this.timerTimeLimit = computed(() => this.viewerViewModel()?.timerTimeLimit(), ...(ngDevMode ? [{ debugName: "timerTimeLimit" }] : []));
|
|
3709
|
+
this.timerElapsed = computed(() => this.viewerViewModel()?.timerElapsed() ?? 0, ...(ngDevMode ? [{ debugName: "timerElapsed" }] : []));
|
|
3710
|
+
this.showProgressBar = computed(() => this.viewerViewModel()?.showProgressBar() ?? false, ...(ngDevMode ? [{ debugName: "showProgressBar" }] : []));
|
|
3711
|
+
this.answeredQuestionsCount = computed(() => this.viewerViewModel()?.answeredQuestionsCount() ?? 0, ...(ngDevMode ? [{ debugName: "answeredQuestionsCount" }] : []));
|
|
3712
|
+
this.isReadonly = computed(() => this.viewerConfig()?.readonly ?? false, ...(ngDevMode ? [{ debugName: "isReadonly" }] : []));
|
|
3713
|
+
this.canNavigatePrevious = signal(false, ...(ngDevMode ? [{ debugName: "canNavigatePrevious" }] : []));
|
|
3714
|
+
this.canNavigateNext = signal(false, ...(ngDevMode ? [{ debugName: "canNavigateNext" }] : []));
|
|
3715
|
+
this.showNavigationButtons = signal(false, ...(ngDevMode ? [{ debugName: "showNavigationButtons" }] : []));
|
|
3716
|
+
this.isLastStep = signal(false, ...(ngDevMode ? [{ debugName: "isLastStep" }] : []));
|
|
3717
|
+
this.areAllRequiredQuestionsAnswered = signal(false, ...(ngDevMode ? [{ debugName: "areAllRequiredQuestionsAnswered" }] : []));
|
|
3718
|
+
effect(() => {
|
|
3719
|
+
const viewer = this.questionnaireViewer();
|
|
3720
|
+
if (viewer) {
|
|
3721
|
+
const vm = viewer.viewmodel;
|
|
3722
|
+
this.canNavigatePrevious.set(vm.canNavigatePrevious());
|
|
3723
|
+
this.canNavigateNext.set(vm.canNavigateNext());
|
|
3724
|
+
const viewMode = viewer.viewMode;
|
|
3725
|
+
this.showNavigationButtons.set(viewMode === 'page-per-group' || viewMode === 'page-per-question' || viewMode === 'side-menu');
|
|
3726
|
+
this.isLastStep.set(viewer.isLastStep);
|
|
3727
|
+
this.areAllRequiredQuestionsAnswered.set(viewer.areAllRequiredQuestionsAnswered);
|
|
3728
|
+
}
|
|
3729
|
+
});
|
|
3730
|
+
}
|
|
3731
|
+
ngOnInit() {
|
|
3732
|
+
this.loadData();
|
|
3733
|
+
}
|
|
3734
|
+
//#endregion
|
|
3735
|
+
//#region ---- Data Loading ----
|
|
3736
|
+
async loadData() {
|
|
3737
|
+
const sessionId = this.route.snapshot.paramMap.get('sessionId') ?? this.route.parent?.snapshot.paramMap.get('sessionId');
|
|
3738
|
+
if (!sessionId) {
|
|
3739
|
+
this.loadError.set('Session ID is required');
|
|
3740
|
+
this.isLoading.set(false);
|
|
3741
|
+
return;
|
|
3742
|
+
}
|
|
3743
|
+
this.isLoading.set(true);
|
|
3744
|
+
this.loadError.set(null);
|
|
3745
|
+
try {
|
|
3746
|
+
const session = await this.sessionService.getOne(sessionId);
|
|
3747
|
+
if (!session) {
|
|
3748
|
+
this.loadError.set('Session not found');
|
|
3749
|
+
this.isLoading.set(false);
|
|
3750
|
+
return;
|
|
3751
|
+
}
|
|
3752
|
+
const caseId = session.caseId;
|
|
3753
|
+
const assessmentCase = await this.caseService.getOne(caseId);
|
|
3754
|
+
if (!assessmentCase) {
|
|
3755
|
+
this.loadError.set('Assessment case not found');
|
|
3756
|
+
this.isLoading.set(false);
|
|
3757
|
+
return;
|
|
3758
|
+
}
|
|
3759
|
+
const questionnaire = await this.questionnaireService.getOne(assessmentCase.questionnaireId);
|
|
3760
|
+
if (!questionnaire?.structure?.sections?.length) {
|
|
3761
|
+
this.loadError.set('Questionnaire or structure not found');
|
|
3762
|
+
this.isLoading.set(false);
|
|
3763
|
+
return;
|
|
3764
|
+
}
|
|
3765
|
+
const answers = session.answers ?? {};
|
|
3766
|
+
this.structure.set(questionnaire.structure);
|
|
3767
|
+
this.initialAnswers.set(answers);
|
|
3768
|
+
this.viewerConfig.set({ readonly: false });
|
|
3769
|
+
}
|
|
3770
|
+
catch (err) {
|
|
3771
|
+
this.loadError.set(err?.message ?? 'Failed to load questionnaire');
|
|
3772
|
+
}
|
|
3773
|
+
finally {
|
|
3774
|
+
this.isLoading.set(false);
|
|
3775
|
+
}
|
|
3776
|
+
}
|
|
3777
|
+
//#endregion
|
|
3778
|
+
//#region ---- Event Handlers ----
|
|
3779
|
+
handleAnswersChanged(_answers) { }
|
|
3780
|
+
async handlePreviousClick() {
|
|
3781
|
+
await this.questionnaireViewer()?.navigatePrevious();
|
|
3782
|
+
}
|
|
3783
|
+
async handleNextClick() {
|
|
3784
|
+
await this.questionnaireViewer()?.navigateNext();
|
|
3785
|
+
}
|
|
3786
|
+
async handleSubmitClick() {
|
|
3787
|
+
const viewer = this.questionnaireViewer();
|
|
3788
|
+
if (!viewer)
|
|
3789
|
+
return;
|
|
3790
|
+
this.isSubmitting.set(true);
|
|
3791
|
+
try {
|
|
3792
|
+
const result = await viewer.submit();
|
|
3793
|
+
if (result.success && result.answers) {
|
|
3794
|
+
const sessionId = this.route.snapshot.paramMap.get('sessionId') ?? this.route.parent?.snapshot.paramMap.get('sessionId');
|
|
3795
|
+
if (sessionId) {
|
|
3796
|
+
const session = await this.sessionService.getOne(sessionId);
|
|
3797
|
+
if (session) {
|
|
3798
|
+
await this.sessionService.updateOne(sessionId, {
|
|
3799
|
+
...session,
|
|
3800
|
+
answers: result.answers,
|
|
3801
|
+
lastSavedAt: new Date(),
|
|
3802
|
+
});
|
|
3803
|
+
}
|
|
3804
|
+
}
|
|
3805
|
+
}
|
|
3806
|
+
}
|
|
3807
|
+
finally {
|
|
3808
|
+
this.isSubmitting.set(false);
|
|
3809
|
+
}
|
|
3810
|
+
}
|
|
3811
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMQuestionnaireViewerStandalonePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3812
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXMQuestionnaireViewerStandalonePageComponent, isStandalone: true, selector: "axm-questionnaire-viewer-standalone-page", host: { classAttribute: "axm-questionnaire-viewer-standalone-page" }, providers: [AXPWidgetCoreService, AXPWidgetCoreContextStore], viewQueries: [{ propertyName: "questionnaireViewer", first: true, predicate: ["viewer"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
3813
|
+
<div class="__standalone ax-min-h-screen ax-flex ax-flex-col ax-bg-neutral-50">
|
|
3814
|
+
@if (isLoading()) {
|
|
3815
|
+
<div class="ax-flex ax-items-center ax-justify-center ax-flex-1 ax-min-h-[200px]">
|
|
3816
|
+
<span>{{ '@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async }}</span>
|
|
3817
|
+
</div>
|
|
3818
|
+
} @else if (loadError()) {
|
|
3819
|
+
<div class="ax-p-6 ax-text-error-600 ax-text-center">
|
|
3820
|
+
{{ loadError() }}
|
|
3821
|
+
</div>
|
|
3822
|
+
} @else if (structure()) {
|
|
3823
|
+
<div class="__main-container ax-flex-1 ax-flex ax-flex-col ax-max-w-4xl ax-mx-auto ax-w-full ax-p-4">
|
|
3824
|
+
<div class="__header ax-mb-4">
|
|
3825
|
+
<div class="__header-top ax-flex ax-justify-between ax-items-center ax-gap-4">
|
|
3826
|
+
<div class="__header-meta ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600">
|
|
3827
|
+
@if (totalQuestionsCount() > 0) {
|
|
3828
|
+
<span class="__meta-item ax-flex ax-items-center ax-gap-1.5">
|
|
3829
|
+
<i class="fa-light fa-list-check ax-text-primary-600"></i>
|
|
3830
|
+
<span>{{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
|
|
3831
|
+
</span>
|
|
3832
|
+
}
|
|
3833
|
+
@if (totalSectionsCount() > 0) {
|
|
3834
|
+
<span class="__meta-item ax-flex ax-items-center ax-gap-1.5">
|
|
3835
|
+
<i class="fa-light fa-folder ax-text-primary-600"></i>
|
|
3836
|
+
<span>{{ totalSectionsCount() }} {{ totalSectionsCount() === 1 ? 'Section' : 'Sections' }}</span>
|
|
3837
|
+
</span>
|
|
3838
|
+
}
|
|
3839
|
+
</div>
|
|
3840
|
+
@if (showTimer()) {
|
|
3841
|
+
<div class="__header-timer">
|
|
3842
|
+
<axp-stopwatch
|
|
3843
|
+
[mode]="'count-down'"
|
|
3844
|
+
[timeLimit]="timerTimeLimit()"
|
|
3845
|
+
[format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
|
|
3846
|
+
[autoStart]="true"
|
|
3847
|
+
[showControls]="false"
|
|
3848
|
+
[value]="timerElapsed()"
|
|
3849
|
+
(valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
|
|
3850
|
+
>
|
|
3851
|
+
</axp-stopwatch>
|
|
3852
|
+
</div>
|
|
3853
|
+
}
|
|
3854
|
+
</div>
|
|
3855
|
+
</div>
|
|
3856
|
+
|
|
3857
|
+
<div class="__content-wrapper ax-flex-1 ax-min-h-0">
|
|
3858
|
+
<axm-questionnaire-viewer
|
|
3859
|
+
#viewer
|
|
3860
|
+
[structure]="structure()!"
|
|
3861
|
+
[config]="viewerConfig()"
|
|
3862
|
+
[initialAnswers]="initialAnswers()"
|
|
3863
|
+
(answersChanged)="handleAnswersChanged($event)"
|
|
3864
|
+
>
|
|
3865
|
+
</axm-questionnaire-viewer>
|
|
3866
|
+
</div>
|
|
3867
|
+
|
|
3868
|
+
<div class="__footer ax-flex ax-items-center ax-justify-between ax-gap-4 ax-py-4 ax-mt-4 ax-border-t ax-border-neutral-200">
|
|
3869
|
+
<div class="ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600">
|
|
3870
|
+
@if (viewerViewModel() && showProgressBar()) {
|
|
3871
|
+
{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}
|
|
3872
|
+
}
|
|
3873
|
+
</div>
|
|
3874
|
+
<div class="ax-flex ax-gap-2">
|
|
3875
|
+
@if (showNavigationButtons()) {
|
|
3876
|
+
<ax-button
|
|
3877
|
+
look="solid"
|
|
3878
|
+
[disabled]="!canNavigatePrevious()"
|
|
3879
|
+
[text]="'@general:actions.previous.title' | translate | async"
|
|
3880
|
+
(onClick)="handlePreviousClick()"
|
|
3881
|
+
></ax-button>
|
|
3882
|
+
@if (!isLastStep()) {
|
|
3883
|
+
<ax-button
|
|
3884
|
+
look="solid"
|
|
3885
|
+
color="primary"
|
|
3886
|
+
[disabled]="!canNavigateNext()"
|
|
3887
|
+
[text]="'@general:actions.next.title' | translate | async"
|
|
3888
|
+
(onClick)="handleNextClick()"
|
|
3889
|
+
></ax-button>
|
|
3890
|
+
}
|
|
3891
|
+
}
|
|
3892
|
+
@if (isLastStep()) {
|
|
3893
|
+
<ax-button
|
|
3894
|
+
look="solid"
|
|
3895
|
+
color="primary"
|
|
3896
|
+
[text]="'@general:actions.submit.title' | translate | async"
|
|
3897
|
+
[disabled]="isReadonly() || isSubmitting() || !areAllRequiredQuestionsAnswered()"
|
|
3898
|
+
(onClick)="handleSubmitClick()"
|
|
3899
|
+
></ax-button>
|
|
3900
|
+
}
|
|
3901
|
+
</div>
|
|
3902
|
+
</div>
|
|
3903
|
+
</div>
|
|
3904
|
+
}
|
|
3905
|
+
</div>
|
|
3906
|
+
`, isInline: true, styles: ["axm-questionnaire-viewer-popup{display:flex;height:100%;flex-direction:column;overflow:hidden;max-height:80vh}axm-questionnaire-viewer-popup .__main-container{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__header{display:flex;flex-shrink:0;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));background-color:#fff;backdrop-filter:blur(8px)}axm-questionnaire-viewer-popup .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:.375rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item i{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-600),var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item span{font-weight:500}axm-questionnaire-viewer-popup .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-popup .__content-wrapper{display:flex;min-height:0px;flex:1 1 0%;overflow:hidden}axm-questionnaire-viewer-popup axm-questionnaire-viewer{display:flex;height:100%;flex:1 1 0%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$3.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: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXMQuestionnaireViewerComponent, selector: "axm-questionnaire-viewer", inputs: ["questionnaireId", "structure", "config", "initialAnswers"], outputs: ["answersChanged", "questionAnswered"] }, { kind: "component", type: AXPStopwatchComponent, selector: "axp-stopwatch", inputs: ["mode", "timeLimit", "format", "autoStart", "showControls", "value"], outputs: ["valueChange", "timeUp"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3907
|
+
}
|
|
3908
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMQuestionnaireViewerStandalonePageComponent, decorators: [{
|
|
3909
|
+
type: Component,
|
|
3910
|
+
args: [{ selector: 'axm-questionnaire-viewer-standalone-page', template: `
|
|
3911
|
+
<div class="__standalone ax-min-h-screen ax-flex ax-flex-col ax-bg-neutral-50">
|
|
3912
|
+
@if (isLoading()) {
|
|
3913
|
+
<div class="ax-flex ax-items-center ax-justify-center ax-flex-1 ax-min-h-[200px]">
|
|
3914
|
+
<span>{{ '@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async }}</span>
|
|
3915
|
+
</div>
|
|
3916
|
+
} @else if (loadError()) {
|
|
3917
|
+
<div class="ax-p-6 ax-text-error-600 ax-text-center">
|
|
3918
|
+
{{ loadError() }}
|
|
3919
|
+
</div>
|
|
3920
|
+
} @else if (structure()) {
|
|
3921
|
+
<div class="__main-container ax-flex-1 ax-flex ax-flex-col ax-max-w-4xl ax-mx-auto ax-w-full ax-p-4">
|
|
3922
|
+
<div class="__header ax-mb-4">
|
|
3923
|
+
<div class="__header-top ax-flex ax-justify-between ax-items-center ax-gap-4">
|
|
3924
|
+
<div class="__header-meta ax-flex ax-items-center ax-gap-4 ax-text-sm ax-text-neutral-600">
|
|
3925
|
+
@if (totalQuestionsCount() > 0) {
|
|
3926
|
+
<span class="__meta-item ax-flex ax-items-center ax-gap-1.5">
|
|
3927
|
+
<i class="fa-light fa-list-check ax-text-primary-600"></i>
|
|
3928
|
+
<span>{{ totalQuestionsCount() }} {{ totalQuestionsCount() === 1 ? 'Question' : 'Questions' }}</span>
|
|
3929
|
+
</span>
|
|
3930
|
+
}
|
|
3931
|
+
@if (totalSectionsCount() > 0) {
|
|
3932
|
+
<span class="__meta-item ax-flex ax-items-center ax-gap-1.5">
|
|
3933
|
+
<i class="fa-light fa-folder ax-text-primary-600"></i>
|
|
3934
|
+
<span>{{ totalSectionsCount() }} {{ totalSectionsCount() === 1 ? 'Section' : 'Sections' }}</span>
|
|
3935
|
+
</span>
|
|
3936
|
+
}
|
|
3937
|
+
</div>
|
|
3938
|
+
@if (showTimer()) {
|
|
3939
|
+
<div class="__header-timer">
|
|
3940
|
+
<axp-stopwatch
|
|
3941
|
+
[mode]="'count-down'"
|
|
3942
|
+
[timeLimit]="timerTimeLimit()"
|
|
3943
|
+
[format]="timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'"
|
|
3944
|
+
[autoStart]="true"
|
|
3945
|
+
[showControls]="false"
|
|
3946
|
+
[value]="timerElapsed()"
|
|
3947
|
+
(valueChange)="viewerViewModel()!.updateTimerElapsed($event)"
|
|
3948
|
+
>
|
|
3949
|
+
</axp-stopwatch>
|
|
3950
|
+
</div>
|
|
3951
|
+
}
|
|
3952
|
+
</div>
|
|
3953
|
+
</div>
|
|
3954
|
+
|
|
3955
|
+
<div class="__content-wrapper ax-flex-1 ax-min-h-0">
|
|
3956
|
+
<axm-questionnaire-viewer
|
|
3957
|
+
#viewer
|
|
3958
|
+
[structure]="structure()!"
|
|
3959
|
+
[config]="viewerConfig()"
|
|
3960
|
+
[initialAnswers]="initialAnswers()"
|
|
3961
|
+
(answersChanged)="handleAnswersChanged($event)"
|
|
3962
|
+
>
|
|
3963
|
+
</axm-questionnaire-viewer>
|
|
3964
|
+
</div>
|
|
3965
|
+
|
|
3966
|
+
<div class="__footer ax-flex ax-items-center ax-justify-between ax-gap-4 ax-py-4 ax-mt-4 ax-border-t ax-border-neutral-200">
|
|
3967
|
+
<div class="ax-text-sm ax-font-mono ax-tabular-nums ax-text-neutral-600">
|
|
3968
|
+
@if (viewerViewModel() && showProgressBar()) {
|
|
3969
|
+
{{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}
|
|
3970
|
+
}
|
|
3971
|
+
</div>
|
|
3972
|
+
<div class="ax-flex ax-gap-2">
|
|
3973
|
+
@if (showNavigationButtons()) {
|
|
3974
|
+
<ax-button
|
|
3975
|
+
look="solid"
|
|
3976
|
+
[disabled]="!canNavigatePrevious()"
|
|
3977
|
+
[text]="'@general:actions.previous.title' | translate | async"
|
|
3978
|
+
(onClick)="handlePreviousClick()"
|
|
3979
|
+
></ax-button>
|
|
3980
|
+
@if (!isLastStep()) {
|
|
3981
|
+
<ax-button
|
|
3982
|
+
look="solid"
|
|
3983
|
+
color="primary"
|
|
3984
|
+
[disabled]="!canNavigateNext()"
|
|
3985
|
+
[text]="'@general:actions.next.title' | translate | async"
|
|
3986
|
+
(onClick)="handleNextClick()"
|
|
3987
|
+
></ax-button>
|
|
3988
|
+
}
|
|
3989
|
+
}
|
|
3990
|
+
@if (isLastStep()) {
|
|
3991
|
+
<ax-button
|
|
3992
|
+
look="solid"
|
|
3993
|
+
color="primary"
|
|
3994
|
+
[text]="'@general:actions.submit.title' | translate | async"
|
|
3995
|
+
[disabled]="isReadonly() || isSubmitting() || !areAllRequiredQuestionsAnswered()"
|
|
3996
|
+
(onClick)="handleSubmitClick()"
|
|
3997
|
+
></ax-button>
|
|
3998
|
+
}
|
|
3999
|
+
</div>
|
|
4000
|
+
</div>
|
|
4001
|
+
</div>
|
|
4002
|
+
}
|
|
4003
|
+
</div>
|
|
4004
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
4005
|
+
CommonModule,
|
|
4006
|
+
AXButtonModule,
|
|
4007
|
+
AXDecoratorModule,
|
|
4008
|
+
AXTranslationModule,
|
|
4009
|
+
AXPWidgetCoreModule,
|
|
4010
|
+
AXMQuestionnaireViewerComponent,
|
|
4011
|
+
AXPStopwatchComponent,
|
|
4012
|
+
], providers: [AXPWidgetCoreService, AXPWidgetCoreContextStore], encapsulation: ViewEncapsulation.None, host: { class: 'axm-questionnaire-viewer-standalone-page' }, styles: ["axm-questionnaire-viewer-popup{display:flex;height:100%;flex-direction:column;overflow:hidden;max-height:80vh}axm-questionnaire-viewer-popup .__main-container{display:flex;min-height:0px;flex:1 1 0%;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__header{display:flex;flex-shrink:0;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));background-color:#fff;backdrop-filter:blur(8px)}axm-questionnaire-viewer-popup .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:.375rem}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item i{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-600),var(--tw-text-opacity, 1))}axm-questionnaire-viewer-popup .__header .__header-top .__header-meta .__meta-item span{font-weight:500}axm-questionnaire-viewer-popup .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-popup .__content-wrapper{display:flex;min-height:0px;flex:1 1 0%;overflow:hidden}axm-questionnaire-viewer-popup axm-questionnaire-viewer{display:flex;height:100%;flex:1 1 0%;overflow:hidden}\n"] }]
|
|
4013
|
+
}], ctorParameters: () => [], propDecorators: { questionnaireViewer: [{ type: i0.ViewChild, args: ['viewer', { isSignal: true }] }] } });
|
|
4014
|
+
|
|
3193
4015
|
/**
|
|
3194
4016
|
* Generated bundle index. Do not edit.
|
|
3195
4017
|
*/
|
|
3196
4018
|
|
|
3197
|
-
export { AXMQuestionnaireService as A, RootConfig as R, AXMAssessmentSessionService as a, AXMAssessmentCaseService as b, AXMQuestionBankItemService as c, AXMQuestionnaireViewerComponent as d, AXMAssessmentManagementEntityProvider as e, AXMAssessmentManagementFeatureDefinitionProvider as f, AXMAssessmentManagementFeatureKeys as g, AXMAssessmentManagementMenuProvider as h, AXPAssessmentManagementMenuKeys as i, AXMAssessmentManagementPermissionDefinitionProvider as j, AXMAssessmentManagementPermissionKeys as k, AXMAssessmentManagementSearchCommandProvider as l, AXMAssessmentManagementModule as m, AXMQuestionBankItemServiceImpl as n, AXMQuestionnaireServiceImpl as o, AXMAssessmentCaseServiceImpl as p, AXMAssessmentSessionServiceImpl as q };
|
|
3198
|
-
//# sourceMappingURL=acorex-modules-assessment-management-acorex-modules-assessment-management-
|
|
4019
|
+
export { AXMQuestionnaireService as A, RootConfig as R, AXMAssessmentSessionService as a, AXMAssessmentCaseService as b, AXMQuestionBankItemService as c, AXMQuestionnaireViewerComponent as d, AXMAssessmentManagementEntityProvider as e, AXMAssessmentManagementFeatureDefinitionProvider as f, AXMAssessmentManagementFeatureKeys as g, AXMAssessmentManagementMenuProvider as h, AXPAssessmentManagementMenuKeys as i, AXMAssessmentManagementPermissionDefinitionProvider as j, AXMAssessmentManagementPermissionKeys as k, AXMAssessmentManagementSearchCommandProvider as l, AXMAssessmentManagementModule as m, AXMQuestionBankItemServiceImpl as n, AXMQuestionnaireServiceImpl as o, AXMAssessmentCaseServiceImpl as p, AXMAssessmentSessionServiceImpl as q, AXMQuestionnaireViewerPageComponent as r, AXMQuestionnaireViewerStandalonePageComponent as s };
|
|
4020
|
+
//# sourceMappingURL=acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs.map
|