@acorex/platform 21.0.0-next.37 → 21.0.0-next.39
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-common.mjs +19 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +11 -172
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +7 -8
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +39 -29
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +8 -9
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +468 -255
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +171 -86
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +36 -13
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +5 -60
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +101 -128
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +16 -4
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +25 -5
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-common.d.ts +11 -6
- package/types/acorex-platform-core.d.ts +56 -101
- package/types/acorex-platform-layout-builder.d.ts +0 -1
- package/types/acorex-platform-layout-components.d.ts +4 -3
- package/types/acorex-platform-layout-designer.d.ts +1 -1
- package/types/acorex-platform-layout-entity.d.ts +36 -30
- package/types/acorex-platform-layout-views.d.ts +31 -29
- package/types/acorex-platform-layout-widget-core.d.ts +30 -14
- package/types/acorex-platform-layout-widgets.d.ts +17 -11
- package/types/acorex-platform-themes-default.d.ts +1 -0
- package/types/acorex-platform-workflow.d.ts +28 -51
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +0 -1
|
@@ -6,12 +6,13 @@ import { AXClickEvent } from '@acorex/cdk/common';
|
|
|
6
6
|
import * as i1 from '@acorex/cdk/drawer';
|
|
7
7
|
import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
|
|
8
8
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
9
|
-
import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
9
|
+
import { AXPActionMenuItem, AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
10
10
|
import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
|
|
11
11
|
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
12
|
+
import * as _acorex_core_translation from '@acorex/core/translation';
|
|
13
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
12
14
|
import { AXToastService } from '@acorex/components/toast';
|
|
13
15
|
import { AXFormatService } from '@acorex/core/format';
|
|
14
|
-
import { AXTranslationService } from '@acorex/core/translation';
|
|
15
16
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
16
17
|
import { AXPHomePageService } from '@acorex/platform/common';
|
|
17
18
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
@@ -30,12 +31,12 @@ declare abstract class AXPPageLayoutBase {
|
|
|
30
31
|
abstract hasSecondaryActions: Signal<boolean>;
|
|
31
32
|
abstract hasActions: Signal<boolean>;
|
|
32
33
|
abstract breadcrumbs: Signal<AXPBreadcrumbItem[]>;
|
|
33
|
-
abstract title: Signal<
|
|
34
|
+
abstract title: Signal<AXPMultiLanguageString>;
|
|
34
35
|
abstract titleIcon: Signal<string | null>;
|
|
35
36
|
abstract hasTitle: Signal<boolean>;
|
|
36
37
|
abstract hasTitleIcon: Signal<boolean>;
|
|
37
38
|
abstract hasDescription: Signal<boolean>;
|
|
38
|
-
abstract description: Signal<
|
|
39
|
+
abstract description: Signal<AXPMultiLanguageString | null>;
|
|
39
40
|
abstract hasBreadcrumbs: Signal<boolean>;
|
|
40
41
|
abstract hasBadge: Signal<boolean>;
|
|
41
42
|
abstract badge: Signal<AXPBadge | null>;
|
|
@@ -176,15 +177,15 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
176
177
|
protected updateTrigger: _angular_core.Signal<number>;
|
|
177
178
|
protected recompute(): void;
|
|
178
179
|
ngOnInit(): Promise<void>;
|
|
179
|
-
title: _angular_core.WritableSignal<
|
|
180
|
+
title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
|
|
180
181
|
titleIcon: _angular_core.WritableSignal<string | null>;
|
|
181
|
-
protected getPageTitle():
|
|
182
|
+
protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
|
|
182
183
|
protected getPageIcon(): string | null | Promise<string | null>;
|
|
183
184
|
hasTitle: _angular_core.Signal<boolean>;
|
|
184
185
|
hasTitleIcon: _angular_core.Signal<boolean>;
|
|
185
|
-
description: _angular_core.WritableSignal<
|
|
186
|
+
description: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString | null>;
|
|
186
187
|
hasDescription: _angular_core.Signal<boolean>;
|
|
187
|
-
protected getPageDescription():
|
|
188
|
+
protected getPageDescription(): AXPMultiLanguageString | null | Promise<AXPMultiLanguageString | null>;
|
|
188
189
|
private defaultBreadCrumbs;
|
|
189
190
|
breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
|
|
190
191
|
hasBreadcrumbs: _angular_core.Signal<boolean>;
|
|
@@ -389,9 +390,9 @@ interface AXPLayoutDetailsViewTabItem {
|
|
|
389
390
|
}
|
|
390
391
|
interface AXPLayoutDetailsViewPage {
|
|
391
392
|
id: string;
|
|
392
|
-
title:
|
|
393
|
-
label:
|
|
394
|
-
description?:
|
|
393
|
+
title: AXPMultiLanguageString;
|
|
394
|
+
label: AXPMultiLanguageString;
|
|
395
|
+
description?: AXPMultiLanguageString;
|
|
395
396
|
icon?: string;
|
|
396
397
|
/**
|
|
397
398
|
* Content can be either widget nodes or component references
|
|
@@ -431,9 +432,9 @@ interface AXPLayoutDetailsViewPage {
|
|
|
431
432
|
}
|
|
432
433
|
interface AXPLayoutDetailsViewAdapter {
|
|
433
434
|
name: string;
|
|
434
|
-
title?:
|
|
435
|
-
label?:
|
|
436
|
-
description?:
|
|
435
|
+
title?: AXPMultiLanguageString;
|
|
436
|
+
label?: AXPMultiLanguageString;
|
|
437
|
+
description?: AXPMultiLanguageString;
|
|
437
438
|
icon?: string;
|
|
438
439
|
actions?: AXPLayoutDetailsViewAction[];
|
|
439
440
|
breadcrumbs?: AXPBreadcrumbItem[];
|
|
@@ -480,8 +481,6 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
480
481
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
481
482
|
updateContext: (context: any) => void;
|
|
482
483
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
483
|
-
currentPageTitle: () => string | null;
|
|
484
|
-
currentPageDescription: () => string | null;
|
|
485
484
|
currentPagePrimaryActions: () => Promise<any>;
|
|
486
485
|
currentPageSecondaryActions: () => Promise<any>;
|
|
487
486
|
currentPageContent: () => AXPWidgetNode[];
|
|
@@ -491,13 +490,16 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
491
490
|
getCurrentTabContent: () => AXPWidgetNode[];
|
|
492
491
|
getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
|
|
493
492
|
clearPageTabCache: (pageId: string) => void;
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
493
|
+
backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
|
|
494
|
+
getPageTitle: () => Promise<AXPMultiLanguageString>;
|
|
495
|
+
getPageDescription: () => Promise<AXPMultiLanguageString | null>;
|
|
496
|
+
getBackButton: () => Promise<AXPBackButton | null>;
|
|
497
|
+
getPageBadge: () => Promise<AXPBadge | null>;
|
|
498
|
+
getPageStatus: () => Promise<AXPPageStatus | null>;
|
|
497
499
|
primaryActions: () => Promise<any>;
|
|
498
500
|
secondaryActions: () => Promise<any>;
|
|
499
501
|
breadcrumbs: () => Promise<{
|
|
500
|
-
title:
|
|
502
|
+
title: _acorex_core_translation.AXMultiLanguageString;
|
|
501
503
|
name?: string;
|
|
502
504
|
icon?: string;
|
|
503
505
|
command?: AXPExecuteCommand;
|
|
@@ -561,8 +563,6 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
561
563
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
562
564
|
updateContext: (context: any) => void;
|
|
563
565
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
564
|
-
currentPageTitle: () => string | null;
|
|
565
|
-
currentPageDescription: () => string | null;
|
|
566
566
|
currentPagePrimaryActions: () => Promise<any>;
|
|
567
567
|
currentPageSecondaryActions: () => Promise<any>;
|
|
568
568
|
currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
@@ -572,13 +572,16 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
572
572
|
getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
573
573
|
getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
574
574
|
clearPageTabCache: (pageId: string) => void;
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
575
|
+
backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
|
|
576
|
+
getPageTitle: () => Promise<AXPMultiLanguageString>;
|
|
577
|
+
getPageDescription: () => Promise<AXPMultiLanguageString | null>;
|
|
578
|
+
getBackButton: () => Promise<AXPBackButton | null>;
|
|
579
|
+
getPageBadge: () => Promise<AXPBadge | null>;
|
|
580
|
+
getPageStatus: () => Promise<AXPPageStatus | null>;
|
|
578
581
|
primaryActions: () => Promise<any>;
|
|
579
582
|
secondaryActions: () => Promise<any>;
|
|
580
583
|
breadcrumbs: () => Promise<{
|
|
581
|
-
title:
|
|
584
|
+
title: _acorex_core_translation.AXMultiLanguageString;
|
|
582
585
|
name?: string;
|
|
583
586
|
icon?: string;
|
|
584
587
|
command?: AXPExecuteCommand;
|
|
@@ -607,7 +610,6 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
607
610
|
protected route: ActivatedRoute;
|
|
608
611
|
protected eventService: AXPBroadcastEventService;
|
|
609
612
|
protected deviceService: AXPDeviceService;
|
|
610
|
-
private settingsService;
|
|
611
613
|
private onSelectionChangeSubscription?;
|
|
612
614
|
private readonly destroyed$;
|
|
613
615
|
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
@@ -634,8 +636,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
634
636
|
getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
635
637
|
protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
|
|
636
638
|
protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
|
|
637
|
-
protected getPageTitle(): Promise<
|
|
638
|
-
getPageDescription(): Promise<
|
|
639
|
+
protected getPageTitle(): Promise<AXPMultiLanguageString>;
|
|
640
|
+
getPageDescription(): Promise<AXPMultiLanguageString | null>;
|
|
639
641
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
640
642
|
getPageBadge(): Promise<AXPBadge | null>;
|
|
641
643
|
getPageStatus(): Promise<AXPPageStatus | null>;
|
|
@@ -3,7 +3,7 @@ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef
|
|
|
3
3
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
4
4
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
5
5
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
6
|
-
import { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
6
|
+
import { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextChangeEvent, AXPExpressionEvaluatorService, AXPProperty } from '@acorex/platform/core';
|
|
7
7
|
import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
|
|
8
8
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
9
9
|
import { AXDataTableColumnComponent } from '@acorex/components/data-table';
|
|
@@ -189,16 +189,6 @@ interface AXPWidgetTypesMap {
|
|
|
189
189
|
betweenValidation: 'between-validation';
|
|
190
190
|
equalValidation: 'equal-validation';
|
|
191
191
|
callbackValidation: 'callback-validation';
|
|
192
|
-
donutChart: 'donut-chart';
|
|
193
|
-
barChart: 'bar-chart';
|
|
194
|
-
lineChart: 'line-chart';
|
|
195
|
-
gaugeChart: 'gauge-chart';
|
|
196
|
-
stickyNote: 'sticky-note';
|
|
197
|
-
clockCalendar: 'clock-calendar';
|
|
198
|
-
analogClock: 'analog-clock';
|
|
199
|
-
weather: 'weather';
|
|
200
|
-
minimalWeather: 'minimal-weather';
|
|
201
|
-
advancedWeather: 'advanced-weather';
|
|
202
192
|
metaData: 'meta-data-editor';
|
|
203
193
|
templateEditor: 'template-box-editor';
|
|
204
194
|
templateContentEditor: 'template-content-editor';
|
|
@@ -212,7 +202,6 @@ interface AXPWidgetTypesMap {
|
|
|
212
202
|
themeColorChooser: 'theme-color-chooser';
|
|
213
203
|
panel: 'panel';
|
|
214
204
|
notification: 'notification';
|
|
215
|
-
taskBoard: 'task-board';
|
|
216
205
|
comment: 'comment';
|
|
217
206
|
list: 'list-editor';
|
|
218
207
|
dataList: 'data-list';
|
|
@@ -1070,6 +1059,33 @@ interface AXPMetaDataDefinition {
|
|
|
1070
1059
|
|
|
1071
1060
|
declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
|
|
1072
1061
|
|
|
1062
|
+
/**
|
|
1063
|
+
* Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
|
|
1064
|
+
* Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
|
|
1065
|
+
*/
|
|
1066
|
+
interface MapAXPPropertyToWidgetPropertyOptions {
|
|
1067
|
+
group: AXPWidgetPropertyGroup;
|
|
1068
|
+
order: number;
|
|
1069
|
+
/**
|
|
1070
|
+
* Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
|
|
1071
|
+
* Example: `input` → `input.requestId`; `properties` → `properties.message`.
|
|
1072
|
+
*/
|
|
1073
|
+
valuePathPrefix: string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Resolves a display title (supports multi-language strings on the source property).
|
|
1076
|
+
*/
|
|
1077
|
+
resolveTitle: (property: AXPProperty) => string;
|
|
1078
|
+
/**
|
|
1079
|
+
* Optional description line for the viewer row.
|
|
1080
|
+
*/
|
|
1081
|
+
resolveDescription?: (property: AXPProperty) => string | undefined;
|
|
1082
|
+
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
|
|
1085
|
+
* the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
|
|
1086
|
+
*/
|
|
1087
|
+
declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
|
|
1088
|
+
|
|
1073
1089
|
/**
|
|
1074
1090
|
* True when the widget declares the AI category (see {@link AXP_WIDGETS_AI_CATEGORY}).
|
|
1075
1091
|
*/
|
|
@@ -1082,5 +1098,5 @@ declare function hasAiWidgetCategory(config: AXPWidgetConfig): boolean;
|
|
|
1082
1098
|
*/
|
|
1083
1099
|
declare function isWidgetAiCatalogIncluded(config: AXPWidgetConfig): boolean;
|
|
1084
1100
|
|
|
1085
|
-
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, hasAiWidgetCategory, isWidgetAiCatalogIncluded, normalizeWidgetCategories };
|
|
1086
|
-
export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetAiCatalogMode, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType };
|
|
1101
|
+
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, hasAiWidgetCategory, isWidgetAiCatalogIncluded, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
|
|
1102
|
+
export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetAiCatalogMode, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
|
|
@@ -5,7 +5,7 @@ import { OnInit, WritableSignal, InjectionToken, EventEmitter, Signal, OnDestroy
|
|
|
5
5
|
import { AXValueChangedEvent, AXDataSourceFilterOption, AXStyleColorType, AXClickEvent, AXStyleLookType, AXDataSource, AXDirection, AXButtonClickEvent } from '@acorex/cdk/common';
|
|
6
6
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
7
7
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
8
|
-
import { AXPDeviceService, AXPContextChangeEvent, AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPTag, AXPFileListItem, AXPExpressionEvaluatorService, AXPExecuteCommandResult,
|
|
8
|
+
import { AXPDeviceService, AXPContextChangeEvent, AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPTag, AXPFileListItem, AXPExpressionEvaluatorService, AXPExecuteCommandResult, AXPActionMenuItem, AXPDataSourceDefinition } from '@acorex/platform/core';
|
|
9
9
|
import { AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
10
10
|
import { AXPClipBoardService, AXPLanguage, AXCFileUploaderCapabilities, AXCFileUploaderAction, AXPStatusDefinition, AXPStatusTransition, AXPStatusProvider } from '@acorex/platform/common';
|
|
11
11
|
import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
|
|
@@ -27,6 +27,7 @@ import { AXQrcodeLevel, AXQrcodeOutputType } from '@acorex/components/qrcode';
|
|
|
27
27
|
import { AXSchedulerPickerValue, AXSchedulerPickerSettings } from '@acorex/components/scheduler-picker';
|
|
28
28
|
import { AXPaintContainerComponent, AXPaintViewComponent } from '@acorex/components/paint';
|
|
29
29
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
30
|
+
import * as _acorex_core_translation from '@acorex/core/translation';
|
|
30
31
|
import { AXGridLayoutOptions, AXGridLayoutNode } from '@acorex/components/grid-layout-builder';
|
|
31
32
|
import * as _acorex_platform_layout_widgets from '@acorex/platform/layout/widgets';
|
|
32
33
|
import { AXStepWizardComponent } from '@acorex/components/step-wizard';
|
|
@@ -1183,7 +1184,6 @@ declare class AXPLargeTextWidgetEditComponent extends AXPValueWidgetComponent<st
|
|
|
1183
1184
|
protected rows: _angular_core.Signal<number>;
|
|
1184
1185
|
private popupService;
|
|
1185
1186
|
private translationService;
|
|
1186
|
-
private readonly mlResolver;
|
|
1187
1187
|
private readonly currentLanguage;
|
|
1188
1188
|
ngOnInit(): void;
|
|
1189
1189
|
handleValueChange(e: AXValueChangedEvent): void;
|
|
@@ -1582,7 +1582,6 @@ declare class AXPRichTextWidgetEditComponent extends AXPValueWidgetComponent<str
|
|
|
1582
1582
|
protected onWysiwygChanged(e: AXValueChangedEvent<string>): void;
|
|
1583
1583
|
private popupService;
|
|
1584
1584
|
private translationService;
|
|
1585
|
-
private readonly mlResolver;
|
|
1586
1585
|
currentLanguage: _angular_core.Signal<string>;
|
|
1587
1586
|
ngOnInit(): void;
|
|
1588
1587
|
protected getCurrentText: _angular_core.Signal<string>;
|
|
@@ -2003,7 +2002,6 @@ declare class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent<s
|
|
|
2003
2002
|
declare class AXPTextBoxWidgetEditComponent extends AXPValueWidgetComponent<string | Record<string, string> | undefined> {
|
|
2004
2003
|
private popupService;
|
|
2005
2004
|
private translationService;
|
|
2006
|
-
private readonly mlResolver;
|
|
2007
2005
|
protected multiLanguage: _angular_core.Signal<boolean>;
|
|
2008
2006
|
protected hasClearButton: _angular_core.Signal<boolean>;
|
|
2009
2007
|
protected disabled: _angular_core.Signal<boolean>;
|
|
@@ -2542,7 +2540,7 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
|
2542
2540
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileListComponent, "axp-file-list", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fileEditable": { "alias": "fileEditable"; "required": false; "isSignal": true; }; "enableTitleDescription": { "alias": "enableTitleDescription"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "excludePlugins": { "alias": "excludePlugins"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; "onRevert": "onRevert"; "onRename": "onRename"; }, never, never, true, never>;
|
|
2543
2541
|
}
|
|
2544
2542
|
|
|
2545
|
-
declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<
|
|
2543
|
+
declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<AXPFileListItem[]> {
|
|
2546
2544
|
protected count: _angular_core.Signal<number>;
|
|
2547
2545
|
private fileService;
|
|
2548
2546
|
openFileList(): Promise<void>;
|
|
@@ -2667,7 +2665,7 @@ declare class AXPFileUploaderWidgetService {
|
|
|
2667
2665
|
private popupService;
|
|
2668
2666
|
private translate;
|
|
2669
2667
|
showFileList(options?: {
|
|
2670
|
-
files?: AXPFileListItem[]
|
|
2668
|
+
files?: AXPFileListItem[];
|
|
2671
2669
|
/** When true, user cannot add or change files (matches file-uploader widget options). */
|
|
2672
2670
|
'readonly'?: boolean;
|
|
2673
2671
|
multiple?: boolean;
|
|
@@ -3281,6 +3279,10 @@ declare class AXPStatusWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3281
3279
|
private providerSignal;
|
|
3282
3280
|
private loadProvider;
|
|
3283
3281
|
protected definitionKey: _angular_core.Signal<string | null>;
|
|
3282
|
+
/**
|
|
3283
|
+
* When true, the grid cell is display-only (no transition popover). Default false preserves existing grids.
|
|
3284
|
+
*/
|
|
3285
|
+
protected columnReadonly: _angular_core.Signal<boolean>;
|
|
3284
3286
|
protected entityData: _angular_core.Signal<Record<string, any> | null>;
|
|
3285
3287
|
private readonly resolvedStatuses;
|
|
3286
3288
|
private readonly resolvedTransitions;
|
|
@@ -3302,6 +3304,8 @@ declare class AXPStatusWidgetEditComponent extends AXPValueWidgetComponent<any |
|
|
|
3302
3304
|
protected statusChip: _angular_core.Signal<AXPStatusChipComponent | undefined>;
|
|
3303
3305
|
private readonly statusService;
|
|
3304
3306
|
protected definitionKey: _angular_core.Signal<string | null>;
|
|
3307
|
+
/** When true, the chip is display-only (no transition popover). Set via interface options. */
|
|
3308
|
+
protected isReadonly: _angular_core.Signal<boolean>;
|
|
3305
3309
|
protected providerSignal: _angular_core.WritableSignal<AXPStatusProvider | undefined>;
|
|
3306
3310
|
protected statuses: _angular_core.Signal<AXPStatusDefinition[]>;
|
|
3307
3311
|
protected transitions: _angular_core.Signal<AXPStatusTransition[]>;
|
|
@@ -3334,6 +3338,8 @@ declare class AXPStatusWidgetViewComponent extends AXPDataListWidgetComponent {
|
|
|
3334
3338
|
protected statusChip: _angular_core.Signal<AXPStatusChipComponent | undefined>;
|
|
3335
3339
|
private readonly statusService;
|
|
3336
3340
|
protected definitionKey: _angular_core.Signal<string | null>;
|
|
3341
|
+
/** When true, the chip is display-only (no transition popover). Set via interface options. */
|
|
3342
|
+
protected isReadonly: _angular_core.Signal<boolean>;
|
|
3337
3343
|
private providerSignal;
|
|
3338
3344
|
private resolvedStatuses;
|
|
3339
3345
|
private resolvedTransitions;
|
|
@@ -3439,7 +3445,7 @@ declare const AXPWidgetFieldConfiguratorWidget: AXPWidgetConfig;
|
|
|
3439
3445
|
declare class AXPWidgetFieldConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {
|
|
3440
3446
|
protected readonly: _angular_core.Signal<boolean>;
|
|
3441
3447
|
protected fieldName: _angular_core.Signal<string>;
|
|
3442
|
-
protected fieldTitle: _angular_core.Signal<
|
|
3448
|
+
protected fieldTitle: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3443
3449
|
protected label: _angular_core.Signal<string>;
|
|
3444
3450
|
protected isInitialized: _angular_core.WritableSignal<boolean>;
|
|
3445
3451
|
protected widgetConfigModel: _angular_core.ModelSignal<AXPWidgetNode>;
|
|
@@ -3785,8 +3791,8 @@ interface AXPBlockWidgetOptions {
|
|
|
3785
3791
|
}
|
|
3786
3792
|
|
|
3787
3793
|
declare class AXPFieldsetWidgetDesignerComponent extends AXPLayoutBaseWidgetComponent {
|
|
3788
|
-
protected title: _angular_core.Signal<
|
|
3789
|
-
protected description: _angular_core.Signal<
|
|
3794
|
+
protected title: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3795
|
+
protected description: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3790
3796
|
protected icon: _angular_core.Signal<string>;
|
|
3791
3797
|
protected collapsible: _angular_core.Signal<boolean>;
|
|
3792
3798
|
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -3801,8 +3807,8 @@ declare class AXPFieldsetWidgetDesignerComponent extends AXPLayoutBaseWidgetComp
|
|
|
3801
3807
|
type AXPFieldsetWidgetLook = 'fieldset' | 'card' | 'group' | 'container';
|
|
3802
3808
|
|
|
3803
3809
|
declare class AXPFieldsetWidgetViewComponent extends AXPLayoutBaseWidgetComponent {
|
|
3804
|
-
protected title: _angular_core.Signal<
|
|
3805
|
-
protected description: _angular_core.Signal<
|
|
3810
|
+
protected title: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3811
|
+
protected description: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3806
3812
|
protected icon: _angular_core.Signal<string>;
|
|
3807
3813
|
protected collapsible: _angular_core.Signal<boolean>;
|
|
3808
3814
|
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -154,6 +154,7 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
|
|
|
154
154
|
protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
|
|
155
155
|
private queryParamSub?;
|
|
156
156
|
private initializedFromRoute;
|
|
157
|
+
private lastEvaluatedViewName;
|
|
157
158
|
constructor(platform: AXPlatform);
|
|
158
159
|
ngOnInit(): Promise<void>;
|
|
159
160
|
ngAfterViewInit(): Promise<void>;
|
|
@@ -2,8 +2,7 @@ import * as rxjs from 'rxjs';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Type, ModuleWithProviders, Injector, InjectionToken } from '@angular/core';
|
|
5
|
-
import {
|
|
6
|
-
import { AXPWidgetTypesMap } from '@acorex/platform/layout/widget-core';
|
|
5
|
+
import { AXPProperty, AXPOptionsData, AXPMetaData, AXPEntityOp, AXPMultiLanguageString, AXPCategoryEntity, AXPExpressionEvaluatorScope } from '@acorex/platform/core';
|
|
7
6
|
|
|
8
7
|
declare class AXPWorkflowError extends Error {
|
|
9
8
|
inner: Error | null;
|
|
@@ -147,13 +146,13 @@ declare class AXPWorkflowService {
|
|
|
147
146
|
}
|
|
148
147
|
|
|
149
148
|
interface AXPWorkflowDefinition {
|
|
150
|
-
schemaVersion:
|
|
149
|
+
schemaVersion: 'acorex-platform-workflow/v1';
|
|
151
150
|
name: string;
|
|
152
|
-
title?:
|
|
153
|
-
description?:
|
|
154
|
-
variables?:
|
|
155
|
-
inputs?:
|
|
156
|
-
outputs?:
|
|
151
|
+
title?: AXPMultiLanguageString | null;
|
|
152
|
+
description?: AXPMultiLanguageString | null;
|
|
153
|
+
variables?: AXPProperty[];
|
|
154
|
+
inputs?: AXPProperty[];
|
|
155
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
157
156
|
graph: AXPWorkflowGraph;
|
|
158
157
|
customProperties?: Record<string, any>;
|
|
159
158
|
/** engine specific (Elsa, ...) */
|
|
@@ -195,17 +194,17 @@ interface AXPWorkflowActivityInstance {
|
|
|
195
194
|
name: string;
|
|
196
195
|
/**
|
|
197
196
|
* Input values for this activity instance.
|
|
198
|
-
* Key-value pairs where keys match
|
|
197
|
+
* Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs
|
|
199
198
|
* Example: { "message": "Hello", "duration": 5000 }
|
|
200
199
|
*/
|
|
201
|
-
inputs?:
|
|
200
|
+
inputs?: AXPOptionsData;
|
|
202
201
|
/**
|
|
203
202
|
* Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).
|
|
204
203
|
* When this activity completes, each entry sets variables[variableName] = output[outputPath].
|
|
205
204
|
* Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id
|
|
206
205
|
*/
|
|
207
|
-
outputToVariables?:
|
|
208
|
-
metadata?:
|
|
206
|
+
outputToVariables?: AXPOptionsData;
|
|
207
|
+
metadata?: AXPMetaData;
|
|
209
208
|
/** engine-specific override */
|
|
210
209
|
extensions?: Record<string, any>;
|
|
211
210
|
}
|
|
@@ -223,36 +222,10 @@ interface AXPConnection {
|
|
|
223
222
|
y: number;
|
|
224
223
|
}>;
|
|
225
224
|
}
|
|
226
|
-
interface AXPWorkflowPropertyWidget {
|
|
227
|
-
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
228
|
-
options?: Record<string, any>;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Base schema shape for workflow inputs, outputs, and variables.
|
|
232
|
-
*/
|
|
233
|
-
interface AXPWorkflowDescriptorSchemaBase {
|
|
234
|
-
dataType: string;
|
|
235
|
-
isArray?: boolean;
|
|
236
|
-
nullable?: boolean;
|
|
237
|
-
readonly?: boolean;
|
|
238
|
-
hidden?: boolean | string;
|
|
239
|
-
defaultValue?: any | string | ((context: any | null) => any);
|
|
240
|
-
interface: AXPWorkflowPropertyWidget;
|
|
241
|
-
}
|
|
242
225
|
/**
|
|
243
|
-
*
|
|
244
|
-
* Shared fields: name, title, description, schema.
|
|
226
|
+
* Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.
|
|
245
227
|
*/
|
|
246
|
-
interface
|
|
247
|
-
name: string;
|
|
248
|
-
title: string;
|
|
249
|
-
description?: string;
|
|
250
|
-
schema: AXPWorkflowDescriptorSchemaBase;
|
|
251
|
-
}
|
|
252
|
-
interface AXPWorkflowInputDescriptor extends AXPWorkflowDescriptorBase {
|
|
253
|
-
validations?: AXPValidationRules;
|
|
254
|
-
}
|
|
255
|
-
interface AXPWorkflowOutputDescriptor extends AXPWorkflowDescriptorBase {
|
|
228
|
+
interface AXPWorkflowOutputProperty extends AXPProperty {
|
|
256
229
|
/**
|
|
257
230
|
* Optional: where this output comes from in your context/memory.
|
|
258
231
|
* Example: "$.result.orderId" or "vars.orderId"
|
|
@@ -260,8 +233,6 @@ interface AXPWorkflowOutputDescriptor extends AXPWorkflowDescriptorBase {
|
|
|
260
233
|
path?: string;
|
|
261
234
|
metadata?: Record<string, any>;
|
|
262
235
|
}
|
|
263
|
-
interface AXPVariableDefinition extends AXPWorkflowDescriptorBase {
|
|
264
|
-
}
|
|
265
236
|
/**
|
|
266
237
|
* Engine-specific extension bag for a workflow.
|
|
267
238
|
* Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).
|
|
@@ -743,13 +714,13 @@ interface AXPActivityDefinition {
|
|
|
743
714
|
*/
|
|
744
715
|
type: string;
|
|
745
716
|
/**
|
|
746
|
-
* Display name for UI.
|
|
717
|
+
* Display name for UI (plain or per-locale map).
|
|
747
718
|
*/
|
|
748
|
-
title?:
|
|
719
|
+
title?: AXPMultiLanguageString;
|
|
749
720
|
/**
|
|
750
|
-
* Description of what the activity does.
|
|
721
|
+
* Description of what the activity does (plain or per-locale map).
|
|
751
722
|
*/
|
|
752
|
-
description?:
|
|
723
|
+
description?: AXPMultiLanguageString;
|
|
753
724
|
/**
|
|
754
725
|
* Category for grouping in toolbox.
|
|
755
726
|
*/
|
|
@@ -777,13 +748,13 @@ interface AXPActivityDefinition {
|
|
|
777
748
|
*/
|
|
778
749
|
taskType?: AXPTaskType;
|
|
779
750
|
/**
|
|
780
|
-
* Input
|
|
751
|
+
* Input properties (form/schema for activity parameters).
|
|
781
752
|
*/
|
|
782
|
-
inputs?:
|
|
753
|
+
inputs?: AXPProperty[];
|
|
783
754
|
/**
|
|
784
|
-
* Output
|
|
755
|
+
* Output properties (result shape + optional path/metadata).
|
|
785
756
|
*/
|
|
786
|
-
outputs?:
|
|
757
|
+
outputs?: AXPWorkflowOutputProperty[];
|
|
787
758
|
/**
|
|
788
759
|
* Static outcomes (exit points).
|
|
789
760
|
* Example: ['Done', 'Success', 'Failed']
|
|
@@ -1424,6 +1395,7 @@ declare class AXPWorkflowManager {
|
|
|
1424
1395
|
declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
1425
1396
|
private readonly activityDefinitionService;
|
|
1426
1397
|
private readonly workflowProviders;
|
|
1398
|
+
private readonly multiLanguageResolver;
|
|
1427
1399
|
/**
|
|
1428
1400
|
* In-memory storage for workflow instances.
|
|
1429
1401
|
* Key: instanceId
|
|
@@ -1508,6 +1480,7 @@ declare class ActivityExecutor {
|
|
|
1508
1480
|
private readonly commandService;
|
|
1509
1481
|
private readonly expressionEvaluator;
|
|
1510
1482
|
private readonly expressionScopeService;
|
|
1483
|
+
private readonly translateService;
|
|
1511
1484
|
/**
|
|
1512
1485
|
* Execute a workflow activity with expression evaluation.
|
|
1513
1486
|
*
|
|
@@ -1520,6 +1493,10 @@ declare class ActivityExecutor {
|
|
|
1520
1493
|
* @returns Execution result with output and outcome
|
|
1521
1494
|
*/
|
|
1522
1495
|
execute(task: AXPWorkflowTask, workflowState?: AXPWorkflowInstanceState, activityOutputs?: Map<string, any> | Record<string, any>): Promise<ActivityExecutionResult>;
|
|
1496
|
+
/**
|
|
1497
|
+
* Resolves command failure message text for workflow output: `@` keys via translate, MLS maps via resolve.
|
|
1498
|
+
*/
|
|
1499
|
+
private resolveCommandMessageTextForError;
|
|
1523
1500
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActivityExecutor, never>;
|
|
1524
1501
|
static ɵprov: i0.ɵɵInjectableDeclaration<ActivityExecutor>;
|
|
1525
1502
|
}
|
|
@@ -1803,4 +1780,4 @@ declare class AXPWorkflowDefinitionService {
|
|
|
1803
1780
|
}
|
|
1804
1781
|
|
|
1805
1782
|
export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, ActivityExecutor, WorkflowExpressionScopeService, createWorkFlowEvent, ofType };
|
|
1806
|
-
export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType,
|
|
1783
|
+
export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/advance/file-uploader/file-list-popup/file-list-popup.component.ts","../../../../libs/platform/layout/widgets/src/lib/widgets/advance/file-uploader/file-list-popup/file-list-popup.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPContextChangeEvent, AXPFileListItem } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { AXPWidgetCoreModule, AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport { AXPFileStorageService } from '@acorex/platform/common';\n\n@Component({\n imports: [\n CommonModule,\n //\n AXLabelModule,\n AXCheckBoxModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n //\n AXPWidgetCoreModule\n ],\n templateUrl: './file-list-popup.component.html',\n})\nexport class AXPFileListPopupComponent extends AXBasePageComponent {\n\n private fileService = inject(AXPFileStorageService);\n\n //#region ---- Component Properties ----\n\n files = input<AXPFileListItem[] | string[]>([]);\n /**\n * When true, same as file-uploader `options.readonly` (no add/upload, list actions download-only).\n * Use property name `isReadonly` in popup `data` so host/popup binding resolves the input.\n */\n isReadonly = input<boolean>(false);\n multiple = input<boolean>(false);\n fileEditable = input<boolean>(true);\n accept = input<string>('*');\n maxFileSize = input<number>(1024 * 1024 * 100);\n /** Same as widget plugins (e.g. document) so hooks/actions run in popup too. */\n plugins = input<{ name: string; options?: unknown }[]>([]);\n excludePlugins = input<string[]>([]);\n /** When true, file edit dialog shows name, title and description fields. Default false. */\n enableTitleDescription = input<boolean>(false);\n /** When true, show edit dialog (name/title/description + plugin hooks) after file select. Default false. */\n showEditDialogAfterSelect = input<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Always render the edit widget so `options` (readonly, plugins, enableTitleDescription, …) match the entity form.\n * Readonly behavior comes from `node.options.readonly`, not from view mode.\n */\n protected mode = computed(() => 'edit' as const);\n\n //#endregion\n\n //#region ---- Context & Node Management ----\n\n protected context = linkedSignal<{}>(() => ({\n }));\n\n protected onContextChanged(event: AXPContextChangeEvent) {\n this.context.set(event.data);\n }\n\n /** Resolves input that may be a signal (input()) or a raw value when popup injects data. */\n private resolveInput<T>(value: (() => T) | T, fallback: T): T {\n return typeof value === 'function' ? (value as () => T)() : (value ?? fallback);\n }\n\n protected node = computed<AXPWidgetNode>(() => ({\n type: 'file-uploader',\n path: 'files',\n defaultValue: Array.isArray(this.files()) && typeof this.files()[0] !== 'string' ? this.files() : [],\n options: {\n readonly: this.isReadonly(),\n multiple: this.multiple(),\n accept: this.accept(),\n maxFileSize: this.maxFileSize(),\n fileEditable: this.fileEditable(),\n plugins: this.resolveInput(this.plugins, []),\n excludePlugins: this.resolveInput(this.excludePlugins, []),\n enableTitleDescription: this.enableTitleDescription(),\n showEditDialogAfterSelect: this.resolveInput(this.showEditDialogAfterSelect(), false),\n },\n }));\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n protected override async ngOnInit(): Promise<void> {\n if (Array.isArray(this.files()) && typeof this.files()[0] === 'string') {\n this.isLoading = true;\n // Convert string file IDs to AXPFileListItem objects using batch API\n const prefixedIds = this.files() as string[];\n const actualIds = prefixedIds.map((id) => this.removeFilePrefix(id));\n let fileItems: AXPFileListItem[] = [];\n try {\n const infos = await this.fileService.findMany(actualIds);\n const infoMap = new Map(infos.map((i) => [i.fileId, i]));\n fileItems = prefixedIds.map((prefixedId) => {\n const actualId = this.removeFilePrefix(prefixedId);\n const info = infoMap.get(actualId);\n if (info) {\n return {\n id: info.fileId,\n name: info.name || '',\n size: info.size,\n status: 'uploaded',\n source: {\n kind: 'fileId',\n value: info.fileId,\n },\n } as AXPFileListItem;\n }\n return {\n id: actualId,\n name: 'Unknown File',\n size: 0,\n status: 'deleted',\n source: { kind: 'none', value: '' },\n } as AXPFileListItem;\n });\n } catch (error) {\n console.error('Failed to get file infos', error);\n fileItems = prefixedIds.map((prefixedId) => ({\n id: this.removeFilePrefix(prefixedId),\n name: 'Unknown File',\n size: 0,\n status: 'deleted',\n source: { kind: 'none', value: '' },\n } as AXPFileListItem));\n }\n\n this.isLoading = false;\n // Update the context with the converted file items\n this.context.set({ files: fileItems });\n }\n }\n\n protected removeFilePrefix(fileId: string): string {\n return fileId.startsWith('file:') ? fileId.substring(5) : fileId;\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n apply() {\n this.close({\n data: this.context(),\n });\n }\n\n //#endregion\n\n}\n","<div class=\"ax-p-2\">\n <axp-widgets-container [context]=\"context()\" (onContextChanged)=\"onContextChanged($event)\">\n <ng-container axp-widget-renderer [node]=\"node()\" [mode]=\"mode()\"></ng-container>\n </axp-widgets-container>\n</div>\n<ax-footer>\n <ax-suffix>\n @if (isReadonly()) {\n <ax-button [text]=\"'@general:actions.close.title' | translate | async\" (click)=\"close()\"></ax-button>\n } @else {\n <ax-button [text]=\"'@general:actions.discard.title' | translate | async\" (click)=\"close()\"></ax-button>\n <ax-button\n [text]=\"'@general:actions.apply.title' | translate | async\"\n (click)=\"apply()\"\n [color]=\"'primary'\"\n ></ax-button>\n }\n </ax-suffix>\n</ax-footer>\n"],"names":["i1","i3","i4","i5"],"mappings":"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"}
|