@acorex-platform/module-assessment-management-client 0.0.57 → 0.0.59
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/fesm2022/{acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-juxXq2pM.mjs → acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-sm_OxV_k.mjs} +1472 -160
- package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-sm_OxV_k.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-assessment-voice.commands-CaElbuNh.mjs → acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-assessment-voice.commands-CaElbuNh.mjs.map → acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-questionnaire.mjs +1 -11
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-questionnaire.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-template.mjs +1 -78
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entities-template.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-DYpWu3Vx.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-DDCy1T4t.mjs} +6 -6
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-DYpWu3Vx.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-acorex-platform-module-assessment-management-client-contracts-entity-catalog-DDCy1T4t.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-CUctZ-0K.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-DXJp2k3o.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-CUctZ-0K.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-case.entity-DXJp2k3o.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-C2JJw_JJ.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-Q7-5toSQ.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-C2JJw_JJ.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-assessment-session.entity-Q7-5toSQ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-D3y_rWUI.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-CPEpSSlP.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-D3y_rWUI.mjs.map → acorex-platform-module-assessment-management-client-contracts-entity-catalog-question-bank-item.entity-CPEpSSlP.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-CVz5W0fF.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-DOG7yHv-.mjs} +3 -13
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-DOG7yHv-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-C01AW5NW.mjs → acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-BeYGYRb7.mjs} +3 -80
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-BeYGYRb7.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog.mjs +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs +33 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-fill-assessment-session.command-CMIq-DDl.mjs → acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-fill-assessment-session.command-CMIq-DDl.mjs.map → acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-form-template-viewer-edit.component-BlGBTznW.mjs +112 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-form-template-viewer-edit.component-BlGBTznW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-COZcUPEj.mjs → acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-BU6YLe8q.mjs} +4 -4
- package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-COZcUPEj.mjs.map → acorex-platform-module-assessment-management-client-form-template-viewer-popup.component-BU6YLe8q.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-form-template-viewer.service-CvSRpoos.mjs → acorex-platform-module-assessment-management-client-form-template-viewer.service-CZre8wPB.mjs} +15 -11
- package/fesm2022/acorex-platform-module-assessment-management-client-form-template-viewer.service-CZre8wPB.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-index-BmODQqQ4.mjs +68 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-index-BmODQqQ4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-open-form-template.command-CmR-xFHE.mjs → acorex-platform-module-assessment-management-client-open-form-template.command-C9BMiyDb.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-assessment-management-client-open-form-template.command-CmR-xFHE.mjs.map → acorex-platform-module-assessment-management-client-open-form-template.command-C9BMiyDb.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-form-template.command-BEzE0620.mjs → acorex-platform-module-assessment-management-client-preview-form-template.command-L5NxVqdE.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-form-template.command-BEzE0620.mjs.map → acorex-platform-module-assessment-management-client-preview-form-template.command-L5NxVqdE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-question.command-BGT8qB1_.mjs → acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-question.command-BGT8qB1_.mjs.map → acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-questionnaire.command-duK7Tjjp.mjs → acorex-platform-module-assessment-management-client-preview-questionnaire.command-ChtB6q9D.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-preview-questionnaire.command-duK7Tjjp.mjs.map → acorex-platform-module-assessment-management-client-preview-questionnaire.command-ChtB6q9D.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-B7_G_C5B.mjs → acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Iwdbc86Q.mjs} +4 -4
- package/fesm2022/{acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-B7_G_C5B.mjs.map → acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Iwdbc86Q.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-Q6Wu81xW.mjs +69 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-Q6Wu81xW.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CaKML07K.mjs +78 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CaKML07K.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-daQL4OD_.mjs → acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-xDX86cTn.mjs} +4 -4
- package/fesm2022/{acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-daQL4OD_.mjs.map → acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-xDX86cTn.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CiMERtrE.mjs +26 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CiMERtrE.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-related-content-viewer-page.component-CI9AlM58.mjs +315 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-related-content-viewer-page.component-CI9AlM58.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-review-assessment-session.command-CPeFh1m7.mjs → acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-review-assessment-session.command-CPeFh1m7.mjs.map → acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-BZxwRr8J.mjs +117 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-BZxwRr8J.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-hrtJQmvG.mjs +129 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-hrtJQmvG.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-CMUmrNac.mjs +120 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-CMUmrNac.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-template-picker.component-D_UCdFOH.mjs → acorex-platform-module-assessment-management-client-template-picker.component-DzboI7GV.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-assessment-management-client-template-picker.component-D_UCdFOH.mjs.map → acorex-platform-module-assessment-management-client-template-picker.component-DzboI7GV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-assessment-management-client-template-widget-edit.component-DERabYdH.mjs → acorex-platform-module-assessment-management-client-template-widget-edit.component-BhW_Wn7N.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-template-widget-edit.component-DERabYdH.mjs.map → acorex-platform-module-assessment-management-client-template-widget-edit.component-BhW_Wn7N.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-Dkaw3T8R.mjs +90 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-Dkaw3T8R.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-grid.component-BCRIENMA.mjs +77 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-grid.component-BCRIENMA.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-CFu_CQ91.mjs +236 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-CFu_CQ91.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-column.component-B3Lx7yuD.mjs +50 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-column.component-B3Lx7yuD.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DdC83GV8.mjs +81 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DdC83GV8.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-OQZIzcjG.mjs +30 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-OQZIzcjG.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet.util-CPbgWk5E.mjs +423 -0
- package/fesm2022/acorex-platform-module-assessment-management-client-test-sheet.util-CPbgWk5E.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-assessment-management-client-view-session-answers.command-DjJajIkL.mjs → acorex-platform-module-assessment-management-client-view-session-answers.command-YoUUyJ4j.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-assessment-management-client-view-session-answers.command-DjJajIkL.mjs.map → acorex-platform-module-assessment-management-client-view-session-answers.command-YoUUyJ4j.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-assessment-management-client.mjs +1 -1
- package/i18n/en-AU/assessment-management.json +69 -0
- package/i18n/en-AU/form-template-management.json +8 -0
- package/i18n/en-US/assessment-management.json +69 -0
- package/i18n/en-US/form-template-management.json +8 -0
- package/i18n/fa-IR/assessment-management.json +69 -0
- package/i18n/fa-IR/form-template-management.json +8 -0
- package/package.json +3 -3
- package/types/acorex-platform-module-assessment-management-client-contracts.d.ts +23 -3
- package/types/acorex-platform-module-assessment-management-client.d.ts +10 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-juxXq2pM.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-questionnaire.entity-CVz5W0fF.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-contracts-entity-catalog-template.entity-C01AW5NW.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-assessment-management-client-form-template-viewer.service-CvSRpoos.mjs.map +0 -1
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { AXMAssessmentManagementFeatureKeys, RootConfig, AXPSafetyRiskPermissionKeys, AXPAssessmentManagementMenuKeys, AXPContentDocumentsPermissionKeys, AXPFormTemplateManagementMenuKeys, parseQuestionHintPartialFromRecord, flattenQuestionnaireOutcomeItems, normalizeQuestionnaireOutcomesValue, normalizeQuestionnaireOutcomeDisplayRules, matchesQuestionnaireOutcomeDisplayRule, normalizeQuestionCommentConfig, commentConfigForEditForm, mergeQuestionCommentConfig, normalizeQuestionHintFromEntityRow, mergeQuestionHintForViewer, normalizeQuestionHintMode, normalizeQuestionHintConfig, diffQuestionHintOverride, diffQuestionCommentOverride, toDisplaySettings, toPrintSettings, toPrePostConfig,
|
|
1
|
+
import { AXMAssessmentManagementFeatureKeys, RootConfig, AXPSafetyRiskPermissionKeys, AXPAssessmentManagementMenuKeys, AXPContentDocumentsPermissionKeys, AXPFormTemplateManagementMenuKeys, AXMFormTemplateTypes, QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY, parseQuestionHintPartialFromRecord, flattenQuestionnaireOutcomeItems, normalizeQuestionnaireOutcomesValue, normalizeQuestionnaireOutcomeDisplayRules, matchesQuestionnaireOutcomeDisplayRule, readQuestionnaireItemColSpan, normalizeQuestionCommentConfig, commentConfigForEditForm, mergeQuestionCommentConfig, normalizeQuestionHintFromEntityRow, mergeQuestionHintForViewer, questionnaireItemLayoutOverride, normalizeQuestionHintMode, normalizeQuestionHintConfig, diffQuestionHintOverride, diffQuestionCommentOverride, toDisplaySettings, toPrintSettings, toPrePostConfig, findDuplicateOutcomeNames, QUESTIONNAIRE_OUTCOMES_PAGE_COMPONENT_KEY, resolvePrintSettings, resolvePrintPaging, getQuestionAnswerCommentStoragePath, getQuestionCommentVisibilityFlag, DEFAULT_QUESTIONNAIRE_PRINT_SETTINGS, normalizeCompletionMode, wrapPrintDocument, minifyPrintHtml, resolvePrintPlainText, parseQuestionnaireOutcomeDisplayColor, isQuestionnaireOutcomeDisplayColorHex, resolvePrintContentWidthMm } from '@acorex-platform/module-assessment-management-client/contracts';
|
|
2
2
|
import { AXPCommonMenuKeys, AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';
|
|
3
|
-
import { AXPEntityService, AXPEntityDefinitionRegistryService, AXPFileListComponent } from '@acorex-platform/framework-client/layout/entity';
|
|
3
|
+
import { AXPEntityService, cloneLayoutArrays, actionExists, ensureLayoutSection, ensureLayoutPropertyView, AXP_ENTITY_ACTION_PLUGIN, AXPEntityDefinitionRegistryService, AXPFileListComponent } from '@acorex-platform/framework-client/layout/entity';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, Injectable, NgModule, input, output, signal, viewChild, computed, effect, untracked, ChangeDetectionStrategy, Component, ViewEncapsulation, ElementRef, afterNextRender, InjectionToken, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
6
6
|
import { AXPSearchCommandProvider, createEntityCommandOptions, AXPStickyDirective, AX_FILE_TYPE_METADATA_SUPPORT_BY_FILE_VIEWER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_PROTECTED_ROUTE_GUARDS, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER } from '@acorex-platform/framework-client/common';
|
|
7
7
|
import { AXPCommandService, provideCommandSetups, provideQuerySetups, provideCommand } from '@acorex-platform/framework-client/runtime';
|
|
8
8
|
import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';
|
|
9
9
|
import { AXPDataSelectorService, AXPPropertyViewerService, AXPStandardSectionItemsBuilderComponent, AXPStateMessageComponent, AXP_PAGE_COMPONENT_PROVIDER, AXPOutcomeResultsViewerComponent, AXPThemeLayoutBlockComponent, AXPStopwatchComponent } from '@acorex-platform/framework-client/layout/components';
|
|
10
|
-
import { AXPExpressionEvaluatorService, AXPDeviceService, AXPBroadcastEventService, AXPContextStore, AXPDataGenerator,
|
|
10
|
+
import { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXPDialogOpener, AXPExpressionEvaluatorService, AXPDeviceService, AXPBroadcastEventService, AXPContextStore, AXPDataGenerator, provideLazyProvider, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/core';
|
|
11
11
|
import { ROUTES, ActivatedRoute } from '@angular/router';
|
|
12
12
|
import { AXPRootLayoutComponent } from '@acorex-platform/framework-client/themes/default';
|
|
13
13
|
import * as i1$1 from '@acorex-platform/framework-client/layout/widget-core';
|
|
14
|
-
import { AXP_WIDGETS_EDITOR_CATEGORY,
|
|
15
|
-
import {
|
|
14
|
+
import { AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule, AXPWidgetRegistryService, AXPWidgetContainerComponent, AXPValueWidgetComponent, AXPLayoutBaseWidgetComponent, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetCoreService } from '@acorex-platform/framework-client/layout/widget-core';
|
|
15
|
+
import { get } from 'lodash-es';
|
|
16
|
+
import { AXPEntityCommandScope, AXPEntityEventsKeys } from '@acorex-platform/framework-shared/entity';
|
|
17
|
+
import { AXPWidgetsList, AXPWidgetsCatalog, containsHtmlMarkup, AXPSystemStatusType, createRandomUuid, runtimeCommandPayloadData, resolveToSurfaceClass } from '@acorex-platform/framework-shared/core';
|
|
16
18
|
import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXPWidgetsModule } from '@acorex-platform/framework-client/layout/widgets';
|
|
19
|
+
import { AXPWidgetGroupEnum, createBooleanProperty, createStringProperty } from '@acorex-platform/framework-shared/widget-core';
|
|
17
20
|
import * as i3 from '@angular/common';
|
|
18
21
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
19
22
|
import * as i1$3 from '@acorex/components/form';
|
|
20
23
|
import { AXFormModule } from '@acorex/components/form';
|
|
21
|
-
import * as
|
|
24
|
+
import * as i3$1 from '@acorex/core/translation';
|
|
22
25
|
import { resolveMultiLanguageString, AXTranslationService, AXTranslationModule, createMultiLanguageString, isEffectivelyEmptyLocalizedValue } from '@acorex/core/translation';
|
|
23
26
|
import * as i2 from '@acorex/components/decorators';
|
|
24
27
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
25
28
|
import { AXToastService } from '@acorex/components/toast';
|
|
26
29
|
import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
|
|
27
|
-
import { cloneDeep, get, isEqual, isNil, first, defaultTo, isEmpty, isObject, set, isString, sortBy } from 'lodash';
|
|
30
|
+
import { cloneDeep, get as get$1, isEqual, isNil, first, defaultTo, isEmpty, isObject, set, isString, sortBy } from 'lodash';
|
|
28
31
|
import { AXDataSource } from '@acorex/cdk/common';
|
|
29
32
|
import { AXFullScreenDirective } from '@acorex/cdk/full-screen';
|
|
30
33
|
import * as i1 from '@acorex/components/button';
|
|
@@ -35,19 +38,17 @@ import { AXSwitchModule } from '@acorex/components/switch';
|
|
|
35
38
|
import * as i5 from '@angular/forms';
|
|
36
39
|
import { FormsModule } from '@angular/forms';
|
|
37
40
|
import { AXPopupService } from '@acorex/components/popup';
|
|
38
|
-
import { AXPWidgetsCatalog, containsHtmlMarkup, AXPSystemStatusType, createRandomUuid, runtimeCommandPayloadData, resolveToSurfaceClass } from '@acorex-platform/framework-shared/core';
|
|
39
|
-
import { AXPEntityEventsKeys } from '@acorex-platform/framework-shared/entity';
|
|
40
41
|
import { AXPPageLayoutBaseComponent, AXPPageLayoutBase, AXPPageLayoutComponent } from '@acorex-platform/framework-client/layout/views';
|
|
41
42
|
import * as i2$1 from '@acorex/components/alert';
|
|
42
43
|
import { AXAlertModule } from '@acorex/components/alert';
|
|
43
|
-
import * as i4
|
|
44
|
+
import * as i4 from '@acorex/components/text-area';
|
|
44
45
|
import { AXTextAreaModule } from '@acorex/components/text-area';
|
|
45
46
|
import { AXSafePipe } from '@acorex/core/pipes';
|
|
46
47
|
import { AXDrawerDirectiveModule } from '@acorex/cdk/drawer';
|
|
47
48
|
import { AXResizableDirective } from '@acorex/cdk/resizable';
|
|
48
49
|
import * as i2$2 from '@acorex/components/badge';
|
|
49
50
|
import { AXBadgeModule } from '@acorex/components/badge';
|
|
50
|
-
import * as i3$
|
|
51
|
+
import * as i3$2 from '@acorex/components/drawer';
|
|
51
52
|
import { AXDrawerModule } from '@acorex/components/drawer';
|
|
52
53
|
import * as i1$2 from '@acorex/components/tabs';
|
|
53
54
|
import { AXTabsComponent, AXTabsModule } from '@acorex/components/tabs';
|
|
@@ -58,7 +59,7 @@ import { AX_FILE_TYPE_METADATA_PURPOSE, AXFileTypeInfoProvider, AXFileModule, pr
|
|
|
58
59
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
59
60
|
import { AXPDesignerConnector, AXPDesignerService, AXPWidgetDesignerRendererDirective, AXPDesignerAddWidgetMiniButtonComponent } from '@acorex-platform/framework-client/layout/designer';
|
|
60
61
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
61
|
-
import * as i3$
|
|
62
|
+
import * as i3$3 from '@acorex/components/popover';
|
|
62
63
|
import { AXPopoverModule } from '@acorex/components/popover';
|
|
63
64
|
|
|
64
65
|
//#region ---- Imports ----
|
|
@@ -254,6 +255,1093 @@ var searchCommand_provider = /*#__PURE__*/Object.freeze({
|
|
|
254
255
|
AXMAssessmentManagementSearchCommandProvider: AXMAssessmentManagementSearchCommandProvider
|
|
255
256
|
});
|
|
256
257
|
|
|
258
|
+
/** Widget that edits questionnaire questions inline or inside the popup. */
|
|
259
|
+
const QUESTIONNAIRE_QUESTIONS_EDITOR_WIDGET = 'questionnaire-questions-editor';
|
|
260
|
+
/** Opens the questions builder dialog. */
|
|
261
|
+
const SHOW_QUESTIONNAIRE_QUESTIONS_POPUP_COMMAND = 'show-questionnaire-questions-popup';
|
|
262
|
+
/** Side-menu page that hosts the form layout designer. */
|
|
263
|
+
const FORM_TEMPLATE_PAGE_COMPONENT_KEY = 'entity-form-template-page';
|
|
264
|
+
/** Opens the form designer tab (list / record action). */
|
|
265
|
+
const FORM_TEMPLATE_DESIGN_COMMAND = 'design-form-template';
|
|
266
|
+
/** Widget that fills a form template stored on a related record. */
|
|
267
|
+
const FORM_TEMPLATE_VIEWER_WIDGET = 'form-template-viewer';
|
|
268
|
+
/** Widget that fills a questionnaire stored on a related record. */
|
|
269
|
+
const QUESTIONNAIRE_VIEWER_WIDGET = 'questionnaire-viewer';
|
|
270
|
+
/** Opens the related form template in the form viewer dialog. */
|
|
271
|
+
const SHOW_FORM_TEMPLATE_VIEWER_POPUP_COMMAND = 'show-form-template-viewer-popup';
|
|
272
|
+
/** Opens the related questionnaire in the questionnaire viewer dialog. */
|
|
273
|
+
const SHOW_QUESTIONNAIRE_VIEWER_POPUP_COMMAND = 'show-questionnaire-viewer-popup';
|
|
274
|
+
/** Side-menu page that fills a related form template. */
|
|
275
|
+
const FORM_TEMPLATE_VIEWER_PAGE_COMPONENT_KEY = 'entity-form-template-viewer-page';
|
|
276
|
+
/** Side-menu page that fills a related questionnaire. */
|
|
277
|
+
const QUESTIONNAIRE_VIEWER_PAGE_COMPONENT_KEY = 'entity-questionnaire-viewer-page';
|
|
278
|
+
/** Lookup on the related record that points at AssessmentManagement.Template. */
|
|
279
|
+
const FORM_TEMPLATE_VIEWER_SOURCE_FIELD = 'formTemplateId';
|
|
280
|
+
/** Document field on AssessmentManagement.Template. */
|
|
281
|
+
const FORM_TEMPLATE_DOCUMENT_FIELD = 'template';
|
|
282
|
+
/** Lookup on the related record that points at AssessmentManagement.Questionnaire. */
|
|
283
|
+
const QUESTIONNAIRE_VIEWER_SOURCE_FIELD = 'questionnaireId';
|
|
284
|
+
/** Questions field on AssessmentManagement.Questionnaire. */
|
|
285
|
+
const QUESTIONNAIRE_STRUCTURE_FIELD = 'questions';
|
|
286
|
+
/** Field on the host record that stores filled form answers. */
|
|
287
|
+
const FORM_TEMPLATE_VIEWER_FIELD = 'formData';
|
|
288
|
+
/** Field on the host record that stores questionnaire answers. */
|
|
289
|
+
const QUESTIONNAIRE_VIEWER_FIELD = 'answers';
|
|
290
|
+
|
|
291
|
+
//#region ----- Types -----
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region ----- Normalize -----
|
|
294
|
+
/**
|
|
295
|
+
* Converts `section` | `popup` | `page` into the object form used by metadata plugins.
|
|
296
|
+
* Omitted display defaults to an inline section.
|
|
297
|
+
*/
|
|
298
|
+
function normalizeContentDisplay(display, defaultTitle) {
|
|
299
|
+
if (!display) {
|
|
300
|
+
return { section: { enabled: true, title: defaultTitle } };
|
|
301
|
+
}
|
|
302
|
+
if (typeof display === 'object') {
|
|
303
|
+
return display;
|
|
304
|
+
}
|
|
305
|
+
switch (display) {
|
|
306
|
+
case 'section':
|
|
307
|
+
return {
|
|
308
|
+
section: { enabled: true, title: defaultTitle },
|
|
309
|
+
popup: { enabled: false },
|
|
310
|
+
page: { enabled: false },
|
|
311
|
+
};
|
|
312
|
+
case 'popup':
|
|
313
|
+
return {
|
|
314
|
+
section: { enabled: false },
|
|
315
|
+
popup: { enabled: true, title: defaultTitle },
|
|
316
|
+
page: { enabled: false },
|
|
317
|
+
};
|
|
318
|
+
case 'page':
|
|
319
|
+
return {
|
|
320
|
+
section: { enabled: false },
|
|
321
|
+
popup: { enabled: false },
|
|
322
|
+
page: { enabled: true, title: defaultTitle },
|
|
323
|
+
};
|
|
324
|
+
default:
|
|
325
|
+
return { section: { enabled: true, title: defaultTitle } };
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
function resolveContentDisplay(display, defaultTitle) {
|
|
329
|
+
const config = normalizeContentDisplay(display, defaultTitle);
|
|
330
|
+
const sectionConfig = config.section ?? {};
|
|
331
|
+
const popupConfig = config.popup ?? {};
|
|
332
|
+
const pageConfig = config.page ?? {};
|
|
333
|
+
return {
|
|
334
|
+
config,
|
|
335
|
+
sectionConfig,
|
|
336
|
+
popupConfig,
|
|
337
|
+
pageConfig,
|
|
338
|
+
showSection: sectionConfig.enabled !== false,
|
|
339
|
+
showPopup: popupConfig.enabled === true,
|
|
340
|
+
showPage: pageConfig.enabled === true,
|
|
341
|
+
sectionTitle: sectionConfig.title ?? defaultTitle,
|
|
342
|
+
popupTitle: popupConfig.title ?? defaultTitle,
|
|
343
|
+
pageTitle: pageConfig.title ?? defaultTitle,
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
//#endregion
|
|
347
|
+
//#region ----- Related record -----
|
|
348
|
+
/** Lookup id, or a record object that carries `id`. */
|
|
349
|
+
function readRelatedRecordId(value) {
|
|
350
|
+
if (typeof value === 'string') {
|
|
351
|
+
return value.trim();
|
|
352
|
+
}
|
|
353
|
+
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
354
|
+
return String(value);
|
|
355
|
+
}
|
|
356
|
+
if (value && typeof value === 'object' && 'id' in value) {
|
|
357
|
+
return readRelatedRecordId(value.id);
|
|
358
|
+
}
|
|
359
|
+
return '';
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Adds a section (after `afterSectionId` when that section exists) and its property view.
|
|
363
|
+
* Caller must pass a layout whose `sections` / `properties` arrays are already cloned.
|
|
364
|
+
*/
|
|
365
|
+
function placeContentSection(layout, section, property, afterSectionId) {
|
|
366
|
+
const sections = [...(layout.sections ?? [])];
|
|
367
|
+
const existingIndex = sections.findIndex((item) => item.id === section.id);
|
|
368
|
+
if (existingIndex >= 0) {
|
|
369
|
+
sections[existingIndex] = { ...sections[existingIndex], ...section };
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
const afterIndex = afterSectionId ? sections.findIndex((item) => item.id === afterSectionId) : -1;
|
|
373
|
+
const insertAt = afterIndex >= 0 ? afterIndex + 1 : sections.length;
|
|
374
|
+
sections.splice(insertAt, 0, section);
|
|
375
|
+
}
|
|
376
|
+
layout.sections = sections;
|
|
377
|
+
const properties = [...(layout.properties ?? [])];
|
|
378
|
+
if (!properties.some((item) => item.name === property.name)) {
|
|
379
|
+
properties.push(property);
|
|
380
|
+
}
|
|
381
|
+
layout.properties = properties;
|
|
382
|
+
}
|
|
383
|
+
function upsertComponentPage(entity, page) {
|
|
384
|
+
const pages = (entity.pages ?? []);
|
|
385
|
+
entity.pages = pages;
|
|
386
|
+
const index = pages.findIndex((item) => item.componentKey === page.componentKey && (page.field == null || item.field === page.field));
|
|
387
|
+
if (index < 0) {
|
|
388
|
+
pages.push(page);
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
pages[index] = { ...pages[index], ...page };
|
|
392
|
+
}
|
|
393
|
+
//#endregion
|
|
394
|
+
|
|
395
|
+
//#region ----- Service -----
|
|
396
|
+
/**
|
|
397
|
+
* Loads one field from the record a lookup points at.
|
|
398
|
+
* In-flight requests for the same id are shared; later evaluations fetch again.
|
|
399
|
+
*/
|
|
400
|
+
class AXMRelatedContentRecordService {
|
|
401
|
+
constructor() {
|
|
402
|
+
//#region ----- Services & Dependencies -----
|
|
403
|
+
this.entityService = inject(AXPEntityService);
|
|
404
|
+
this.pending = new Map();
|
|
405
|
+
}
|
|
406
|
+
//#endregion
|
|
407
|
+
//#region ----- Public Methods -----
|
|
408
|
+
async find(entity, id) {
|
|
409
|
+
const recordId = readRelatedRecordId(id);
|
|
410
|
+
const entityKey = entity.trim();
|
|
411
|
+
if (!entityKey || !recordId) {
|
|
412
|
+
return null;
|
|
413
|
+
}
|
|
414
|
+
const cacheKey = `${entityKey}:${recordId}`;
|
|
415
|
+
const existing = this.pending.get(cacheKey);
|
|
416
|
+
if (existing) {
|
|
417
|
+
return existing;
|
|
418
|
+
}
|
|
419
|
+
const request = this.load(entityKey, recordId).finally(() => {
|
|
420
|
+
this.pending.delete(cacheKey);
|
|
421
|
+
});
|
|
422
|
+
this.pending.set(cacheKey, request);
|
|
423
|
+
return request;
|
|
424
|
+
}
|
|
425
|
+
async readField(entity, id, field) {
|
|
426
|
+
const sourceField = field.trim();
|
|
427
|
+
if (!sourceField) {
|
|
428
|
+
return null;
|
|
429
|
+
}
|
|
430
|
+
const record = await this.find(entity, id);
|
|
431
|
+
if (!record) {
|
|
432
|
+
return null;
|
|
433
|
+
}
|
|
434
|
+
return get(record, sourceField) ?? null;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Reads `sourceField` from the related record, then loads the form document.
|
|
438
|
+
* `sourceField` is the selector lookup (`formTemplateId`) or an inline template JSON.
|
|
439
|
+
*/
|
|
440
|
+
async readFormTemplate(entity, id, sourceField) {
|
|
441
|
+
const pointer = await this.readField(entity, id, sourceField);
|
|
442
|
+
return this.resolveFormTemplateDocument(pointer);
|
|
443
|
+
}
|
|
444
|
+
async resolveFormTemplateDocument(value) {
|
|
445
|
+
if (value == null || value === '') {
|
|
446
|
+
return null;
|
|
447
|
+
}
|
|
448
|
+
if (isFormDocument(value)) {
|
|
449
|
+
return value;
|
|
450
|
+
}
|
|
451
|
+
if (typeof value === 'string') {
|
|
452
|
+
const trimmed = value.trim();
|
|
453
|
+
if (!trimmed) {
|
|
454
|
+
return null;
|
|
455
|
+
}
|
|
456
|
+
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
|
457
|
+
return trimmed;
|
|
458
|
+
}
|
|
459
|
+
const templateEntity = `${RootConfig.module.name}.${RootConfig.entities.template.name}`;
|
|
460
|
+
const document = await this.readField(templateEntity, trimmed, FORM_TEMPLATE_DOCUMENT_FIELD);
|
|
461
|
+
return document ?? null;
|
|
462
|
+
}
|
|
463
|
+
const nestedId = readRelatedRecordId(value);
|
|
464
|
+
if (!nestedId) {
|
|
465
|
+
return null;
|
|
466
|
+
}
|
|
467
|
+
const templateEntity = `${RootConfig.module.name}.${RootConfig.entities.template.name}`;
|
|
468
|
+
return this.readField(templateEntity, nestedId, FORM_TEMPLATE_DOCUMENT_FIELD);
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Reads `sourceField` from the related record, then loads questionnaire questions.
|
|
472
|
+
* `sourceField` is the selector lookup (`questionnaireId`) or an inline structure.
|
|
473
|
+
*/
|
|
474
|
+
async readQuestionnaireStructure(entity, id, sourceField) {
|
|
475
|
+
const pointer = await this.readField(entity, id, sourceField);
|
|
476
|
+
return this.resolveQuestionnaireStructure(pointer);
|
|
477
|
+
}
|
|
478
|
+
async resolveQuestionnaireStructure(value) {
|
|
479
|
+
if (value == null || value === '') {
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
if (isQuestionnaireStructure(value)) {
|
|
483
|
+
return value;
|
|
484
|
+
}
|
|
485
|
+
const nestedId = readRelatedRecordId(value);
|
|
486
|
+
if (!nestedId) {
|
|
487
|
+
return null;
|
|
488
|
+
}
|
|
489
|
+
const questionnaireEntity = `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}`;
|
|
490
|
+
return this.readField(questionnaireEntity, nestedId, QUESTIONNAIRE_STRUCTURE_FIELD);
|
|
491
|
+
}
|
|
492
|
+
//#endregion
|
|
493
|
+
//#region ----- Data Loading -----
|
|
494
|
+
async load(entity, id) {
|
|
495
|
+
try {
|
|
496
|
+
const record = await this.entityService.withEntity(entity).data().byKey(id);
|
|
497
|
+
return record ?? null;
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
return null;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMRelatedContentRecordService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
504
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMRelatedContentRecordService, providedIn: 'root' }); }
|
|
505
|
+
}
|
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMRelatedContentRecordService, decorators: [{
|
|
507
|
+
type: Injectable,
|
|
508
|
+
args: [{ providedIn: 'root' }]
|
|
509
|
+
}] });
|
|
510
|
+
function isFormDocument(value) {
|
|
511
|
+
return !!value && typeof value === 'object' && typeof value.type === 'string';
|
|
512
|
+
}
|
|
513
|
+
function isQuestionnaireStructure(value) {
|
|
514
|
+
return (!!value &&
|
|
515
|
+
typeof value === 'object' &&
|
|
516
|
+
Array.isArray(value.sections) &&
|
|
517
|
+
value.sections.length > 0);
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
//#region ----- Provider -----
|
|
521
|
+
/**
|
|
522
|
+
* Expression helpers for the form and questionnaire viewer plugins.
|
|
523
|
+
* `formTemplateViewer.fromEntity` and `questionnaireViewer.fromEntity`
|
|
524
|
+
* read one field from the record a lookup points at.
|
|
525
|
+
*/
|
|
526
|
+
class AXMContentDisplayEvaluatorScopeProvider {
|
|
527
|
+
constructor() {
|
|
528
|
+
//#region ----- Services & Dependencies -----
|
|
529
|
+
this.records = inject(AXMRelatedContentRecordService);
|
|
530
|
+
//#endregion
|
|
531
|
+
}
|
|
532
|
+
//#endregion
|
|
533
|
+
//#region ----- Scope -----
|
|
534
|
+
async provide(context) {
|
|
535
|
+
context.addScope('formTemplateViewer', {
|
|
536
|
+
fromEntity: async (sourceEntity, contextValue, sourceField) => {
|
|
537
|
+
if (!sourceEntity || !sourceField) {
|
|
538
|
+
return null;
|
|
539
|
+
}
|
|
540
|
+
return this.records.readFormTemplate(sourceEntity, contextValue, sourceField);
|
|
541
|
+
},
|
|
542
|
+
});
|
|
543
|
+
context.addScope('questionnaireViewer', {
|
|
544
|
+
fromEntity: async (sourceEntity, contextValue, sourceField) => {
|
|
545
|
+
if (!sourceEntity || !sourceField) {
|
|
546
|
+
return null;
|
|
547
|
+
}
|
|
548
|
+
return this.records.readQuestionnaireStructure(sourceEntity, contextValue, sourceField);
|
|
549
|
+
},
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
//#endregion
|
|
554
|
+
|
|
555
|
+
//#region ----- Types -----
|
|
556
|
+
const DEFAULT_FIELD$3 = 'template';
|
|
557
|
+
const DEFAULT_GROUP_ID$3 = 'template-content';
|
|
558
|
+
const DEFAULT_ICON$1 = 'fa-light fa-file-code';
|
|
559
|
+
const DEFAULT_TITLE$3 = '@form-template-management:designer.terms.designer';
|
|
560
|
+
//#endregion
|
|
561
|
+
//#region ----- Plugin -----
|
|
562
|
+
/**
|
|
563
|
+
* Shows a form template designer the same way metadata plugins do:
|
|
564
|
+
* inline section, design action, and/or record detail side-menu page.
|
|
565
|
+
*/
|
|
566
|
+
const formTemplatePlugin = {
|
|
567
|
+
name: 'form-template',
|
|
568
|
+
order: 62,
|
|
569
|
+
apply: (ctx, options) => {
|
|
570
|
+
const opts = options ?? {};
|
|
571
|
+
const field = opts.field?.trim() || DEFAULT_FIELD$3;
|
|
572
|
+
const defaultTitle = opts.title?.trim() || DEFAULT_TITLE$3;
|
|
573
|
+
const display = resolveContentDisplay(opts.display, defaultTitle);
|
|
574
|
+
const groupId = resolveGroupId$1(ctx, field, opts.groupId?.trim() || DEFAULT_GROUP_ID$3);
|
|
575
|
+
const pageIcon = display.pageConfig.icon ?? opts.icon ?? DEFAULT_ICON$1;
|
|
576
|
+
const pageOrder = display.pageConfig.order ?? opts.order ?? 1;
|
|
577
|
+
const explicitPopupTitle = typeof opts.display === 'object' ? opts.display.popup?.title?.trim() : undefined;
|
|
578
|
+
const popupActionTitle = explicitPopupTitle || opts.title?.trim() || '@general:actions.configuration.design.title';
|
|
579
|
+
ensureGroup$2(ctx, groupId, display.sectionTitle);
|
|
580
|
+
ensureTemplateProperty(ctx, field, groupId, display.sectionTitle);
|
|
581
|
+
if (display.showSection) {
|
|
582
|
+
const sectionOrder = display.sectionConfig.order;
|
|
583
|
+
const applyLayout = (layout, showSectionLabel) => {
|
|
584
|
+
const source = layout ?? { title: ctx.entity.title, sections: [], properties: [] };
|
|
585
|
+
const next = cloneLayoutArrays({
|
|
586
|
+
...source,
|
|
587
|
+
sections: source.sections ?? [],
|
|
588
|
+
properties: source.properties ?? [],
|
|
589
|
+
});
|
|
590
|
+
placeContentSection(next, {
|
|
591
|
+
id: groupId,
|
|
592
|
+
title: display.sectionTitle,
|
|
593
|
+
layout: { label: { visible: showSectionLabel } },
|
|
594
|
+
...(sectionOrder != null ? { order: sectionOrder } : {}),
|
|
595
|
+
}, {
|
|
596
|
+
name: field,
|
|
597
|
+
layout: {
|
|
598
|
+
label: { visible: false },
|
|
599
|
+
positions: { lg: { colSpan: 12, order: 4 } },
|
|
600
|
+
},
|
|
601
|
+
}, 'basic-info');
|
|
602
|
+
return next;
|
|
603
|
+
};
|
|
604
|
+
ctx.interfaces.master.single.update((single) => applyLayout(single, false));
|
|
605
|
+
ctx.interfaces.master.create.update((create) => applyLayout(create, true));
|
|
606
|
+
ctx.interfaces.master.modify.update((modify) => applyLayout(modify, true));
|
|
607
|
+
}
|
|
608
|
+
if (display.showPopup) {
|
|
609
|
+
const action = {
|
|
610
|
+
title: popupActionTitle,
|
|
611
|
+
command: FORM_TEMPLATE_DESIGN_COMMAND,
|
|
612
|
+
priority: 'primary',
|
|
613
|
+
type: 'design',
|
|
614
|
+
icon: pageIcon,
|
|
615
|
+
scope: AXPEntityCommandScope.Individual,
|
|
616
|
+
};
|
|
617
|
+
ctx.interfaces.master.single.update((single) => {
|
|
618
|
+
const next = single ?? { title: ctx.entity.title, sections: [], properties: [], actions: [] };
|
|
619
|
+
next.actions = next.actions ?? [];
|
|
620
|
+
if (!actionExists(next.actions, FORM_TEMPLATE_DESIGN_COMMAND)) {
|
|
621
|
+
next.actions.push({ ...action, priority: 'secondary' });
|
|
622
|
+
}
|
|
623
|
+
return next;
|
|
624
|
+
});
|
|
625
|
+
ctx.interfaces.master.list.update((list) => {
|
|
626
|
+
const next = list ?? { actions: [], views: [] };
|
|
627
|
+
next.actions = next.actions ?? [];
|
|
628
|
+
if (!actionExists(next.actions, FORM_TEMPLATE_DESIGN_COMMAND)) {
|
|
629
|
+
next.actions.push({ ...action });
|
|
630
|
+
}
|
|
631
|
+
return next;
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
if (display.showPage) {
|
|
635
|
+
upsertComponentPage(ctx.entity, {
|
|
636
|
+
componentKey: FORM_TEMPLATE_PAGE_COMPONENT_KEY,
|
|
637
|
+
field,
|
|
638
|
+
title: display.pageTitle,
|
|
639
|
+
icon: pageIcon,
|
|
640
|
+
layout: { order: pageOrder, position: 'after' },
|
|
641
|
+
appearOn: { create: false, update: true },
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
const entity = ctx.entity;
|
|
645
|
+
entity.extensions ??= {};
|
|
646
|
+
const formExt = (entity.extensions['formTemplate'] ?? {});
|
|
647
|
+
formExt[field] = { title: defaultTitle, display: display.config };
|
|
648
|
+
entity.extensions['formTemplate'] = formExt;
|
|
649
|
+
},
|
|
650
|
+
};
|
|
651
|
+
//#endregion
|
|
652
|
+
//#region ----- Helpers -----
|
|
653
|
+
function resolveGroupId$1(ctx, field, fallback) {
|
|
654
|
+
const existing = ctx.properties.list().find((property) => property.name === field);
|
|
655
|
+
return existing?.groupId || fallback;
|
|
656
|
+
}
|
|
657
|
+
function ensureGroup$2(ctx, groupId, title) {
|
|
658
|
+
const groups = ctx.groups.list() ?? [];
|
|
659
|
+
if (!groups.some((group) => group.id === groupId)) {
|
|
660
|
+
ctx.groups.add({ id: groupId, title });
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
function ensureTemplateProperty(ctx, field, groupId, title) {
|
|
664
|
+
const properties = ctx.properties.list();
|
|
665
|
+
if (properties.some((property) => property.name === field)) {
|
|
666
|
+
return;
|
|
667
|
+
}
|
|
668
|
+
ctx.properties.add({
|
|
669
|
+
name: field,
|
|
670
|
+
title,
|
|
671
|
+
groupId,
|
|
672
|
+
schema: {
|
|
673
|
+
dataType: 'string',
|
|
674
|
+
interface: {
|
|
675
|
+
type: 'template-designer',
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
//#endregion
|
|
681
|
+
|
|
682
|
+
//#region ----- Types -----
|
|
683
|
+
const DEFAULT_FIELD$2 = FORM_TEMPLATE_VIEWER_SOURCE_FIELD;
|
|
684
|
+
const DEFAULT_GROUP_ID$2 = 'basic-info';
|
|
685
|
+
const DEFAULT_TITLE$2 = '@form-template-management:templates.entities.template.fields.selector.title';
|
|
686
|
+
//#endregion
|
|
687
|
+
//#region ----- Plugin -----
|
|
688
|
+
/**
|
|
689
|
+
* Adds a lookup that selects an AssessmentManagement form template.
|
|
690
|
+
*/
|
|
691
|
+
const formTemplateSelectorPlugin = {
|
|
692
|
+
name: 'form-template-selector',
|
|
693
|
+
order: 55,
|
|
694
|
+
apply: (ctx, options) => {
|
|
695
|
+
const field = options?.field?.trim() || DEFAULT_FIELD$2;
|
|
696
|
+
const groupId = options?.groupId?.trim() || DEFAULT_GROUP_ID$2;
|
|
697
|
+
const title = options?.title?.trim() || DEFAULT_TITLE$2;
|
|
698
|
+
const showInList = options?.showInList ?? true;
|
|
699
|
+
const exposeRoot = field.endsWith('Id') ? field.slice(0, -2) : field;
|
|
700
|
+
const templateEntity = `${RootConfig.module.name}.${RootConfig.entities.template.name}`;
|
|
701
|
+
const groups = ctx.groups.list() ?? [];
|
|
702
|
+
if (!groups.some((group) => group.id === groupId)) {
|
|
703
|
+
ctx.groups.add({ id: groupId, title });
|
|
704
|
+
}
|
|
705
|
+
const properties = ctx.properties.list();
|
|
706
|
+
if (!properties.some((property) => property.name === field)) {
|
|
707
|
+
ctx.properties.add({
|
|
708
|
+
name: field,
|
|
709
|
+
title,
|
|
710
|
+
description: '@form-template-management:templates.entities.template.fields.selector.description',
|
|
711
|
+
groupId,
|
|
712
|
+
options: {
|
|
713
|
+
sort: { enabled: true },
|
|
714
|
+
filter: { advance: { enabled: true }, inline: { enabled: true } },
|
|
715
|
+
},
|
|
716
|
+
schema: {
|
|
717
|
+
dataType: 'string',
|
|
718
|
+
interface: {
|
|
719
|
+
type: AXPWidgetsList.Editors.LookupBox,
|
|
720
|
+
options: {
|
|
721
|
+
entity: templateEntity,
|
|
722
|
+
textField: 'title',
|
|
723
|
+
valueField: 'id',
|
|
724
|
+
look: 'select',
|
|
725
|
+
columns: ['title'],
|
|
726
|
+
expose: [
|
|
727
|
+
{ source: 'id', target: `${exposeRoot}.id` },
|
|
728
|
+
{ source: 'title', target: `${exposeRoot}.title` },
|
|
729
|
+
],
|
|
730
|
+
filters: [
|
|
731
|
+
{
|
|
732
|
+
field: 'type.id',
|
|
733
|
+
operator: { type: 'equal' },
|
|
734
|
+
value: AXMFormTemplateTypes.Form.id,
|
|
735
|
+
},
|
|
736
|
+
],
|
|
737
|
+
},
|
|
738
|
+
},
|
|
739
|
+
},
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
if (showInList) {
|
|
743
|
+
const columns = ctx.columns.list() ?? [];
|
|
744
|
+
if (!columns.some((column) => column.name === field)) {
|
|
745
|
+
ctx.columns.add({
|
|
746
|
+
name: field,
|
|
747
|
+
options: { dataPath: `${exposeRoot}.title` },
|
|
748
|
+
});
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
const applyLayout = (layout) => {
|
|
752
|
+
const next = cloneLayoutArrays({
|
|
753
|
+
...(layout ?? {}),
|
|
754
|
+
sections: layout?.sections ?? [],
|
|
755
|
+
properties: layout?.properties ?? [],
|
|
756
|
+
});
|
|
757
|
+
ensureLayoutSection(next, { id: groupId });
|
|
758
|
+
ensureLayoutPropertyView(next, {
|
|
759
|
+
name: field,
|
|
760
|
+
layout: { positions: { lg: { colSpan: 12 } } },
|
|
761
|
+
});
|
|
762
|
+
return next;
|
|
763
|
+
};
|
|
764
|
+
ctx.interfaces.master.create.update((create) => applyLayout(create));
|
|
765
|
+
ctx.interfaces.master.modify.update((modify) => applyLayout(modify));
|
|
766
|
+
ctx.interfaces.master.single.update((single) => applyLayout(single));
|
|
767
|
+
const entity = ctx.entity;
|
|
768
|
+
entity.extensions ??= {};
|
|
769
|
+
entity.extensions['formTemplateSelector'] = { field, groupId, entity: templateEntity };
|
|
770
|
+
},
|
|
771
|
+
};
|
|
772
|
+
//#endregion
|
|
773
|
+
|
|
774
|
+
//#endregion
|
|
775
|
+
//#region ----- Plugin -----
|
|
776
|
+
/**
|
|
777
|
+
* Viewer plugin that reads content from the entity a lookup points at
|
|
778
|
+
* and stores the filled answers on the current record.
|
|
779
|
+
*/
|
|
780
|
+
function createRelatedContentViewerPlugin(spec) {
|
|
781
|
+
return {
|
|
782
|
+
name: spec.name,
|
|
783
|
+
order: spec.order,
|
|
784
|
+
apply: (ctx, options) => {
|
|
785
|
+
const path = options?.path?.trim() ?? '';
|
|
786
|
+
if (!path) {
|
|
787
|
+
throw new Error(`${spec.name} plugin requires a path option (lookup field on this entity)`);
|
|
788
|
+
}
|
|
789
|
+
const targetEntity = resolveLookupTargetEntity(ctx, path);
|
|
790
|
+
if (!targetEntity) {
|
|
791
|
+
return;
|
|
792
|
+
}
|
|
793
|
+
const field = options?.field?.trim() || spec.defaultField;
|
|
794
|
+
const sourceField = options?.sourceField?.trim() || spec.defaultSourceField;
|
|
795
|
+
const defaultTitle = options?.title?.trim() || spec.defaultTitle;
|
|
796
|
+
const display = resolveContentDisplay(options?.display, defaultTitle);
|
|
797
|
+
const pageIcon = display.pageConfig.icon ?? options?.icon ?? spec.defaultIcon;
|
|
798
|
+
const pageOrder = display.pageConfig.order ?? options?.order ?? 1;
|
|
799
|
+
const groupId = `${spec.name}-${field}`;
|
|
800
|
+
const expression = `{{ ${viewerFromEntityCall(spec.scope, targetEntity, path, sourceField)} }}`;
|
|
801
|
+
const visible = options?.hideSectionWhenEmpty === false
|
|
802
|
+
? undefined
|
|
803
|
+
: `{{ !!(await ${viewerFromEntityCall(spec.scope, targetEntity, path, sourceField)}) }}`;
|
|
804
|
+
ensureGroup$1(ctx, groupId, display.sectionTitle);
|
|
805
|
+
ensureViewerProperty(ctx, {
|
|
806
|
+
field,
|
|
807
|
+
groupId,
|
|
808
|
+
title: display.sectionTitle,
|
|
809
|
+
widget: spec.widget,
|
|
810
|
+
contentOption: spec.contentOption,
|
|
811
|
+
expression,
|
|
812
|
+
visible,
|
|
813
|
+
});
|
|
814
|
+
if (display.showSection) {
|
|
815
|
+
const sectionOrder = display.sectionConfig.order ?? 110;
|
|
816
|
+
const applyLayout = (layout) => {
|
|
817
|
+
const source = layout ?? { title: ctx.entity.title, sections: [], properties: [] };
|
|
818
|
+
const next = cloneLayoutArrays({
|
|
819
|
+
...source,
|
|
820
|
+
sections: source.sections ?? [],
|
|
821
|
+
properties: source.properties ?? [],
|
|
822
|
+
});
|
|
823
|
+
placeContentSection(next, {
|
|
824
|
+
id: groupId,
|
|
825
|
+
title: display.sectionTitle,
|
|
826
|
+
order: sectionOrder,
|
|
827
|
+
layout: {
|
|
828
|
+
...(visible ? { visible } : {}),
|
|
829
|
+
label: { visible: true },
|
|
830
|
+
},
|
|
831
|
+
}, {
|
|
832
|
+
name: field,
|
|
833
|
+
layout: {
|
|
834
|
+
label: { visible: false },
|
|
835
|
+
positions: { lg: { colSpan: 12, order: 9 } },
|
|
836
|
+
},
|
|
837
|
+
});
|
|
838
|
+
return next;
|
|
839
|
+
};
|
|
840
|
+
ctx.interfaces.master.single.update((single) => applyLayout(single));
|
|
841
|
+
ctx.interfaces.master.create.update((create) => applyLayout(create));
|
|
842
|
+
ctx.interfaces.master.modify.update((modify) => applyLayout(modify));
|
|
843
|
+
}
|
|
844
|
+
if (display.showPopup) {
|
|
845
|
+
const actionName = `${spec.popupCommand}-${field}`;
|
|
846
|
+
const action = {
|
|
847
|
+
name: actionName,
|
|
848
|
+
title: display.popupTitle,
|
|
849
|
+
command: {
|
|
850
|
+
name: spec.popupCommand,
|
|
851
|
+
options: {
|
|
852
|
+
entity: `${ctx.entity.module}.${ctx.entity.name}`,
|
|
853
|
+
id: '{{ context.eval("id") }}',
|
|
854
|
+
field,
|
|
855
|
+
path,
|
|
856
|
+
sourceField,
|
|
857
|
+
targetEntity,
|
|
858
|
+
title: display.popupTitle,
|
|
859
|
+
},
|
|
860
|
+
},
|
|
861
|
+
priority: 'secondary',
|
|
862
|
+
type: 'view',
|
|
863
|
+
icon: pageIcon,
|
|
864
|
+
scope: AXPEntityCommandScope.Individual,
|
|
865
|
+
};
|
|
866
|
+
ctx.interfaces.master.single.update((single) => {
|
|
867
|
+
const next = single ?? { title: ctx.entity.title, sections: [], properties: [], actions: [] };
|
|
868
|
+
next.actions = next.actions ?? [];
|
|
869
|
+
if (!actionExists(next.actions, spec.popupCommand, actionName)) {
|
|
870
|
+
next.actions.push(action);
|
|
871
|
+
}
|
|
872
|
+
return next;
|
|
873
|
+
});
|
|
874
|
+
ctx.interfaces.master.list.update((list) => {
|
|
875
|
+
const next = list ?? { actions: [], views: [] };
|
|
876
|
+
next.actions = next.actions ?? [];
|
|
877
|
+
if (!actionExists(next.actions, spec.popupCommand, actionName)) {
|
|
878
|
+
next.actions.push(action);
|
|
879
|
+
}
|
|
880
|
+
return next;
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
if (display.showPage) {
|
|
884
|
+
const appearOnCreate = options?.appearOnCreate !== false;
|
|
885
|
+
upsertComponentPage(ctx.entity, {
|
|
886
|
+
componentKey: spec.pageComponentKey,
|
|
887
|
+
field,
|
|
888
|
+
title: display.pageTitle,
|
|
889
|
+
icon: pageIcon,
|
|
890
|
+
layout: { order: pageOrder, position: 'after' },
|
|
891
|
+
// create: wizard step; update: detail side menu + update wizard
|
|
892
|
+
appearOn: { create: appearOnCreate, update: true },
|
|
893
|
+
// Stamp widget so the page can render in create dialog without resolving entity from the route.
|
|
894
|
+
options: {
|
|
895
|
+
widget: spec.widget,
|
|
896
|
+
contentOption: spec.contentOption,
|
|
897
|
+
expression,
|
|
898
|
+
entity: `${ctx.entity.module}.${ctx.entity.name}`,
|
|
899
|
+
},
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
const entity = ctx.entity;
|
|
903
|
+
entity.extensions ??= {};
|
|
904
|
+
const extension = (entity.extensions[spec.extensionKey] ?? {});
|
|
905
|
+
extension[field] = {
|
|
906
|
+
title: defaultTitle,
|
|
907
|
+
path,
|
|
908
|
+
sourceField,
|
|
909
|
+
targetEntity,
|
|
910
|
+
display: display.config,
|
|
911
|
+
};
|
|
912
|
+
entity.extensions[spec.extensionKey] = extension;
|
|
913
|
+
},
|
|
914
|
+
};
|
|
915
|
+
}
|
|
916
|
+
//#endregion
|
|
917
|
+
//#region ----- Helpers -----
|
|
918
|
+
function viewerFromEntityCall(scope, targetEntity, path, sourceField) {
|
|
919
|
+
return `${scope}.fromEntity("${targetEntity}", context.eval('${path}'), "${sourceField}")`;
|
|
920
|
+
}
|
|
921
|
+
function resolveLookupTargetEntity(ctx, path) {
|
|
922
|
+
const pathProperty = ctx.properties.list().find((property) => property.name === path);
|
|
923
|
+
if (!pathProperty?.schema?.interface?.type) {
|
|
924
|
+
return null;
|
|
925
|
+
}
|
|
926
|
+
const entity = pathProperty.schema.interface.options?.['entity'];
|
|
927
|
+
return typeof entity === 'string' && entity.includes('.') ? entity : null;
|
|
928
|
+
}
|
|
929
|
+
function ensureGroup$1(ctx, groupId, title) {
|
|
930
|
+
const groups = ctx.groups.list() ?? [];
|
|
931
|
+
if (!groups.some((group) => group.id === groupId)) {
|
|
932
|
+
ctx.groups.add({ id: groupId, title });
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
function ensureViewerProperty(ctx, input) {
|
|
936
|
+
const properties = ctx.properties.list();
|
|
937
|
+
const existing = properties.find((property) => property.name === input.field);
|
|
938
|
+
const interfaceOptions = { [input.contentOption]: input.expression };
|
|
939
|
+
if (!existing) {
|
|
940
|
+
ctx.properties.add({
|
|
941
|
+
name: input.field,
|
|
942
|
+
title: input.title,
|
|
943
|
+
groupId: input.groupId,
|
|
944
|
+
schema: {
|
|
945
|
+
dataType: 'object',
|
|
946
|
+
...(input.visible ? { visible: input.visible } : {}),
|
|
947
|
+
interface: {
|
|
948
|
+
type: input.widget,
|
|
949
|
+
options: interfaceOptions,
|
|
950
|
+
},
|
|
951
|
+
},
|
|
952
|
+
});
|
|
953
|
+
return;
|
|
954
|
+
}
|
|
955
|
+
if (!existing.schema) {
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
existing.schema.visible = input.visible;
|
|
959
|
+
const currentInterface = existing.schema.interface ?? { type: input.widget };
|
|
960
|
+
existing.schema.interface = {
|
|
961
|
+
...currentInterface,
|
|
962
|
+
type: input.widget,
|
|
963
|
+
options: {
|
|
964
|
+
...(currentInterface.options ?? {}),
|
|
965
|
+
...interfaceOptions,
|
|
966
|
+
},
|
|
967
|
+
};
|
|
968
|
+
}
|
|
969
|
+
//#endregion
|
|
970
|
+
|
|
971
|
+
//#region ----- Plugin -----
|
|
972
|
+
/**
|
|
973
|
+
* Fills the form selected on the related entity (`formTemplateId` by default).
|
|
974
|
+
* Answers are stored on this record. Pair with form-template-selector on the related entity.
|
|
975
|
+
*/
|
|
976
|
+
const formTemplateViewerPlugin = createRelatedContentViewerPlugin({
|
|
977
|
+
name: 'form-template-viewer',
|
|
978
|
+
order: 63,
|
|
979
|
+
widget: FORM_TEMPLATE_VIEWER_WIDGET,
|
|
980
|
+
contentOption: 'template',
|
|
981
|
+
defaultField: FORM_TEMPLATE_VIEWER_FIELD,
|
|
982
|
+
defaultSourceField: FORM_TEMPLATE_VIEWER_SOURCE_FIELD,
|
|
983
|
+
defaultTitle: '@form-template-management:templates.viewer.title',
|
|
984
|
+
defaultIcon: 'fa-light fa-file-lines',
|
|
985
|
+
popupCommand: SHOW_FORM_TEMPLATE_VIEWER_POPUP_COMMAND,
|
|
986
|
+
pageComponentKey: FORM_TEMPLATE_VIEWER_PAGE_COMPONENT_KEY,
|
|
987
|
+
extensionKey: 'formTemplateViewer',
|
|
988
|
+
scope: 'formTemplateViewer',
|
|
989
|
+
});
|
|
990
|
+
//#endregion
|
|
991
|
+
|
|
992
|
+
//#region ----- Widget config -----
|
|
993
|
+
const AXMFormTemplateViewerWidget = {
|
|
994
|
+
name: FORM_TEMPLATE_VIEWER_WIDGET,
|
|
995
|
+
title: '@form-template-management:templates.viewer.title',
|
|
996
|
+
icon: 'fa-light fa-file-lines',
|
|
997
|
+
type: 'editor',
|
|
998
|
+
categories: AXP_WIDGETS_EDITOR_CATEGORY,
|
|
999
|
+
groups: [AXPWidgetGroupEnum.UtilityWidget],
|
|
1000
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
1001
|
+
components: {
|
|
1002
|
+
view: {
|
|
1003
|
+
component: () => import('./acorex-platform-module-assessment-management-client-form-template-viewer-edit.component-BlGBTznW.mjs').then((module) => module.AXMFormTemplateViewerEditComponent),
|
|
1004
|
+
},
|
|
1005
|
+
edit: {
|
|
1006
|
+
component: () => import('./acorex-platform-module-assessment-management-client-form-template-viewer-edit.component-BlGBTznW.mjs').then((module) => module.AXMFormTemplateViewerEditComponent),
|
|
1007
|
+
},
|
|
1008
|
+
},
|
|
1009
|
+
};
|
|
1010
|
+
//#endregion
|
|
1011
|
+
|
|
1012
|
+
//#region ----- Widget config -----
|
|
1013
|
+
const AXMQuestionnaireQuestionsEditorWidget = {
|
|
1014
|
+
name: QUESTIONNAIRE_QUESTIONS_EDITOR_WIDGET,
|
|
1015
|
+
title: '@assessment-management:questionnaires.entities.questionnaire.fields.questions.title',
|
|
1016
|
+
icon: 'fa-light fa-list-check',
|
|
1017
|
+
type: 'editor',
|
|
1018
|
+
categories: AXP_WIDGETS_EDITOR_CATEGORY,
|
|
1019
|
+
groups: [AXPWidgetGroupEnum.UtilityWidget],
|
|
1020
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
1021
|
+
components: {
|
|
1022
|
+
view: {
|
|
1023
|
+
component: () => import('./acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-Q6Wu81xW.mjs').then((module) => module.AXMQuestionnaireQuestionsEditorEditComponent),
|
|
1024
|
+
},
|
|
1025
|
+
edit: {
|
|
1026
|
+
component: () => import('./acorex-platform-module-assessment-management-client-questionnaire-questions-editor-edit.component-Q6Wu81xW.mjs').then((module) => module.AXMQuestionnaireQuestionsEditorEditComponent),
|
|
1027
|
+
},
|
|
1028
|
+
},
|
|
1029
|
+
};
|
|
1030
|
+
//#endregion
|
|
1031
|
+
|
|
1032
|
+
//#region ----- Types -----
|
|
1033
|
+
const DEFAULT_FIELD$1 = 'questions';
|
|
1034
|
+
const DEFAULT_GROUP_ID$1 = 'questions';
|
|
1035
|
+
const DEFAULT_ICON = 'fa-light fa-list-check';
|
|
1036
|
+
const DEFAULT_TITLE$1 = '@assessment-management:questionnaires.entities.questionnaire.fields.questions.title';
|
|
1037
|
+
//#endregion
|
|
1038
|
+
//#region ----- Plugin -----
|
|
1039
|
+
/**
|
|
1040
|
+
* Shows a questionnaire questions builder the same way metadata plugins do:
|
|
1041
|
+
* inline section, popup action, and/or record detail side-menu page.
|
|
1042
|
+
*/
|
|
1043
|
+
const questionnairePlugin = {
|
|
1044
|
+
name: 'questionnaire',
|
|
1045
|
+
order: 62,
|
|
1046
|
+
apply: (ctx, options) => {
|
|
1047
|
+
const opts = options ?? {};
|
|
1048
|
+
const field = opts.field?.trim() || DEFAULT_FIELD$1;
|
|
1049
|
+
const defaultTitle = opts.title?.trim() || DEFAULT_TITLE$1;
|
|
1050
|
+
const display = resolveContentDisplay(opts.display, defaultTitle);
|
|
1051
|
+
const groupId = resolveGroupId(ctx, field, opts.groupId?.trim() || DEFAULT_GROUP_ID$1);
|
|
1052
|
+
const pageIcon = display.pageConfig.icon ?? opts.icon ?? DEFAULT_ICON;
|
|
1053
|
+
const pageOrder = display.pageConfig.order ?? opts.order ?? 1;
|
|
1054
|
+
ensureGroup(ctx, groupId, display.sectionTitle);
|
|
1055
|
+
if (display.showSection || display.showPopup) {
|
|
1056
|
+
ensureQuestionsProperty(ctx, field, groupId, display.sectionTitle);
|
|
1057
|
+
}
|
|
1058
|
+
if (display.showSection) {
|
|
1059
|
+
const sectionOrder = display.sectionConfig.order;
|
|
1060
|
+
const applyLayout = (layout) => {
|
|
1061
|
+
const source = layout ?? { title: ctx.entity.title, sections: [], properties: [] };
|
|
1062
|
+
const next = cloneLayoutArrays({
|
|
1063
|
+
...source,
|
|
1064
|
+
sections: source.sections ?? [],
|
|
1065
|
+
properties: source.properties ?? [],
|
|
1066
|
+
});
|
|
1067
|
+
placeContentSection(next, {
|
|
1068
|
+
id: groupId,
|
|
1069
|
+
title: display.sectionTitle,
|
|
1070
|
+
...(sectionOrder != null ? { order: sectionOrder } : {}),
|
|
1071
|
+
}, {
|
|
1072
|
+
name: field,
|
|
1073
|
+
layout: {
|
|
1074
|
+
label: { visible: false },
|
|
1075
|
+
positions: { lg: { colSpan: 12, order: 1 } },
|
|
1076
|
+
},
|
|
1077
|
+
});
|
|
1078
|
+
return next;
|
|
1079
|
+
};
|
|
1080
|
+
ctx.interfaces.master.single.update((single) => applyLayout(single));
|
|
1081
|
+
ctx.interfaces.master.create.update((create) => applyLayout(create));
|
|
1082
|
+
ctx.interfaces.master.modify.update((modify) => applyLayout(modify));
|
|
1083
|
+
}
|
|
1084
|
+
if (display.showPopup) {
|
|
1085
|
+
const actionName = `${SHOW_QUESTIONNAIRE_QUESTIONS_POPUP_COMMAND}-${field}`;
|
|
1086
|
+
const action = {
|
|
1087
|
+
name: actionName,
|
|
1088
|
+
title: display.popupTitle,
|
|
1089
|
+
command: {
|
|
1090
|
+
name: SHOW_QUESTIONNAIRE_QUESTIONS_POPUP_COMMAND,
|
|
1091
|
+
options: {
|
|
1092
|
+
entity: `${ctx.entity.module}.${ctx.entity.name}`,
|
|
1093
|
+
id: '{{ context.eval("id") }}',
|
|
1094
|
+
field,
|
|
1095
|
+
title: display.popupTitle,
|
|
1096
|
+
},
|
|
1097
|
+
},
|
|
1098
|
+
priority: 'secondary',
|
|
1099
|
+
type: 'action',
|
|
1100
|
+
icon: pageIcon,
|
|
1101
|
+
scope: AXPEntityCommandScope.Individual,
|
|
1102
|
+
};
|
|
1103
|
+
ctx.interfaces.master.single.update((single) => {
|
|
1104
|
+
const next = single ?? { title: ctx.entity.title, sections: [], properties: [], actions: [] };
|
|
1105
|
+
next.actions = next.actions ?? [];
|
|
1106
|
+
if (!actionExists(next.actions, SHOW_QUESTIONNAIRE_QUESTIONS_POPUP_COMMAND, actionName)) {
|
|
1107
|
+
next.actions.push({ ...action });
|
|
1108
|
+
}
|
|
1109
|
+
return next;
|
|
1110
|
+
});
|
|
1111
|
+
ctx.interfaces.master.list.update((list) => {
|
|
1112
|
+
const next = list ?? { actions: [], views: [] };
|
|
1113
|
+
next.actions = next.actions ?? [];
|
|
1114
|
+
if (!actionExists(next.actions, SHOW_QUESTIONNAIRE_QUESTIONS_POPUP_COMMAND, actionName)) {
|
|
1115
|
+
next.actions.push({ ...action });
|
|
1116
|
+
}
|
|
1117
|
+
return next;
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1120
|
+
if (display.showPage) {
|
|
1121
|
+
upsertComponentPage(ctx.entity, {
|
|
1122
|
+
componentKey: QUESTIONNAIRE_QUESTIONS_PAGE_COMPONENT_KEY,
|
|
1123
|
+
field,
|
|
1124
|
+
title: display.pageTitle,
|
|
1125
|
+
icon: pageIcon,
|
|
1126
|
+
layout: { order: pageOrder, position: 'after' },
|
|
1127
|
+
appearOn: { create: true, update: true },
|
|
1128
|
+
});
|
|
1129
|
+
}
|
|
1130
|
+
const entity = ctx.entity;
|
|
1131
|
+
entity.extensions ??= {};
|
|
1132
|
+
const questionnaireExt = (entity.extensions['questionnaire'] ?? {});
|
|
1133
|
+
questionnaireExt[field] = { title: defaultTitle, display: display.config };
|
|
1134
|
+
entity.extensions['questionnaire'] = questionnaireExt;
|
|
1135
|
+
},
|
|
1136
|
+
};
|
|
1137
|
+
//#endregion
|
|
1138
|
+
//#region ----- Helpers -----
|
|
1139
|
+
function resolveGroupId(ctx, field, fallback) {
|
|
1140
|
+
const existing = ctx.properties.list().find((property) => property.name === field);
|
|
1141
|
+
return existing?.groupId || fallback;
|
|
1142
|
+
}
|
|
1143
|
+
function ensureGroup(ctx, groupId, title) {
|
|
1144
|
+
const groups = ctx.groups.list() ?? [];
|
|
1145
|
+
if (!groups.some((group) => group.id === groupId)) {
|
|
1146
|
+
ctx.groups.add({ id: groupId, title });
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
function ensureQuestionsProperty(ctx, field, groupId, title) {
|
|
1150
|
+
const properties = ctx.properties.list();
|
|
1151
|
+
if (properties.some((property) => property.name === field)) {
|
|
1152
|
+
return;
|
|
1153
|
+
}
|
|
1154
|
+
ctx.properties.add({
|
|
1155
|
+
name: field,
|
|
1156
|
+
title,
|
|
1157
|
+
groupId,
|
|
1158
|
+
schema: {
|
|
1159
|
+
dataType: 'object',
|
|
1160
|
+
interface: {
|
|
1161
|
+
type: QUESTIONNAIRE_QUESTIONS_EDITOR_WIDGET,
|
|
1162
|
+
},
|
|
1163
|
+
},
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
//#endregion
|
|
1167
|
+
|
|
1168
|
+
//#region ----- Types -----
|
|
1169
|
+
const DEFAULT_FIELD = QUESTIONNAIRE_VIEWER_SOURCE_FIELD;
|
|
1170
|
+
const DEFAULT_GROUP_ID = 'basic-info';
|
|
1171
|
+
const DEFAULT_TITLE = '@assessment-management:questionnaires.entities.questionnaire.fields.selector.title';
|
|
1172
|
+
//#endregion
|
|
1173
|
+
//#region ----- Plugin -----
|
|
1174
|
+
/**
|
|
1175
|
+
* Adds a lookup that selects an AssessmentManagement questionnaire.
|
|
1176
|
+
*/
|
|
1177
|
+
const questionnaireSelectorPlugin = {
|
|
1178
|
+
name: 'questionnaire-selector',
|
|
1179
|
+
order: 56,
|
|
1180
|
+
apply: (ctx, options) => {
|
|
1181
|
+
const field = options?.field?.trim() || DEFAULT_FIELD;
|
|
1182
|
+
const groupId = options?.groupId?.trim() || DEFAULT_GROUP_ID;
|
|
1183
|
+
const title = options?.title?.trim() || DEFAULT_TITLE;
|
|
1184
|
+
const showInList = options?.showInList ?? true;
|
|
1185
|
+
const exposeRoot = field.endsWith('Id') ? field.slice(0, -2) : field;
|
|
1186
|
+
const questionnaireEntity = `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}`;
|
|
1187
|
+
const groups = ctx.groups.list() ?? [];
|
|
1188
|
+
if (!groups.some((group) => group.id === groupId)) {
|
|
1189
|
+
ctx.groups.add({ id: groupId, title });
|
|
1190
|
+
}
|
|
1191
|
+
const properties = ctx.properties.list();
|
|
1192
|
+
if (!properties.some((property) => property.name === field)) {
|
|
1193
|
+
ctx.properties.add({
|
|
1194
|
+
name: field,
|
|
1195
|
+
title,
|
|
1196
|
+
description: '@assessment-management:questionnaires.entities.questionnaire.fields.selector.description',
|
|
1197
|
+
groupId,
|
|
1198
|
+
options: {
|
|
1199
|
+
sort: { enabled: true },
|
|
1200
|
+
filter: { advance: { enabled: true }, inline: { enabled: true } },
|
|
1201
|
+
},
|
|
1202
|
+
schema: {
|
|
1203
|
+
dataType: 'string',
|
|
1204
|
+
interface: {
|
|
1205
|
+
type: AXPWidgetsList.Editors.LookupBox,
|
|
1206
|
+
options: {
|
|
1207
|
+
entity: questionnaireEntity,
|
|
1208
|
+
textField: 'title',
|
|
1209
|
+
valueField: 'id',
|
|
1210
|
+
look: 'select',
|
|
1211
|
+
columns: ['title'],
|
|
1212
|
+
expose: [
|
|
1213
|
+
{ source: 'id', target: `${exposeRoot}.id` },
|
|
1214
|
+
{ source: 'title', target: `${exposeRoot}.title` },
|
|
1215
|
+
],
|
|
1216
|
+
},
|
|
1217
|
+
},
|
|
1218
|
+
},
|
|
1219
|
+
});
|
|
1220
|
+
}
|
|
1221
|
+
if (showInList) {
|
|
1222
|
+
const columns = ctx.columns.list() ?? [];
|
|
1223
|
+
if (!columns.some((column) => column.name === field)) {
|
|
1224
|
+
ctx.columns.add({
|
|
1225
|
+
name: field,
|
|
1226
|
+
options: { dataPath: `${exposeRoot}.title` },
|
|
1227
|
+
});
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
const applyLayout = (layout) => {
|
|
1231
|
+
const next = cloneLayoutArrays({
|
|
1232
|
+
...(layout ?? {}),
|
|
1233
|
+
sections: layout?.sections ?? [],
|
|
1234
|
+
properties: layout?.properties ?? [],
|
|
1235
|
+
});
|
|
1236
|
+
ensureLayoutSection(next, { id: groupId });
|
|
1237
|
+
ensureLayoutPropertyView(next, {
|
|
1238
|
+
name: field,
|
|
1239
|
+
layout: { positions: { lg: { colSpan: 12 } } },
|
|
1240
|
+
});
|
|
1241
|
+
return next;
|
|
1242
|
+
};
|
|
1243
|
+
ctx.interfaces.master.create.update((create) => applyLayout(create));
|
|
1244
|
+
ctx.interfaces.master.modify.update((modify) => applyLayout(modify));
|
|
1245
|
+
ctx.interfaces.master.single.update((single) => applyLayout(single));
|
|
1246
|
+
const entity = ctx.entity;
|
|
1247
|
+
entity.extensions ??= {};
|
|
1248
|
+
entity.extensions['questionnaireSelector'] = { field, groupId, entity: questionnaireEntity };
|
|
1249
|
+
},
|
|
1250
|
+
};
|
|
1251
|
+
//#endregion
|
|
1252
|
+
|
|
1253
|
+
//#region ----- Plugin -----
|
|
1254
|
+
/**
|
|
1255
|
+
* Fills the questionnaire selected on the related entity (`questionnaireId` by default).
|
|
1256
|
+
* Answers are stored on this record. Pair with questionnaire-selector on the related entity.
|
|
1257
|
+
*/
|
|
1258
|
+
const questionnaireViewerPlugin = createRelatedContentViewerPlugin({
|
|
1259
|
+
name: 'questionnaire-viewer',
|
|
1260
|
+
order: 64,
|
|
1261
|
+
widget: QUESTIONNAIRE_VIEWER_WIDGET,
|
|
1262
|
+
contentOption: 'structure',
|
|
1263
|
+
defaultField: QUESTIONNAIRE_VIEWER_FIELD,
|
|
1264
|
+
defaultSourceField: QUESTIONNAIRE_VIEWER_SOURCE_FIELD,
|
|
1265
|
+
defaultTitle: '@assessment-management:questionnaires.components.questionnaire-viewer.section-title',
|
|
1266
|
+
defaultIcon: 'fa-light fa-list-check',
|
|
1267
|
+
popupCommand: SHOW_QUESTIONNAIRE_VIEWER_POPUP_COMMAND,
|
|
1268
|
+
pageComponentKey: QUESTIONNAIRE_VIEWER_PAGE_COMPONENT_KEY,
|
|
1269
|
+
extensionKey: 'questionnaireViewer',
|
|
1270
|
+
scope: 'questionnaireViewer',
|
|
1271
|
+
});
|
|
1272
|
+
//#endregion
|
|
1273
|
+
|
|
1274
|
+
//#region ----- Widget config -----
|
|
1275
|
+
const AXMQuestionnaireViewerWidget = {
|
|
1276
|
+
name: QUESTIONNAIRE_VIEWER_WIDGET,
|
|
1277
|
+
title: '@assessment-management:questionnaires.components.questionnaire-viewer.section-title',
|
|
1278
|
+
icon: 'fa-light fa-list-check',
|
|
1279
|
+
type: 'editor',
|
|
1280
|
+
categories: AXP_WIDGETS_EDITOR_CATEGORY,
|
|
1281
|
+
groups: [AXPWidgetGroupEnum.UtilityWidget],
|
|
1282
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
1283
|
+
components: {
|
|
1284
|
+
view: {
|
|
1285
|
+
component: () => import('./acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CaKML07K.mjs').then((module) => module.AXMQuestionnaireViewerEditComponent),
|
|
1286
|
+
},
|
|
1287
|
+
edit: {
|
|
1288
|
+
component: () => import('./acorex-platform-module-assessment-management-client-questionnaire-viewer-edit.component-CaKML07K.mjs').then((module) => module.AXMQuestionnaireViewerEditComponent),
|
|
1289
|
+
},
|
|
1290
|
+
},
|
|
1291
|
+
};
|
|
1292
|
+
//#endregion
|
|
1293
|
+
|
|
1294
|
+
//#region ----- Widgets -----
|
|
1295
|
+
class AXMContentDisplayWidgetsProvider {
|
|
1296
|
+
getWidgets() {
|
|
1297
|
+
return [AXMQuestionnaireQuestionsEditorWidget, AXMFormTemplateViewerWidget, AXMQuestionnaireViewerWidget];
|
|
1298
|
+
}
|
|
1299
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayWidgetsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1300
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayWidgetsProvider }); }
|
|
1301
|
+
}
|
|
1302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayWidgetsProvider, decorators: [{
|
|
1303
|
+
type: Injectable
|
|
1304
|
+
}] });
|
|
1305
|
+
//#endregion
|
|
1306
|
+
//#region ----- Module -----
|
|
1307
|
+
class AXMContentDisplayPluginsModule {
|
|
1308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayPluginsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1309
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayPluginsModule }); }
|
|
1310
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayPluginsModule, providers: [
|
|
1311
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnairePlugin },
|
|
1312
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplatePlugin },
|
|
1313
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplateSelectorPlugin },
|
|
1314
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplateViewerPlugin },
|
|
1315
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnaireSelectorPlugin },
|
|
1316
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnaireViewerPlugin },
|
|
1317
|
+
{ provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMContentDisplayWidgetsProvider, multi: true },
|
|
1318
|
+
{
|
|
1319
|
+
provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
|
|
1320
|
+
useClass: AXMContentDisplayEvaluatorScopeProvider,
|
|
1321
|
+
multi: true,
|
|
1322
|
+
},
|
|
1323
|
+
] }); }
|
|
1324
|
+
}
|
|
1325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMContentDisplayPluginsModule, decorators: [{
|
|
1326
|
+
type: NgModule,
|
|
1327
|
+
args: [{
|
|
1328
|
+
providers: [
|
|
1329
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnairePlugin },
|
|
1330
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplatePlugin },
|
|
1331
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplateSelectorPlugin },
|
|
1332
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: formTemplateViewerPlugin },
|
|
1333
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnaireSelectorPlugin },
|
|
1334
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: questionnaireViewerPlugin },
|
|
1335
|
+
{ provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMContentDisplayWidgetsProvider, multi: true },
|
|
1336
|
+
{
|
|
1337
|
+
provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
|
|
1338
|
+
useClass: AXMContentDisplayEvaluatorScopeProvider,
|
|
1339
|
+
multi: true,
|
|
1340
|
+
},
|
|
1341
|
+
],
|
|
1342
|
+
}]
|
|
1343
|
+
}] });
|
|
1344
|
+
|
|
257
1345
|
//#region ---- Imports ----
|
|
258
1346
|
//#endregion
|
|
259
1347
|
//#region ---- Widget config ----
|
|
@@ -320,10 +1408,10 @@ const AXMQuestionBankInterfaceEditorWidget = {
|
|
|
320
1408
|
],
|
|
321
1409
|
components: {
|
|
322
1410
|
edit: {
|
|
323
|
-
component: () => import('./acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-
|
|
1411
|
+
component: () => import('./acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Iwdbc86Q.mjs').then((c) => c.AXMQuestionBankInterfaceEditorWidgetEditComponent),
|
|
324
1412
|
},
|
|
325
1413
|
designer: {
|
|
326
|
-
component: () => import('./acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-
|
|
1414
|
+
component: () => import('./acorex-platform-module-assessment-management-client-question-bank-interface-editor-widget-edit.component-Iwdbc86Q.mjs').then((c) => c.AXMQuestionBankInterfaceEditorWidgetEditComponent),
|
|
327
1415
|
},
|
|
328
1416
|
column: {
|
|
329
1417
|
component: () => import('@acorex-platform/framework-client/layout/widgets').then((m) => m.AXPWidgetFieldConfiguratorWidgetColumnComponent),
|
|
@@ -332,11 +1420,134 @@ const AXMQuestionBankInterfaceEditorWidget = {
|
|
|
332
1420
|
};
|
|
333
1421
|
//#endregion
|
|
334
1422
|
|
|
1423
|
+
//#endregion
|
|
1424
|
+
//#region ----- Constants -----
|
|
1425
|
+
const AXM_TEST_SHEET_WIDGET = 'test-sheet-editor';
|
|
1426
|
+
const AXM_TEST_SHEET_SCHEMA_WIDGET = 'test-sheet-schema-editor';
|
|
1427
|
+
/** Column cell widget picker. Shown only when the column kind is input. */
|
|
1428
|
+
const AXM_TEST_SHEET_CELL_TYPE_WIDGET = 'test-sheet-cell-type-editor';
|
|
1429
|
+
/** Row field that holds the merged row-group title. */
|
|
1430
|
+
const AXM_TEST_SHEET_ROW_GROUP_PATH = '__groupTitle';
|
|
1431
|
+
const AXM_TEST_SHEET_INPUT_WIDGET_TYPES = [
|
|
1432
|
+
'text-editor',
|
|
1433
|
+
'number-editor',
|
|
1434
|
+
'date-time-editor',
|
|
1435
|
+
'checkbox-editor',
|
|
1436
|
+
'toggle-editor',
|
|
1437
|
+
'select-editor',
|
|
1438
|
+
];
|
|
1439
|
+
//#endregion
|
|
1440
|
+
|
|
1441
|
+
//#region ----- Imports -----
|
|
1442
|
+
//#endregion
|
|
1443
|
+
//#region ----- Properties -----
|
|
1444
|
+
const TEST_SHEET_PROPERTY_GROUP = {
|
|
1445
|
+
name: 'sheet',
|
|
1446
|
+
title: '@assessment-management:widgets.test-sheet.sheet.title',
|
|
1447
|
+
order: 2,
|
|
1448
|
+
};
|
|
1449
|
+
const TEST_SHEET_DEFINITION_PROPERTY = {
|
|
1450
|
+
name: 'sheet',
|
|
1451
|
+
title: '@assessment-management:widgets.test-sheet.sheet.title',
|
|
1452
|
+
showLabel: false,
|
|
1453
|
+
visible: true,
|
|
1454
|
+
group: TEST_SHEET_PROPERTY_GROUP,
|
|
1455
|
+
schema: {
|
|
1456
|
+
dataType: 'object',
|
|
1457
|
+
interface: {
|
|
1458
|
+
name: 'sheet',
|
|
1459
|
+
path: 'options.sheet',
|
|
1460
|
+
type: AXM_TEST_SHEET_SCHEMA_WIDGET,
|
|
1461
|
+
},
|
|
1462
|
+
},
|
|
1463
|
+
};
|
|
1464
|
+
//#endregion
|
|
1465
|
+
//#region ----- Widget config -----
|
|
1466
|
+
const AXMTestSheetWidget = {
|
|
1467
|
+
name: AXM_TEST_SHEET_WIDGET,
|
|
1468
|
+
title: '@assessment-management:widgets.test-sheet.title',
|
|
1469
|
+
description: '@assessment-management:widgets.test-sheet.description',
|
|
1470
|
+
icon: 'fa-light fa-table-cells',
|
|
1471
|
+
categories: AXP_WIDGETS_EDITOR_CATEGORY,
|
|
1472
|
+
groups: [AXPWidgetGroupEnum.FormElement],
|
|
1473
|
+
type: 'editor',
|
|
1474
|
+
defaultFilterWidgetName: 'string-filter',
|
|
1475
|
+
properties: [{ ...AXP_DATA_PATH_PROPERTY, visible: false }, TEST_SHEET_DEFINITION_PROPERTY],
|
|
1476
|
+
components: {
|
|
1477
|
+
view: {
|
|
1478
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-widget-view.component-OQZIzcjG.mjs').then((c) => c.AXMTestSheetWidgetViewComponent),
|
|
1479
|
+
},
|
|
1480
|
+
edit: {
|
|
1481
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DdC83GV8.mjs').then((c) => c.AXMTestSheetWidgetEditComponent),
|
|
1482
|
+
},
|
|
1483
|
+
column: {
|
|
1484
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-widget-column.component-B3Lx7yuD.mjs').then((c) => c.AXMTestSheetWidgetColumnComponent),
|
|
1485
|
+
},
|
|
1486
|
+
designer: {
|
|
1487
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-widget-edit.component-DdC83GV8.mjs').then((c) => c.AXMTestSheetWidgetEditComponent),
|
|
1488
|
+
},
|
|
1489
|
+
},
|
|
1490
|
+
};
|
|
1491
|
+
/**
|
|
1492
|
+
* Cell Type field inside a test-sheet column card.
|
|
1493
|
+
* Renders the widget configurator only when the column kind is input.
|
|
1494
|
+
*/
|
|
1495
|
+
const AXMTestSheetCellTypeWidget = {
|
|
1496
|
+
name: AXM_TEST_SHEET_CELL_TYPE_WIDGET,
|
|
1497
|
+
title: '@assessment-management:widgets.test-sheet.columns.widget',
|
|
1498
|
+
description: '@assessment-management:widgets.test-sheet.columns.widget',
|
|
1499
|
+
icon: 'fa-light fa-puzzle-piece',
|
|
1500
|
+
groups: [AXPWidgetGroupEnum.BaseWidget],
|
|
1501
|
+
type: 'editor',
|
|
1502
|
+
properties: [AXP_DATA_PATH_PROPERTY],
|
|
1503
|
+
components: {
|
|
1504
|
+
edit: {
|
|
1505
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-Dkaw3T8R.mjs').then((c) => c.AXMTestSheetCellTypeWidgetEditComponent),
|
|
1506
|
+
},
|
|
1507
|
+
view: {
|
|
1508
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-Dkaw3T8R.mjs').then((c) => c.AXMTestSheetCellTypeWidgetEditComponent),
|
|
1509
|
+
},
|
|
1510
|
+
designer: {
|
|
1511
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-cell-type-widget-edit.component-Dkaw3T8R.mjs').then((c) => c.AXMTestSheetCellTypeWidgetEditComponent),
|
|
1512
|
+
},
|
|
1513
|
+
},
|
|
1514
|
+
};
|
|
1515
|
+
/**
|
|
1516
|
+
* Authoring surface for the test sheet definition.
|
|
1517
|
+
* Registered so the question configurator can edit `options.sheet`.
|
|
1518
|
+
* Kept out of the form picker.
|
|
1519
|
+
*/
|
|
1520
|
+
const AXMTestSheetSchemaWidget = {
|
|
1521
|
+
name: AXM_TEST_SHEET_SCHEMA_WIDGET,
|
|
1522
|
+
title: '@assessment-management:widgets.test-sheet.sheet.title',
|
|
1523
|
+
icon: 'fa-light fa-table-cells',
|
|
1524
|
+
groups: [AXPWidgetGroupEnum.BaseWidget],
|
|
1525
|
+
type: 'editor',
|
|
1526
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
1527
|
+
components: {
|
|
1528
|
+
edit: {
|
|
1529
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-CFu_CQ91.mjs').then((c) => c.AXMTestSheetSchemaWidgetEditComponent),
|
|
1530
|
+
},
|
|
1531
|
+
view: {
|
|
1532
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-CFu_CQ91.mjs').then((c) => c.AXMTestSheetSchemaWidgetEditComponent),
|
|
1533
|
+
},
|
|
1534
|
+
designer: {
|
|
1535
|
+
component: () => import('./acorex-platform-module-assessment-management-client-test-sheet-schema-widget-edit.component-CFu_CQ91.mjs').then((c) => c.AXMTestSheetSchemaWidgetEditComponent),
|
|
1536
|
+
},
|
|
1537
|
+
},
|
|
1538
|
+
};
|
|
1539
|
+
//#endregion
|
|
1540
|
+
|
|
335
1541
|
//#endregion
|
|
336
1542
|
//#region ---- Questionnaire Builder Widgets Provider ----
|
|
337
1543
|
class AXMQuestionnaireBuilderWidgetsProvider {
|
|
338
1544
|
getWidgets() {
|
|
339
|
-
return [
|
|
1545
|
+
return [
|
|
1546
|
+
AXMQuestionBankInterfaceEditorWidget,
|
|
1547
|
+
AXMTestSheetWidget,
|
|
1548
|
+
AXMTestSheetSchemaWidget,
|
|
1549
|
+
AXMTestSheetCellTypeWidget,
|
|
1550
|
+
];
|
|
340
1551
|
}
|
|
341
1552
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireBuilderWidgetsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
342
1553
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireBuilderWidgetsProvider }); }
|
|
@@ -534,6 +1745,7 @@ function convertValueToState(value) {
|
|
|
534
1745
|
isRequired: item.isRequired,
|
|
535
1746
|
isVisible: item.isVisible,
|
|
536
1747
|
interfaceOverride: item.interfaceOverride,
|
|
1748
|
+
layout: item.layout,
|
|
537
1749
|
hint: parseQuestionHintPartialFromRecord(item),
|
|
538
1750
|
comment: item.comment,
|
|
539
1751
|
tags: item.tags,
|
|
@@ -566,6 +1778,7 @@ function convertStateToValue(state, existingValue) {
|
|
|
566
1778
|
isRequired: item.isRequired,
|
|
567
1779
|
isVisible: item.isVisible,
|
|
568
1780
|
interfaceOverride: item.interfaceOverride,
|
|
1781
|
+
layout: item.layout,
|
|
569
1782
|
hint: item.hint,
|
|
570
1783
|
comment: item.comment,
|
|
571
1784
|
tags: item.tags,
|
|
@@ -744,6 +1957,7 @@ class AXMQuestionnaireViewerService {
|
|
|
744
1957
|
constructor() {
|
|
745
1958
|
//#region ---- Services & Dependencies ----
|
|
746
1959
|
this.popupService = inject(AXPopupService);
|
|
1960
|
+
this.dialogOpener = inject(AXPDialogOpener);
|
|
747
1961
|
this.entityService = inject(AXPEntityService);
|
|
748
1962
|
this.expressionEvaluator = inject(AXPExpressionEvaluatorService);
|
|
749
1963
|
this.deviceService = inject(AXPDeviceService);
|
|
@@ -754,32 +1968,35 @@ class AXMQuestionnaireViewerService {
|
|
|
754
1968
|
* Open questionnaire viewer in a dialog
|
|
755
1969
|
*/
|
|
756
1970
|
async open(config) {
|
|
757
|
-
const { AXMQuestionnaireViewerPopupComponent } = await import('./acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-daQL4OD_.mjs');
|
|
758
1971
|
const structure = config.structure;
|
|
759
1972
|
const submitHandler = config.submitHandler ??
|
|
760
1973
|
((answers) => this.buildSummaryPlaceholderValues(structure, answers, {
|
|
761
1974
|
questionnaireId: config.questionnaireId,
|
|
762
1975
|
outcomeRules: config.outcomeRules,
|
|
763
1976
|
}));
|
|
764
|
-
const result = await this.
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
1977
|
+
const result = await this.dialogOpener.openPopup({
|
|
1978
|
+
load: () => import('./acorex-platform-module-assessment-management-client-questionnaire-viewer-popup.component-xDX86cTn.mjs').then((module) => module.AXMQuestionnaireViewerPopupComponent),
|
|
1979
|
+
data: { title: config.title, questionnaireId: config.questionnaireId ?? '' },
|
|
1980
|
+
show: (component) => this.popupService.open(component, {
|
|
1981
|
+
title: config.title,
|
|
1982
|
+
size: this.deviceService.isSmall() ? 'full' : 'lg',
|
|
1983
|
+
data: {
|
|
1984
|
+
structure: config.structure,
|
|
1985
|
+
prePostConfig: config.prePostConfig ?? null,
|
|
1986
|
+
config: config.config,
|
|
1987
|
+
initialAnswers: config.initialAnswers || {},
|
|
1988
|
+
submitHandler,
|
|
1989
|
+
saveHandler: config.saveHandler,
|
|
1990
|
+
assessmentFillContext: config.assessmentFillContext,
|
|
1991
|
+
questionnaireId: config.questionnaireId,
|
|
1992
|
+
printTemplateId: config.printTemplateId,
|
|
1993
|
+
outcomeRules: config.outcomeRules,
|
|
1994
|
+
storedOutcomeResults: config.storedOutcomeResults ?? null,
|
|
1995
|
+
printTitle: config.title,
|
|
1996
|
+
},
|
|
1997
|
+
}),
|
|
781
1998
|
});
|
|
782
|
-
return result
|
|
1999
|
+
return result?.data || null;
|
|
783
2000
|
}
|
|
784
2001
|
/**
|
|
785
2002
|
* Evaluate all questionnaire outcomes for the given questionnaire and answers.
|
|
@@ -1089,7 +2306,7 @@ class AXMQuestionnaireViewerService {
|
|
|
1089
2306
|
const normalizedKey = rawKey.startsWith('answers.') ? rawKey.slice('answers.'.length) : rawKey;
|
|
1090
2307
|
if (!normalizedKey)
|
|
1091
2308
|
return undefined;
|
|
1092
|
-
return answers[normalizedKey] ?? get(answers, normalizedKey) ?? get(answers, `answers.${normalizedKey}`);
|
|
2309
|
+
return answers[normalizedKey] ?? get$1(answers, normalizedKey) ?? get$1(answers, `answers.${normalizedKey}`);
|
|
1093
2310
|
}
|
|
1094
2311
|
/** Sections and items ordered by `order` for deterministic `byTag` matching. */
|
|
1095
2312
|
flattenQuestionnaireItems(structure) {
|
|
@@ -1339,6 +2556,28 @@ const HINT_MODE_OPTIONS = [
|
|
|
1339
2556
|
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.hint-mode.options.neutral',
|
|
1340
2557
|
},
|
|
1341
2558
|
];
|
|
2559
|
+
const WIDTH_OPTIONS = [
|
|
2560
|
+
{
|
|
2561
|
+
id: 12,
|
|
2562
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.options.full',
|
|
2563
|
+
},
|
|
2564
|
+
{
|
|
2565
|
+
id: 6,
|
|
2566
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.options.half',
|
|
2567
|
+
},
|
|
2568
|
+
{
|
|
2569
|
+
id: 4,
|
|
2570
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.options.third',
|
|
2571
|
+
},
|
|
2572
|
+
{
|
|
2573
|
+
id: 3,
|
|
2574
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.options.quarter',
|
|
2575
|
+
},
|
|
2576
|
+
{
|
|
2577
|
+
id: 2,
|
|
2578
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.options.sixth',
|
|
2579
|
+
},
|
|
2580
|
+
];
|
|
1342
2581
|
//#endregion
|
|
1343
2582
|
//#region ---- Properties by group ----
|
|
1344
2583
|
const IDENTITY_PROPS = [
|
|
@@ -1381,6 +2620,28 @@ const IDENTITY_PROPS = [
|
|
|
1381
2620
|
},
|
|
1382
2621
|
visible: true,
|
|
1383
2622
|
},
|
|
2623
|
+
{
|
|
2624
|
+
name: 'colSpan',
|
|
2625
|
+
title: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.title',
|
|
2626
|
+
description: '@assessment-management:questionnaires.components.questionnaire-builder.fields.width.description',
|
|
2627
|
+
group: GROUP_IDENTITY,
|
|
2628
|
+
order: 30,
|
|
2629
|
+
schema: {
|
|
2630
|
+
dataType: 'number',
|
|
2631
|
+
defaultValue: { id: 12, title: WIDTH_OPTIONS[0].title },
|
|
2632
|
+
interface: {
|
|
2633
|
+
name: 'colSpan',
|
|
2634
|
+
path: 'colSpan',
|
|
2635
|
+
type: AXPWidgetsCatalog.select,
|
|
2636
|
+
options: {
|
|
2637
|
+
valueField: 'id',
|
|
2638
|
+
textField: 'title',
|
|
2639
|
+
dataSource: [...WIDTH_OPTIONS],
|
|
2640
|
+
},
|
|
2641
|
+
},
|
|
2642
|
+
},
|
|
2643
|
+
visible: true,
|
|
2644
|
+
},
|
|
1384
2645
|
];
|
|
1385
2646
|
const VALIDATION_PROPS = [
|
|
1386
2647
|
{
|
|
@@ -1492,6 +2753,14 @@ function createQuestionHintFormContext(hint) {
|
|
|
1492
2753
|
mode: { id: opt.id, title: opt.title },
|
|
1493
2754
|
};
|
|
1494
2755
|
}
|
|
2756
|
+
/**
|
|
2757
|
+
* Select row for the questionnaire-item width override. Full width when `layout` is omitted.
|
|
2758
|
+
*/
|
|
2759
|
+
function createQuestionWidthFormValue(item) {
|
|
2760
|
+
const span = readQuestionnaireItemColSpan(item);
|
|
2761
|
+
const opt = WIDTH_OPTIONS.find((option) => option.id === span) ?? WIDTH_OPTIONS[0];
|
|
2762
|
+
return { id: opt.id, title: opt.title };
|
|
2763
|
+
}
|
|
1495
2764
|
//#endregion
|
|
1496
2765
|
//#region ---- Tab definition ----
|
|
1497
2766
|
/**
|
|
@@ -1653,6 +2922,7 @@ class AXMQuestionnaireQuestionsBuilderComponent {
|
|
|
1653
2922
|
isRequired: it.isRequired,
|
|
1654
2923
|
isVisible: it.isVisible,
|
|
1655
2924
|
interfaceOverride: it.interfaceOverride,
|
|
2925
|
+
layout: it.layout,
|
|
1656
2926
|
hint: it.hint,
|
|
1657
2927
|
comment: it.comment,
|
|
1658
2928
|
tags: it.tags,
|
|
@@ -1923,6 +3193,7 @@ class AXMQuestionnaireQuestionsBuilderComponent {
|
|
|
1923
3193
|
isRequired: it.isRequired,
|
|
1924
3194
|
isVisible: it.isVisible,
|
|
1925
3195
|
interfaceOverride: it.interfaceOverride,
|
|
3196
|
+
layout: it.layout,
|
|
1926
3197
|
hint: it.hint,
|
|
1927
3198
|
comment: it.comment,
|
|
1928
3199
|
tags: it.tags,
|
|
@@ -2032,6 +3303,7 @@ class AXMQuestionnaireQuestionsBuilderComponent {
|
|
|
2032
3303
|
isRequired: this.questionEditFormIsRequired(qItem),
|
|
2033
3304
|
isVisible: this.questionEditFormIsVisible(qItem.isVisible),
|
|
2034
3305
|
hint: createQuestionHintFormContext(mergedHintForForm),
|
|
3306
|
+
colSpan: createQuestionWidthFormValue(qItem),
|
|
2035
3307
|
comment: mergedCommentForForm,
|
|
2036
3308
|
})
|
|
2037
3309
|
.onAction(async (ref) => {
|
|
@@ -2065,6 +3337,7 @@ class AXMQuestionnaireQuestionsBuilderComponent {
|
|
|
2065
3337
|
tags,
|
|
2066
3338
|
isRequired: this.persistQuestionIsRequiredFromForm(formData.isRequired),
|
|
2067
3339
|
isVisible: this.persistQuestionIsVisibleFromForm(formData.isVisible),
|
|
3340
|
+
layout: questionnaireItemLayoutOverride(formData.colSpan),
|
|
2068
3341
|
};
|
|
2069
3342
|
if (hintPersist != null) {
|
|
2070
3343
|
nextItem.hint = hintPersist;
|
|
@@ -2469,7 +3742,7 @@ class AXMQuestionnaireQuestionsBuilderComponent {
|
|
|
2469
3742
|
}
|
|
2470
3743
|
}
|
|
2471
3744
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireQuestionsBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2472
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireQuestionsBuilderComponent, isStandalone: true, selector: "axm-questionnaire-questions-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, prePostConfig: { classPropertyName: "prePostConfig", publicName: "prePostConfig", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, displaySettingsInput: { classPropertyName: "displaySettingsInput", publicName: "displaySettingsInput", isSignal: true, isRequired: false, transformFunction: null }, printSettingsInput: { classPropertyName: "printSettingsInput", publicName: "printSettingsInput", isSignal: true, isRequired: false, transformFunction: null }, questionnaireEntityId: { classPropertyName: "questionnaireEntityId", publicName: "questionnaireEntityId", isSignal: true, isRequired: false, transformFunction: null }, questionnaireTitle: { classPropertyName: "questionnaireTitle", publicName: "questionnaireTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "fullscreenDirective", first: true, predicate: ["fullscreen"], descendants: true, isSignal: true }, { propertyName: "standardRef", first: true, predicate: AXPStandardSectionItemsBuilderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"axm-questionnaire-questions-builder\" axFullscreen #fullscreen=\"axFullscreen\">\n @if (showHeader()) {\n <div class=\"__header\">\n <div class=\"__header-left\"></div>\n <div class=\"__header-right\">\n @if (!readonly()) {\n <ax-button class=\"ax-sm\" [text]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.add-section.title'\n | translate\n | async) || 'Add Section'\n \" [color]=\"'primary'\" (onClick)=\"addSection()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-layer-group\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button class=\"ax-sm\" [title]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.preview.title'\n | translate\n | async) || 'Preview'\n \" [disabled]=\"isPreviewDisabled()\" (onClick)=\"handlePreview()\">\n <ax-icon icon=\"fa-light fa-eye\"></ax-icon>\n </ax-button>\n }\n <ax-button class=\"ax-sm\" [title]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.fullscreen.title'\n | translate\n | async) || 'Full Screen'\n \" (onClick)=\"handleFullscreen()\">\n <ax-icon icon=\"fa-light fa-expand\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n\n <axp-standard-section-items-builder #standardRef class=\"block min-h-[200px]\" [value]=\"builderValue()\"\n [config]=\"standardConfig()\" [readonly]=\"readonly()\" (valueChange)=\"onBuilderValueChange($event)\" />\n</div>", styles: ["@layer properties;.axm-questionnaire-questions-builder{display:flex;height:100%;width:100%;flex-direction:column}.axm-questionnaire-questions-builder .__header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;padding:calc(var(--spacing, .25rem) * 3)}.axm-questionnaire-questions-builder .__header .__header-left,.axm-questionnaire-questions-builder .__header .__header-right{display:flex;gap:calc(var(--spacing, .25rem) * 2)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPStandardSectionItemsBuilderComponent, selector: "axp-standard-section-items-builder", inputs: ["value", "config", "readonly"], outputs: ["valueChange"] }, { kind: "directive", type: AXFullScreenDirective, selector: "[axFullscreen]", inputs: ["mode"], outputs: ["fullscreenChange"], exportAs: ["axFullscreen"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
3745
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireQuestionsBuilderComponent, isStandalone: true, selector: "axm-questionnaire-questions-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, prePostConfig: { classPropertyName: "prePostConfig", publicName: "prePostConfig", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, displaySettingsInput: { classPropertyName: "displaySettingsInput", publicName: "displaySettingsInput", isSignal: true, isRequired: false, transformFunction: null }, printSettingsInput: { classPropertyName: "printSettingsInput", publicName: "printSettingsInput", isSignal: true, isRequired: false, transformFunction: null }, questionnaireEntityId: { classPropertyName: "questionnaireEntityId", publicName: "questionnaireEntityId", isSignal: true, isRequired: false, transformFunction: null }, questionnaireTitle: { classPropertyName: "questionnaireTitle", publicName: "questionnaireTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "fullscreenDirective", first: true, predicate: ["fullscreen"], descendants: true, isSignal: true }, { propertyName: "standardRef", first: true, predicate: AXPStandardSectionItemsBuilderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"axm-questionnaire-questions-builder\" axFullscreen #fullscreen=\"axFullscreen\">\n @if (showHeader()) {\n <div class=\"__header\">\n <div class=\"__header-left\"></div>\n <div class=\"__header-right\">\n @if (!readonly()) {\n <ax-button class=\"ax-sm\" [text]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.add-section.title'\n | translate\n | async) || 'Add Section'\n \" [color]=\"'primary'\" (onClick)=\"addSection()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-layer-group\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <ax-button class=\"ax-sm\" [title]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.preview.title'\n | translate\n | async) || 'Preview'\n \" [disabled]=\"isPreviewDisabled()\" (onClick)=\"handlePreview()\">\n <ax-icon icon=\"fa-light fa-eye\"></ax-icon>\n </ax-button>\n }\n <ax-button class=\"ax-sm\" [title]=\"\n ('@assessment-management:questionnaires.components.questionnaire-builder.actions.fullscreen.title'\n | translate\n | async) || 'Full Screen'\n \" (onClick)=\"handleFullscreen()\">\n <ax-icon icon=\"fa-light fa-expand\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n\n <axp-standard-section-items-builder #standardRef class=\"block min-h-[200px]\" [value]=\"builderValue()\"\n [config]=\"standardConfig()\" [readonly]=\"readonly()\" (valueChange)=\"onBuilderValueChange($event)\" />\n</div>", styles: ["@layer properties;.axm-questionnaire-questions-builder{display:flex;height:100%;width:100%;flex-direction:column}.axm-questionnaire-questions-builder .__header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;padding:calc(var(--spacing, .25rem) * 3)}.axm-questionnaire-questions-builder .__header .__header-left,.axm-questionnaire-questions-builder .__header .__header-right{display:flex;gap:calc(var(--spacing, .25rem) * 2)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPStandardSectionItemsBuilderComponent, selector: "axp-standard-section-items-builder", inputs: ["value", "config", "readonly"], outputs: ["valueChange"] }, { kind: "directive", type: AXFullScreenDirective, selector: "[axFullscreen]", inputs: ["mode"], outputs: ["fullscreenChange"], exportAs: ["axFullscreen"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2473
3746
|
}
|
|
2474
3747
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireQuestionsBuilderComponent, decorators: [{
|
|
2475
3748
|
type: Component,
|
|
@@ -3820,8 +5093,8 @@ class AXMQuestionnaireOutcomesBuilderComponent {
|
|
|
3820
5093
|
return trimmed.length > 0 ? trimmed : undefined;
|
|
3821
5094
|
}
|
|
3822
5095
|
if (typeof value === 'object') {
|
|
3823
|
-
const styleClass = String(get(value, 'styleClass') ?? '').trim();
|
|
3824
|
-
const iconClass = String(get(value, 'iconClass') ?? '').trim();
|
|
5096
|
+
const styleClass = String(get$1(value, 'styleClass') ?? '').trim();
|
|
5097
|
+
const iconClass = String(get$1(value, 'iconClass') ?? '').trim();
|
|
3825
5098
|
const combined = [styleClass, iconClass].filter(Boolean).join(' ');
|
|
3826
5099
|
return combined.length > 0 ? combined : undefined;
|
|
3827
5100
|
}
|
|
@@ -3843,19 +5116,19 @@ class AXMQuestionnaireOutcomesBuilderComponent {
|
|
|
3843
5116
|
}
|
|
3844
5117
|
const rows = [];
|
|
3845
5118
|
for (const [index, row] of raw.entries()) {
|
|
3846
|
-
const compareValue = this.coerceDisplayCompareValue(get(row, 'compareValue'), resultKind);
|
|
3847
|
-
const color = this.normalizeDisplayColorValue(get(row, 'color'));
|
|
5119
|
+
const compareValue = this.coerceDisplayCompareValue(get$1(row, 'compareValue'), resultKind);
|
|
5120
|
+
const color = this.normalizeDisplayColorValue(get$1(row, 'color'));
|
|
3848
5121
|
if (compareValue === undefined || !color) {
|
|
3849
5122
|
continue;
|
|
3850
5123
|
}
|
|
3851
5124
|
rows.push({
|
|
3852
|
-
id: String(get(row, 'id') ?? AXPDataGenerator.uuid()),
|
|
5125
|
+
id: String(get$1(row, 'id') ?? AXPDataGenerator.uuid()),
|
|
3853
5126
|
order: index,
|
|
3854
|
-
operator: this.coerceDisplayOperator(get(row, 'operator'), resultKind),
|
|
5127
|
+
operator: this.coerceDisplayOperator(get$1(row, 'operator'), resultKind),
|
|
3855
5128
|
compareValue,
|
|
3856
5129
|
color,
|
|
3857
|
-
emphasis: this.coerceDisplayEmphasis(get(row, 'emphasis')),
|
|
3858
|
-
icon: this.normalizeDisplayIconValue(get(row, 'icon')),
|
|
5130
|
+
emphasis: this.coerceDisplayEmphasis(get$1(row, 'emphasis')),
|
|
5131
|
+
icon: this.normalizeDisplayIconValue(get$1(row, 'icon')),
|
|
3859
5132
|
});
|
|
3860
5133
|
}
|
|
3861
5134
|
return normalizeQuestionnaireOutcomeDisplayRules(rows);
|
|
@@ -3874,7 +5147,7 @@ class AXMQuestionnaireOutcomesBuilderComponent {
|
|
|
3874
5147
|
return undefined;
|
|
3875
5148
|
}
|
|
3876
5149
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireOutcomesBuilderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3877
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireOutcomesBuilderComponent, isStandalone: true, selector: "axm-questionnaire-outcomes-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "standardRef", first: true, predicate: AXPStandardSectionItemsBuilderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"axm-questionnaire-outcomes-builder\">\n @if (showHeader()) {\n <div class=\"__header\">\n <div class=\"__header-left\"></div>\n <div class=\"__header-right\">\n @if (!readonly()) {\n <ax-button\n class=\"ax-sm\"\n [text]=\"\n ('@assessment-management:questionnaires.components.questionnaire-outcomes-builder.actions.add-section.title'\n | translate\n | async) || 'Add Section'\n \"\n [color]=\"'primary'\"\n (onClick)=\"addSection()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-layer-group\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n }\n\n <axp-standard-section-items-builder\n #standardRef\n class=\"block min-h-[200px]\"\n [value]=\"externalBuilderValue()\"\n [config]=\"standardConfig()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"onBuilderValueChange($event)\" />\n</div>\n", styles: ["@layer properties;.axm-questionnaire-outcomes-builder{display:flex;height:100%;width:100%;flex-direction:column}.axm-questionnaire-outcomes-builder .__header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;padding:calc(var(--spacing, .25rem) * 3)}.axm-questionnaire-outcomes-builder .__header .__header-left,.axm-questionnaire-outcomes-builder .__header .__header-right{display:flex;gap:calc(var(--spacing, .25rem) * 2)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPStandardSectionItemsBuilderComponent, selector: "axp-standard-section-items-builder", inputs: ["value", "config", "readonly"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
5150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireOutcomesBuilderComponent, isStandalone: true, selector: "axm-questionnaire-outcomes-builder", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "standardRef", first: true, predicate: AXPStandardSectionItemsBuilderComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"axm-questionnaire-outcomes-builder\">\n @if (showHeader()) {\n <div class=\"__header\">\n <div class=\"__header-left\"></div>\n <div class=\"__header-right\">\n @if (!readonly()) {\n <ax-button\n class=\"ax-sm\"\n [text]=\"\n ('@assessment-management:questionnaires.components.questionnaire-outcomes-builder.actions.add-section.title'\n | translate\n | async) || 'Add Section'\n \"\n [color]=\"'primary'\"\n (onClick)=\"addSection()\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-layer-group\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n }\n\n <axp-standard-section-items-builder\n #standardRef\n class=\"block min-h-[200px]\"\n [value]=\"externalBuilderValue()\"\n [config]=\"standardConfig()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"onBuilderValueChange($event)\" />\n</div>\n", styles: ["@layer properties;.axm-questionnaire-outcomes-builder{display:flex;height:100%;width:100%;flex-direction:column}.axm-questionnaire-outcomes-builder .__header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;padding:calc(var(--spacing, .25rem) * 3)}.axm-questionnaire-outcomes-builder .__header .__header-left,.axm-questionnaire-outcomes-builder .__header .__header-right{display:flex;gap:calc(var(--spacing, .25rem) * 2)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPStandardSectionItemsBuilderComponent, selector: "axp-standard-section-items-builder", inputs: ["value", "config", "readonly"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3878
5151
|
}
|
|
3879
5152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireOutcomesBuilderComponent, decorators: [{
|
|
3880
5153
|
type: Component,
|
|
@@ -4540,7 +5813,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
4540
5813
|
const widgetPath = question.question.interface?.path;
|
|
4541
5814
|
if (!widgetPath)
|
|
4542
5815
|
continue;
|
|
4543
|
-
const value = get(contextData, widgetPath);
|
|
5816
|
+
const value = get$1(contextData, widgetPath);
|
|
4544
5817
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
4545
5818
|
if (!isEmpty) {
|
|
4546
5819
|
answeredCount++;
|
|
@@ -4596,7 +5869,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
4596
5869
|
const widgetPath = question.question.interface?.path;
|
|
4597
5870
|
if (!widgetPath)
|
|
4598
5871
|
continue;
|
|
4599
|
-
const value = get(contextData, widgetPath);
|
|
5872
|
+
const value = get$1(contextData, widgetPath);
|
|
4600
5873
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
4601
5874
|
if (!isEmpty) {
|
|
4602
5875
|
answeredCount++;
|
|
@@ -4925,7 +6198,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
4925
6198
|
const widgetPath = question.question.interface?.path;
|
|
4926
6199
|
if (!widgetPath)
|
|
4927
6200
|
continue;
|
|
4928
|
-
const value = get(contextData, widgetPath);
|
|
6201
|
+
const value = get$1(contextData, widgetPath);
|
|
4929
6202
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
4930
6203
|
if (isEmpty) {
|
|
4931
6204
|
return false;
|
|
@@ -5009,6 +6282,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5009
6282
|
questionBankItemId: item.questionBankItemId,
|
|
5010
6283
|
sectionName,
|
|
5011
6284
|
order: item.order,
|
|
6285
|
+
colSpan: readQuestionnaireItemColSpan(item),
|
|
5012
6286
|
isRequired: item.isRequired,
|
|
5013
6287
|
isVisible: item.isVisible,
|
|
5014
6288
|
hint: mergeQuestionHintForViewer(normalizeQuestionHintFromEntityRow(questionDetails), parseQuestionHintPartialFromRecord(item)),
|
|
@@ -5157,6 +6431,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5157
6431
|
questionBankItemId: item.questionBankItemId,
|
|
5158
6432
|
sectionName,
|
|
5159
6433
|
order: item.order,
|
|
6434
|
+
colSpan: readQuestionnaireItemColSpan(item),
|
|
5160
6435
|
isRequired: item.isRequired,
|
|
5161
6436
|
isVisible: item.isVisible,
|
|
5162
6437
|
hint: mergeQuestionHintForViewer(normalizeQuestionHintFromEntityRow(questionDetails), parseQuestionHintPartialFromRecord(item)),
|
|
@@ -5311,7 +6586,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5311
6586
|
return false;
|
|
5312
6587
|
}
|
|
5313
6588
|
const contextData = store.widgetContainer()?.contextService?.data() ?? {};
|
|
5314
|
-
return !isQuestionnaireAnswerValueEmpty(get(contextData, path));
|
|
6589
|
+
return !isQuestionnaireAnswerValueEmpty(get$1(contextData, path));
|
|
5315
6590
|
},
|
|
5316
6591
|
getPrintQuestionsInSection(section) {
|
|
5317
6592
|
const questions = this.getVisibleQuestionsInSection(section);
|
|
@@ -5398,7 +6673,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5398
6673
|
const contextData = contextService.data() || {};
|
|
5399
6674
|
const widgetPath = question.question.interface?.path;
|
|
5400
6675
|
if (widgetPath) {
|
|
5401
|
-
const value = get(contextData, widgetPath);
|
|
6676
|
+
const value = get$1(contextData, widgetPath);
|
|
5402
6677
|
if (isQuestionnaireItemStaticallyRequired(question.isRequired)) {
|
|
5403
6678
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
5404
6679
|
if (isEmpty) {
|
|
@@ -5409,7 +6684,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5409
6684
|
const commentPolicy = question.comment;
|
|
5410
6685
|
if (this.isCommentVisible(question) && commentPolicy.required) {
|
|
5411
6686
|
const cPath = getQuestionAnswerCommentStoragePath(question.name);
|
|
5412
|
-
const cVal = get(contextData, cPath);
|
|
6687
|
+
const cVal = get$1(contextData, cPath);
|
|
5413
6688
|
const commentEmpty = cVal === null || cVal === undefined || (typeof cVal === 'string' && cVal.trim() === '');
|
|
5414
6689
|
if (commentEmpty) {
|
|
5415
6690
|
return 'Comment is required.';
|
|
@@ -5440,8 +6715,8 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5440
6715
|
return { isValid: true, errors: [] };
|
|
5441
6716
|
}
|
|
5442
6717
|
const sections = data.sections;
|
|
5443
|
-
//
|
|
5444
|
-
await form.validate();
|
|
6718
|
+
// Widget rules, including spreadsheet cells, fail this summary.
|
|
6719
|
+
const formSummary = await form.validate();
|
|
5445
6720
|
// Manually validate each visible question
|
|
5446
6721
|
// The form validation doesn't provide paths in the rules, so we validate manually
|
|
5447
6722
|
const errors = [];
|
|
@@ -5454,7 +6729,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5454
6729
|
const section = sections.find((s) => s.name === question.sectionName);
|
|
5455
6730
|
const widgetPath = question.question.interface?.path;
|
|
5456
6731
|
if (widgetPath) {
|
|
5457
|
-
const value = get(contextData, widgetPath);
|
|
6732
|
+
const value = get$1(contextData, widgetPath);
|
|
5458
6733
|
if (isQuestionnaireItemStaticallyRequired(question.isRequired)) {
|
|
5459
6734
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
5460
6735
|
if (isEmpty) {
|
|
@@ -5478,7 +6753,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5478
6753
|
const commentPolicy = question.comment;
|
|
5479
6754
|
if (this.isCommentVisible(question) && commentPolicy.required) {
|
|
5480
6755
|
const cPath = getQuestionAnswerCommentStoragePath(question.name);
|
|
5481
|
-
const cVal = get(contextData, cPath);
|
|
6756
|
+
const cVal = get$1(contextData, cPath);
|
|
5482
6757
|
const commentEmpty = cVal === null || cVal === undefined || (typeof cVal === 'string' && cVal.trim() === '');
|
|
5483
6758
|
if (commentEmpty) {
|
|
5484
6759
|
const questionTitle = resolveQuestionBankItemPlainLabel(question.question, locale);
|
|
@@ -5498,7 +6773,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5498
6773
|
}
|
|
5499
6774
|
}
|
|
5500
6775
|
patchState(store, { validationErrors: errors });
|
|
5501
|
-
if (errors.length > 0) {
|
|
6776
|
+
if (errors.length > 0 && formSummary.result) {
|
|
5502
6777
|
const errorMessage = (await translationService.translateAsync('@assessment-management:questionnaires.components.questionnaire-viewer.validation.current-page-error')) || `Please complete ${errors.length} required question(s) on this page.`;
|
|
5503
6778
|
toastService.show({
|
|
5504
6779
|
color: 'danger',
|
|
@@ -5511,7 +6786,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5511
6786
|
});
|
|
5512
6787
|
}
|
|
5513
6788
|
return {
|
|
5514
|
-
isValid: errors.length === 0,
|
|
6789
|
+
isValid: errors.length === 0 && formSummary.result,
|
|
5515
6790
|
errors,
|
|
5516
6791
|
};
|
|
5517
6792
|
},
|
|
@@ -5527,8 +6802,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5527
6802
|
if (!data) {
|
|
5528
6803
|
return { isValid: true, errors: [] };
|
|
5529
6804
|
}
|
|
5530
|
-
|
|
5531
|
-
await form.validate();
|
|
6805
|
+
const formSummary = await form.validate();
|
|
5532
6806
|
// Manually validate all visible questions
|
|
5533
6807
|
// The form validation doesn't provide paths in the rules, so we validate manually
|
|
5534
6808
|
const errors = [];
|
|
@@ -5545,7 +6819,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5545
6819
|
const locale = translationService.getActiveLang?.() ?? 'en-US';
|
|
5546
6820
|
const widgetPath = question.question.interface?.path;
|
|
5547
6821
|
if (widgetPath) {
|
|
5548
|
-
const value = get(contextData, widgetPath);
|
|
6822
|
+
const value = get$1(contextData, widgetPath);
|
|
5549
6823
|
if (isQuestionnaireItemStaticallyRequired(question.isRequired)) {
|
|
5550
6824
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
5551
6825
|
if (isEmpty) {
|
|
@@ -5569,7 +6843,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5569
6843
|
const commentPolicy = question.comment;
|
|
5570
6844
|
if (this.isCommentVisible(question) && commentPolicy.required) {
|
|
5571
6845
|
const cPath = getQuestionAnswerCommentStoragePath(question.name);
|
|
5572
|
-
const cVal = get(contextData, cPath);
|
|
6846
|
+
const cVal = get$1(contextData, cPath);
|
|
5573
6847
|
const commentEmpty = cVal === null || cVal === undefined || (typeof cVal === 'string' && cVal.trim() === '');
|
|
5574
6848
|
if (commentEmpty) {
|
|
5575
6849
|
const questionTitle = resolveQuestionBankItemPlainLabel(question.question, locale);
|
|
@@ -5590,7 +6864,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5590
6864
|
}
|
|
5591
6865
|
}
|
|
5592
6866
|
patchState(store, { validationErrors: errors });
|
|
5593
|
-
if (errors.length > 0) {
|
|
6867
|
+
if (errors.length > 0 && formSummary.result) {
|
|
5594
6868
|
const errorMessage = (await translationService.translateAsync('@assessment-management:questionnaires.components.questionnaire-viewer.validation.all-questions-error')) || `Please complete ${errors.length} required question(s) in the questionnaire.`;
|
|
5595
6869
|
toastService.show({
|
|
5596
6870
|
color: 'danger',
|
|
@@ -5603,7 +6877,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5603
6877
|
});
|
|
5604
6878
|
}
|
|
5605
6879
|
return {
|
|
5606
|
-
isValid: errors.length === 0,
|
|
6880
|
+
isValid: errors.length === 0 && formSummary.result,
|
|
5607
6881
|
errors,
|
|
5608
6882
|
};
|
|
5609
6883
|
},
|
|
@@ -5739,8 +7013,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5739
7013
|
return true;
|
|
5740
7014
|
}
|
|
5741
7015
|
const sections = data.sections;
|
|
5742
|
-
|
|
5743
|
-
await form.validate();
|
|
7016
|
+
const formSummary = await form.validate();
|
|
5744
7017
|
// Manually validate each visible question
|
|
5745
7018
|
const container = store.widgetContainer();
|
|
5746
7019
|
if (container?.contextService) {
|
|
@@ -5749,7 +7022,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5749
7022
|
for (const question of visibleQuestions) {
|
|
5750
7023
|
const widgetPath = question.question.interface?.path;
|
|
5751
7024
|
if (widgetPath) {
|
|
5752
|
-
const value = get(contextData, widgetPath);
|
|
7025
|
+
const value = get$1(contextData, widgetPath);
|
|
5753
7026
|
if (isQuestionnaireItemStaticallyRequired(question.isRequired)) {
|
|
5754
7027
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
5755
7028
|
if (isEmpty) {
|
|
@@ -5760,7 +7033,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5760
7033
|
const commentPolicy = question.comment;
|
|
5761
7034
|
if (this.isCommentVisible(question) && commentPolicy.required) {
|
|
5762
7035
|
const cPath = getQuestionAnswerCommentStoragePath(question.name);
|
|
5763
|
-
const cVal = get(contextData, cPath);
|
|
7036
|
+
const cVal = get$1(contextData, cPath);
|
|
5764
7037
|
const commentEmpty = cVal === null || cVal === undefined || (typeof cVal === 'string' && cVal.trim() === '');
|
|
5765
7038
|
if (commentEmpty) {
|
|
5766
7039
|
return false;
|
|
@@ -5768,7 +7041,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5768
7041
|
}
|
|
5769
7042
|
}
|
|
5770
7043
|
}
|
|
5771
|
-
return
|
|
7044
|
+
return formSummary.result;
|
|
5772
7045
|
},
|
|
5773
7046
|
/**
|
|
5774
7047
|
* Check if a section can be navigated to
|
|
@@ -5883,7 +7156,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5883
7156
|
for (const section of data.sections) {
|
|
5884
7157
|
for (const question of visibleQuestionsForSection(section, sc, qc)) {
|
|
5885
7158
|
const widgetPath = question.question.interface?.path;
|
|
5886
|
-
const answer = widgetPath ? get(contextData, widgetPath) : undefined;
|
|
7159
|
+
const answer = widgetPath ? get$1(contextData, widgetPath) : undefined;
|
|
5887
7160
|
const n = question.question.note;
|
|
5888
7161
|
const notePlain = n != null && n !== ''
|
|
5889
7162
|
? stripHtmlToPlain(resolveMultiLanguageString(n, locale)) || undefined
|
|
@@ -5936,7 +7209,7 @@ const AXMQuestionnaireViewerViewModel = signalStore(withState(() => ({
|
|
|
5936
7209
|
const widgetPath = question.question.interface?.path;
|
|
5937
7210
|
if (!widgetPath)
|
|
5938
7211
|
continue;
|
|
5939
|
-
const value = get(contextData, widgetPath);
|
|
7212
|
+
const value = get$1(contextData, widgetPath);
|
|
5940
7213
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
5941
7214
|
if (isEmpty) {
|
|
5942
7215
|
unansweredCount++;
|
|
@@ -6111,7 +7384,7 @@ class AXMQuestionnaireViewerQuestionComponent {
|
|
|
6111
7384
|
return false;
|
|
6112
7385
|
try {
|
|
6113
7386
|
const widgetPath = question.question.interface.path;
|
|
6114
|
-
const value = get(data, widgetPath);
|
|
7387
|
+
const value = get$1(data, widgetPath);
|
|
6115
7388
|
const isEmpty = isQuestionnaireAnswerValueEmpty(value);
|
|
6116
7389
|
return !isEmpty;
|
|
6117
7390
|
}
|
|
@@ -6168,7 +7441,7 @@ class AXMQuestionnaireViewerQuestionComponent {
|
|
|
6168
7441
|
const ctxData = this.vm?.widgetContainer()?.contextService?.data() ?? this.contextData();
|
|
6169
7442
|
if (!path || !ctxData)
|
|
6170
7443
|
return '';
|
|
6171
|
-
const v = get(ctxData, path);
|
|
7444
|
+
const v = get$1(ctxData, path);
|
|
6172
7445
|
if (v == null)
|
|
6173
7446
|
return '';
|
|
6174
7447
|
return typeof v === 'string' ? v : String(v);
|
|
@@ -6321,7 +7594,7 @@ class AXMQuestionnaireViewerQuestionComponent {
|
|
|
6321
7594
|
/>
|
|
6322
7595
|
}
|
|
6323
7596
|
</div>
|
|
6324
|
-
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-question{display:block}axm-questionnaire-viewer-question .__question-item{display:flex;flex-direction:column;gap:var(--spacing, .25rem);padding:calc(var(--spacing, .25rem) * 4);text-align:start;transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .2s;transition-duration:.2s;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-surface));--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axm-questionnaire-viewer-question .__question-item:hover{background:rgba(var(--ax-sys-color-primary-surface),.08);border-color:rgba(var(--ax-sys-color-primary-surface),.14)}axm-questionnaire-viewer-question .__question-item.__answered{background:rgba(var(--ax-sys-color-primary-surface),.14);border-color:rgba(var(--ax-sys-color-primary-surface),.5)}axm-questionnaire-viewer-question .__question-item.__print-mode{box-shadow:none}axm-questionnaire-viewer-question .__question-item.__print-mode:hover{background:inherit;border-color:inherit}axm-questionnaire-viewer-question .__question-item.__print-plain{background:transparent;border:none;border-radius:0;box-shadow:none;padding-inline:0}axm-questionnaire-viewer-question .__question-item.__print-plain:hover{background:transparent;border:none}axm-questionnaire-viewer-question .__question-item .__question-header{display:flex;width:100%;min-width:0px;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left .__question-number{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgba(var(--ax-sys-color-primary-600))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left .__question-counter{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right{display:flex;min-width:0px;flex:1;flex-wrap:wrap;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block{min-width:0px;flex:1;text-align:start}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block h3.__question-title{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title{margin:0;min-width:0px;flex:1;text-align:start;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title.__question-title--rich{--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich{width:100%;max-width:100%;text-align:start;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich p{margin:0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich p:first-child{margin-top:0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ul ul{list-style-type:circle;margin-block:.25rem 0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich li{margin-block:.125rem;padding-inline-start:.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__answered-badge{border-radius:.25rem;padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__required-badge{border-radius:.25rem;padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}axm-questionnaire-viewer-question .__question-item .__question-note{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-note p{margin:0}axm-questionnaire-viewer-question .__question-item .__question-note p:first-child{margin-top:0}axm-questionnaire-viewer-question .__question-item .__question-note ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-note ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-note li{margin-block:.125rem}axm-questionnaire-viewer-question .__question-item .__question-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-widget{text-align:start}axm-questionnaire-viewer-question .__question-item .__question-widget>*{margin-bottom:0}axm-questionnaire-viewer-question .__question-item .__widget-placeholder{border-radius:.25rem;border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;padding:calc(var(--spacing, .25rem) * 4);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));font-style:italic;color:rgb(var(--ax-sys-color-on-surface-variant));background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-question .__question-item .__question-comment{display:flex;width:100%;flex-direction:column;gap:var(--spacing, .25rem)}axm-questionnaire-viewer-question .__question-item .__question-comment ax-text-area{margin-top:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-comment--readonly{margin-top:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-comment-text{margin:0;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));white-space:pre-wrap;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-comment-label{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-comment-required{color:rgb(var(--ax-sys-color-danger-600))}axm-questionnaire-viewer-question .__question-item axp-file-list.--look-links.--links-inline{display:block;padding-top:calc(var(--spacing, .25rem) * 3)}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "directive", type: i1$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXAlertModule }, { kind: "component", type: i2$1.AXAlertComponent, selector: "ax-alert", inputs: ["color", "timeOut"], outputs: ["colorChange", "onClosed", "timeOutChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i4$1.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXPFileListComponent, selector: "axp-file-list", inputs: ["readonly", "fileEditable", "enableTitleDescription", "multiple", "look", "titleKey", "showLabel", "linksLayout", "files", "accept", "maxFileSize", "showUploadZoneHint", "plugins", "excludePlugins", "capabilities"], outputs: ["onRemove", "onRevert", "onRename"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
7597
|
+
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-question{display:block}axm-questionnaire-viewer-question .__question-item{display:flex;flex-direction:column;gap:var(--spacing, .25rem);padding:calc(var(--spacing, .25rem) * 4);text-align:start;transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .2s;transition-duration:.2s;border-radius:var(--radius-lg, .5rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-surface));--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}axm-questionnaire-viewer-question .__question-item:hover{background:rgba(var(--ax-sys-color-primary-surface),.08);border-color:rgba(var(--ax-sys-color-primary-surface),.14)}axm-questionnaire-viewer-question .__question-item.__answered{background:rgba(var(--ax-sys-color-primary-surface),.14);border-color:rgba(var(--ax-sys-color-primary-surface),.5)}axm-questionnaire-viewer-question .__question-item.__print-mode{box-shadow:none}axm-questionnaire-viewer-question .__question-item.__print-mode:hover{background:inherit;border-color:inherit}axm-questionnaire-viewer-question .__question-item.__print-plain{background:transparent;border:none;border-radius:0;box-shadow:none;padding-inline:0}axm-questionnaire-viewer-question .__question-item.__print-plain:hover{background:transparent;border:none}axm-questionnaire-viewer-question .__question-item .__question-header{display:flex;width:100%;min-width:0px;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left .__question-number{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgba(var(--ax-sys-color-primary-600))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-left .__question-counter{font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right{display:flex;min-width:0px;flex:1;flex-wrap:wrap;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block{min-width:0px;flex:1;text-align:start}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block h3.__question-title{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title{margin:0;min-width:0px;flex:1;text-align:start;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title.__question-title--rich{--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400)}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich{width:100%;max-width:100%;text-align:start;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich p{margin:0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich p:first-child{margin-top:0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ul ul{list-style-type:circle;margin-block:.25rem 0}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__question-title-block .__question-title--rich li{margin-block:.125rem;padding-inline-start:.25rem}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__answered-badge{border-radius:.25rem;padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);background-color:rgb(var(--ax-sys-color-success-lighter-surface));color:rgb(var(--ax-sys-color-on-success-lighter-surface))}axm-questionnaire-viewer-question .__question-item .__question-header .__question-header-right .__required-badge{border-radius:.25rem;padding-inline:calc(var(--spacing, .25rem) * 2);padding-block:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);background-color:rgb(var(--ax-sys-color-warning-lighter-surface));color:rgb(var(--ax-sys-color-on-warning-lighter-surface))}axm-questionnaire-viewer-question .__question-item .__question-note{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-note p{margin:0}axm-questionnaire-viewer-question .__question-item .__question-note p:first-child{margin-top:0}axm-questionnaire-viewer-question .__question-item .__question-note ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-note ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-question .__question-item .__question-note li{margin-block:.125rem}axm-questionnaire-viewer-question .__question-item .__question-description{margin-top:var(--spacing, .25rem);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-widget{text-align:start}axm-questionnaire-viewer-question .__question-item .__question-widget>*{margin-bottom:0}axm-questionnaire-viewer-question .__question-item .__widget-placeholder{border-radius:.25rem;border-style:var(--tw-border-style);border-width:1px;--tw-border-style: dashed;border-style:dashed;padding:calc(var(--spacing, .25rem) * 4);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));font-style:italic;color:rgb(var(--ax-sys-color-on-surface-variant));background-color:var(--color-lighter);color:var(--color-on-lighter);border-color:var(--color-border-lighter);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-question .__question-item .__question-comment{display:flex;width:100%;flex-direction:column;gap:var(--spacing, .25rem)}axm-questionnaire-viewer-question .__question-item .__question-comment ax-text-area{margin-top:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-comment--readonly{margin-top:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-question .__question-item .__question-comment-text{margin:0;width:100%;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));white-space:pre-wrap;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-question .__question-item .__question-comment-label{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-question .__question-item .__question-comment-required{color:rgb(var(--ax-sys-color-danger-600))}axm-questionnaire-viewer-question .__question-item axp-file-list.--look-links.--links-inline{display:block;padding-top:calc(var(--spacing, .25rem) * 3)}@property --tw-duration{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration: initial;--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "directive", type: i1$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXAlertModule }, { kind: "component", type: i2$1.AXAlertComponent, selector: "ax-alert", inputs: ["color", "timeOut"], outputs: ["colorChange", "onClosed", "timeOutChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTextAreaModule }, { kind: "component", type: i4.AXTextAreaComponent, selector: "ax-text-area", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "placeholder", "maxLength", "look", "rows", "allowResize", "showCounter", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXPFileListComponent, selector: "axp-file-list", inputs: ["readonly", "fileEditable", "enableTitleDescription", "multiple", "look", "titleKey", "showLabel", "linksLayout", "files", "accept", "maxFileSize", "showUploadZoneHint", "plugins", "excludePlugins", "capabilities"], outputs: ["onRemove", "onRevert", "onRename"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6325
7598
|
}
|
|
6326
7599
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerQuestionComponent, decorators: [{
|
|
6327
7600
|
type: Component,
|
|
@@ -6525,7 +7798,7 @@ class AXMQuestionnaireViewerSectionHeaderComponent {
|
|
|
6525
7798
|
}
|
|
6526
7799
|
}
|
|
6527
7800
|
</div>
|
|
6528
|
-
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-section-header{display:block;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-header{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5);text-align:start}axm-questionnaire-viewer-section-header .__section-title-lg{margin:0;font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-title-md{margin:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-description{margin:0;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-section-header .__section-description--rich{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-section-header .__section-description--rich p{margin:0}axm-questionnaire-viewer-section-header .__section-description--rich p:first-child{margin-top:0}axm-questionnaire-viewer-section-header .__section-description--rich ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-section-header .__section-description--rich ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-section-header .__section-description--rich li{margin-block:.125rem;padding-inline-start:.25rem}axm-questionnaire-viewer-section-header .__mb-sm{margin-bottom:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-section-header .__mb-md{margin-bottom:calc(var(--spacing, .25rem) * 4)}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type:
|
|
7801
|
+
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-section-header{display:block;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-header{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5);text-align:start}axm-questionnaire-viewer-section-header .__section-title-lg{margin:0;font-size:var(--text-2xl, 1.5rem);line-height:var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-title-md{margin:0;font-size:var(--text-xl, 1.25rem);line-height:var(--tw-leading, var(--text-xl--line-height, calc(1.75 / 1.25)));--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600);color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-section-header .__section-description{margin:0;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-section-header .__section-description--rich{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-section-header .__section-description--rich p{margin:0}axm-questionnaire-viewer-section-header .__section-description--rich p:first-child{margin-top:0}axm-questionnaire-viewer-section-header .__section-description--rich ul{list-style-type:disc;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-section-header .__section-description--rich ol{list-style-type:decimal;list-style-position:outside;margin-block:.375rem 0;padding-inline-start:1.25rem}axm-questionnaire-viewer-section-header .__section-description--rich li{margin-block:.125rem;padding-inline-start:.25rem}axm-questionnaire-viewer-section-header .__mb-sm{margin-bottom:calc(var(--spacing, .25rem) * 2)}axm-questionnaire-viewer-section-header .__mb-md{margin-bottom:calc(var(--spacing, .25rem) * 4)}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6529
7802
|
}
|
|
6530
7803
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerSectionHeaderComponent, decorators: [{
|
|
6531
7804
|
type: Component,
|
|
@@ -6565,11 +7838,11 @@ class AXMQuestionnaireViewerSinglePageViewComponent {
|
|
|
6565
7838
|
this.vm = inject(AXMQuestionnaireViewerViewModel);
|
|
6566
7839
|
}
|
|
6567
7840
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerSinglePageViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6568
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerSinglePageViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-single-page-view", ngImport: i0, template: "<div #viewerScroll class=\"__viewer-scroll\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__single-page-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-single-page-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-single-page-view .__single-page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list{display:
|
|
7841
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerSinglePageViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-single-page-view", ngImport: i0, template: "<div #viewerScroll class=\"__viewer-scroll\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__single-page-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-single-page-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-single-page-view .__single-page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-bottom:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-single-page-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6569
7842
|
}
|
|
6570
7843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerSinglePageViewComponent, decorators: [{
|
|
6571
7844
|
type: Component,
|
|
6572
|
-
args: [{ selector: 'axm-questionnaire-viewer-single-page-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPStickyDirective, AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div #viewerScroll class=\"__viewer-scroll\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__single-page-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-single-page-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-single-page-view .__single-page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list{display:
|
|
7845
|
+
args: [{ selector: 'axm-questionnaire-viewer-single-page-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPStickyDirective, AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div #viewerScroll class=\"__viewer-scroll\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__single-page-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-single-page-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-single-page-view .__single-page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 2);padding-inline:calc(var(--spacing, .25rem) * 4);padding-bottom:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-single-page-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-single-page-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
6573
7846
|
}] });
|
|
6574
7847
|
|
|
6575
7848
|
//#region ---- Imports ----
|
|
@@ -6585,11 +7858,11 @@ class AXMQuestionnaireViewerPagePerGroupViewComponent {
|
|
|
6585
7858
|
this.vm = inject(AXMQuestionnaireViewerViewModel);
|
|
6586
7859
|
}
|
|
6587
7860
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPagePerGroupViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6588
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerPagePerGroupViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-page-per-group-view", ngImport: i0, template: "<div #viewerScroll class=\"__viewer-scroll\">\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__page-group-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-page-per-group-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-page-per-group-view .__page-group-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list{display:
|
|
7861
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerPagePerGroupViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-page-per-group-view", ngImport: i0, template: "<div #viewerScroll class=\"__viewer-scroll\">\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__page-group-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-page-per-group-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-page-per-group-view .__page-group-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list{display:grid;flex-shrink:0;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-bottom:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-page-per-group-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}axm-questionnaire-viewer-page-per-group-view .__navigation{display:flex;align-items:center;justify-content:space-between;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-surface));padding:calc(var(--spacing, .25rem) * 4);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6589
7862
|
}
|
|
6590
7863
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPagePerGroupViewComponent, decorators: [{
|
|
6591
7864
|
type: Component,
|
|
6592
|
-
args: [{ selector: 'axm-questionnaire-viewer-page-per-group-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPStickyDirective, AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div #viewerScroll class=\"__viewer-scroll\">\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__page-group-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-page-per-group-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-page-per-group-view .__page-group-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list{display:
|
|
7865
|
+
args: [{ selector: 'axm-questionnaire-viewer-page-per-group-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPStickyDirective, AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div #viewerScroll class=\"__viewer-scroll\">\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n <div class=\"__page-group-section\">\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"viewerScroll\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-page-per-group-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-page-per-group-view .__page-group-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list{display:grid;flex-shrink:0;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-bottom:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-page-per-group-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-page-per-group-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}axm-questionnaire-viewer-page-per-group-view .__navigation{display:flex;align-items:center;justify-content:space-between;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:rgba(var(--ax-sys-color-surface));padding:calc(var(--spacing, .25rem) * 4);background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
6593
7866
|
}] });
|
|
6594
7867
|
|
|
6595
7868
|
//#region ---- Imports ----
|
|
@@ -6779,7 +8052,7 @@ class AXMQuestionnaireViewerSideMenuViewComponent {
|
|
|
6779
8052
|
return cache.has(sectionIndex) ? !cache.get(sectionIndex) : false;
|
|
6780
8053
|
}
|
|
6781
8054
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerSideMenuViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6782
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerSideMenuViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-side-menu-view", viewQueries: [{ propertyName: "tabRef", first: true, predicate: AXTabsComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"__side-menu-container\">\n <!-- Desktop Sidebar (Large screens) -->\n @if (deviceService.isLarge()) {\n <div class=\"__desktop-sidebar\" [axResizable]=\"true\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\" [color]=\"'danger'\">\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n }\n\n <!-- Mobile/Tablet: Drawer Container -->\n @if (deviceService.isSmall() || deviceService.isMedium()) {\n <ax-drawer-container class=\"__drawer-container\">\n <!-- Sidebar Drawer (Mobile) -->\n <ax-drawer\n #sidebarDrawer\n [location]=\"'start'\"\n [mode]=\"'overlay'\"\n [collapsed]=\"sidebarDrawerCollapsed()\"\n [closeOnBackdropClick]=\"true\"\n (onBackdropClick)=\"sidebarDrawerCollapsed.set(true)\"\n class=\"__sidebar-drawer w-[250px]\"\n >\n <ax-content class=\"__sidebar-content\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [active]=\"vm.currentSectionIndex() === sectionIndex\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge\n [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\"\n [color]=\"'danger'\"\n >\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer>\n\n <!-- Main Content (Mobile) -->\n <ax-content class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div class=\"__mobile-header-row\" [axpSticky]=\"'--stuck'\" [stickyParent]=\"parent\" [stickyOffset]=\"0\">\n <div class=\"__mobile-menu-button\">\n <ax-button look=\"blank\" (onClick)=\"sidebarDrawerCollapsed.set(!sidebarDrawerCollapsed())\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </ax-content>\n </ax-drawer-container>\n } @else {\n <!-- Desktop Main Content -->\n <div class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"parent\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-side-menu-view{display:block;min-height:0px;width:100%;overflow:hidden}@media(width>=40rem){axm-questionnaire-viewer-side-menu-view{height:100%}}@media(width>=64rem){axm-questionnaire-viewer-side-menu-view{height:65vh}}axm-questionnaire-viewer-side-menu-view .__side-menu-container{display:flex;height:100%;min-height:0px;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__drawer-container{display:flex;height:100%;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__sidebar-drawer{height:100%;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-content{height:100%;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__desktop-sidebar{display:flex;height:100%;min-height:0px;flex-shrink:0;flex-direction:column;overflow:hidden;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs{--ax-comp-tabs-default-border-radius: 0;height:100%;min-height:0px;flex:1;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs ax-tab-item{margin-block:0px;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axm-questionnaire-viewer-side-menu-view .__main-content{display:flex;max-height:83vh;min-height:0px;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto}@media(width>=48rem){axm-questionnaire-viewer-side-menu-view .__main-content{max-height:75vh}}axm-questionnaire-viewer-side-menu-view .__page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4);padding:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__mobile-menu-button{margin-inline-start:calc(var(--spacing, .25rem) * -2);flex-shrink:0}axm-questionnaire-viewer-side-menu-view .__questions-list{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4)}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i1$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: i1$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3$1.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "transition", "closeOnBackdropClick", "backdropClass", "collapsed", "singleOpenMode"], outputs: ["onBackdropClick", "collapsedStateChanged"] }, { kind: "component", type: i3$1.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDrawerDirectiveModule }, { kind: "directive", type: AXResizableDirective, selector: "[axResizable]", inputs: ["axResizable", "handles", "minWidth", "maxWidth", "minHeight", "maxHeight", "dblClickAction", "width", "defaultWidth", "height", "defaultHeight", "lockAspectRatio"], outputs: ["axResizableChange", "handlesChange", "minWidthChange", "maxWidthChange", "minHeightChange", "maxHeightChange", "dblClickActionChange", "widthChange", "defaultWidthChange", "heightChange", "defaultHeightChange", "lockAspectRatioChange", "onResizingStarted", "onResizingEnded", "onResizingDblClick"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
8055
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerSideMenuViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-side-menu-view", viewQueries: [{ propertyName: "tabRef", first: true, predicate: AXTabsComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"__side-menu-container\">\n <!-- Desktop Sidebar (Large screens) -->\n @if (deviceService.isLarge()) {\n <div class=\"__desktop-sidebar\" [axResizable]=\"true\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\" [color]=\"'danger'\">\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n }\n\n <!-- Mobile/Tablet: Drawer Container -->\n @if (deviceService.isSmall() || deviceService.isMedium()) {\n <ax-drawer-container class=\"__drawer-container\">\n <!-- Sidebar Drawer (Mobile) -->\n <ax-drawer\n #sidebarDrawer\n [location]=\"'start'\"\n [mode]=\"'overlay'\"\n [collapsed]=\"sidebarDrawerCollapsed()\"\n [closeOnBackdropClick]=\"true\"\n (onBackdropClick)=\"sidebarDrawerCollapsed.set(true)\"\n class=\"__sidebar-drawer w-[250px]\"\n >\n <ax-content class=\"__sidebar-content\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [active]=\"vm.currentSectionIndex() === sectionIndex\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge\n [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\"\n [color]=\"'danger'\"\n >\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer>\n\n <!-- Main Content (Mobile) -->\n <ax-content class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div class=\"__mobile-header-row\" [axpSticky]=\"'--stuck'\" [stickyParent]=\"parent\" [stickyOffset]=\"0\">\n <div class=\"__mobile-menu-button\">\n <ax-button look=\"blank\" (onClick)=\"sidebarDrawerCollapsed.set(!sidebarDrawerCollapsed())\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </ax-content>\n </ax-drawer-container>\n } @else {\n <!-- Desktop Main Content -->\n <div class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"parent\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-side-menu-view{display:block;min-height:0px;width:100%;overflow:hidden}@media(width>=40rem){axm-questionnaire-viewer-side-menu-view{height:100%}}@media(width>=64rem){axm-questionnaire-viewer-side-menu-view{height:65vh}}axm-questionnaire-viewer-side-menu-view .__side-menu-container{display:flex;height:100%;min-height:0px;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__drawer-container{display:flex;height:100%;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__sidebar-drawer{height:100%;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-content{height:100%;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__desktop-sidebar{display:flex;height:100%;min-height:0px;flex-shrink:0;flex-direction:column;overflow:hidden;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs{--ax-comp-tabs-default-border-radius: 0;height:100%;min-height:0px;flex:1;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs ax-tab-item{margin-block:0px;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axm-questionnaire-viewer-side-menu-view .__main-content{display:flex;max-height:83vh;min-height:0px;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto}@media(width>=48rem){axm-questionnaire-viewer-side-menu-view .__main-content{max-height:75vh}}axm-questionnaire-viewer-side-menu-view .__page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4);padding:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__mobile-menu-button{margin-inline-start:calc(var(--spacing, .25rem) * -2);flex-shrink:0}axm-questionnaire-viewer-side-menu-view .__questions-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-side-menu-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i1$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "reorderable", "reorderDelay", "renderMode", "stacked", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged", "onTabsReordered"] }, { kind: "component", type: i1$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3$2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "transition", "closeOnBackdropClick", "backdropClass", "collapsed", "singleOpenMode"], outputs: ["collapsedChange", "onBackdropClick", "collapsedStateChanged"] }, { kind: "component", type: i3$2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDrawerDirectiveModule }, { kind: "directive", type: AXResizableDirective, selector: "[axResizable]", inputs: ["axResizable", "handles", "minWidth", "maxWidth", "minHeight", "maxHeight", "dblClickAction", "width", "defaultWidth", "height", "defaultHeight", "lockAspectRatio"], outputs: ["axResizableChange", "handlesChange", "minWidthChange", "maxWidthChange", "minHeightChange", "maxHeightChange", "dblClickActionChange", "widthChange", "defaultWidthChange", "heightChange", "defaultHeightChange", "lockAspectRatioChange", "onResizingStarted", "onResizingEnded", "onResizingDblClick"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6783
8056
|
}
|
|
6784
8057
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerSideMenuViewComponent, decorators: [{
|
|
6785
8058
|
type: Component,
|
|
@@ -6796,7 +8069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
6796
8069
|
AXPStickyDirective,
|
|
6797
8070
|
AsyncPipe,
|
|
6798
8071
|
AXTranslationModule,
|
|
6799
|
-
], template: "<div class=\"__side-menu-container\">\n <!-- Desktop Sidebar (Large screens) -->\n @if (deviceService.isLarge()) {\n <div class=\"__desktop-sidebar\" [axResizable]=\"true\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\" [color]=\"'danger'\">\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n }\n\n <!-- Mobile/Tablet: Drawer Container -->\n @if (deviceService.isSmall() || deviceService.isMedium()) {\n <ax-drawer-container class=\"__drawer-container\">\n <!-- Sidebar Drawer (Mobile) -->\n <ax-drawer\n #sidebarDrawer\n [location]=\"'start'\"\n [mode]=\"'overlay'\"\n [collapsed]=\"sidebarDrawerCollapsed()\"\n [closeOnBackdropClick]=\"true\"\n (onBackdropClick)=\"sidebarDrawerCollapsed.set(true)\"\n class=\"__sidebar-drawer w-[250px]\"\n >\n <ax-content class=\"__sidebar-content\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [active]=\"vm.currentSectionIndex() === sectionIndex\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge\n [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\"\n [color]=\"'danger'\"\n >\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer>\n\n <!-- Main Content (Mobile) -->\n <ax-content class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div class=\"__mobile-header-row\" [axpSticky]=\"'--stuck'\" [stickyParent]=\"parent\" [stickyOffset]=\"0\">\n <div class=\"__mobile-menu-button\">\n <ax-button look=\"blank\" (onClick)=\"sidebarDrawerCollapsed.set(!sidebarDrawerCollapsed())\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </ax-content>\n </ax-drawer-container>\n } @else {\n <!-- Desktop Main Content -->\n <div class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"parent\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-side-menu-view{display:block;min-height:0px;width:100%;overflow:hidden}@media(width>=40rem){axm-questionnaire-viewer-side-menu-view{height:100%}}@media(width>=64rem){axm-questionnaire-viewer-side-menu-view{height:65vh}}axm-questionnaire-viewer-side-menu-view .__side-menu-container{display:flex;height:100%;min-height:0px;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__drawer-container{display:flex;height:100%;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__sidebar-drawer{height:100%;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-content{height:100%;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__desktop-sidebar{display:flex;height:100%;min-height:0px;flex-shrink:0;flex-direction:column;overflow:hidden;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs{--ax-comp-tabs-default-border-radius: 0;height:100%;min-height:0px;flex:1;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs ax-tab-item{margin-block:0px;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axm-questionnaire-viewer-side-menu-view .__main-content{display:flex;max-height:83vh;min-height:0px;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto}@media(width>=48rem){axm-questionnaire-viewer-side-menu-view .__main-content{max-height:75vh}}axm-questionnaire-viewer-side-menu-view .__page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4);padding:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__mobile-menu-button{margin-inline-start:calc(var(--spacing, .25rem) * -2);flex-shrink:0}axm-questionnaire-viewer-side-menu-view .__questions-list{display:
|
|
8072
|
+
], template: "<div class=\"__side-menu-container\">\n <!-- Desktop Sidebar (Large screens) -->\n @if (deviceService.isLarge()) {\n <div class=\"__desktop-sidebar\" [axResizable]=\"true\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\" [color]=\"'danger'\">\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n }\n\n <!-- Mobile/Tablet: Drawer Container -->\n @if (deviceService.isSmall() || deviceService.isMedium()) {\n <ax-drawer-container class=\"__drawer-container\">\n <!-- Sidebar Drawer (Mobile) -->\n <ax-drawer\n #sidebarDrawer\n [location]=\"'start'\"\n [mode]=\"'overlay'\"\n [collapsed]=\"sidebarDrawerCollapsed()\"\n [closeOnBackdropClick]=\"true\"\n (onBackdropClick)=\"sidebarDrawerCollapsed.set(true)\"\n class=\"__sidebar-drawer w-[250px]\"\n >\n <ax-content class=\"__sidebar-content\">\n <ax-tabs class=\"__sidebar-tabs\" [look]=\"'with-line-color'\" [location]=\"'end'\" [fitParent]=\"true\">\n @for (sectionIndex of vm.sectionIndicesWithVisibleContent(); track sectionIndex) {\n <ax-tab-item\n [text]=\"(vm.sections()[sectionIndex].title | translate | async) || ''\"\n (onClick)=\"handleSectionClick(sectionIndex)\"\n [active]=\"vm.currentSectionIndex() === sectionIndex\"\n [disabled]=\"isSectionDisabled(sectionIndex)\"\n >\n @if (getSectionBadgeCount(vm.sections()[sectionIndex].name) > 0) {\n <ax-badge\n [text]=\"getSectionBadgeCount(vm.sections()[sectionIndex].name).toString()\"\n [color]=\"'danger'\"\n >\n </ax-badge>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer>\n\n <!-- Main Content (Mobile) -->\n <ax-content class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div class=\"__mobile-header-row\" [axpSticky]=\"'--stuck'\" [stickyParent]=\"parent\" [stickyOffset]=\"0\">\n <div class=\"__mobile-menu-button\">\n <ax-button look=\"blank\" (onClick)=\"sidebarDrawerCollapsed.set(!sidebarDrawerCollapsed())\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-bars\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </ax-content>\n </ax-drawer-container>\n } @else {\n <!-- Desktop Main Content -->\n <div class=\"__main-content\">\n <!-- Questions Content -->\n @if (vm.currentSection(); as section) {\n @if (vm.isSectionVisible(section)) {\n @if (stickyParent(); as parent) {\n <div\n class=\"__section-title-sticky\"\n [axpSticky]=\"'--stuck'\"\n [stickyParent]=\"parent\"\n [stickyOffset]=\"0\"\n >\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'lg'\"\n [marginBottom]=\"'none'\"\n >\n </axm-questionnaire-viewer-section-header>\n </div>\n }\n\n <div class=\"__page-section\">\n <div class=\"__questions-list\">\n @for (question of vm.getVisibleQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n >\n </axm-questionnaire-viewer-question>\n }\n </div>\n </div>\n }\n }\n </div>\n }\n</div>\n", styles: ["@layer properties;axm-questionnaire-viewer-side-menu-view{display:block;min-height:0px;width:100%;overflow:hidden}@media(width>=40rem){axm-questionnaire-viewer-side-menu-view{height:100%}}@media(width>=64rem){axm-questionnaire-viewer-side-menu-view{height:65vh}}axm-questionnaire-viewer-side-menu-view .__side-menu-container{display:flex;height:100%;min-height:0px;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__drawer-container{display:flex;height:100%;width:100%;overflow:hidden}axm-questionnaire-viewer-side-menu-view .__sidebar-drawer{height:100%;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-content{height:100%;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__desktop-sidebar{display:flex;height:100%;min-height:0px;flex-shrink:0;flex-direction:column;overflow:hidden;border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-color:rgba(var(--ax-sys-color-surface))}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs{--ax-comp-tabs-default-border-radius: 0;height:100%;min-height:0px;flex:1;overflow-y:auto}axm-questionnaire-viewer-side-menu-view .__sidebar-tabs ax-tab-item{margin-block:0px;padding-block:calc(var(--spacing, .25rem) * 3);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}axm-questionnaire-viewer-side-menu-view .__main-content{display:flex;max-height:83vh;min-height:0px;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto}@media(width>=48rem){axm-questionnaire-viewer-side-menu-view .__main-content{max-height:75vh}}axm-questionnaire-viewer-side-menu-view .__page-section{display:flex;flex-shrink:0;flex-direction:column;gap:calc(var(--spacing, .25rem) * 4);padding:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__mobile-menu-button{margin-inline-start:calc(var(--spacing, .25rem) * -2);flex-shrink:0}axm-questionnaire-viewer-side-menu-view .__questions-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--spacing, .25rem) * 4)}axm-questionnaire-viewer-side-menu-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}@media(max-width:600px){axm-questionnaire-viewer-side-menu-view .__questions-list>axm-questionnaire-viewer-question{grid-column:span 12}}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
6800
8073
|
}], ctorParameters: () => [], propDecorators: { tabRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXTabsComponent), { isSignal: true }] }] } });
|
|
6801
8074
|
|
|
6802
8075
|
//#region ---- Imports ----
|
|
@@ -6810,11 +8083,11 @@ class AXMQuestionnaireViewerPrintViewComponent {
|
|
|
6810
8083
|
this.vm = inject(AXMQuestionnaireViewerViewModel);
|
|
6811
8084
|
}
|
|
6812
8085
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPrintViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6813
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerPrintViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-print-view", ngImport: i0, template: "<div class=\"__print-document\" [attr.data-print-paging]=\"vm.printPaging()\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isPrintSectionVisible(section)) {\n <section class=\"__print-section\">\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'sm'\"\n />\n <div class=\"__print-questions\">\n @for (question of vm.getPrintQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n [mode]=\"'print'\"\n />\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-print-view{display:block;width:100%;max-width:100%;height:auto;overflow:visible;background:#fff;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-print-view .__print-document{display:block;width:100%;break-inside:auto}axm-questionnaire-viewer-print-view .__print-section{display:block;margin:0 0 12px;break-inside:auto}axm-questionnaire-viewer-print-view .__print-questions{display:
|
|
8086
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerPrintViewComponent, isStandalone: true, selector: "axm-questionnaire-viewer-print-view", ngImport: i0, template: "<div class=\"__print-document\" [attr.data-print-paging]=\"vm.printPaging()\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isPrintSectionVisible(section)) {\n <section class=\"__print-section\">\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'sm'\"\n />\n <div class=\"__print-questions\">\n @for (question of vm.getPrintQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n [mode]=\"'print'\"\n />\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-print-view{display:block;width:100%;max-width:100%;height:auto;overflow:visible;background:#fff;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-print-view .__print-document{display:block;width:100%;break-inside:auto}axm-questionnaire-viewer-print-view .__print-section{display:block;margin:0 0 12px;break-inside:auto}axm-questionnaire-viewer-print-view .__print-questions{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}axm-questionnaire-viewer-print-view .__print-questions>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}axm-questionnaire-viewer-print-view .__question-item{break-inside:avoid;page-break-inside:avoid;box-shadow:none}axm-questionnaire-viewer-print-view button,axm-questionnaire-viewer-print-view .ax-general-button-icon,axm-questionnaire-viewer-print-view ax-validation-rule,axm-questionnaire-viewer-print-view ax-clear-button,axm-questionnaire-viewer-print-view ax-validation-summary{display:none!important}.__print-document[data-print-paging=page-per-group] .__print-section+.__print-section,.__print-document[data-print-paging=side-menu] .__print-section+.__print-section{break-before:page;page-break-before:always}.__print-document[data-print-paging=page-per-question] axm-questionnaire-viewer-question+axm-questionnaire-viewer-question{break-before:page;page-break-before:always}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6814
8087
|
}
|
|
6815
8088
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPrintViewComponent, decorators: [{
|
|
6816
8089
|
type: Component,
|
|
6817
|
-
args: [{ selector: 'axm-questionnaire-viewer-print-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div class=\"__print-document\" [attr.data-print-paging]=\"vm.printPaging()\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isPrintSectionVisible(section)) {\n <section class=\"__print-section\">\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'sm'\"\n />\n <div class=\"__print-questions\">\n @for (question of vm.getPrintQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n [mode]=\"'print'\"\n />\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-print-view{display:block;width:100%;max-width:100%;height:auto;overflow:visible;background:#fff;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-print-view .__print-document{display:block;width:100%;break-inside:auto}axm-questionnaire-viewer-print-view .__print-section{display:block;margin:0 0 12px;break-inside:auto}axm-questionnaire-viewer-print-view .__print-questions{display:
|
|
8090
|
+
args: [{ selector: 'axm-questionnaire-viewer-print-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXMQuestionnaireViewerQuestionComponent, AXMQuestionnaireViewerSectionHeaderComponent], template: "<div class=\"__print-document\" [attr.data-print-paging]=\"vm.printPaging()\">\n @for (section of vm.sections(); track section.name) {\n @if (vm.isPrintSectionVisible(section)) {\n <section class=\"__print-section\">\n <axm-questionnaire-viewer-section-header\n [title]=\"section.title\"\n [description]=\"section.description\"\n [titleSize]=\"'md'\"\n [marginBottom]=\"'sm'\"\n />\n <div class=\"__print-questions\">\n @for (question of vm.getPrintQuestionsInSection(section); track question.name; let i = $index) {\n <axm-questionnaire-viewer-question\n [question]=\"question\"\n [style.--q-col-span]=\"question.colSpan\"\n [sectionOrder]=\"section.order\"\n [questionIndex]=\"i + 1\"\n [showQuestionNumbers]=\"vm.showQuestionNumbers()\"\n [showQuestionCounter]=\"false\"\n [mode]=\"'print'\"\n />\n }\n </div>\n </section>\n }\n }\n</div>\n", styles: ["axm-questionnaire-viewer-print-view{display:block;width:100%;max-width:100%;height:auto;overflow:visible;background:#fff;color:rgb(var(--ax-sys-color-on-surface))}axm-questionnaire-viewer-print-view .__print-document{display:block;width:100%;break-inside:auto}axm-questionnaire-viewer-print-view .__print-section{display:block;margin:0 0 12px;break-inside:auto}axm-questionnaire-viewer-print-view .__print-questions{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}axm-questionnaire-viewer-print-view .__print-questions>axm-questionnaire-viewer-question{grid-column:span var(--q-col-span, 12);min-width:0}axm-questionnaire-viewer-print-view .__question-item{break-inside:avoid;page-break-inside:avoid;box-shadow:none}axm-questionnaire-viewer-print-view button,axm-questionnaire-viewer-print-view .ax-general-button-icon,axm-questionnaire-viewer-print-view ax-validation-rule,axm-questionnaire-viewer-print-view ax-clear-button,axm-questionnaire-viewer-print-view ax-validation-summary{display:none!important}.__print-document[data-print-paging=page-per-group] .__print-section+.__print-section,.__print-document[data-print-paging=side-menu] .__print-section+.__print-section{break-before:page;page-break-before:always}.__print-document[data-print-paging=page-per-question] axm-questionnaire-viewer-question+axm-questionnaire-viewer-question{break-before:page;page-break-before:always}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
6818
8091
|
}] });
|
|
6819
8092
|
|
|
6820
8093
|
//#region ---- Imports ----
|
|
@@ -7071,7 +8344,7 @@ class AXMQuestionnaireViewerComponent {
|
|
|
7071
8344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7072
8345
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerComponent, isStandalone: true, selector: "axm-questionnaire-viewer", inputs: { questionnaireId: { classPropertyName: "questionnaireId", publicName: "questionnaireId", isSignal: true, isRequired: false, transformFunction: null }, structure: { classPropertyName: "structure", publicName: "structure", 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 } }, outputs: { answersChanged: "answersChanged", questionAnswered: "questionAnswered" }, host: { classAttribute: "axm-questionnaire-viewer" }, providers: [AXMQuestionnaireViewerViewModel], viewQueries: [{ propertyName: "form", first: true, predicate: ["form"], descendants: true, isSignal: true }, { propertyName: "widgetContainer", first: true, predicate: AXPWidgetContainerComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<axp-widgets-container #widgetContainer [attr.dir]=\"layoutDirection()\" [context]=\"{}\"\n (onContextChanged)=\"handleContextChanged()\">\n @if (vm.isLoading()) {\n <div class=\"__loading\">\n <axp-state-message icon=\"fa-light fa-spinner fa-spin\"\n [title]=\"('@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async) || ''\"\n [description]=\"('@assessment-management:questionnaires.components.questionnaire-viewer.loading.description' | translate | async) || ''\">\n </axp-state-message>\n </div>\n } @else if (vm.error()) {\n <div class=\"__error\">\n <axp-state-message icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"('@assessment-management:questionnaires.components.questionnaire-viewer.error.title' | translate | async) || ''\"\n [description]=\"vm.error() || ''\">\n </axp-state-message>\n </div>\n } @else if (vm.questionnaireData()) {\n <div class=\"__questionnaire-container\">\n <ax-form #form>\n @if (vm.printLayout()) {\n <axm-questionnaire-viewer-print-view></axm-questionnaire-viewer-print-view>\n } @else if (vm.viewMode() === 'single-page') {\n <axm-questionnaire-viewer-single-page-view></axm-questionnaire-viewer-single-page-view>\n } @else if (vm.viewMode() === 'page-per-group') {\n <axm-questionnaire-viewer-page-per-group-view></axm-questionnaire-viewer-page-per-group-view>\n } @else if (vm.viewMode() === 'page-per-question') {\n <axm-questionnaire-viewer-page-per-question-view></axm-questionnaire-viewer-page-per-question-view>\n } @else if (vm.viewMode() === 'side-menu') {\n <axm-questionnaire-viewer-side-menu-view></axm-questionnaire-viewer-side-menu-view>\n }\n <ax-validation-summary [displayMode]=\"'toast'\" [autoHide]=\"true\"></ax-validation-summary>\n </ax-form>\n </div>\n }\n</axp-widgets-container>", styles: [".axm-questionnaire-viewer{display:flex;height:100%;max-height:100%;min-height:0px;width:100%;flex:1;flex-direction:column}.axm-questionnaire-viewer axp-widgets-container{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column}.axm-questionnaire-viewer .__loading,.axm-questionnaire-viewer .__error{display:flex;height:100%;align-items:center;justify-content:center}.axm-questionnaire-viewer .__questionnaire-container{display:flex;min-height:0px;flex:1;flex-direction:column;overflow:hidden}.axm-questionnaire-viewer ax-form{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column;overflow:hidden}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n", "@layer properties;.__section-title-sticky,.__mobile-header-row{position:sticky;top:0;z-index:10;isolation:isolate;min-width:0px;align-self:stretch;--tw-border-style: none;border-style:none;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}:is(.__section-title-sticky,.__mobile-header-row):before{content:\"\";position:absolute;z-index:-1;inset-block:0;inset-inline:0;pointer-events:none;background-color:rgb(var(--ax-sys-color-lightest-surface));border-bottom:1px solid transparent;box-shadow:none;transition:box-shadow .2s ease-out,border-color .2s ease-out}:is(.__section-title-sticky,.__mobile-header-row):after{content:\"\";position:absolute;bottom:0;left:1rem;right:1rem;border-bottom:1px solid rgb(var(--ax-sys-color-border-surface));pointer-events:none;opacity:1;transition:opacity .2s ease-out}:is(.__section-title-sticky,.__mobile-header-row).--stuck:after{opacity:0}:is(.__section-title-sticky,.__mobile-header-row).--stuck:before{border-bottom-color:rgb(var(--ax-sys-color-border-surface));--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);inset-inline:-1rem}@media(prefers-reduced-motion:reduce){.__section-title-sticky:before,.__mobile-header-row:before,.__section-title-sticky:after,.__mobile-header-row:after{transition-duration:1ms}}.__mobile-header-row{display:flex;flex-shrink:0;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 2)}.__viewer-scroll{display:flex;min-height:0px;width:100%;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto;max-height:83vh}@media(width>=48rem){.__viewer-scroll{max-height:75vh}}axm-questionnaire-viewer-popup .__content axm-questionnaire-viewer:has(.__viewer-scroll){display:flex;height:100%;max-height:100%;min-height:0px;width:100%;flex:1;flex-direction:column}axm-questionnaire-viewer-popup .__content axm-questionnaire-viewer:has(.__viewer-scroll) .__questionnaire-container{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__content axm-questionnaire-viewer:has(.__viewer-scroll) ax-form{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-popup .__content:has(.__viewer-scroll){overflow:hidden}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer:has(.__viewer-scroll){display:flex;height:100%;max-height:100%;min-height:0px;width:100%;flex:1;flex-direction:column}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer:has(.__viewer-scroll) .__questionnaire-container{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer:has(.__viewer-scroll) ax-form{display:flex;height:100%;min-height:0px;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content:has(.__viewer-scroll){overflow:hidden}axm-questionnaire-viewer-single-page-view,axm-questionnaire-viewer-page-per-group-view{display:flex;height:100%;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "titleParams", "descriptionParams", "look"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i1$3.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i1$3.AXValidationSummaryComponent, selector: "ax-validation-summary", inputs: ["title", "displayMode", "timeOut", "autoHide"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "component", type:
|
|
7073
8346
|
// View components
|
|
7074
|
-
AXMQuestionnaireViewerSinglePageViewComponent, selector: "axm-questionnaire-viewer-single-page-view" }, { kind: "component", type: AXMQuestionnaireViewerPagePerGroupViewComponent, selector: "axm-questionnaire-viewer-page-per-group-view" }, { kind: "component", type: AXMQuestionnaireViewerPagePerQuestionViewComponent, selector: "axm-questionnaire-viewer-page-per-question-view" }, { kind: "component", type: AXMQuestionnaireViewerSideMenuViewComponent, selector: "axm-questionnaire-viewer-side-menu-view" }, { kind: "component", type: AXMQuestionnaireViewerPrintViewComponent, selector: "axm-questionnaire-viewer-print-view" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
8347
|
+
AXMQuestionnaireViewerSinglePageViewComponent, selector: "axm-questionnaire-viewer-single-page-view" }, { kind: "component", type: AXMQuestionnaireViewerPagePerGroupViewComponent, selector: "axm-questionnaire-viewer-page-per-group-view" }, { kind: "component", type: AXMQuestionnaireViewerPagePerQuestionViewComponent, selector: "axm-questionnaire-viewer-page-per-question-view" }, { kind: "component", type: AXMQuestionnaireViewerSideMenuViewComponent, selector: "axm-questionnaire-viewer-side-menu-view" }, { kind: "component", type: AXMQuestionnaireViewerPrintViewComponent, selector: "axm-questionnaire-viewer-print-view" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
7075
8348
|
}
|
|
7076
8349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerComponent, decorators: [{
|
|
7077
8350
|
type: Component,
|
|
@@ -7357,8 +8630,8 @@ async function touchAssessmentCaseActivity(entityService, caseId) {
|
|
|
7357
8630
|
async function persistAssessmentSession(input) {
|
|
7358
8631
|
const { entityService, questionnaireViewerService, caseId, sessionId, existingSession, responderId, role, structure, answers, finalize, progressMetrics, timeSpentSeconds, } = input;
|
|
7359
8632
|
const calculatedProgress = questionnaireViewerService.calculateProgressFromStructure(structure, answers);
|
|
7360
|
-
const answeredQuestionsCount = defaultTo(get(progressMetrics, 'answeredQuestionsCount'), calculatedProgress.answeredQuestionsCount);
|
|
7361
|
-
const progressPercentage = defaultTo(get(progressMetrics, 'progressPercentage'), calculatedProgress.progressPercentage);
|
|
8633
|
+
const answeredQuestionsCount = defaultTo(get$1(progressMetrics, 'answeredQuestionsCount'), calculatedProgress.answeredQuestionsCount);
|
|
8634
|
+
const progressPercentage = defaultTo(get$1(progressMetrics, 'progressPercentage'), calculatedProgress.progressPercentage);
|
|
7362
8635
|
const now = new Date();
|
|
7363
8636
|
const sessionAccessor = entityService
|
|
7364
8637
|
.withEntity(RootConfig.module.name, RootConfig.entities.assessmentSession.name)
|
|
@@ -7370,7 +8643,7 @@ async function persistAssessmentSession(input) {
|
|
|
7370
8643
|
}
|
|
7371
8644
|
const sessionStatusId = finalize
|
|
7372
8645
|
? 'submitted'
|
|
7373
|
-
: get(currentSession, 'statusId') === 'submitted'
|
|
8646
|
+
: get$1(currentSession, 'statusId') === 'submitted'
|
|
7374
8647
|
? 'submitted'
|
|
7375
8648
|
: AXPSystemStatusType.InProgress;
|
|
7376
8649
|
const sessionData = {
|
|
@@ -7383,7 +8656,7 @@ async function persistAssessmentSession(input) {
|
|
|
7383
8656
|
lastSavedAt: now,
|
|
7384
8657
|
statusId: sessionStatusId,
|
|
7385
8658
|
};
|
|
7386
|
-
if (isEmpty(get(currentSession, 'startedAt'))) {
|
|
8659
|
+
if (isEmpty(get$1(currentSession, 'startedAt'))) {
|
|
7387
8660
|
sessionData['startedAt'] = now;
|
|
7388
8661
|
}
|
|
7389
8662
|
if (timeSpentSeconds != null && timeSpentSeconds >= 0) {
|
|
@@ -7746,7 +9019,7 @@ class AXMHeadlessQuestionnaireSessionService {
|
|
|
7746
9019
|
const commentFlag = getQuestionCommentVisibilityFlag(current.comment);
|
|
7747
9020
|
const commentVisible = resolveCommentVisible(commentFlag, current.itemName, session.commentCache);
|
|
7748
9021
|
if (commentVisible && current.comment.required) {
|
|
7749
|
-
const commentVal = get(session.answers, `comments.${current.itemName}`);
|
|
9022
|
+
const commentVal = get$1(session.answers, `comments.${current.itemName}`);
|
|
7750
9023
|
const commentEmpty = commentVal === null || commentVal === undefined || (typeof commentVal === 'string' && commentVal.trim() === '');
|
|
7751
9024
|
if (commentEmpty) {
|
|
7752
9025
|
return {
|
|
@@ -7920,7 +9193,7 @@ class AXMHeadlessQuestionnaireSessionService {
|
|
|
7920
9193
|
}
|
|
7921
9194
|
const commentVisible = resolveCommentVisible(getQuestionCommentVisibilityFlag(item.comment), item.itemName, session.commentCache);
|
|
7922
9195
|
if (commentVisible && item.comment.required) {
|
|
7923
|
-
const cVal = get(session.answers, `comments.${item.itemName}`);
|
|
9196
|
+
const cVal = get$1(session.answers, `comments.${item.itemName}`);
|
|
7924
9197
|
if (cVal === null || cVal === undefined || (typeof cVal === 'string' && cVal.trim() === '')) {
|
|
7925
9198
|
errors.push({ answerKey: item.answerKey, message: 'comment-required' });
|
|
7926
9199
|
}
|
|
@@ -8031,19 +9304,19 @@ class AXMQuestionnaireViewerFeatureModule {
|
|
|
8031
9304
|
provideCommandSetups([
|
|
8032
9305
|
{
|
|
8033
9306
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:Preview`,
|
|
8034
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-questionnaire.command-
|
|
9307
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-questionnaire.command-ChtB6q9D.mjs').then((c) => c.AXPPreviewQuestionnaireCommand),
|
|
8035
9308
|
},
|
|
8036
9309
|
{
|
|
8037
9310
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:PreviewQuestion`,
|
|
8038
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-
|
|
9311
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs').then((c) => c.PreviewQuestionCommand),
|
|
8039
9312
|
},
|
|
8040
9313
|
{
|
|
8041
9314
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionBankItem.name}:Preview`,
|
|
8042
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-
|
|
9315
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs').then((c) => c.PreviewQuestionCommand),
|
|
8043
9316
|
},
|
|
8044
9317
|
{
|
|
8045
9318
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ViewAnswers`,
|
|
8046
|
-
command: () => import('./acorex-platform-module-assessment-management-client-view-session-answers.command-
|
|
9319
|
+
command: () => import('./acorex-platform-module-assessment-management-client-view-session-answers.command-YoUUyJ4j.mjs').then((c) => c.ViewSessionAnswersCommand),
|
|
8047
9320
|
},
|
|
8048
9321
|
{
|
|
8049
9322
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:PreviewPdf`,
|
|
@@ -8051,47 +9324,47 @@ class AXMQuestionnaireViewerFeatureModule {
|
|
|
8051
9324
|
},
|
|
8052
9325
|
{
|
|
8053
9326
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:Fill`,
|
|
8054
|
-
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-
|
|
9327
|
+
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
8055
9328
|
},
|
|
8056
9329
|
{
|
|
8057
9330
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:Fill`,
|
|
8058
|
-
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-
|
|
9331
|
+
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
8059
9332
|
},
|
|
8060
9333
|
{
|
|
8061
9334
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ReviewAnswers`,
|
|
8062
|
-
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-
|
|
9335
|
+
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs').then((c) => c.ReviewAssessmentSessionCommand),
|
|
8063
9336
|
},
|
|
8064
9337
|
{
|
|
8065
9338
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:ReviewAnswers`,
|
|
8066
|
-
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-
|
|
9339
|
+
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs').then((c) => c.ReviewAssessmentSessionCommand),
|
|
8067
9340
|
},
|
|
8068
9341
|
{
|
|
8069
9342
|
key: ASSESSMENT_FIND_CASE_FOR_VOICE_FILL_COMMAND,
|
|
8070
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9343
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMFindCaseForVoiceFillCommand),
|
|
8071
9344
|
},
|
|
8072
9345
|
{
|
|
8073
9346
|
key: ASSESSMENT_START_HEADLESS_QUESTIONNAIRE_COMMAND,
|
|
8074
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9347
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMStartHeadlessQuestionnaireCommand),
|
|
8075
9348
|
},
|
|
8076
9349
|
{
|
|
8077
9350
|
key: ASSESSMENT_NEXT_QUESTIONNAIRE_QUESTION_COMMAND,
|
|
8078
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9351
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMNextQuestionnaireQuestionCommand),
|
|
8079
9352
|
},
|
|
8080
9353
|
{
|
|
8081
9354
|
key: ASSESSMENT_APPLY_QUESTIONNAIRE_ANSWER_COMMAND,
|
|
8082
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9355
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMApplyQuestionnaireAnswerCommand),
|
|
8083
9356
|
},
|
|
8084
9357
|
{
|
|
8085
9358
|
key: ASSESSMENT_SAVE_QUESTIONNAIRE_DRAFT_COMMAND,
|
|
8086
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9359
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMSaveQuestionnaireDraftCommand),
|
|
8087
9360
|
},
|
|
8088
9361
|
{
|
|
8089
9362
|
key: ASSESSMENT_SUBMIT_QUESTIONNAIRE_COMMAND,
|
|
8090
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9363
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMSubmitQuestionnaireCommand),
|
|
8091
9364
|
},
|
|
8092
9365
|
{
|
|
8093
9366
|
key: ASSESSMENT_CANCEL_QUESTIONNAIRE_COMMAND,
|
|
8094
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9367
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMCancelQuestionnaireCommand),
|
|
8095
9368
|
},
|
|
8096
9369
|
]),
|
|
8097
9370
|
{
|
|
@@ -8123,19 +9396,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
8123
9396
|
provideCommandSetups([
|
|
8124
9397
|
{
|
|
8125
9398
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:Preview`,
|
|
8126
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-questionnaire.command-
|
|
9399
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-questionnaire.command-ChtB6q9D.mjs').then((c) => c.AXPPreviewQuestionnaireCommand),
|
|
8127
9400
|
},
|
|
8128
9401
|
{
|
|
8129
9402
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionnaire.name}:PreviewQuestion`,
|
|
8130
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-
|
|
9403
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs').then((c) => c.PreviewQuestionCommand),
|
|
8131
9404
|
},
|
|
8132
9405
|
{
|
|
8133
9406
|
key: `${RootConfig.module.name}.${RootConfig.entities.questionBankItem.name}:Preview`,
|
|
8134
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-
|
|
9407
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-question.command-7GuqlVX4.mjs').then((c) => c.PreviewQuestionCommand),
|
|
8135
9408
|
},
|
|
8136
9409
|
{
|
|
8137
9410
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ViewAnswers`,
|
|
8138
|
-
command: () => import('./acorex-platform-module-assessment-management-client-view-session-answers.command-
|
|
9411
|
+
command: () => import('./acorex-platform-module-assessment-management-client-view-session-answers.command-YoUUyJ4j.mjs').then((c) => c.ViewSessionAnswersCommand),
|
|
8139
9412
|
},
|
|
8140
9413
|
{
|
|
8141
9414
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:PreviewPdf`,
|
|
@@ -8143,47 +9416,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
8143
9416
|
},
|
|
8144
9417
|
{
|
|
8145
9418
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:Fill`,
|
|
8146
|
-
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-
|
|
9419
|
+
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
8147
9420
|
},
|
|
8148
9421
|
{
|
|
8149
9422
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:Fill`,
|
|
8150
|
-
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-
|
|
9423
|
+
command: () => import('./acorex-platform-module-assessment-management-client-fill-assessment-session.command-BOzXBvS2.mjs').then((c) => c.FillAssessmentSessionCommand),
|
|
8151
9424
|
},
|
|
8152
9425
|
{
|
|
8153
9426
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentSession.name}:ReviewAnswers`,
|
|
8154
|
-
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-
|
|
9427
|
+
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs').then((c) => c.ReviewAssessmentSessionCommand),
|
|
8155
9428
|
},
|
|
8156
9429
|
{
|
|
8157
9430
|
key: `${RootConfig.module.name}.${RootConfig.entities.assessmentCase.name}:ReviewAnswers`,
|
|
8158
|
-
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-
|
|
9431
|
+
command: () => import('./acorex-platform-module-assessment-management-client-review-assessment-session.command-CfqUtmMt.mjs').then((c) => c.ReviewAssessmentSessionCommand),
|
|
8159
9432
|
},
|
|
8160
9433
|
{
|
|
8161
9434
|
key: ASSESSMENT_FIND_CASE_FOR_VOICE_FILL_COMMAND,
|
|
8162
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9435
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMFindCaseForVoiceFillCommand),
|
|
8163
9436
|
},
|
|
8164
9437
|
{
|
|
8165
9438
|
key: ASSESSMENT_START_HEADLESS_QUESTIONNAIRE_COMMAND,
|
|
8166
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9439
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMStartHeadlessQuestionnaireCommand),
|
|
8167
9440
|
},
|
|
8168
9441
|
{
|
|
8169
9442
|
key: ASSESSMENT_NEXT_QUESTIONNAIRE_QUESTION_COMMAND,
|
|
8170
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9443
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMNextQuestionnaireQuestionCommand),
|
|
8171
9444
|
},
|
|
8172
9445
|
{
|
|
8173
9446
|
key: ASSESSMENT_APPLY_QUESTIONNAIRE_ANSWER_COMMAND,
|
|
8174
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9447
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMApplyQuestionnaireAnswerCommand),
|
|
8175
9448
|
},
|
|
8176
9449
|
{
|
|
8177
9450
|
key: ASSESSMENT_SAVE_QUESTIONNAIRE_DRAFT_COMMAND,
|
|
8178
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9451
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMSaveQuestionnaireDraftCommand),
|
|
8179
9452
|
},
|
|
8180
9453
|
{
|
|
8181
9454
|
key: ASSESSMENT_SUBMIT_QUESTIONNAIRE_COMMAND,
|
|
8182
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9455
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMSubmitQuestionnaireCommand),
|
|
8183
9456
|
},
|
|
8184
9457
|
{
|
|
8185
9458
|
key: ASSESSMENT_CANCEL_QUESTIONNAIRE_COMMAND,
|
|
8186
|
-
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-
|
|
9459
|
+
command: () => import('./acorex-platform-module-assessment-management-client-assessment-voice.commands-6Hw6NQgS.mjs').then((c) => c.AXMCancelQuestionnaireCommand),
|
|
8187
9460
|
},
|
|
8188
9461
|
]),
|
|
8189
9462
|
{
|
|
@@ -8220,16 +9493,16 @@ function resolveAssessmentSessionId(payload) {
|
|
|
8220
9493
|
return fromRef;
|
|
8221
9494
|
}
|
|
8222
9495
|
}
|
|
8223
|
-
const fromMeta = asNonEmptyString(get(ref.metadata, 'assessmentSessionId'));
|
|
9496
|
+
const fromMeta = asNonEmptyString(get$1(ref.metadata, 'assessmentSessionId'));
|
|
8224
9497
|
if (fromMeta) {
|
|
8225
9498
|
return fromMeta;
|
|
8226
9499
|
}
|
|
8227
9500
|
}
|
|
8228
|
-
const fromFileMeta = asNonEmptyString(get(record, 'meta.assessmentSessionId'));
|
|
9501
|
+
const fromFileMeta = asNonEmptyString(get$1(record, 'meta.assessmentSessionId'));
|
|
8229
9502
|
if (fromFileMeta) {
|
|
8230
9503
|
return fromFileMeta;
|
|
8231
9504
|
}
|
|
8232
|
-
return asNonEmptyString(get(record, 'assessmentSessionId'));
|
|
9505
|
+
return asNonEmptyString(get$1(record, 'assessmentSessionId'));
|
|
8233
9506
|
}
|
|
8234
9507
|
function buildAssessmentManagementFileTypeCatalog() {
|
|
8235
9508
|
return [
|
|
@@ -8397,6 +9670,7 @@ const AXP_TEMPLATE_WIDGET_PROVIDER = new InjectionToken('AXP_TEMPLATE_WIDGET_PRO
|
|
|
8397
9670
|
class AXPTemplateWidgetProviderService {
|
|
8398
9671
|
constructor() {
|
|
8399
9672
|
this.popupService = inject(AXPopupService);
|
|
9673
|
+
this.dialogOpener = inject(AXPDialogOpener);
|
|
8400
9674
|
this.translate = inject(AXTranslationService);
|
|
8401
9675
|
this.providers = inject(AXP_TEMPLATE_WIDGET_PROVIDER, { optional: true });
|
|
8402
9676
|
}
|
|
@@ -8427,27 +9701,34 @@ class AXPTemplateWidgetProviderService {
|
|
|
8427
9701
|
return null;
|
|
8428
9702
|
}
|
|
8429
9703
|
async chooseTemplate() {
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
widgets: sortBy(widgets, (c) => c.title),
|
|
9704
|
+
let title = '';
|
|
9705
|
+
let widgets = [];
|
|
9706
|
+
const result = await this.dialogOpener.openPopup({
|
|
9707
|
+
load: () => import('./acorex-platform-module-assessment-management-client-template-picker.component-DzboI7GV.mjs').then((c) => c.AXPTemplateWidgetPickerComponent),
|
|
9708
|
+
prepare: async () => {
|
|
9709
|
+
widgets = await this.items({
|
|
9710
|
+
skip: 0,
|
|
9711
|
+
take: 100,
|
|
9712
|
+
filter: {
|
|
9713
|
+
field: 'type.id',
|
|
9714
|
+
value: 20,
|
|
9715
|
+
operator: {
|
|
9716
|
+
type: 'equal',
|
|
9717
|
+
},
|
|
9718
|
+
},
|
|
9719
|
+
});
|
|
9720
|
+
title = await this.translate.translateAsync('@form-template-management:designer.components.template-picker.title');
|
|
8448
9721
|
},
|
|
9722
|
+
show: (component) => this.popupService.open(component, {
|
|
9723
|
+
title,
|
|
9724
|
+
size: 'lg',
|
|
9725
|
+
closeButton: true,
|
|
9726
|
+
data: {
|
|
9727
|
+
widgets: sortBy(widgets, (c) => c.title),
|
|
9728
|
+
},
|
|
9729
|
+
}),
|
|
8449
9730
|
});
|
|
8450
|
-
if (result
|
|
9731
|
+
if (result?.data) {
|
|
8451
9732
|
const selected = result.data?.widgets;
|
|
8452
9733
|
return selected[0];
|
|
8453
9734
|
}
|
|
@@ -8474,7 +9755,7 @@ class AXPTemplateWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
8474
9755
|
effect(async () => {
|
|
8475
9756
|
this.nodes.set([]);
|
|
8476
9757
|
const value = this.getValue();
|
|
8477
|
-
const templateId = get(value, `${this.metaKey}.templateId`) ?? this.templateId();
|
|
9758
|
+
const templateId = get$1(value, `${this.metaKey}.templateId`) ?? this.templateId();
|
|
8478
9759
|
if (templateId) {
|
|
8479
9760
|
const item = await this.templateProvider.get(templateId);
|
|
8480
9761
|
if (item) {
|
|
@@ -8492,7 +9773,7 @@ class AXPTemplateWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
8492
9773
|
{{ '@form-template-management:templates.terms.empty-template' | translate | async }}
|
|
8493
9774
|
</span>
|
|
8494
9775
|
}
|
|
8495
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "directive", type: i1$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
9776
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "directive", type: i1$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8496
9777
|
}
|
|
8497
9778
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTemplateWidgetViewComponent, decorators: [{
|
|
8498
9779
|
type: Component,
|
|
@@ -8691,7 +9972,7 @@ const AXPTemplateWidget = {
|
|
|
8691
9972
|
component: () => Promise.resolve().then(function () { return templateWidgetView_component; }).then((c) => c.AXPTemplateWidgetViewComponent),
|
|
8692
9973
|
},
|
|
8693
9974
|
edit: {
|
|
8694
|
-
component: () => import('./acorex-platform-module-assessment-management-client-template-widget-edit.component-
|
|
9975
|
+
component: () => import('./acorex-platform-module-assessment-management-client-template-widget-edit.component-BhW_Wn7N.mjs').then((c) => c.AXPTemplateWidgetEditComponent),
|
|
8695
9976
|
},
|
|
8696
9977
|
print: {
|
|
8697
9978
|
component: () => Promise.resolve().then(function () { return templateWidgetView_component; }).then((c) => c.AXPTemplateWidgetViewComponent),
|
|
@@ -8746,7 +10027,7 @@ class AXPTemplateDesignerWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
8746
10027
|
});
|
|
8747
10028
|
}
|
|
8748
10029
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTemplateDesignerWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
8749
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXPTemplateDesignerWidgetViewComponent, isStandalone: true, selector: "axp-template-designer-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"flex w-full flex-wrap items-center justify-between gap-3\">\n <!-- ----- What opening the designer will do ----- -->\n <p class=\"m-0 min-w-0 flex-1 text-sm text-muted\">\n {{ descriptionKey() | translate | async }}\n </p>\n <ax-button\n class=\"shrink-0\"\n look=\"outline\"\n color=\"primary\"\n [text]=\"(actionKey() | translate | async) ?? ''\"\n (onClick)=\"handleClick()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-pen\"></ax-icon>\n </ax-prefix>\n </ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type:
|
|
10030
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXPTemplateDesignerWidgetViewComponent, isStandalone: true, selector: "axp-template-designer-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"flex w-full flex-wrap items-center justify-between gap-3\">\n <!-- ----- What opening the designer will do ----- -->\n <p class=\"m-0 min-w-0 flex-1 text-sm text-muted\">\n {{ descriptionKey() | translate | async }}\n </p>\n <ax-button\n class=\"shrink-0\"\n look=\"outline\"\n color=\"primary\"\n [text]=\"(actionKey() | translate | async) ?? ''\"\n (onClick)=\"handleClick()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-pen\"></ax-icon>\n </ax-prefix>\n </ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8750
10031
|
}
|
|
8751
10032
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPTemplateDesignerWidgetViewComponent, decorators: [{
|
|
8752
10033
|
type: Component,
|
|
@@ -8837,7 +10118,7 @@ class AXPTemplateWidgetProviderImpl {
|
|
|
8837
10118
|
group: {
|
|
8838
10119
|
name: c.categoryIds[0],
|
|
8839
10120
|
order: 2,
|
|
8840
|
-
title: get(c, 'category.title') ?? 'Custom',
|
|
10121
|
+
title: get$1(c, 'category.title') ?? 'Custom',
|
|
8841
10122
|
},
|
|
8842
10123
|
description: c.description,
|
|
8843
10124
|
}));
|
|
@@ -8954,7 +10235,8 @@ class AXMAssessmentManagementModule {
|
|
|
8954
10235
|
AXPWidgetCoreModule,
|
|
8955
10236
|
AXMAssessmentManagementFileTypeModule,
|
|
8956
10237
|
AXMQuestionnaireBuilderFeatureModule,
|
|
8957
|
-
AXMQuestionnaireViewerFeatureModule
|
|
10238
|
+
AXMQuestionnaireViewerFeatureModule,
|
|
10239
|
+
AXMContentDisplayPluginsModule] }); }
|
|
8958
10240
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMAssessmentManagementModule, providers: [
|
|
8959
10241
|
{
|
|
8960
10242
|
provide: ROUTES,
|
|
@@ -9004,6 +10286,8 @@ class AXMAssessmentManagementModule {
|
|
|
9004
10286
|
]),
|
|
9005
10287
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index$1; }).then((m) => m.AXMQuestionnaireQuestionsPageComponentProvider)),
|
|
9006
10288
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index; }).then((m) => m.AXMQuestionnaireOutcomesPageComponentProvider)),
|
|
10289
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-assessment-management-client-index-BmODQqQ4.mjs').then((m) => m.AXMFormTemplatePageComponentProvider)),
|
|
10290
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CiMERtrE.mjs').then((m) => m.AXMRelatedContentViewerPageComponentProvider)),
|
|
9007
10291
|
provideCommand('Questionnaire:Questions:Save', () => Promise.resolve().then(function () { return saveQuestionnaireQuestions_command; }).then((m) => m.AXMSaveQuestionnaireQuestionsCommand)),
|
|
9008
10292
|
provideCommand('Questionnaire:Outcomes:Save', () => Promise.resolve().then(function () { return saveQuestionnaireOutcomes_command; }).then((m) => m.AXMSaveQuestionnaireOutcomesCommand)),
|
|
9009
10293
|
provideLazyProvider(AXP_SEARCH_PROVIDER, () => Promise.resolve().then(function () { return searchCommand_provider; }).then((m) => m.AXMAssessmentManagementSearchCommandProvider)),
|
|
@@ -9019,22 +10303,35 @@ class AXMAssessmentManagementModule {
|
|
|
9019
10303
|
},
|
|
9020
10304
|
{
|
|
9021
10305
|
key: 'open-form-template',
|
|
9022
|
-
command: () => import('./acorex-platform-module-assessment-management-client-open-form-template.command-
|
|
10306
|
+
command: () => import('./acorex-platform-module-assessment-management-client-open-form-template.command-C9BMiyDb.mjs').then((c) => c.AXMOpenFormTemplateCommand),
|
|
9023
10307
|
},
|
|
9024
10308
|
{
|
|
9025
10309
|
key: `${RootConfig.module.name}.${RootConfig.entities.template.name}:Preview`,
|
|
9026
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-form-template.command-
|
|
10310
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-form-template.command-L5NxVqdE.mjs').then((c) => c.AXMPreviewFormTemplateCommand),
|
|
9027
10311
|
},
|
|
9028
10312
|
{
|
|
9029
10313
|
key: 'design-form-template',
|
|
9030
10314
|
command: () => import('./acorex-platform-module-assessment-management-client-design-form-template.command-Cgc9Inlz.mjs').then((c) => c.AXMDesignFormTemplateCommand),
|
|
9031
10315
|
},
|
|
10316
|
+
{
|
|
10317
|
+
key: 'show-questionnaire-questions-popup',
|
|
10318
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-hrtJQmvG.mjs').then((c) => c.ShowQuestionnaireQuestionsPopupCommand),
|
|
10319
|
+
},
|
|
10320
|
+
{
|
|
10321
|
+
key: 'show-form-template-viewer-popup',
|
|
10322
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-BZxwRr8J.mjs').then((c) => c.ShowFormTemplateViewerPopupCommand),
|
|
10323
|
+
},
|
|
10324
|
+
{
|
|
10325
|
+
key: 'show-questionnaire-viewer-popup',
|
|
10326
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-CMUmrNac.mjs').then((c) => c.ShowQuestionnaireViewerPopupCommand),
|
|
10327
|
+
},
|
|
9032
10328
|
]),
|
|
9033
10329
|
], imports: [AXPWidgetsModule,
|
|
9034
10330
|
AXPWidgetCoreModule,
|
|
9035
10331
|
AXMAssessmentManagementFileTypeModule,
|
|
9036
10332
|
AXMQuestionnaireBuilderFeatureModule,
|
|
9037
|
-
AXMQuestionnaireViewerFeatureModule
|
|
10333
|
+
AXMQuestionnaireViewerFeatureModule,
|
|
10334
|
+
AXMContentDisplayPluginsModule] }); }
|
|
9038
10335
|
}
|
|
9039
10336
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMAssessmentManagementModule, decorators: [{
|
|
9040
10337
|
type: NgModule,
|
|
@@ -9045,6 +10342,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
9045
10342
|
AXMAssessmentManagementFileTypeModule,
|
|
9046
10343
|
AXMQuestionnaireBuilderFeatureModule,
|
|
9047
10344
|
AXMQuestionnaireViewerFeatureModule,
|
|
10345
|
+
AXMContentDisplayPluginsModule,
|
|
9048
10346
|
],
|
|
9049
10347
|
providers: [
|
|
9050
10348
|
{
|
|
@@ -9095,6 +10393,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
9095
10393
|
]),
|
|
9096
10394
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index$1; }).then((m) => m.AXMQuestionnaireQuestionsPageComponentProvider)),
|
|
9097
10395
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index; }).then((m) => m.AXMQuestionnaireOutcomesPageComponentProvider)),
|
|
10396
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-assessment-management-client-index-BmODQqQ4.mjs').then((m) => m.AXMFormTemplatePageComponentProvider)),
|
|
10397
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-assessment-management-client-related-content-viewer-page-component.provider-CiMERtrE.mjs').then((m) => m.AXMRelatedContentViewerPageComponentProvider)),
|
|
9098
10398
|
provideCommand('Questionnaire:Questions:Save', () => Promise.resolve().then(function () { return saveQuestionnaireQuestions_command; }).then((m) => m.AXMSaveQuestionnaireQuestionsCommand)),
|
|
9099
10399
|
provideCommand('Questionnaire:Outcomes:Save', () => Promise.resolve().then(function () { return saveQuestionnaireOutcomes_command; }).then((m) => m.AXMSaveQuestionnaireOutcomesCommand)),
|
|
9100
10400
|
provideLazyProvider(AXP_SEARCH_PROVIDER, () => Promise.resolve().then(function () { return searchCommand_provider; }).then((m) => m.AXMAssessmentManagementSearchCommandProvider)),
|
|
@@ -9110,16 +10410,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
9110
10410
|
},
|
|
9111
10411
|
{
|
|
9112
10412
|
key: 'open-form-template',
|
|
9113
|
-
command: () => import('./acorex-platform-module-assessment-management-client-open-form-template.command-
|
|
10413
|
+
command: () => import('./acorex-platform-module-assessment-management-client-open-form-template.command-C9BMiyDb.mjs').then((c) => c.AXMOpenFormTemplateCommand),
|
|
9114
10414
|
},
|
|
9115
10415
|
{
|
|
9116
10416
|
key: `${RootConfig.module.name}.${RootConfig.entities.template.name}:Preview`,
|
|
9117
|
-
command: () => import('./acorex-platform-module-assessment-management-client-preview-form-template.command-
|
|
10417
|
+
command: () => import('./acorex-platform-module-assessment-management-client-preview-form-template.command-L5NxVqdE.mjs').then((c) => c.AXMPreviewFormTemplateCommand),
|
|
9118
10418
|
},
|
|
9119
10419
|
{
|
|
9120
10420
|
key: 'design-form-template',
|
|
9121
10421
|
command: () => import('./acorex-platform-module-assessment-management-client-design-form-template.command-Cgc9Inlz.mjs').then((c) => c.AXMDesignFormTemplateCommand),
|
|
9122
10422
|
},
|
|
10423
|
+
{
|
|
10424
|
+
key: 'show-questionnaire-questions-popup',
|
|
10425
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-questionnaire-questions-popup.command-hrtJQmvG.mjs').then((c) => c.ShowQuestionnaireQuestionsPopupCommand),
|
|
10426
|
+
},
|
|
10427
|
+
{
|
|
10428
|
+
key: 'show-form-template-viewer-popup',
|
|
10429
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-form-template-viewer-popup.command-BZxwRr8J.mjs').then((c) => c.ShowFormTemplateViewerPopupCommand),
|
|
10430
|
+
},
|
|
10431
|
+
{
|
|
10432
|
+
key: 'show-questionnaire-viewer-popup',
|
|
10433
|
+
command: () => import('./acorex-platform-module-assessment-management-client-show-questionnaire-viewer-popup.command-CMUmrNac.mjs').then((c) => c.ShowQuestionnaireViewerPopupCommand),
|
|
10434
|
+
},
|
|
9123
10435
|
]),
|
|
9124
10436
|
],
|
|
9125
10437
|
}]
|
|
@@ -9243,7 +10555,7 @@ class AXMPreQuestionnaireContentComponent {
|
|
|
9243
10555
|
[innerHTML]="content() | translate | async | safe: 'html'"
|
|
9244
10556
|
></div>
|
|
9245
10557
|
</div>
|
|
9246
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type:
|
|
10558
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9247
10559
|
}
|
|
9248
10560
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPreQuestionnaireContentComponent, decorators: [{
|
|
9249
10561
|
type: Component,
|
|
@@ -9399,7 +10711,7 @@ class AXMQuestionnaireOutcomeResultsComponent {
|
|
|
9399
10711
|
| async) ?? ''
|
|
9400
10712
|
"
|
|
9401
10713
|
/>
|
|
9402
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPOutcomeResultsViewerComponent, selector: "axp-outcome-results-viewer", inputs: ["model", "title", "emptyMessage"] }, { kind: "pipe", type:
|
|
10714
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPOutcomeResultsViewerComponent, selector: "axp-outcome-results-viewer", inputs: ["model", "title", "emptyMessage"] }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9403
10715
|
}
|
|
9404
10716
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireOutcomeResultsComponent, decorators: [{
|
|
9405
10717
|
type: Component,
|
|
@@ -9612,7 +10924,7 @@ class AXMPostQuestionnaireContentComponent {
|
|
|
9612
10924
|
<div class="max-w-2xl w-full prose text-on-surface" [innerHTML]="summaryContentHtml()"></div>
|
|
9613
10925
|
</div>
|
|
9614
10926
|
}
|
|
9615
|
-
`, isInline: true, styles: [".post-questionnaire-content .__post-text-muted{color:rgb(var(--ax-sys-color-on-surface-variant))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "component", type: AXMQuestionnaireOutcomeResultsComponent, selector: "axm-questionnaire-outcome-results", inputs: ["placeholderValues"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
10927
|
+
`, isInline: true, styles: [".post-questionnaire-content .__post-text-muted{color:rgb(var(--ax-sys-color-on-surface-variant))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "component", type: AXMQuestionnaireOutcomeResultsComponent, selector: "axm-questionnaire-outcome-results", inputs: ["placeholderValues"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionComponent, selector: "axm-questionnaire-viewer-question", inputs: ["question", "contextData", "sectionOrder", "questionIndex", "showQuestionNumbers", "showQuestionCounter", "currentPosition", "mode"] }, { kind: "component", type: AXMQuestionnaireViewerSectionHeaderComponent, selector: "axm-questionnaire-viewer-section-header", inputs: ["title", "description", "titleSize", "marginBottom"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9616
10928
|
}
|
|
9617
10929
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMPostQuestionnaireContentComponent, decorators: [{
|
|
9618
10930
|
type: Component,
|
|
@@ -10249,7 +11561,7 @@ class AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent {
|
|
|
10249
11561
|
</ax-popover>
|
|
10250
11562
|
</div>
|
|
10251
11563
|
}
|
|
10252
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$
|
|
11564
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3$3.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "closeOnNavigation", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXPFileListComponent, selector: "axp-file-list", inputs: ["readonly", "fileEditable", "enableTitleDescription", "multiple", "look", "titleKey", "showLabel", "linksLayout", "files", "accept", "maxFileSize", "showUploadZoneHint", "plugins", "excludePlugins", "capabilities"], outputs: ["onRemove", "onRevert", "onRename"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
10253
11565
|
}
|
|
10254
11566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent, decorators: [{
|
|
10255
11567
|
type: Component,
|
|
@@ -10671,7 +11983,7 @@ class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
|
10671
11983
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10672
11984
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMQuestionnaireViewerPageComponent, isStandalone: true, selector: "axm-questionnaire-viewer-page", host: { classAttribute: "axm-questionnaire-viewer-page" }, providers: [{ provide: AXPPageLayoutBase, useExisting: AXMQuestionnaireViewerPageComponent }], viewQueries: [{ propertyName: "viewer", first: true, predicate: ["viewer"], descendants: true, isSignal: true }, { propertyName: "printHost", first: true, predicate: AXMQuestionnairePrintHostComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Page shell layout -->\n<axp-page-layout>\n <!-- Main content area -->\n <axp-page-content class=\"flex flex-col flex-1 min-h-0\"\n [class.overflow-hidden]=\"flowStep() === 'questions'\" [class.overflow-y-auto]=\"flowStep() !== 'questions'\">\n <!-- Loading state -->\n @if (isLoading()) {\n <div class=\"flex items-center justify-center min-h-[200px]\">\n <span>{{ '@assessment-management:questionnaires.components.questionnaire-viewer.loading.title' | translate | async\n }}</span>\n </div>\n }\n <!-- Error state -->\n @else if (loadError()) {\n <div class=\"p-4 text-error-600\">\n {{ loadError() }}\n </div>\n }\n <!-- Content state -->\n @else if (structure()) {\n <!-- Pre-questionnaire introduction content -->\n @if (flowStep() === 'pre') {\n <axm-pre-questionnaire-content [content]=\"$safeNavigationMigration(prePostConfig()?.pre?.content)\"></axm-pre-questionnaire-content>\n }\n <!-- Post-submit results content -->\n @else if (flowStep() === 'results') {\n <axm-post-questionnaire-content mode=\"results\"\n [placeholderValues]=\"submitResult()\"></axm-post-questionnaire-content>\n }\n <!-- Post-submit summary content -->\n @else if (flowStep() === 'summary') {\n <axm-post-questionnaire-content mode=\"summary\" [summaryContent]=\"$safeNavigationMigration(prePostConfig()?.post?.summaryContent)\"\n [placeholderValues]=\"submitResult()\"></axm-post-questionnaire-content>\n }\n <!-- Questionnaire and review flow -->\n @else {\n <!-- Review mode content -->\n @if (flowStep() === 'review') {\n <axm-post-questionnaire-content mode=\"review\" [questionsWithAnswers]=\"reviewSnapshot()\"\n [reviewContext]=\"reviewContext()\"></axm-post-questionnaire-content>\n }\n\n <!-- Questionnaire workspace (hidden while in review mode) -->\n <div class=\"__questions flex flex-col flex-1 min-h-0 overflow-hidden\"\n [class.invisible]=\"flowStep() === 'review'\" [style.position]=\"flowStep() === 'review' ? 'fixed' : null\"\n [style.left]=\"flowStep() === 'review' ? '-9999px' : null\" [class.size-0]=\"flowStep() === 'review'\"\n [class.overflow-hidden]=\"flowStep() === 'review'\">\n\n <!-- Questionnaire rendering container -->\n <div class=\"__content flex flex-col flex-1 min-h-0 overflow-y-auto overflow-x-hidden\">\n <axm-questionnaire-viewer\n #viewer\n [questionnaireId]=\"$safeNavigationMigration(questionnaire()?.id)\"\n [structure]=\"structure()!\"\n [config]=\"viewerConfig()\"\n [initialAnswers]=\"effectiveInitialAnswers()\"\n (answersChanged)=\"handleAnswersChanged($event)\"\n ></axm-questionnaire-viewer>\n </div>\n </div>\n }\n }\n </axp-page-content>\n\n <!-- Footer actions (only when content is ready) -->\n @if (structure() && !isLoading() && !loadError()) {\n <axp-page-footer class=\"--animated\">\n <!-- Footer prefix: progress indicator -->\n <axp-layout-prefix>\n @if (flowStep() === 'questions') {\n <div class=\"flex items-center gap-4 min-w-0\">\n <axm-questionnaire-viewer-questionnaire-attachments-footer\n [attachments]=\"questionnaireAttachments()\"\n />\n <div class=\"__footer-progress text-sm font-mono tabular-nums\" dir=\"ltr\">\n @if (showProgressBar()) {\n {{ answeredQuestionsCount() }} / {{ totalQuestionsCount() }}\n }\n </div>\n </div>\n }\n <!-- @if (showTimer()) {\n <axp-stopwatch [mode]=\"timerTimeLimit() ? 'count-down' : 'count-up'\" [timeLimit]=\"timerTimeLimit()\"\n [format]=\"timerTimeLimit() && timerTimeLimit()! >= 3600 ? 'hh:mm:ss' : 'mm:ss'\" [autoStart]=\"true\"\n [showControls]=\"false\" [value]=\"timerElapsed()\"\n (valueChange)=\"viewerViewModel()!.updateTimerElapsed($event)\"></axp-stopwatch>\n } -->\n </axp-layout-prefix>\n\n <!-- Footer suffix: flow action buttons -->\n <axp-layout-suffix>\n @if (flowStep() === 'pre') {\n <ax-button look=\"solid\" color=\"primary\"\n [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.start' | translate | async\"\n (onClick)=\"flowStep.set('questions')\"></ax-button>\n }\n <!-- Question step actions -->\n @else if (flowStep() === 'questions') {\n <!-- Question navigation buttons -->\n @if (showNavigationButtons()) {\n <ax-button look=\"solid\" [disabled]=\"!canNavigatePrevious()\"\n [text]=\"'@general:actions.previous.title' | translate | async\" (onClick)=\"handlePreviousClick()\"></ax-button>\n @if (!isLastStep()) {\n <ax-button look=\"solid\" color=\"primary\" [disabled]=\"!canNavigateNext()\"\n [text]=\"'@general:actions.next.title' | translate | async\" (onClick)=\"handleNextClick()\"></ax-button>\n }\n }\n\n <!-- Final-step actions -->\n @if (isLastStep() && showReviewButton()) {\n <ax-button look=\"solid\" color=\"primary\"\n [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.review' | translate | async\"\n [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\"\n [disabled]=\"isReadonly() || isSubmitting() || !areAllRequiredQuestionsAnswered()\"\n (onClick)=\"handleSubmitClick()\"></ax-button>\n }\n }\n <!-- Review step actions -->\n @else if (flowStep() === 'review') {\n <ax-button look=\"outline\"\n [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.edit' | translate | async\"\n (onClick)=\"flowStep.set('questions')\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.submit.title' | translate | async\"\n [disabled]=\"isSubmitting()\" (onClick)=\"handleReviewSubmit()\"></ax-button>\n }\n <!-- Results step actions -->\n @else if (flowStep() === 'results') {\n @if (prePostConfig()?.post?.summaryEnabled) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'@general:actions.next.title' | translate | async\"\n (onClick)=\"flowStep.set('summary')\"></ax-button>\n } @else {\n <ax-button look=\"solid\" color=\"primary\"\n [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\"\n (onClick)=\"handleDone()\"></ax-button>\n }\n }\n <!-- Summary step action -->\n @else if (flowStep() === 'summary') {\n <ax-button look=\"solid\" color=\"primary\"\n [text]=\"'@assessment-management:questionnaires.components.questionnaire-viewer.flow.done' | translate | async\"\n (onClick)=\"handleDone()\"></ax-button>\n }\n </axp-layout-suffix>\n </axp-page-footer>\n }\n</axp-page-layout>\n<axm-questionnaire-print-host\n [structure]=\"structure() ?? undefined\"\n [questionnaireId]=\"$safeNavigationMigration(questionnaire()?.id)\"\n [answers]=\"printAnswers()\"\n [prePostConfig]=\"prePostConfig()\"\n [placeholderValues]=\"submitResult()\"\n/>", styles: ["@layer properties;axm-questionnaire-viewer-page .__questions{min-height:0px;overflow:hidden}axm-questionnaire-viewer-page .__header{z-index:20;display:flex;flex-shrink:0;flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-surface));position:sticky;top:0;color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-page .__content axm-questionnaire-viewer{display:flex;height:auto;max-height:none;min-height:0px;width:100%;max-width:100%;flex:none;flex-direction:column}axm-questionnaire-viewer-page .__content axm-questionnaire-viewer .__questionnaire-container{min-height:0px;flex:none;overflow:visible}axm-questionnaire-viewer-page .__toolbar-meta{color:rgb(var(--ax-sys-color-on-surface-variant))}axm-questionnaire-viewer-page .__footer-progress{color:rgb(var(--ax-sys-color-on-surface-variant))}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { 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: "component", type:
|
|
10673
11985
|
//AXPStopwatchComponent,
|
|
10674
|
-
AXMQuestionnaireViewerComponent, selector: "axm-questionnaire-viewer", inputs: ["questionnaireId", "structure", "config", "initialAnswers"], outputs: ["answersChanged", "questionAnswered"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent, selector: "axm-questionnaire-viewer-questionnaire-attachments-footer", inputs: ["attachments"] }, { kind: "component", type: AXMPreQuestionnaireContentComponent, selector: "axm-pre-questionnaire-content", inputs: ["content"] }, { kind: "component", type: AXMPostQuestionnaireContentComponent, selector: "axm-post-questionnaire-content", inputs: ["mode", "questionsWithAnswers", "reviewContext", "summaryContent", "placeholderValues", "locale", "showQuestionNumbers"] }, { kind: "component", type: AXMQuestionnairePrintHostComponent, selector: "axm-questionnaire-print-host", inputs: ["structure", "questionnaireId", "answers", "prePostConfig", "placeholderValues", "options"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
11986
|
+
AXMQuestionnaireViewerComponent, selector: "axm-questionnaire-viewer", inputs: ["questionnaireId", "structure", "config", "initialAnswers"], outputs: ["answersChanged", "questionAnswered"] }, { kind: "component", type: AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent, selector: "axm-questionnaire-viewer-questionnaire-attachments-footer", inputs: ["attachments"] }, { kind: "component", type: AXMPreQuestionnaireContentComponent, selector: "axm-pre-questionnaire-content", inputs: ["content"] }, { kind: "component", type: AXMPostQuestionnaireContentComponent, selector: "axm-post-questionnaire-content", inputs: ["mode", "questionsWithAnswers", "reviewContext", "summaryContent", "placeholderValues", "locale", "showQuestionNumbers"] }, { kind: "component", type: AXMQuestionnairePrintHostComponent, selector: "axm-questionnaire-print-host", inputs: ["structure", "questionnaireId", "answers", "prePostConfig", "placeholderValues", "options"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
10675
11987
|
}
|
|
10676
11988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerPageComponent, decorators: [{
|
|
10677
11989
|
type: Component,
|
|
@@ -11134,7 +12446,7 @@ class AXMQuestionnaireViewerStandalonePageComponent {
|
|
|
11134
12446
|
[prePostConfig]="prePostConfig()"
|
|
11135
12447
|
[placeholderValues]="submitResult()"
|
|
11136
12448
|
/>
|
|
11137
|
-
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-standalone-page{display:flex;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__body{display:flex;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content-area,axm-questionnaire-viewer-standalone-page .__questions{min-height:0px;overflow:hidden}axm-questionnaire-viewer-standalone-page .__header{z-index:20;display:flex;flex-shrink:0;flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface-variant));position:sticky;top:0}axm-questionnaire-viewer-standalone-page .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 4);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--color-neutral-600, oklch(43.9% 0 none))}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item i{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-primary-600))}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item span{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-standalone-page .__content-wrapper{display:flex;min-height:0px;flex:1;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer{display:flex;height:auto;max-height:none;min-height:0px;width:100%;max-width:100%;flex:none;flex-direction:column}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer .__questionnaire-container{min-height:0px;flex:none;overflow:visible}axm-questionnaire-viewer-standalone-page .__toolbar-meta,axm-questionnaire-viewer-standalone-page .__footer-progress{color:rgb(var(--ax-sys-color-on-surface-variant))}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { 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: AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent, selector: "axm-questionnaire-viewer-questionnaire-attachments-footer", inputs: ["attachments"] }, { kind: "component", type: AXMPreQuestionnaireContentComponent, selector: "axm-pre-questionnaire-content", inputs: ["content"] }, { kind: "component", type: AXMPostQuestionnaireContentComponent, selector: "axm-post-questionnaire-content", inputs: ["mode", "questionsWithAnswers", "reviewContext", "summaryContent", "placeholderValues", "locale", "showQuestionNumbers"] }, { kind: "component", type: AXMQuestionnairePrintHostComponent, selector: "axm-questionnaire-print-host", inputs: ["structure", "questionnaireId", "answers", "prePostConfig", "placeholderValues", "options"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type:
|
|
12449
|
+
`, isInline: true, styles: ["@layer properties;axm-questionnaire-viewer-standalone-page{display:flex;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__body{display:flex;min-height:0px;width:100%;flex:1;flex-direction:column;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content-area,axm-questionnaire-viewer-standalone-page .__questions{min-height:0px;overflow:hidden}axm-questionnaire-viewer-standalone-page .__header{z-index:20;display:flex;flex-shrink:0;flex-direction:column;background-color:var(--color-lightest);color:var(--color-on-lightest);border-color:var(--color-border-lightest);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface-variant));position:sticky;top:0}axm-questionnaire-viewer-standalone-page .__header .__header-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 4);padding-inline:calc(var(--spacing, .25rem) * 4);padding-block:calc(var(--spacing, .25rem) * 3)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 4);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--color-neutral-600, oklch(43.9% 0 none))}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item i{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-primary-600))}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-meta .__meta-item span{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500)}axm-questionnaire-viewer-standalone-page .__header .__header-top .__header-timer{display:flex;flex-shrink:0;align-items:center}axm-questionnaire-viewer-standalone-page .__content-wrapper{display:flex;min-height:0px;flex:1;overflow:hidden}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer{display:flex;height:auto;max-height:none;min-height:0px;width:100%;max-width:100%;flex:none;flex-direction:column}axm-questionnaire-viewer-standalone-page .__content axm-questionnaire-viewer .__questionnaire-container{min-height:0px;flex:none;overflow:visible}axm-questionnaire-viewer-standalone-page .__toolbar-meta,axm-questionnaire-viewer-standalone-page .__footer-progress{color:rgb(var(--ax-sys-color-on-surface-variant))}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-font-weight: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "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: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { 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: AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent, selector: "axm-questionnaire-viewer-questionnaire-attachments-footer", inputs: ["attachments"] }, { kind: "component", type: AXMPreQuestionnaireContentComponent, selector: "axm-pre-questionnaire-content", inputs: ["content"] }, { kind: "component", type: AXMPostQuestionnaireContentComponent, selector: "axm-post-questionnaire-content", inputs: ["mode", "questionsWithAnswers", "reviewContext", "summaryContent", "placeholderValues", "locale", "showQuestionNumbers"] }, { kind: "component", type: AXMQuestionnairePrintHostComponent, selector: "axm-questionnaire-print-host", inputs: ["structure", "questionnaireId", "answers", "prePostConfig", "placeholderValues", "options"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11138
12450
|
}
|
|
11139
12451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMQuestionnaireViewerStandalonePageComponent, decorators: [{
|
|
11140
12452
|
type: Component,
|
|
@@ -11286,5 +12598,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
11286
12598
|
* Generated bundle index. Do not edit.
|
|
11287
12599
|
*/
|
|
11288
12600
|
|
|
11289
|
-
export { AXPFormTemplateViewerConnector as A,
|
|
11290
|
-
//# sourceMappingURL=acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-
|
|
12601
|
+
export { AXPFormTemplateViewerConnector as A, resolveSummaryPlaceholders as B, AXMAssessmentManagementFeatureDefinitionProvider as C, AXMAssessmentManagementMenuProvider as D, AXMAssessmentManagementModule as E, FORM_TEMPLATE_PAGE_COMPONENT_KEY as F, AXMAssessmentManagementPermissionDefinitionProvider as G, AXMAssessmentManagementSearchCommandProvider as H, AXMQuestionnaireViewerPageComponent as I, AXMQuestionnaireViewerStandalonePageComponent as J, QUESTIONNAIRE_VIEWER_PAGE_COMPONENT_KEY as Q, FORM_TEMPLATE_VIEWER_PAGE_COMPONENT_KEY as a, QUESTIONNAIRE_QUESTIONS_EDITOR_WIDGET as b, AXMRelatedContentRecordService as c, readRelatedRecordId as d, FORM_TEMPLATE_VIEWER_FIELD as e, FORM_TEMPLATE_VIEWER_SOURCE_FIELD as f, formatQuestionnairePreviewDialogTitle as g, AXMQuestionnaireViewerService as h, QUESTIONNAIRE_VIEWER_FIELD as i, QUESTIONNAIRE_VIEWER_SOURCE_FIELD as j, AXMQuestionnairePrintSnapshotService as k, AXMQuestionnairePrintHostComponent as l, AXMQuestionnaireViewerComponent as m, AXMQuestionnaireViewerQuestionnaireAttachmentsFooterComponent as n, AXMPreQuestionnaireContentComponent as o, persistAssessmentSession as p, AXMPostQuestionnaireContentComponent as q, resolvePersistedEntityId as r, AXMHeadlessQuestionnaireSessionService as s, AXMQuestionnaireQuestionsBuilderComponent as t, AXPTemplateWidgetProviderService as u, stripQuestionBankInterfaceMetadata as v, resolveWidgetNodeFromMetaDataDefinitionInterface as w, AXM_TEST_SHEET_ROW_GROUP_PATH as x, AXM_TEST_SHEET_INPUT_WIDGET_TYPES as y, AXM_TEST_SHEET_CELL_TYPE_WIDGET as z };
|
|
12602
|
+
//# sourceMappingURL=acorex-platform-module-assessment-management-client-acorex-platform-module-assessment-management-client-sm_OxV_k.mjs.map
|