@acorex/platform 21.0.0-next.37 → 21.0.0-next.40
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 +25 -3
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +18 -172
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +3 -0
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +29 -13
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +62 -40
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +209 -62
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1072 -358
- 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 +170 -63
- 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 +720 -415
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +120 -9
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs → acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +26 -14
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs} +38 -16
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +183 -84
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +75 -15
- 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 +67 -101
- package/types/acorex-platform-domain.d.ts +28 -2
- package/types/acorex-platform-layout-builder.d.ts +41 -28
- package/types/acorex-platform-layout-components.d.ts +4 -3
- package/types/acorex-platform-layout-designer.d.ts +56 -16
- package/types/acorex-platform-layout-entity.d.ts +180 -40
- package/types/acorex-platform-layout-views.d.ts +31 -29
- package/types/acorex-platform-layout-widget-core.d.ts +81 -52
- package/types/acorex-platform-layout-widgets.d.ts +42 -16
- package/types/acorex-platform-runtime.d.ts +156 -61
- package/types/acorex-platform-themes-default.d.ts +1 -0
- package/types/acorex-platform-workflow.d.ts +64 -52
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +0 -1
|
@@ -1,69 +1,89 @@
|
|
|
1
|
-
import { AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
|
|
1
|
+
import { AXPDefinitionCategory, AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, EnvironmentProviders, Type, Provider } from '@angular/core';
|
|
4
4
|
import { AXComponent } from '@acorex/cdk/common';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Shared build-time metadata
|
|
8
|
-
*
|
|
7
|
+
* Shared build-time catalog metadata for command, query, and widget definition sidecars
|
|
8
|
+
* (`defineCommand`, `defineQuery`, `defineWidget`).
|
|
9
|
+
* Lives under `shared/` so consumers import one module without a "command" prefix on generic shapes.
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
/** Catalog metadata validation: rule key + optional rule options only. */
|
|
13
|
+
interface AXPCatalogValidationRuleValue {
|
|
12
14
|
rule: string;
|
|
13
15
|
options?: Record<string, unknown>;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Widget/interface reference for a schema property (name + optional widget options).
|
|
17
19
|
*/
|
|
18
|
-
interface
|
|
20
|
+
interface AXPCatalogInterfaceDefinitionValue {
|
|
19
21
|
name: string;
|
|
20
22
|
options?: Record<string, unknown>;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Agent-facing hints when a single catalog row can be satisfied in several ways
|
|
26
|
+
* (inline list, registry-backed dataSource key, query + assign, tabular columns, context merge, etc.).
|
|
27
|
+
* Documentation only; tooling may surface this next to `description` and `interface`.
|
|
28
|
+
*/
|
|
29
|
+
interface AXPCatalogPropertyBindingHints {
|
|
30
|
+
/** Named strategies the agent or author may use to supply this parameter. */
|
|
31
|
+
strategies?: readonly string[];
|
|
32
|
+
/** Short concrete examples (strings or JSON fragments as documentation, not executed). */
|
|
33
|
+
examples?: readonly string[];
|
|
34
|
+
/** Extra notes: merge rules, mode flags, registry keys, or when to prefer one strategy over another. */
|
|
35
|
+
notes?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* One input/output property description (same structural role as entity option definitions).
|
|
24
39
|
*/
|
|
25
|
-
interface
|
|
40
|
+
interface AXPCatalogSchemaPropertyDefinition {
|
|
26
41
|
name: string;
|
|
27
42
|
title: string;
|
|
28
43
|
description?: string;
|
|
29
44
|
icon?: string;
|
|
30
45
|
defaultValue?: unknown;
|
|
31
46
|
disabled?: boolean;
|
|
32
|
-
interface:
|
|
33
|
-
validations?:
|
|
47
|
+
interface: AXPCatalogInterfaceDefinitionValue;
|
|
48
|
+
validations?: AXPCatalogValidationRuleValue[];
|
|
49
|
+
/**
|
|
50
|
+
* Optional multi-strategy binding documentation for AI and codegen (commands, queries, widget sidecars).
|
|
51
|
+
* Prefer this over inventing a non-form `interface.name` that is not part of the AI-facing widget catalog.
|
|
52
|
+
*/
|
|
53
|
+
bindingHints?: AXPCatalogPropertyBindingHints;
|
|
34
54
|
}
|
|
35
55
|
/** Structured usage hints for planners and assistants (prefer over duplicating rules only in `description`). */
|
|
36
|
-
interface
|
|
56
|
+
interface AXPCatalogAiUsageMetadata {
|
|
37
57
|
whenToUse?: string[];
|
|
38
58
|
avoidWhen?: string[];
|
|
39
|
-
/** Registry keys or tool names that commonly follow this
|
|
59
|
+
/** Registry keys or tool names that commonly follow this catalog entry. */
|
|
40
60
|
followUpTools?: string[];
|
|
41
61
|
}
|
|
42
|
-
/** Declarative contracts: what the
|
|
43
|
-
interface
|
|
62
|
+
/** Declarative contracts: what the entry provides, who depends on it, and guarantees. */
|
|
63
|
+
interface AXPCatalogAiContractsMetadata {
|
|
44
64
|
provides?: string[];
|
|
45
65
|
requiredBy?: string[];
|
|
46
66
|
guarantees?: string[];
|
|
47
67
|
}
|
|
48
|
-
type
|
|
49
|
-
interface
|
|
50
|
-
kind?:
|
|
68
|
+
type AXPCatalogAiSafetyKind = 'read-only' | 'mutating';
|
|
69
|
+
interface AXPCatalogAiSafetyMetadata {
|
|
70
|
+
kind?: AXPCatalogAiSafetyKind;
|
|
51
71
|
sideEffects?: boolean;
|
|
52
72
|
requiresConfirmation?: boolean;
|
|
53
73
|
}
|
|
54
|
-
type
|
|
55
|
-
interface
|
|
56
|
-
cost?:
|
|
74
|
+
type AXPCatalogAiPerformanceCost = 'low' | 'medium' | 'high';
|
|
75
|
+
interface AXPCatalogAiPerformanceMetadata {
|
|
76
|
+
cost?: AXPCatalogAiPerformanceCost;
|
|
57
77
|
cacheable?: boolean;
|
|
58
78
|
}
|
|
59
|
-
interface
|
|
79
|
+
interface AXPCatalogAiNextStepMetadata {
|
|
60
80
|
when: string;
|
|
61
81
|
action: string;
|
|
62
82
|
}
|
|
63
83
|
/**
|
|
64
|
-
* How to interpret a successful payload for agents (documentation only; not
|
|
84
|
+
* How to interpret a successful payload for agents (documentation only; not live workflow step outcomes).
|
|
65
85
|
*/
|
|
66
|
-
interface
|
|
86
|
+
interface AXPCatalogAiResultSemanticsMetadata {
|
|
67
87
|
noMatch?: string;
|
|
68
88
|
exactMatch?: string;
|
|
69
89
|
multipleMatches?: string;
|
|
@@ -71,18 +91,23 @@ interface AXPCommandAiResultSemanticsMetadata {
|
|
|
71
91
|
/** Full catalog listing (e.g. no entity filter). */
|
|
72
92
|
catalog?: string;
|
|
73
93
|
}
|
|
74
|
-
interface
|
|
94
|
+
interface AXPCatalogAiMetadata {
|
|
75
95
|
shortDescription?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Long-form guidance appended to LLM tool descriptions (not for short UI/registry copy).
|
|
98
|
+
* Keep root `description` concise for pickers and entity rows.
|
|
99
|
+
*/
|
|
100
|
+
instruction?: string;
|
|
76
101
|
tags?: string[];
|
|
77
|
-
usage?:
|
|
78
|
-
contracts?:
|
|
79
|
-
safety?:
|
|
80
|
-
performance?:
|
|
81
|
-
nextSteps?:
|
|
82
|
-
resultSemantics?:
|
|
102
|
+
usage?: AXPCatalogAiUsageMetadata;
|
|
103
|
+
contracts?: AXPCatalogAiContractsMetadata;
|
|
104
|
+
safety?: AXPCatalogAiSafetyMetadata;
|
|
105
|
+
performance?: AXPCatalogAiPerformanceMetadata;
|
|
106
|
+
nextSteps?: AXPCatalogAiNextStepMetadata[];
|
|
107
|
+
resultSemantics?: AXPCatalogAiResultSemanticsMetadata;
|
|
83
108
|
/**
|
|
84
109
|
* Default input fragment merged for AI/tool invocations (catalog & tooling).
|
|
85
|
-
* Runtime merge for a given
|
|
110
|
+
* Runtime merge for a given entry is applied in the AI module (not the generic command executor).
|
|
86
111
|
*/
|
|
87
112
|
toolInputDefaults?: Record<string, unknown>;
|
|
88
113
|
/**
|
|
@@ -92,12 +117,21 @@ interface AXPCommandAiMetadata {
|
|
|
92
117
|
*/
|
|
93
118
|
toolParametersSchema?: Record<string, unknown>;
|
|
94
119
|
}
|
|
95
|
-
type
|
|
120
|
+
type AXPCatalogExecutionMode = 'frontend' | 'backend' | 'both';
|
|
96
121
|
/**
|
|
97
|
-
* Where this
|
|
122
|
+
* Where this catalog entry is intended to appear in product tooling (AI agents, workflow automation pickers, etc.).
|
|
98
123
|
* Omitted = not declared here; runtimes may fall back to other metadata (e.g. `ai.tags`).
|
|
99
124
|
*/
|
|
100
|
-
type
|
|
125
|
+
type AXPCatalogCapability = 'ai' | 'workflow';
|
|
126
|
+
interface AXPCatalogMetadataDefinitionBase {
|
|
127
|
+
title: string;
|
|
128
|
+
description: string;
|
|
129
|
+
inputs?: AXPCatalogSchemaPropertyDefinition[];
|
|
130
|
+
outputs?: AXPCatalogSchemaPropertyDefinition[];
|
|
131
|
+
ai?: AXPCatalogAiMetadata;
|
|
132
|
+
capabilities?: AXPCatalogCapability[];
|
|
133
|
+
categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
|
|
134
|
+
}
|
|
101
135
|
|
|
102
136
|
/**
|
|
103
137
|
* Build-time command metadata for AXPCommand implementations.
|
|
@@ -106,6 +140,7 @@ type AXPCommandCapability = 'ai' | 'workflow';
|
|
|
106
140
|
* Do not import from Angular templates; sidecars may import `defineCommand` from `@acorex/platform/runtime`.
|
|
107
141
|
*
|
|
108
142
|
* Query metadata (fetch-only, no outcomes) is defined in `../queries/query-definition.types.ts` with `defineQuery`.
|
|
143
|
+
* Widget metadata sidecars use `../widgets/widget-definition.types.ts` with `defineWidget`.
|
|
109
144
|
*/
|
|
110
145
|
|
|
111
146
|
type AXPCommandOutcomeDefinition = {
|
|
@@ -117,20 +152,11 @@ type AXPCommandOutcomeDefinition = {
|
|
|
117
152
|
derivesFrom: string;
|
|
118
153
|
examples?: string[];
|
|
119
154
|
};
|
|
120
|
-
interface AXPCommandMetadataDefinition {
|
|
155
|
+
interface AXPCommandMetadataDefinition extends AXPCatalogMetadataDefinitionBase {
|
|
121
156
|
/** Runtime registration key (provideCommand / provideCommandSetups). */
|
|
122
157
|
key: string;
|
|
123
|
-
|
|
124
|
-
description: string;
|
|
125
|
-
executionMode: AXPCommandExecutionMode;
|
|
126
|
-
/** Input parameters as schema rows. */
|
|
127
|
-
inputs?: AXPCommandSchemaPropertyDefinition[];
|
|
128
|
-
/** Output shape as schema rows. */
|
|
129
|
-
outputs?: AXPCommandSchemaPropertyDefinition[];
|
|
158
|
+
executionMode: AXPCatalogExecutionMode;
|
|
130
159
|
outcomes: AXPCommandOutcomeDefinition;
|
|
131
|
-
ai?: AXPCommandAiMetadata;
|
|
132
|
-
/** Optional list of surfaces that may list or invoke this command as a tool/activity. */
|
|
133
|
-
capabilities?: AXPCommandCapability[];
|
|
134
160
|
}
|
|
135
161
|
|
|
136
162
|
/**
|
|
@@ -138,6 +164,24 @@ interface AXPCommandMetadataDefinition {
|
|
|
138
164
|
*/
|
|
139
165
|
declare function defineCommand<T extends AXPCommandMetadataDefinition>(definition: T): T;
|
|
140
166
|
|
|
167
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM: AXPDefinitionCategory;
|
|
168
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_ENTITY: AXPDefinitionCategory;
|
|
169
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_STORAGE: AXPDefinitionCategory;
|
|
170
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_WIDGETS: AXPDefinitionCategory;
|
|
171
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_WORKFLOW: AXPDefinitionCategory;
|
|
172
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_UTILITY: AXPDefinitionCategory;
|
|
173
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_SETTINGS: AXPDefinitionCategory;
|
|
174
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_AI_TOOLS: AXPDefinitionCategory;
|
|
175
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_SECURITY: AXPDefinitionCategory;
|
|
176
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_DATA_MANAGEMENT: AXPDefinitionCategory;
|
|
177
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_ASSESSMENT: AXPDefinitionCategory;
|
|
178
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_REPORT: AXPDefinitionCategory;
|
|
179
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_ORGANIZATION: AXPDefinitionCategory;
|
|
180
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_TENANT: AXPDefinitionCategory;
|
|
181
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_HUMAN_CAPITAL: AXPDefinitionCategory;
|
|
182
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_PRODUCT: AXPDefinitionCategory;
|
|
183
|
+
declare const AXP_CATALOG_DEFINITION_CATEGORY_FILE_WIDGET: AXPDefinitionCategory;
|
|
184
|
+
|
|
141
185
|
type AXPCommandExecutionStage = 'before' | 'after';
|
|
142
186
|
interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
|
|
143
187
|
stage: AXPCommandExecutionStage;
|
|
@@ -235,24 +279,15 @@ declare function provideCommand(key: string, loader: () => Type<AXPCommand> | Pr
|
|
|
235
279
|
/**
|
|
236
280
|
* Build-time query metadata for AXPQuery implementations.
|
|
237
281
|
* Mirrors command metadata shape except there are no `outcomes` (queries only `fetch`).
|
|
238
|
-
* `inputs` / `outputs`
|
|
282
|
+
* Shares {@link AXPCatalogMetadataDefinitionBase} with commands and widgets; `inputs` / `outputs` live on the base.
|
|
239
283
|
*/
|
|
240
284
|
|
|
241
|
-
/** One input/output property description for query definitions (same as command
|
|
242
|
-
type AXPQuerySchemaPropertyDefinition =
|
|
243
|
-
interface AXPQueryMetadataDefinition {
|
|
285
|
+
/** One input/output property description for query definitions (same as command / widget catalog rows). */
|
|
286
|
+
type AXPQuerySchemaPropertyDefinition = AXPCatalogSchemaPropertyDefinition;
|
|
287
|
+
interface AXPQueryMetadataDefinition extends AXPCatalogMetadataDefinitionBase {
|
|
244
288
|
/** Runtime registration key (provideQuerySetups). */
|
|
245
289
|
key: string;
|
|
246
|
-
|
|
247
|
-
description: string;
|
|
248
|
-
executionMode: AXPCommandExecutionMode;
|
|
249
|
-
/** Query input / filter parameters as schema rows. */
|
|
250
|
-
inputs?: AXPQuerySchemaPropertyDefinition[];
|
|
251
|
-
/** Documented result shape as schema rows. */
|
|
252
|
-
outputs?: AXPQuerySchemaPropertyDefinition[];
|
|
253
|
-
ai?: AXPCommandAiMetadata;
|
|
254
|
-
/** Optional list of surfaces that may list or invoke this query as a tool (e.g. AI assistants). */
|
|
255
|
-
capabilities?: AXPCommandCapability[];
|
|
290
|
+
executionMode: AXPCatalogExecutionMode;
|
|
256
291
|
}
|
|
257
292
|
|
|
258
293
|
/**
|
|
@@ -326,6 +361,66 @@ declare class AXPQueryService {
|
|
|
326
361
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryService>;
|
|
327
362
|
}
|
|
328
363
|
|
|
364
|
+
/**
|
|
365
|
+
* Build-time widget metadata sidecars (parallel to {@link AXPWidgetConfig} in layout/widget-core).
|
|
366
|
+
* Extends {@link AXPCatalogMetadataDefinitionBase}; `inputs` / `outputs` use the same schema rows as commands/queries.
|
|
367
|
+
* Sidecars may import `defineWidget` from `@acorex/platform/runtime`.
|
|
368
|
+
*/
|
|
369
|
+
|
|
370
|
+
/** Same surface values as {@link AXPWidgetViewType} in layout/widget-core. */
|
|
371
|
+
type AXPWidgetMetadataViewType = 'container' | 'editor' | 'action' | 'view' | 'filter' | 'validation' | 'dashboard';
|
|
372
|
+
/** Same values as {@link AXPWidgetGroup} / {@link AXPWidgetGroupEnum} in layout/widget-core. */
|
|
373
|
+
type AXPWidgetMetadataGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
|
|
374
|
+
/**
|
|
375
|
+
* Built-in default filter widget names from {@link AXPWidgetConfig.defaultFilterWidgetName}.
|
|
376
|
+
* Other string values remain valid for custom filters.
|
|
377
|
+
*/
|
|
378
|
+
type AXPWidgetMetadataDefaultFilterName = 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter';
|
|
379
|
+
/**
|
|
380
|
+
* Widget renderer surface aligned with {@link AXPWidgetConfig.components} keys in layout/widget-core.
|
|
381
|
+
*/
|
|
382
|
+
type AXPWidgetAiRenderSurfaceMode = 'view' | 'edit' | 'column' | 'designer' | 'print' | 'filter';
|
|
383
|
+
/**
|
|
384
|
+
* One line of guidance for agents: which Angular component runs in this surface and how it relates to data.
|
|
385
|
+
*/
|
|
386
|
+
interface AXPWidgetAiRenderSurface {
|
|
387
|
+
mode: AXPWidgetAiRenderSurfaceMode;
|
|
388
|
+
summary: string;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* AI hints for layout/form agents beyond {@link AXPCatalogAiMetadata}.
|
|
392
|
+
* Prefer `outputs` on {@link AXPCatalogMetadataDefinitionBase} for structured bound-value shape;
|
|
393
|
+
* use `renderSurfaces` for per-mode behavior (e.g. grid uses `column`, not `edit`).
|
|
394
|
+
*/
|
|
395
|
+
interface AXPWidgetAiMetadata extends AXPCatalogAiMetadata {
|
|
396
|
+
/** Per-surface rendering notes (view vs edit vs column vs designer). */
|
|
397
|
+
renderSurfaces?: readonly AXPWidgetAiRenderSurface[];
|
|
398
|
+
/** Other widget `name` values often used next to or instead of this one. */
|
|
399
|
+
relatedWidgetNames?: string[];
|
|
400
|
+
/**
|
|
401
|
+
* Short layout or options snippets for few-shot style documentation (not executed).
|
|
402
|
+
*/
|
|
403
|
+
layoutExamples?: string[];
|
|
404
|
+
}
|
|
405
|
+
interface AXPWidgetMetadataDefinition extends Omit<AXPCatalogMetadataDefinitionBase, 'capabilities'> {
|
|
406
|
+
/** Runtime widget registry name (same role as `AXPWidgetConfig.name`). */
|
|
407
|
+
name: string;
|
|
408
|
+
icon?: string;
|
|
409
|
+
subCategory?: AXPDefinitionCategory;
|
|
410
|
+
groups?: readonly AXPWidgetMetadataGroup[];
|
|
411
|
+
defaultFilterWidgetName?: AXPWidgetMetadataDefaultFilterName | string;
|
|
412
|
+
type: AXPWidgetMetadataViewType;
|
|
413
|
+
/**
|
|
414
|
+
* Widget-specific AI block (subtype of base `ai`); omit to use plain {@link AXPCatalogAiMetadata} from base.
|
|
415
|
+
*/
|
|
416
|
+
ai?: AXPWidgetAiMetadata;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Typed identity helper for widget metadata sidecars.
|
|
421
|
+
*/
|
|
422
|
+
declare function defineWidget<T extends AXPWidgetMetadataDefinition>(definition: T): T;
|
|
423
|
+
|
|
329
424
|
interface AXPViewProvider<TInput = any> {
|
|
330
425
|
provide(input: TInput): Promise<AXPViewDefinition>;
|
|
331
426
|
}
|
|
@@ -466,5 +561,5 @@ declare class AXPRuntimeModule {
|
|
|
466
561
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPRuntimeModule>;
|
|
467
562
|
}
|
|
468
563
|
|
|
469
|
-
export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, defineCommand, defineQuery, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
|
|
470
|
-
export type {
|
|
564
|
+
export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_CATALOG_DEFINITION_CATEGORY_AI_TOOLS as AXP_COMMAND_DEFINITION_CATEGORY_AI_TOOLS, AXP_CATALOG_DEFINITION_CATEGORY_ASSESSMENT as AXP_COMMAND_DEFINITION_CATEGORY_ASSESSMENT, AXP_CATALOG_DEFINITION_CATEGORY_DATA_MANAGEMENT as AXP_COMMAND_DEFINITION_CATEGORY_DATA_MANAGEMENT, AXP_CATALOG_DEFINITION_CATEGORY_ENTITY as AXP_COMMAND_DEFINITION_CATEGORY_ENTITY, AXP_CATALOG_DEFINITION_CATEGORY_FILE_WIDGET as AXP_COMMAND_DEFINITION_CATEGORY_FILE_WIDGET, AXP_CATALOG_DEFINITION_CATEGORY_HUMAN_CAPITAL as AXP_COMMAND_DEFINITION_CATEGORY_HUMAN_CAPITAL, AXP_CATALOG_DEFINITION_CATEGORY_ORGANIZATION as AXP_COMMAND_DEFINITION_CATEGORY_ORGANIZATION, AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM as AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM, AXP_CATALOG_DEFINITION_CATEGORY_PRODUCT as AXP_COMMAND_DEFINITION_CATEGORY_PRODUCT, AXP_CATALOG_DEFINITION_CATEGORY_REPORT as AXP_COMMAND_DEFINITION_CATEGORY_REPORT, AXP_CATALOG_DEFINITION_CATEGORY_SECURITY as AXP_COMMAND_DEFINITION_CATEGORY_SECURITY, AXP_CATALOG_DEFINITION_CATEGORY_SETTINGS as AXP_COMMAND_DEFINITION_CATEGORY_SETTINGS, AXP_CATALOG_DEFINITION_CATEGORY_STORAGE as AXP_COMMAND_DEFINITION_CATEGORY_STORAGE, AXP_CATALOG_DEFINITION_CATEGORY_TENANT as AXP_COMMAND_DEFINITION_CATEGORY_TENANT, AXP_CATALOG_DEFINITION_CATEGORY_UTILITY as AXP_COMMAND_DEFINITION_CATEGORY_UTILITY, AXP_CATALOG_DEFINITION_CATEGORY_WORKFLOW as AXP_COMMAND_DEFINITION_CATEGORY_WORKFLOW, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_CATALOG_DEFINITION_CATEGORY_ENTITY as AXP_QUERY_DEFINITION_CATEGORY_ENTITY, AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM as AXP_QUERY_DEFINITION_CATEGORY_PLATFORM, AXP_CATALOG_DEFINITION_CATEGORY_STORAGE as AXP_QUERY_DEFINITION_CATEGORY_STORAGE, AXP_CATALOG_DEFINITION_CATEGORY_WIDGETS as AXP_QUERY_DEFINITION_CATEGORY_WIDGETS, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, defineCommand, defineQuery, defineWidget, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
|
|
565
|
+
export type { AXPCatalogAiContractsMetadata, AXPCatalogAiMetadata, AXPCatalogAiNextStepMetadata, AXPCatalogAiPerformanceCost, AXPCatalogAiPerformanceMetadata, AXPCatalogAiResultSemanticsMetadata, AXPCatalogAiSafetyKind, AXPCatalogAiSafetyMetadata, AXPCatalogAiUsageMetadata, AXPCatalogCapability, AXPCatalogExecutionMode, AXPCatalogInterfaceDefinitionValue, AXPCatalogMetadataDefinitionBase, AXPCatalogPropertyBindingHints, AXPCatalogSchemaPropertyDefinition, AXPCatalogValidationRuleValue, AXPCommand, AXPCommandExecutionEvent, AXPCommandExecutionStage, AXPCommandExtension, AXPCommandMetadataDefinition, AXPCommandMiddleware, AXPCommandOutcomeDefinition, AXPExecuteCommandResultPromise, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMetadataDefinition, AXPQueryMiddleware, AXPQuerySchemaPropertyDefinition, AXPViewExtension, AXPViewMiddleware, AXPViewProvider, AXPWidgetAiMetadata, AXPWidgetAiRenderSurface, AXPWidgetAiRenderSurfaceMode, AXPWidgetMetadataDefaultFilterName, AXPWidgetMetadataDefinition, AXPWidgetMetadataGroup, AXPWidgetMetadataViewType };
|
|
@@ -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']
|
|
@@ -1179,6 +1150,23 @@ interface AXPFrontActivityCompleteResponse {
|
|
|
1179
1150
|
*/
|
|
1180
1151
|
state?: AXPWorkflowInstanceState;
|
|
1181
1152
|
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Activity types that use the task board (suspend until user acts via inbox), not inline interactive execution.
|
|
1155
|
+
*/
|
|
1156
|
+
declare const AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES: readonly string[];
|
|
1157
|
+
declare function axpIsWorkflowTaskBoardActivityType(activityType: string | undefined | null): boolean;
|
|
1158
|
+
/**
|
|
1159
|
+
* Claim a pooled workflow task (updates bookmark assignee without resuming the workflow).
|
|
1160
|
+
*/
|
|
1161
|
+
interface AXPClaimWorkflowTaskRequest {
|
|
1162
|
+
instanceId: string;
|
|
1163
|
+
bookmarkId: string;
|
|
1164
|
+
stepId: string;
|
|
1165
|
+
}
|
|
1166
|
+
interface AXPClaimWorkflowTaskResponse {
|
|
1167
|
+
success: boolean;
|
|
1168
|
+
error?: string;
|
|
1169
|
+
}
|
|
1182
1170
|
|
|
1183
1171
|
/**
|
|
1184
1172
|
* Interface for workflow engine operations.
|
|
@@ -1215,6 +1203,11 @@ interface AXPWorkflowEngine {
|
|
|
1215
1203
|
*/
|
|
1216
1204
|
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
1217
1205
|
frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
|
|
1206
|
+
/**
|
|
1207
|
+
* Optional: claim a pooled task (e.g. cartable) without consuming the bookmark.
|
|
1208
|
+
* Engines that do not support pooling should omit this method.
|
|
1209
|
+
*/
|
|
1210
|
+
claimTask?(request: AXPClaimWorkflowTaskRequest): Promise<AXPClaimWorkflowTaskResponse>;
|
|
1218
1211
|
}
|
|
1219
1212
|
/**
|
|
1220
1213
|
* Injection token for workflow engine.
|
|
@@ -1309,6 +1302,14 @@ interface WorkflowResumeResult {
|
|
|
1309
1302
|
*/
|
|
1310
1303
|
error?: string;
|
|
1311
1304
|
}
|
|
1305
|
+
/**
|
|
1306
|
+
* Result of claiming a pooled workflow task (cartable / candidate pool).
|
|
1307
|
+
*/
|
|
1308
|
+
interface WorkflowClaimTaskResult {
|
|
1309
|
+
success: boolean;
|
|
1310
|
+
instanceId: string;
|
|
1311
|
+
error?: string;
|
|
1312
|
+
}
|
|
1312
1313
|
/**
|
|
1313
1314
|
* Workflow Manager - Facade for workflow lifecycle orchestration.
|
|
1314
1315
|
*
|
|
@@ -1402,6 +1403,11 @@ declare class AXPWorkflowManager {
|
|
|
1402
1403
|
* @returns Workflow instance state or null if not found
|
|
1403
1404
|
*/
|
|
1404
1405
|
getState(instanceId: string): Promise<AXPWorkflowInstanceState | null>;
|
|
1406
|
+
/**
|
|
1407
|
+
* Claim a pooled workflow task (assign current user on the bookmark without advancing the workflow).
|
|
1408
|
+
* Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.claimTask}.
|
|
1409
|
+
*/
|
|
1410
|
+
claimTask(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowClaimTaskResult>;
|
|
1405
1411
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowManager, never>;
|
|
1406
1412
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowManager>;
|
|
1407
1413
|
}
|
|
@@ -1424,6 +1430,7 @@ declare class AXPWorkflowManager {
|
|
|
1424
1430
|
declare class AXPWorkflowLocalEngine implements AXPWorkflowEngine {
|
|
1425
1431
|
private readonly activityDefinitionService;
|
|
1426
1432
|
private readonly workflowProviders;
|
|
1433
|
+
private readonly multiLanguageResolver;
|
|
1427
1434
|
/**
|
|
1428
1435
|
* In-memory storage for workflow instances.
|
|
1429
1436
|
* Key: instanceId
|
|
@@ -1508,6 +1515,7 @@ declare class ActivityExecutor {
|
|
|
1508
1515
|
private readonly commandService;
|
|
1509
1516
|
private readonly expressionEvaluator;
|
|
1510
1517
|
private readonly expressionScopeService;
|
|
1518
|
+
private readonly translateService;
|
|
1511
1519
|
/**
|
|
1512
1520
|
* Execute a workflow activity with expression evaluation.
|
|
1513
1521
|
*
|
|
@@ -1520,6 +1528,10 @@ declare class ActivityExecutor {
|
|
|
1520
1528
|
* @returns Execution result with output and outcome
|
|
1521
1529
|
*/
|
|
1522
1530
|
execute(task: AXPWorkflowTask, workflowState?: AXPWorkflowInstanceState, activityOutputs?: Map<string, any> | Record<string, any>): Promise<ActivityExecutionResult>;
|
|
1531
|
+
/**
|
|
1532
|
+
* Resolves command failure message text for workflow output: `@` keys via translate, MLS maps via resolve.
|
|
1533
|
+
*/
|
|
1534
|
+
private resolveCommandMessageTextForError;
|
|
1523
1535
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActivityExecutor, never>;
|
|
1524
1536
|
static ɵprov: i0.ɵɵInjectableDeclaration<ActivityExecutor>;
|
|
1525
1537
|
}
|
|
@@ -1802,5 +1814,5 @@ declare class AXPWorkflowDefinitionService {
|
|
|
1802
1814
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowDefinitionService>;
|
|
1803
1815
|
}
|
|
1804
1816
|
|
|
1805
|
-
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,
|
|
1817
|
+
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, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowTaskBoardActivityType, createWorkFlowEvent, ofType };
|
|
1818
|
+
export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, 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, WorkflowClaimTaskResult, 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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"}
|