@acorex/modules 21.0.0-next.15 → 21.0.0-next.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assessment-management/README.md +11 -0
- package/assessment-management/index.d.ts +122 -24
- package/common/index.d.ts +6 -1
- package/data-management/index.d.ts +182 -19
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs} +950 -468
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-HgaOIA2U.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs → acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-UmXUT6Xn.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-column.component-DyxE9Xec.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs → acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-vVfXtden.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-edit.component-DC2Ep3r1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs → acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C75zxKgV.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-view.component-iKqac5PE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs → acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-CsCMlcvF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs → acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-B_IDiEzp.mjs.map → acorex-modules-assessment-management-assessment-session.entity-BkNVe3FO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs → acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs} +32 -33
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-Dgeh3E5f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs → acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs} +24 -8
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-NcZlE6DU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs → acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-BWYLXvCp.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-vNxSmJuv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs → acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs} +20 -4
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-edit.component-CbfHOFT1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs → acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-view.component-DDqDjzwH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs → acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs} +11 -5
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder.component-BOnwdWj7.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs +392 -0
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-BX8Q2Kfn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs → acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs} +21 -6
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer.service-CSdVNxV2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs → acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs} +138 -23
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-DFQIvlza.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs → acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-Czq7cj9R.mjs.map → acorex-modules-assessment-management-view-session-answers.command-CMmE72Kt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +4 -3
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +45 -31
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +15 -4
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +698 -478
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +6 -31
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs → acorex-modules-human-capital-management-leave-type.entity-YitcNesR.mjs} +6 -2
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-YitcNesR.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +11 -2
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-BRVfUYiM.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs} +6 -6
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-BRVfUYiM.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Dpjfgmg9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-WSxrvAsV.mjs → acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-WSxrvAsV.mjs.map → acorex-modules-settings-management-permission-definition.provider-nYV8iDwJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-MYnJYUxE.mjs → acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-MYnJYUxE.mjs.map → acorex-modules-settings-management-setting-page.component-B1lhCtl_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-Cq80snth.mjs → acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-Cq80snth.mjs.map → acorex-modules-settings-management-setting-view.component-CAX1kFy2.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs +4 -3
- package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-t-iBvKOh.mjs → acorex-modules-task-management-task-board.page-BOOY3qla.mjs} +5 -5
- package/fesm2022/acorex-modules-task-management-task-board.page-BOOY3qla.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/package.json +6 -6
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-ClgGS32i.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-CjhC5YAF.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-zT5u3h_s.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-BIXy9eut.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-edit.component-3wVcKQGE.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder-view.component-meuUo7Vx.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-builder.component-CGgUUkOY.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs +0 -416
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-kVnWtedV.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer.service-D3k3J93r.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-C8sX0d_p.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-CY81Nohl.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-t-iBvKOh.mjs.map +0 -1
|
@@ -63,12 +63,23 @@ Assessment template with embedded sections and questions (value objects).
|
|
|
63
63
|
|
|
64
64
|
- Multiple assessment types (questionnaire, survey, checklist, test, evaluation)
|
|
65
65
|
- Embedded sections and items (not separate entities)
|
|
66
|
+
- **Pre-questionnaire**: Welcome screen before questions (rich text, multi-language)
|
|
67
|
+
- **Post-questionnaire**: Review step before submit, summary screen after submit
|
|
66
68
|
- Scoring profiles (cumulative, weighted, formula)
|
|
67
69
|
- Grading scales (A-F, custom)
|
|
68
70
|
- Timer and navigation settings
|
|
69
71
|
- Question randomization
|
|
70
72
|
- Progress bar configuration
|
|
71
73
|
|
|
74
|
+
**Pre/Post Summary Placeholders** (for `postSummaryContent`):
|
|
75
|
+
|
|
76
|
+
| Placeholder | Description |
|
|
77
|
+
|:------------------|:-------------------------------|
|
|
78
|
+
| `{{score}}` | Score percentage (0-100) |
|
|
79
|
+
| `{{passFail}}` | Pass/fail label |
|
|
80
|
+
| `{{totalQuestions}}` | Total question count |
|
|
81
|
+
| `{{answeredCount}}` | Number of answered questions |
|
|
82
|
+
|
|
72
83
|
**Value Objects**:
|
|
73
84
|
|
|
74
85
|
- **Sections**: Logical grouping with visibility conditions and scoring weights
|
|
@@ -8,6 +8,7 @@ import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/wi
|
|
|
8
8
|
import { AXPWidgetNode, AXPWidgetContainerComponent, AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';
|
|
9
9
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
10
10
|
import { AXFormComponent } from '@acorex/components/form';
|
|
11
|
+
import * as _acorex_modules_assessment_management from '@acorex/modules/assessment-management';
|
|
11
12
|
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
12
13
|
import { ActivatedRoute } from '@angular/router';
|
|
13
14
|
|
|
@@ -440,6 +441,7 @@ declare class AXMQuestionnaireViewerComponent {
|
|
|
440
441
|
description?: string;
|
|
441
442
|
answer: any;
|
|
442
443
|
isRequired?: boolean;
|
|
444
|
+
question: QuestionnaireViewerQuestion;
|
|
443
445
|
}>;
|
|
444
446
|
getSectionUnansweredRequiredCount: (sectionId: string) => number;
|
|
445
447
|
submit: () => Promise<{
|
|
@@ -567,6 +569,7 @@ declare class AXMQuestionnaireViewerComponent {
|
|
|
567
569
|
description?: string;
|
|
568
570
|
answer: any;
|
|
569
571
|
isRequired?: boolean;
|
|
572
|
+
question: QuestionnaireViewerQuestion;
|
|
570
573
|
}>;
|
|
571
574
|
getSectionUnansweredRequiredCount: (sectionId: string) => number;
|
|
572
575
|
submit: () => Promise<{
|
|
@@ -662,7 +665,13 @@ declare class AXMQuestionnaireViewerComponent {
|
|
|
662
665
|
description?: string;
|
|
663
666
|
answer: any;
|
|
664
667
|
isRequired?: boolean;
|
|
668
|
+
question: QuestionnaireViewerQuestion;
|
|
665
669
|
}[];
|
|
670
|
+
/**
|
|
671
|
+
* Get context data for review step (answers at widget paths).
|
|
672
|
+
* Must be called before transitioning to review while viewer is still rendered.
|
|
673
|
+
*/
|
|
674
|
+
getReviewContext(): Record<string, any>;
|
|
666
675
|
/**
|
|
667
676
|
* Submit questionnaire
|
|
668
677
|
* Validates all questions before submitting
|
|
@@ -738,11 +747,53 @@ declare class AXMQuestionBankItemServiceImpl extends AXMQuestionBankItemService
|
|
|
738
747
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMQuestionBankItemServiceImpl>;
|
|
739
748
|
}
|
|
740
749
|
|
|
750
|
+
/**
|
|
751
|
+
* Pre-questionnaire content (welcome/intro).
|
|
752
|
+
* When multiLanguage is used, value is Record<locale, string>.
|
|
753
|
+
*/
|
|
754
|
+
type PrePostContentValue = string | Record<string, string>;
|
|
755
|
+
/**
|
|
756
|
+
* Pre-questionnaire configuration (shown before questions).
|
|
757
|
+
*/
|
|
758
|
+
interface PreQuestionnaireConfig {
|
|
759
|
+
enabled: boolean;
|
|
760
|
+
/** Rich text content. Supports multi-language: Record<locale, string>. */
|
|
761
|
+
content?: PrePostContentValue;
|
|
762
|
+
}
|
|
763
|
+
/**
|
|
764
|
+
* Post-questionnaire configuration (review before submit, summary after submit).
|
|
765
|
+
* Summary content supports placeholders: {{score}}, {{passFail}}, {{totalQuestions}}, {{answeredCount}}.
|
|
766
|
+
*/
|
|
767
|
+
interface PostQuestionnaireConfig {
|
|
768
|
+
/** Show review step before submit (all answers, edit/submit). */
|
|
769
|
+
reviewEnabled: boolean;
|
|
770
|
+
/** Show summary screen after submit. */
|
|
771
|
+
summaryEnabled: boolean;
|
|
772
|
+
/** Rich text content for summary. Supports multi-language and placeholders. */
|
|
773
|
+
summaryContent?: PrePostContentValue;
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Pre/post questionnaire configuration for viewer flow.
|
|
777
|
+
* Extracted from questionnaire entity or passed explicitly.
|
|
778
|
+
*/
|
|
779
|
+
interface PrePostConfig {
|
|
780
|
+
preEnabled?: boolean;
|
|
781
|
+
preContent?: PrePostContentValue;
|
|
782
|
+
postReviewEnabled?: boolean;
|
|
783
|
+
postSummaryEnabled?: boolean;
|
|
784
|
+
postSummaryContent?: PrePostContentValue;
|
|
785
|
+
passingScore?: number;
|
|
786
|
+
}
|
|
741
787
|
interface AXMAssessmentManagementQuestionnaireEntityModel extends AXPEntityModel<string> {
|
|
742
788
|
title: string;
|
|
743
789
|
description?: string;
|
|
744
790
|
type: 'questionnaire' | 'survey' | 'checklist' | 'test' | 'evaluation';
|
|
745
791
|
structure?: QuestionnaireBuilderValue;
|
|
792
|
+
preEnabled?: boolean;
|
|
793
|
+
preContent?: PrePostContentValue;
|
|
794
|
+
postReviewEnabled?: boolean;
|
|
795
|
+
postSummaryEnabled?: boolean;
|
|
796
|
+
postSummaryContent?: PrePostContentValue;
|
|
746
797
|
scoringType?: 'none' | 'cumulative' | 'weighted' | 'formula';
|
|
747
798
|
passingScore?: number;
|
|
748
799
|
scoringFormula?: string;
|
|
@@ -754,6 +805,10 @@ interface AXMAssessmentManagementQuestionnaireEntityModel extends AXPEntityModel
|
|
|
754
805
|
tags?: string[];
|
|
755
806
|
color?: string;
|
|
756
807
|
}
|
|
808
|
+
/**
|
|
809
|
+
* Extract PrePostConfig from questionnaire entity.
|
|
810
|
+
*/
|
|
811
|
+
declare function toPrePostConfig(q: Partial<AXMAssessmentManagementQuestionnaireEntityModel> | null | undefined): PrePostConfig | null;
|
|
757
812
|
|
|
758
813
|
declare abstract class AXMQuestionnaireService extends AXMEntityCrudServiceImpl<string, AXMAssessmentManagementQuestionnaireEntityModel> {
|
|
759
814
|
}
|
|
@@ -812,6 +867,25 @@ declare class AXMAssessmentSessionServiceImpl extends AXMAssessmentSessionServic
|
|
|
812
867
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMAssessmentSessionServiceImpl>;
|
|
813
868
|
}
|
|
814
869
|
|
|
870
|
+
/**
|
|
871
|
+
* Placeholder values for post-questionnaire summary content.
|
|
872
|
+
*/
|
|
873
|
+
interface SummaryPlaceholderValues {
|
|
874
|
+
score?: number;
|
|
875
|
+
passFail?: string;
|
|
876
|
+
totalQuestions?: number;
|
|
877
|
+
answeredCount?: number;
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
interface QuestionWithAnswer {
|
|
881
|
+
questionId: string;
|
|
882
|
+
title: string;
|
|
883
|
+
answer: unknown;
|
|
884
|
+
/** Full question with interface for widget rendering in view mode. */
|
|
885
|
+
question?: QuestionnaireViewerQuestion;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
type FlowStep$1 = 'pre' | 'questions' | 'review' | 'summary';
|
|
815
889
|
declare class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
816
890
|
protected readonly route: ActivatedRoute;
|
|
817
891
|
private readonly router;
|
|
@@ -820,13 +894,24 @@ declare class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseCompo
|
|
|
820
894
|
private readonly assessmentSessionService;
|
|
821
895
|
private readonly authSession;
|
|
822
896
|
protected readonly structure: _angular_core.WritableSignal<QuestionnaireBuilderValue | null>;
|
|
897
|
+
protected readonly questionnaire: _angular_core.WritableSignal<AXMAssessmentManagementQuestionnaireEntityModel | null>;
|
|
823
898
|
protected readonly initialAnswers: _angular_core.WritableSignal<Record<string, any>>;
|
|
824
899
|
protected readonly viewerConfig: _angular_core.WritableSignal<QuestionnaireViewerConfig | undefined>;
|
|
900
|
+
protected readonly prePostConfig: _angular_core.WritableSignal<_acorex_modules_assessment_management.PrePostConfig | null>;
|
|
825
901
|
protected readonly isLoading: _angular_core.WritableSignal<boolean>;
|
|
826
902
|
protected readonly loadError: _angular_core.WritableSignal<string | null>;
|
|
827
|
-
protected readonly isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
828
903
|
protected readonly currentSessionId: _angular_core.WritableSignal<string | null>;
|
|
829
|
-
protected readonly
|
|
904
|
+
protected readonly flowStep: _angular_core.WritableSignal<FlowStep$1>;
|
|
905
|
+
protected readonly reviewSnapshot: _angular_core.WritableSignal<QuestionWithAnswer[]>;
|
|
906
|
+
protected readonly reviewContext: _angular_core.WritableSignal<Record<string, any> | null>;
|
|
907
|
+
protected readonly submitResult: _angular_core.WritableSignal<SummaryPlaceholderValues | null>;
|
|
908
|
+
protected readonly isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
909
|
+
protected readonly canNavigatePrevious: _angular_core.WritableSignal<boolean>;
|
|
910
|
+
protected readonly canNavigateNext: _angular_core.WritableSignal<boolean>;
|
|
911
|
+
protected readonly showNavigationButtons: _angular_core.WritableSignal<boolean>;
|
|
912
|
+
protected readonly isLastStep: _angular_core.WritableSignal<boolean>;
|
|
913
|
+
protected readonly areAllRequiredQuestionsAnswered: _angular_core.WritableSignal<boolean>;
|
|
914
|
+
protected readonly viewer: _angular_core.Signal<AXMQuestionnaireViewerComponent | undefined>;
|
|
830
915
|
protected readonly viewerViewModel: _angular_core.Signal<({
|
|
831
916
|
questionnaireData: _angular_core.Signal<QuestionnaireViewerData | null>;
|
|
832
917
|
structure: _angular_core.Signal<QuestionnaireBuilderValue | null>;
|
|
@@ -890,6 +975,7 @@ declare class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseCompo
|
|
|
890
975
|
description?: string;
|
|
891
976
|
answer: any;
|
|
892
977
|
isRequired?: boolean;
|
|
978
|
+
question: QuestionnaireViewerQuestion;
|
|
893
979
|
}>;
|
|
894
980
|
getSectionUnansweredRequiredCount: (sectionId: string) => number;
|
|
895
981
|
submit: () => Promise<{
|
|
@@ -922,46 +1008,56 @@ declare class AXMQuestionnaireViewerPageComponent extends AXPPageLayoutBaseCompo
|
|
|
922
1008
|
protected readonly showProgressBar: _angular_core.Signal<boolean>;
|
|
923
1009
|
protected readonly answeredQuestionsCount: _angular_core.Signal<number>;
|
|
924
1010
|
protected readonly isReadonly: _angular_core.Signal<boolean>;
|
|
925
|
-
protected readonly
|
|
926
|
-
|
|
927
|
-
protected readonly
|
|
928
|
-
|
|
929
|
-
|
|
1011
|
+
protected readonly showReviewButton: _angular_core.Signal<boolean>;
|
|
1012
|
+
/** Use answers from review context when returning from review; otherwise use initial answers. */
|
|
1013
|
+
protected readonly effectiveInitialAnswers: _angular_core.Signal<Record<string, any>>;
|
|
1014
|
+
constructor();
|
|
1015
|
+
ngOnInit(): Promise<void>;
|
|
1016
|
+
private loadData;
|
|
1017
|
+
private saveSessionAndGetSummary;
|
|
930
1018
|
getPageTitle(): Promise<string>;
|
|
931
1019
|
getPageBreadcrumbs(): ReturnType<AXPPageLayoutBaseComponent['getPageBreadcrumbs']>;
|
|
932
1020
|
getBackButton(): Promise<{
|
|
933
1021
|
title: string;
|
|
934
1022
|
} | null>;
|
|
935
1023
|
onBackButtonClick(): void;
|
|
936
|
-
constructor();
|
|
937
|
-
ngOnInit(): Promise<void>;
|
|
938
|
-
private loadData;
|
|
939
1024
|
private getCasesListPath;
|
|
940
1025
|
private calculateProgress;
|
|
941
1026
|
protected handleAnswersChanged(_answers: Record<string, any>): void;
|
|
1027
|
+
protected handleReviewClick(): void;
|
|
1028
|
+
protected handleReviewSubmit(): Promise<void>;
|
|
942
1029
|
protected handlePreviousClick(): Promise<void>;
|
|
943
1030
|
protected handleNextClick(): Promise<void>;
|
|
944
1031
|
protected handleSubmitClick(): Promise<void>;
|
|
1032
|
+
protected handleDone(): void;
|
|
945
1033
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMQuestionnaireViewerPageComponent, never>;
|
|
946
1034
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMQuestionnaireViewerPageComponent, "axm-questionnaire-viewer-page", never, {}, {}, never, never, true, never>;
|
|
947
1035
|
}
|
|
948
1036
|
|
|
949
|
-
|
|
950
|
-
* Standalone questionnaire viewer page for external access (e.g. shareable links).
|
|
951
|
-
* Renders full-screen without app shell (no sidebar, no main header).
|
|
952
|
-
*/
|
|
1037
|
+
type FlowStep = 'pre' | 'questions' | 'review' | 'summary';
|
|
953
1038
|
declare class AXMQuestionnaireViewerStandalonePageComponent implements OnInit {
|
|
954
1039
|
private readonly route;
|
|
955
1040
|
private readonly sessionService;
|
|
956
1041
|
private readonly caseService;
|
|
957
1042
|
private readonly questionnaireService;
|
|
958
1043
|
protected readonly structure: _angular_core.WritableSignal<QuestionnaireBuilderValue | null>;
|
|
1044
|
+
protected readonly questionnaire: _angular_core.WritableSignal<any>;
|
|
959
1045
|
protected readonly initialAnswers: _angular_core.WritableSignal<Record<string, any>>;
|
|
1046
|
+
protected readonly prePostConfig: _angular_core.WritableSignal<_acorex_modules_assessment_management.PrePostConfig | null>;
|
|
960
1047
|
protected readonly viewerConfig: _angular_core.WritableSignal<QuestionnaireViewerConfig | undefined>;
|
|
961
1048
|
protected readonly isLoading: _angular_core.WritableSignal<boolean>;
|
|
962
1049
|
protected readonly loadError: _angular_core.WritableSignal<string | null>;
|
|
963
1050
|
protected readonly isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
964
|
-
protected readonly
|
|
1051
|
+
protected readonly flowStep: _angular_core.WritableSignal<FlowStep>;
|
|
1052
|
+
protected readonly reviewSnapshot: _angular_core.WritableSignal<QuestionWithAnswer[]>;
|
|
1053
|
+
protected readonly reviewContext: _angular_core.WritableSignal<Record<string, any> | null>;
|
|
1054
|
+
protected readonly submitResult: _angular_core.WritableSignal<SummaryPlaceholderValues | null>;
|
|
1055
|
+
protected readonly canNavigatePrevious: _angular_core.WritableSignal<boolean>;
|
|
1056
|
+
protected readonly canNavigateNext: _angular_core.WritableSignal<boolean>;
|
|
1057
|
+
protected readonly showNavigationButtons: _angular_core.WritableSignal<boolean>;
|
|
1058
|
+
protected readonly isLastStep: _angular_core.WritableSignal<boolean>;
|
|
1059
|
+
protected readonly areAllRequiredQuestionsAnswered: _angular_core.WritableSignal<boolean>;
|
|
1060
|
+
protected readonly viewer: _angular_core.Signal<AXMQuestionnaireViewerComponent | undefined>;
|
|
965
1061
|
protected readonly viewerViewModel: _angular_core.Signal<({
|
|
966
1062
|
questionnaireData: _angular_core.Signal<QuestionnaireViewerData | null>;
|
|
967
1063
|
structure: _angular_core.Signal<QuestionnaireBuilderValue | null>;
|
|
@@ -1025,6 +1121,7 @@ declare class AXMQuestionnaireViewerStandalonePageComponent implements OnInit {
|
|
|
1025
1121
|
description?: string;
|
|
1026
1122
|
answer: any;
|
|
1027
1123
|
isRequired?: boolean;
|
|
1124
|
+
question: QuestionnaireViewerQuestion;
|
|
1028
1125
|
}>;
|
|
1029
1126
|
getSectionUnansweredRequiredCount: (sectionId: string) => number;
|
|
1030
1127
|
submit: () => Promise<{
|
|
@@ -1050,28 +1147,29 @@ declare class AXMQuestionnaireViewerStandalonePageComponent implements OnInit {
|
|
|
1050
1147
|
validationErrors: QuestionnaireValidationError[];
|
|
1051
1148
|
}>) | undefined>;
|
|
1052
1149
|
protected readonly totalQuestionsCount: _angular_core.Signal<number>;
|
|
1053
|
-
protected readonly totalSectionsCount: _angular_core.Signal<number>;
|
|
1054
1150
|
protected readonly showTimer: _angular_core.Signal<boolean>;
|
|
1055
1151
|
protected readonly timerTimeLimit: _angular_core.Signal<number | undefined>;
|
|
1056
1152
|
protected readonly timerElapsed: _angular_core.Signal<number>;
|
|
1057
1153
|
protected readonly showProgressBar: _angular_core.Signal<boolean>;
|
|
1058
1154
|
protected readonly answeredQuestionsCount: _angular_core.Signal<number>;
|
|
1059
1155
|
protected readonly isReadonly: _angular_core.Signal<boolean>;
|
|
1060
|
-
protected readonly
|
|
1061
|
-
|
|
1062
|
-
protected readonly
|
|
1063
|
-
protected readonly isLastStep: _angular_core.WritableSignal<boolean>;
|
|
1064
|
-
protected readonly areAllRequiredQuestionsAnswered: _angular_core.WritableSignal<boolean>;
|
|
1156
|
+
protected readonly showReviewButton: _angular_core.Signal<boolean>;
|
|
1157
|
+
/** Use answers from review context when returning from review; otherwise use initial answers. */
|
|
1158
|
+
protected readonly effectiveInitialAnswers: _angular_core.Signal<Record<string, any>>;
|
|
1065
1159
|
constructor();
|
|
1066
1160
|
ngOnInit(): void;
|
|
1067
1161
|
private loadData;
|
|
1068
|
-
|
|
1162
|
+
private saveSessionAndGetSummary;
|
|
1163
|
+
private calculateProgress;
|
|
1164
|
+
protected handleReviewClick(): void;
|
|
1165
|
+
protected handleReviewSubmit(): Promise<void>;
|
|
1069
1166
|
protected handlePreviousClick(): Promise<void>;
|
|
1070
1167
|
protected handleNextClick(): Promise<void>;
|
|
1071
1168
|
protected handleSubmitClick(): Promise<void>;
|
|
1169
|
+
protected handleDone(): void;
|
|
1072
1170
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMQuestionnaireViewerStandalonePageComponent, never>;
|
|
1073
1171
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMQuestionnaireViewerStandalonePageComponent, "axm-questionnaire-viewer-standalone-page", never, {}, {}, never, never, true, never>;
|
|
1074
1172
|
}
|
|
1075
1173
|
|
|
1076
|
-
export { AXMAssessmentCaseService, AXMAssessmentCaseServiceImpl, AXMAssessmentManagementEntityProvider, AXMAssessmentManagementFeatureDefinitionProvider, AXMAssessmentManagementFeatureKeys, AXMAssessmentManagementMenuProvider, AXMAssessmentManagementModule, AXMAssessmentManagementPermissionDefinitionProvider, AXMAssessmentManagementPermissionKeys, AXMAssessmentManagementSearchCommandProvider, AXMAssessmentSessionService, AXMAssessmentSessionServiceImpl, AXMQuestionBankItemService, AXMQuestionBankItemServiceImpl, AXMQuestionnaireService, AXMQuestionnaireServiceImpl, AXMQuestionnaireViewerPageComponent, AXMQuestionnaireViewerStandalonePageComponent, AXPAssessmentManagementMenuKeys, RootConfig };
|
|
1077
|
-
export type { AXMAssessmentCaseStatus, AXMAssessmentManagementAssessmentCaseEntityModel, AXMAssessmentManagementAssessmentSessionEntityModel, AXMAssessmentManagementQuestionBankItemEntityModel, AXMAssessmentManagementQuestionnaireEntityModel, AXMAssessmentSessionRole, AXMAssessmentSessionStatus };
|
|
1174
|
+
export { AXMAssessmentCaseService, AXMAssessmentCaseServiceImpl, AXMAssessmentManagementEntityProvider, AXMAssessmentManagementFeatureDefinitionProvider, AXMAssessmentManagementFeatureKeys, AXMAssessmentManagementMenuProvider, AXMAssessmentManagementModule, AXMAssessmentManagementPermissionDefinitionProvider, AXMAssessmentManagementPermissionKeys, AXMAssessmentManagementSearchCommandProvider, AXMAssessmentSessionService, AXMAssessmentSessionServiceImpl, AXMQuestionBankItemService, AXMQuestionBankItemServiceImpl, AXMQuestionnaireService, AXMQuestionnaireServiceImpl, AXMQuestionnaireViewerPageComponent, AXMQuestionnaireViewerStandalonePageComponent, AXPAssessmentManagementMenuKeys, RootConfig, toPrePostConfig };
|
|
1175
|
+
export type { AXMAssessmentCaseStatus, AXMAssessmentManagementAssessmentCaseEntityModel, AXMAssessmentManagementAssessmentSessionEntityModel, AXMAssessmentManagementQuestionBankItemEntityModel, AXMAssessmentManagementQuestionnaireEntityModel, AXMAssessmentSessionRole, AXMAssessmentSessionStatus, PostQuestionnaireConfig, PrePostConfig, PrePostContentValue, PreQuestionnaireConfig };
|
package/common/index.d.ts
CHANGED
|
@@ -403,6 +403,11 @@ declare class AXMUnlockConfirmWorkflowAction extends AXPWorkflowAction {
|
|
|
403
403
|
}
|
|
404
404
|
declare const AXMUnlockConfirmWorkflow: AXPWorkflow;
|
|
405
405
|
|
|
406
|
+
/** Options for the disable plugin. */
|
|
407
|
+
interface DisablePluginOptions {
|
|
408
|
+
/** Name of the boolean field used for disabled state. Defaults to `'isDisabled'`. */
|
|
409
|
+
fieldName?: string;
|
|
410
|
+
}
|
|
406
411
|
declare const disablePlugin: AXPEntityActionPlugin;
|
|
407
412
|
|
|
408
413
|
interface UniqueFieldsPluginOptions {
|
|
@@ -594,4 +599,4 @@ declare class StateStatusProvider extends AXPStatusProvider {
|
|
|
594
599
|
}
|
|
595
600
|
|
|
596
601
|
export { AXMCommonModule, AXMLockPopupWorkflow, AXMLockPopupWorkflowAction, AXMMenuProvider, AXMSettingProvider, AXMUnlockConfirmWorkflow, AXMUnlockConfirmWorkflowAction, AXPCommonFeatureDefinitionProvider, AXPCommonFeatureKeys, AXPCommonMenuKeys, AXPDisablePluginModule, AXPGlobalSearchModule, AXPGlobalSearchViewModel, AXPStatusPluginModule, AXPUniqueFieldsPluginModule, AXPValidationRulesModule, AXPVersionHistoryModule, AXPWidgetsList, AXP_GLOBAL_SEARCH_CONFIG_TOKEN, ApprovalStatusProvider, CommonManifest, RootConfig, StateStatusProvider, TaskStatusProvider, VARIABLE_NAME_VALIDATION_PATTERN, VariableNameValidationRule, disablePlugin, getActiveStatuses, getFinalStatuses, getInitialStatuses, getStatusByName, getTransitionsFromStatus, getTransitionsToStatus, isValidTransition, statusPlugin, uniqueFieldsPlugin };
|
|
597
|
-
export type { AXPGlobalSearchConfigs, AXPStatusPluginGenerateOptions, AXPStatusPluginGenerateViewsOptions, AXPStatusPluginOptions, AXVariableNameValidationRuleOptions, UniqueFieldsPluginOptions };
|
|
602
|
+
export type { AXPGlobalSearchConfigs, AXPStatusPluginGenerateOptions, AXPStatusPluginGenerateViewsOptions, AXPStatusPluginOptions, AXVariableNameValidationRuleOptions, DisablePluginOptions, UniqueFieldsPluginOptions };
|
|
@@ -3,14 +3,15 @@ import { Injector, InjectionToken } from '@angular/core';
|
|
|
3
3
|
import * as i1 from '@acorex/platform/layout/widget-core';
|
|
4
4
|
import { AXPWidgetConfig, AXPValueWidgetComponent, AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPMetaDataDefinition } from '@acorex/platform/layout/widget-core';
|
|
5
5
|
import { AXPEntity, AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';
|
|
6
|
-
import { AXPEntityModel, AXMEntityCrudServiceImpl, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityPreloadEntity, AXPEntityDefinitionRegistryService, AXPEntityActionPlugin } from '@acorex/platform/layout/entity';
|
|
6
|
+
import { AXPEntityModel, AXMEntityCrudServiceImpl, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityPreloadEntity, AXPEntityService, AXPEntityDefinitionRegistryService, AXPEntityActionPlugin } from '@acorex/platform/layout/entity';
|
|
7
7
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
8
|
-
import { AXPFilterDefinition, AXPDataSourceDefinition, AXPFilterClause, AXPDataSourceDataFieldDefinition, AXPOptionsData, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPTagProvider, AXPTag } from '@acorex/platform/core';
|
|
8
|
+
import { AXPFilterDefinition, AXPDataSourceDefinition, AXPFilterClause, AXPDataSourceDataFieldDefinition, AXPExecuteCommandResult, AXPOptionsData, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPTagProvider, AXPTag } from '@acorex/platform/core';
|
|
9
9
|
import { AXDataSource, AXDataSourceOperator, AXFilterLogic } from '@acorex/cdk/common';
|
|
10
10
|
import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
|
|
11
11
|
import * as _acorex_modules_data_management from '@acorex/modules/data-management';
|
|
12
|
+
import { AXPDynamicFormDefinition, AXPLayoutRendererComponent, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
12
13
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
13
|
-
import {
|
|
14
|
+
import { AXPCommand } from '@acorex/platform/runtime';
|
|
14
15
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
15
16
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
16
17
|
import { AXPDataSelectorService, AXPWidgetPropertyViewerService } from '@acorex/platform/layout/components';
|
|
@@ -1791,6 +1792,120 @@ declare const AXP_DEFAULT_DATABASE_TYPE_PROVIDER: {
|
|
|
1791
1792
|
multi: boolean;
|
|
1792
1793
|
};
|
|
1793
1794
|
|
|
1795
|
+
declare const META_DATA_SELECTOR_FIELD = "metaDataList";
|
|
1796
|
+
declare const META_DATA_FORM_FIELD = "metaDataForm";
|
|
1797
|
+
|
|
1798
|
+
declare const AXPMetaDataFormWidget: AXPWidgetConfig<AXPMetaDataFormWidgetConfigType>;
|
|
1799
|
+
type AXPMetaDataFormWidgetConfigType = {
|
|
1800
|
+
type: 'editor';
|
|
1801
|
+
metadataDefinitions: any[];
|
|
1802
|
+
layoutLook?: 'normal' | 'compact' | 'borderless';
|
|
1803
|
+
layoutDirection?: 'vertical' | 'horizontal' | 'grid';
|
|
1804
|
+
groupByCategory?: boolean;
|
|
1805
|
+
showCategoryHeaders?: boolean;
|
|
1806
|
+
};
|
|
1807
|
+
|
|
1808
|
+
declare class AXPMetaDataFormWidgetEditComponent extends AXPValueWidgetComponent {
|
|
1809
|
+
#private;
|
|
1810
|
+
/**
|
|
1811
|
+
* Groups structure from meta-data-selector or evaluated expression
|
|
1812
|
+
*/
|
|
1813
|
+
groups: _angular_core.Signal<any[]>;
|
|
1814
|
+
/**
|
|
1815
|
+
* Check if there are any valid metadata definitions available
|
|
1816
|
+
*/
|
|
1817
|
+
hasDefinitions: _angular_core.Signal<boolean>;
|
|
1818
|
+
/**
|
|
1819
|
+
* Emitted when form context changes
|
|
1820
|
+
*/
|
|
1821
|
+
contextChange: _angular_core.OutputEmitterRef<any>;
|
|
1822
|
+
/**
|
|
1823
|
+
* Emitted when form validity changes
|
|
1824
|
+
*/
|
|
1825
|
+
validityChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1826
|
+
private layoutRenderer;
|
|
1827
|
+
/**
|
|
1828
|
+
* Form definition signal that only updates when structure actually changes
|
|
1829
|
+
*/
|
|
1830
|
+
protected formDefinition: _angular_core.WritableSignal<AXPDynamicFormDefinition>;
|
|
1831
|
+
/**
|
|
1832
|
+
* Handle context change from dynamic form
|
|
1833
|
+
*/
|
|
1834
|
+
protected onContextChange(context: any): void;
|
|
1835
|
+
/**
|
|
1836
|
+
* Handle validity change from dynamic form
|
|
1837
|
+
*/
|
|
1838
|
+
protected onValidityChange(isValid: boolean): void;
|
|
1839
|
+
/**
|
|
1840
|
+
* Initialize form definition based on current inputs
|
|
1841
|
+
*/
|
|
1842
|
+
private initializeFormDefinition;
|
|
1843
|
+
/**
|
|
1844
|
+
* Convert groups structure from meta-data-selector to form definition
|
|
1845
|
+
* Each metadata group becomes a separate form group with visual separation (card look)
|
|
1846
|
+
*/
|
|
1847
|
+
private convertGroupsToFormDefinition;
|
|
1848
|
+
/**
|
|
1849
|
+
* Convert single metadata definition to field definition
|
|
1850
|
+
*/
|
|
1851
|
+
private convertMetadataToFieldDefinition;
|
|
1852
|
+
/**
|
|
1853
|
+
* Parse interface configuration from metadata
|
|
1854
|
+
*/
|
|
1855
|
+
private parseInterfaceConfig;
|
|
1856
|
+
/**
|
|
1857
|
+
* Parse validations from interface configuration
|
|
1858
|
+
*/
|
|
1859
|
+
private parseValidations;
|
|
1860
|
+
/**
|
|
1861
|
+
* Sanitize group name for use as identifier
|
|
1862
|
+
*/
|
|
1863
|
+
private sanitizeGroupName;
|
|
1864
|
+
/**
|
|
1865
|
+
* Get the layout renderer component instance
|
|
1866
|
+
*/
|
|
1867
|
+
getLayoutRenderer(): AXPLayoutRendererComponent | undefined;
|
|
1868
|
+
/**
|
|
1869
|
+
* Validate the form
|
|
1870
|
+
*/
|
|
1871
|
+
validate(): Promise<boolean>;
|
|
1872
|
+
/**
|
|
1873
|
+
* Get current form context
|
|
1874
|
+
*/
|
|
1875
|
+
getContext(): any;
|
|
1876
|
+
/**
|
|
1877
|
+
* Update form context programmatically
|
|
1878
|
+
*/
|
|
1879
|
+
updateContext(context: any): void;
|
|
1880
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMetaDataFormWidgetEditComponent, never>;
|
|
1881
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMetaDataFormWidgetEditComponent, "axp-meta-data-form-widget-edit", never, {}, { "contextChange": "contextChange"; "validityChange": "validityChange"; }, never, never, true, never>;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
interface ShowMetaDataFormPopupInput {
|
|
1885
|
+
entity: string;
|
|
1886
|
+
id: string;
|
|
1887
|
+
field?: string;
|
|
1888
|
+
title?: string;
|
|
1889
|
+
path: string;
|
|
1890
|
+
}
|
|
1891
|
+
declare class ShowMetaDataFormPopupCommand implements AXPCommand<ShowMetaDataFormPopupInput, any> {
|
|
1892
|
+
protected readonly layoutBuilder: AXPLayoutBuilderService;
|
|
1893
|
+
protected readonly translationService: AXTranslationService;
|
|
1894
|
+
protected readonly entityService: AXPEntityService;
|
|
1895
|
+
protected readonly entityRegistry: AXPEntityDefinitionRegistryService;
|
|
1896
|
+
execute(input: ShowMetaDataFormPopupInput | any): Promise<AXPExecuteCommandResult<any>>;
|
|
1897
|
+
/**
|
|
1898
|
+
* Loads a record by entity and id. Override to use custom data sources or key handling.
|
|
1899
|
+
*/
|
|
1900
|
+
protected findRecord(entity: string, id: string): Promise<Record<string, unknown> | null>;
|
|
1901
|
+
/**
|
|
1902
|
+
* Persists meta-data form changes. Override to use custom persistence or validation.
|
|
1903
|
+
*/
|
|
1904
|
+
protected updateRecord(entity: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
1905
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShowMetaDataFormPopupCommand, never>;
|
|
1906
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ShowMetaDataFormPopupCommand>;
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1794
1909
|
declare const AXPMetaDataSelectorWidget: AXPWidgetConfig<AXPMetaDataSelectorWidgetConfigType>;
|
|
1795
1910
|
type AXPMetaDataSelectorWidgetConfigType = {
|
|
1796
1911
|
type: 'editor';
|
|
@@ -2005,6 +2120,44 @@ declare class AXPMetaDataSelectorWidgetEditComponent extends AXPValueWidgetCompo
|
|
|
2005
2120
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMetaDataSelectorWidgetEditComponent, "axp-meta-data-selector-widget-edit", never, {}, {}, never, never, true, never>;
|
|
2006
2121
|
}
|
|
2007
2122
|
|
|
2123
|
+
/** Display configuration for section (selector shown inline in entity views) */
|
|
2124
|
+
type MetaDataSelectorSectionConfig = {
|
|
2125
|
+
enabled?: boolean;
|
|
2126
|
+
title?: string;
|
|
2127
|
+
order?: number;
|
|
2128
|
+
};
|
|
2129
|
+
/** Display configuration for popup (action opens selector in dialog) */
|
|
2130
|
+
type MetaDataSelectorPopupConfig = {
|
|
2131
|
+
enabled?: boolean;
|
|
2132
|
+
title?: string;
|
|
2133
|
+
order?: number;
|
|
2134
|
+
};
|
|
2135
|
+
/** Flexible display configuration object for the meta-data-selector */
|
|
2136
|
+
type MetaDataSelectorDisplayConfig = {
|
|
2137
|
+
section?: MetaDataSelectorSectionConfig;
|
|
2138
|
+
popup?: MetaDataSelectorPopupConfig;
|
|
2139
|
+
};
|
|
2140
|
+
/** Display option - where to show the meta-data-selector: section, popup, or both */
|
|
2141
|
+
type MetaDataSelectorDisplay = MetaDataSelectorDisplayConfig | 'section' | 'popup' | 'both';
|
|
2142
|
+
type MetaDataSelectorPluginOptions = {
|
|
2143
|
+
/** Field and group title */
|
|
2144
|
+
title?: string;
|
|
2145
|
+
/** How to display the meta-data-selector: section (inline), popup (button opens dialog), or both */
|
|
2146
|
+
display?: MetaDataSelectorDisplay;
|
|
2147
|
+
/** If true, each metadata group becomes a separate entity section (TODO) */
|
|
2148
|
+
renderGroupsAsSections?: boolean;
|
|
2149
|
+
};
|
|
2150
|
+
/**
|
|
2151
|
+
* meta-data-selector plugin
|
|
2152
|
+
*
|
|
2153
|
+
* Dynamic behavior:
|
|
2154
|
+
* - Creates a single property for metadata selector configuration
|
|
2155
|
+
* - Dynamically generates entity groups and meta-data-form widgets based on configured groups
|
|
2156
|
+
* - Each metadata group becomes a separate entity section with its own meta-data-form widget
|
|
2157
|
+
* - Reads group configuration at runtime from the field value
|
|
2158
|
+
*/
|
|
2159
|
+
declare const metaDataSelectorPlugin: AXPEntityActionPlugin;
|
|
2160
|
+
|
|
2008
2161
|
declare class AXPMetaDataSelectorWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
2009
2162
|
/**
|
|
2010
2163
|
* Returns a comma-separated list of selected meta titles.
|
|
@@ -2017,20 +2170,33 @@ declare class AXPMetaDataSelectorWidgetViewComponent extends AXPValueWidgetCompo
|
|
|
2017
2170
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMetaDataSelectorWidgetViewComponent, "axp-meta-data-selector-widget-view", never, {}, {}, never, never, true, never>;
|
|
2018
2171
|
}
|
|
2019
2172
|
|
|
2020
|
-
|
|
2173
|
+
interface ShowMetaDataSelectorPopupInput {
|
|
2174
|
+
entity: string;
|
|
2175
|
+
id: string;
|
|
2176
|
+
/** Selector field name (default: META_DATA_SELECTOR_FIELD) */
|
|
2177
|
+
field?: string;
|
|
2021
2178
|
title?: string;
|
|
2022
|
-
|
|
2023
|
-
};
|
|
2179
|
+
}
|
|
2024
2180
|
/**
|
|
2025
|
-
* meta-data-selector
|
|
2026
|
-
*
|
|
2027
|
-
* Dynamic behavior:
|
|
2028
|
-
* - Creates a single property for metadata selector configuration
|
|
2029
|
-
* - Dynamically generates entity groups and meta-data-form widgets based on configured groups
|
|
2030
|
-
* - Each metadata group becomes a separate entity section with its own meta-data-form widget
|
|
2031
|
-
* - Reads group configuration at runtime from the field value
|
|
2181
|
+
* Opens the meta-data-selector (configuration UI for groups/fields) in a popup.
|
|
2182
|
+
* Used when meta-data-selector plugin has display: 'popup' or 'both'.
|
|
2032
2183
|
*/
|
|
2033
|
-
declare
|
|
2184
|
+
declare class ShowMetaDataSelectorPopupCommand implements AXPCommand<ShowMetaDataSelectorPopupInput, any> {
|
|
2185
|
+
protected readonly layoutBuilder: AXPLayoutBuilderService;
|
|
2186
|
+
protected readonly translationService: AXTranslationService;
|
|
2187
|
+
protected readonly entityService: AXPEntityService;
|
|
2188
|
+
execute(input: ShowMetaDataSelectorPopupInput | any): Promise<AXPExecuteCommandResult<any>>;
|
|
2189
|
+
/**
|
|
2190
|
+
* Loads a record by entity and id. Override to use custom data sources or key handling.
|
|
2191
|
+
*/
|
|
2192
|
+
protected findRecord(entity: string, id: string): Promise<Record<string, unknown> | null>;
|
|
2193
|
+
/**
|
|
2194
|
+
* Persists meta-data changes. Override to use custom persistence or validation.
|
|
2195
|
+
*/
|
|
2196
|
+
protected updateRecord(entity: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
2197
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShowMetaDataSelectorPopupCommand, never>;
|
|
2198
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ShowMetaDataSelectorPopupCommand>;
|
|
2199
|
+
}
|
|
2034
2200
|
|
|
2035
2201
|
/**
|
|
2036
2202
|
* Metadata Evaluator Scope Provider
|
|
@@ -2053,9 +2219,6 @@ declare class AXMMetadataEvaluatorScopeProvider implements AXPExpressionEvaluato
|
|
|
2053
2219
|
private mergeInterfaceOverrides;
|
|
2054
2220
|
}
|
|
2055
2221
|
|
|
2056
|
-
declare const META_DATA_SELECTOR_FIELD = "metaDataList";
|
|
2057
|
-
declare const META_DATA_FORM_FIELD = "metaDataForm";
|
|
2058
|
-
|
|
2059
2222
|
/**
|
|
2060
2223
|
* Default system tag provider
|
|
2061
2224
|
* Provides readonly system-level tags
|
|
@@ -2104,5 +2267,5 @@ declare const AXMPermissionsKeys: {
|
|
|
2104
2267
|
};
|
|
2105
2268
|
};
|
|
2106
2269
|
|
|
2107
|
-
export { AXMColumnFilterSelectorWidget, AXMColumnFilterSelectorWidgetColumnComponent, AXMColumnFilterSelectorWidgetEditComponent, AXMColumnFilterSelectorWidgetFilterComponent, AXMColumnFilterSelectorWidgetPrintComponent, AXMColumnFilterSelectorWidgetViewComponent, AXMDataManagementFeatureKeys, AXMDataManagementModule, AXMDataSourceEntityModule, AXMDataSourceOutputType, AXMDataSourceService, AXMDataSourceServiceImpl, AXMDataSourceType, AXMDefaultAggregateFunctionProvider, AXMDefaultDatabaseTypeProvider, AXMEntityProvider, AXMMenuProvider, AXMMetaDataDefinitionEntityModule, AXMMetaDataDefinitionService, AXMMetaDataFeatureModule, AXMMetadataEvaluatorScopeProvider, AXMPMetaDataDefinitionServiceImpl, AXMPermissionsKeys, AXMQueryEntityModule, AXMQueryService, AXMQueryServiceImpl, AXMTagEntityModule, AXMTagEntityService, AXMTagsFeatureModule, AXM_COLUMN_DEF_WIDGET, AXM_FILTER_DEF_WIDGET, AXPAggregateBuilderComponent, AXPAggregateFunctionService, AXPAggregateFunctionsRegistry, AXPColumnsBuilderComponent, AXPDataManagementMenuKeys, AXPDatabaseTypeService, AXPGroupByBuilderComponent, AXPMetaDataSelectorWidget, AXPMetaDataSelectorWidgetEditComponent, AXPMetaDataSelectorWidgetViewComponent, AXPQueryBuilderComponent, AXPQueryBuilderWidget, AXPQueryBuilderWidgetColumnComponent, AXPQueryBuilderWidgetDesignerComponent, AXPQueryBuilderWidgetEditComponent, AXPQueryBuilderWidgetViewComponent, AXPRawQueryBuilderComponent, AXPSortBuilderComponent, AXPSystemTagProvider, AXPWhereBuilderComponent, AXP_AGGREGATE_FUNCTION_PROVIDER, AXP_DATABASE_TYPE_PROVIDER, AXP_DEFAULT_AGGREGATE_FUNCTION_PROVIDER, AXP_DEFAULT_DATABASE_TYPE_PROVIDER, META_DATA_FORM_FIELD, META_DATA_SELECTOR_FIELD, RootConfig, convertStateToValue, convertValueToState, createDefaultGroup, dataSourceEntityFactory, equipmentFactory, factory, metaDataDefinitionFactory, metaDataSelectorPlugin, queryFactory, tagsPlugin };
|
|
2108
|
-
export type { AXMColumnFilterSelectorWidgetConfigType, AXMDataManagementEquipmentEntityModel, AXMDataManagementQueryEntityModel, AXMDataSourceEntityModel, AXMDataSourceFilter, AXMDataSourceOutputTypeOption, AXMDataSourceTypeOption, AXMMetaDataDefinitionEntityModel, AXMMetaDataSelectorField, AXMMetaDataSelectorGroup, AXMMetaDataSelectorState, AXMMetaDataSelectorValue, AXMQueryEntityModel, AXMTag, AXPAggregateCategory, AXPAggregateFunctionDefinition, AXPAggregateFunctionProvider, AXPAggregateFunctionProviderToken, AXPAggregateOperation, AXPDatabaseType, AXPDatabaseTypeDefinition, AXPDatabaseTypeProvider, AXPDatabaseTypeProviderToken, AXPMetaDataSelectorWidgetConfigType, AXPQueryBuilderData, AXPQueryBuilderWidgetConfigType, AXPQueryExecutionResult, AXPQueryOutputType, AXPQuerySortRule, AXPTagPluginOptions, ColumnFilterValue, MetaDataSelectorPluginOptions };
|
|
2270
|
+
export { AXMColumnFilterSelectorWidget, AXMColumnFilterSelectorWidgetColumnComponent, AXMColumnFilterSelectorWidgetEditComponent, AXMColumnFilterSelectorWidgetFilterComponent, AXMColumnFilterSelectorWidgetPrintComponent, AXMColumnFilterSelectorWidgetViewComponent, AXMDataManagementFeatureKeys, AXMDataManagementModule, AXMDataSourceEntityModule, AXMDataSourceOutputType, AXMDataSourceService, AXMDataSourceServiceImpl, AXMDataSourceType, AXMDefaultAggregateFunctionProvider, AXMDefaultDatabaseTypeProvider, AXMEntityProvider, AXMMenuProvider, AXMMetaDataDefinitionEntityModule, AXMMetaDataDefinitionService, AXMMetaDataFeatureModule, AXMMetadataEvaluatorScopeProvider, AXMPMetaDataDefinitionServiceImpl, AXMPermissionsKeys, AXMQueryEntityModule, AXMQueryService, AXMQueryServiceImpl, AXMTagEntityModule, AXMTagEntityService, AXMTagsFeatureModule, AXM_COLUMN_DEF_WIDGET, AXM_FILTER_DEF_WIDGET, AXPAggregateBuilderComponent, AXPAggregateFunctionService, AXPAggregateFunctionsRegistry, AXPColumnsBuilderComponent, AXPDataManagementMenuKeys, AXPDatabaseTypeService, AXPGroupByBuilderComponent, AXPMetaDataFormWidget, AXPMetaDataFormWidgetEditComponent, AXPMetaDataSelectorWidget, AXPMetaDataSelectorWidgetEditComponent, AXPMetaDataSelectorWidgetViewComponent, AXPQueryBuilderComponent, AXPQueryBuilderWidget, AXPQueryBuilderWidgetColumnComponent, AXPQueryBuilderWidgetDesignerComponent, AXPQueryBuilderWidgetEditComponent, AXPQueryBuilderWidgetViewComponent, AXPRawQueryBuilderComponent, AXPSortBuilderComponent, AXPSystemTagProvider, AXPWhereBuilderComponent, AXP_AGGREGATE_FUNCTION_PROVIDER, AXP_DATABASE_TYPE_PROVIDER, AXP_DEFAULT_AGGREGATE_FUNCTION_PROVIDER, AXP_DEFAULT_DATABASE_TYPE_PROVIDER, META_DATA_FORM_FIELD, META_DATA_SELECTOR_FIELD, RootConfig, ShowMetaDataFormPopupCommand, ShowMetaDataSelectorPopupCommand, convertStateToValue, convertValueToState, createDefaultGroup, dataSourceEntityFactory, equipmentFactory, factory, metaDataDefinitionFactory, metaDataSelectorPlugin, queryFactory, tagsPlugin };
|
|
2271
|
+
export type { AXMColumnFilterSelectorWidgetConfigType, AXMDataManagementEquipmentEntityModel, AXMDataManagementQueryEntityModel, AXMDataSourceEntityModel, AXMDataSourceFilter, AXMDataSourceOutputTypeOption, AXMDataSourceTypeOption, AXMMetaDataDefinitionEntityModel, AXMMetaDataSelectorField, AXMMetaDataSelectorGroup, AXMMetaDataSelectorState, AXMMetaDataSelectorValue, AXMQueryEntityModel, AXMTag, AXPAggregateCategory, AXPAggregateFunctionDefinition, AXPAggregateFunctionProvider, AXPAggregateFunctionProviderToken, AXPAggregateOperation, AXPDatabaseType, AXPDatabaseTypeDefinition, AXPDatabaseTypeProvider, AXPDatabaseTypeProviderToken, AXPMetaDataFormWidgetConfigType, AXPMetaDataSelectorWidgetConfigType, AXPQueryBuilderData, AXPQueryBuilderWidgetConfigType, AXPQueryExecutionResult, AXPQueryOutputType, AXPQuerySortRule, AXPTagPluginOptions, ColumnFilterValue, MetaDataSelectorDisplay, MetaDataSelectorDisplayConfig, MetaDataSelectorPluginOptions, MetaDataSelectorPopupConfig, MetaDataSelectorSectionConfig, ShowMetaDataFormPopupInput, ShowMetaDataSelectorPopupInput };
|