@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.
Files changed (64) hide show
  1. package/fesm2022/acorex-platform-common.mjs +25 -3
  2. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-core.mjs +18 -172
  4. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-domain.mjs +3 -0
  6. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +29 -13
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +62 -40
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +209 -62
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +1072 -358
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-views.mjs +171 -86
  16. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-widget-core.mjs +170 -63
  18. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  19. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +5 -60
  20. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-widgets.mjs +720 -415
  22. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-runtime.mjs +120 -9
  24. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  25. 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
  26. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  27. 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
  28. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  29. 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
  30. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default.mjs +26 -14
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
  34. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  36. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  37. 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
  38. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-themes-shared.mjs +183 -84
  40. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-workflow.mjs +75 -15
  42. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/types/acorex-platform-common.d.ts +11 -6
  45. package/types/acorex-platform-core.d.ts +67 -101
  46. package/types/acorex-platform-domain.d.ts +28 -2
  47. package/types/acorex-platform-layout-builder.d.ts +41 -28
  48. package/types/acorex-platform-layout-components.d.ts +4 -3
  49. package/types/acorex-platform-layout-designer.d.ts +56 -16
  50. package/types/acorex-platform-layout-entity.d.ts +180 -40
  51. package/types/acorex-platform-layout-views.d.ts +31 -29
  52. package/types/acorex-platform-layout-widget-core.d.ts +81 -52
  53. package/types/acorex-platform-layout-widgets.d.ts +42 -16
  54. package/types/acorex-platform-runtime.d.ts +156 -61
  55. package/types/acorex-platform-themes-default.d.ts +1 -0
  56. package/types/acorex-platform-workflow.d.ts +64 -52
  57. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  62. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +0 -65
  63. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +0 -1
  64. 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 shapes for command and query catalog definitions.
8
- * Lives under `shared/` so secondary ng-packagr entries under `commands/` or `queries/` share a common `src/lib` compilation root.
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
- /** Command metadata validation: rule key + optional rule options only. */
11
- interface AXPCommandValidationRuleValue {
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 AXPCommandInterfaceDefinitionValue {
20
+ interface AXPCatalogInterfaceDefinitionValue {
19
21
  name: string;
20
22
  options?: Record<string, unknown>;
21
23
  }
22
24
  /**
23
- * One input/output property description (same structural role as AXPPropertyDefinition).
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 AXPCommandSchemaPropertyDefinition {
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: AXPCommandInterfaceDefinitionValue;
33
- validations?: AXPCommandValidationRuleValue[];
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 AXPCommandAiUsageMetadata {
56
+ interface AXPCatalogAiUsageMetadata {
37
57
  whenToUse?: string[];
38
58
  avoidWhen?: string[];
39
- /** Registry keys or tool names that commonly follow this command/query. */
59
+ /** Registry keys or tool names that commonly follow this catalog entry. */
40
60
  followUpTools?: string[];
41
61
  }
42
- /** Declarative contracts: what the tool provides, who depends on it, and guarantees (not workflow `outcomes`). */
43
- interface AXPCommandAiContractsMetadata {
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 AXPCommandAiSafetyKind = 'read-only' | 'mutating';
49
- interface AXPCommandAiSafetyMetadata {
50
- kind?: AXPCommandAiSafetyKind;
68
+ type AXPCatalogAiSafetyKind = 'read-only' | 'mutating';
69
+ interface AXPCatalogAiSafetyMetadata {
70
+ kind?: AXPCatalogAiSafetyKind;
51
71
  sideEffects?: boolean;
52
72
  requiresConfirmation?: boolean;
53
73
  }
54
- type AXPCommandAiPerformanceCost = 'low' | 'medium' | 'high';
55
- interface AXPCommandAiPerformanceMetadata {
56
- cost?: AXPCommandAiPerformanceCost;
74
+ type AXPCatalogAiPerformanceCost = 'low' | 'medium' | 'high';
75
+ interface AXPCatalogAiPerformanceMetadata {
76
+ cost?: AXPCatalogAiPerformanceCost;
57
77
  cacheable?: boolean;
58
78
  }
59
- interface AXPCommandAiNextStepMetadata {
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 command workflow outcomes).
84
+ * How to interpret a successful payload for agents (documentation only; not live workflow step outcomes).
65
85
  */
66
- interface AXPCommandAiResultSemanticsMetadata {
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 AXPCommandAiMetadata {
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?: AXPCommandAiUsageMetadata;
78
- contracts?: AXPCommandAiContractsMetadata;
79
- safety?: AXPCommandAiSafetyMetadata;
80
- performance?: AXPCommandAiPerformanceMetadata;
81
- nextSteps?: AXPCommandAiNextStepMetadata[];
82
- resultSemantics?: AXPCommandAiResultSemanticsMetadata;
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 command is applied in the AI module (not the generic command executor).
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 AXPCommandExecutionMode = 'frontend' | 'backend' | 'both';
120
+ type AXPCatalogExecutionMode = 'frontend' | 'backend' | 'both';
96
121
  /**
97
- * Where this command is intended to appear in product tooling (AI agents, workflow automation pickers, etc.).
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 AXPCommandCapability = 'ai' | 'workflow';
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
- title: string;
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` are schema rows (same family as entity optionDefinitions).
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 schema rows). */
242
- type AXPQuerySchemaPropertyDefinition = AXPCommandSchemaPropertyDefinition;
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
- title: string;
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 { AXPCommand, AXPCommandAiContractsMetadata, AXPCommandAiMetadata, AXPCommandAiNextStepMetadata, AXPCommandAiPerformanceCost, AXPCommandAiPerformanceMetadata, AXPCommandAiResultSemanticsMetadata, AXPCommandAiSafetyKind, AXPCommandAiSafetyMetadata, AXPCommandAiUsageMetadata, AXPCommandCapability, AXPCommandExecutionEvent, AXPCommandExecutionMode, AXPCommandExecutionStage, AXPCommandExtension, AXPCommandInterfaceDefinitionValue, AXPCommandMetadataDefinition, AXPCommandMiddleware, AXPCommandOutcomeDefinition, AXPCommandSchemaPropertyDefinition, AXPCommandValidationRuleValue, AXPExecuteCommandResultPromise, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMetadataDefinition, AXPQueryMiddleware, AXPQuerySchemaPropertyDefinition, AXPViewExtension, AXPViewMiddleware, AXPViewProvider };
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 { AXPValidationRules, AXPEntityOp, AXPCategoryEntity, AXPExpressionEvaluatorScope } from '@acorex/platform/core';
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: "acorex-platform-workflow/v1";
149
+ schemaVersion: 'acorex-platform-workflow/v1';
151
150
  name: string;
152
- title?: string | null;
153
- description?: string | null;
154
- variables?: AXPVariableDefinition[];
155
- inputs?: AXPWorkflowInputDescriptor[];
156
- outputs?: AXPWorkflowOutputDescriptor[];
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 input descriptor names from AXPActivityDefinition.inputs
197
+ * Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs
199
198
  * Example: { "message": "Hello", "duration": 5000 }
200
199
  */
201
- inputs?: Record<string, any>;
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?: Record<string, string>;
208
- metadata?: Record<string, any>;
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
- * Base descriptor for workflow inputs, outputs, and variables.
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 AXPWorkflowDescriptorBase {
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?: string;
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?: string;
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 descriptors.
751
+ * Input properties (form/schema for activity parameters).
781
752
  */
782
- inputs?: AXPWorkflowInputDescriptor[];
753
+ inputs?: AXPProperty[];
783
754
  /**
784
- * Output descriptors.
755
+ * Output properties (result shape + optional path/metadata).
785
756
  */
786
- outputs?: AXPWorkflowOutputDescriptor[];
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, AXPVariableDefinition, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowDescriptorBase, AXPWorkflowDescriptorSchemaBase, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInputDescriptor, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputDescriptor, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
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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"}