@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,7 +1,7 @@
|
|
|
1
1
|
import * as i5 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Injectable, inject, input, model, signal, effect, output, viewChild, ChangeDetectionStrategy, Component, NgModule, EventEmitter, Output } from '@angular/core';
|
|
4
|
+
import { Injectable, inject, input, model, signal, computed, effect, output, viewChild, ChangeDetectionStrategy, Component, NgModule, EventEmitter, Output } from '@angular/core';
|
|
5
5
|
import { provideCommandSetups } from '@acorex/platform/runtime';
|
|
6
6
|
import { AXPopupService } from '@acorex/components/popup';
|
|
7
7
|
import * as i1 from '@acorex/platform/layout/widget-core';
|
|
@@ -20,7 +20,7 @@ import { AXBasePageComponent } from '@acorex/components/page';
|
|
|
20
20
|
import * as i6 from '@acorex/core/translation';
|
|
21
21
|
import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
|
|
22
22
|
import * as i4 from '@acorex/platform/core';
|
|
23
|
-
import { AXPExpressionEvaluatorService, AXPComponentSlotModule, AXPContextStore
|
|
23
|
+
import { AXPExpressionEvaluatorService, AXPComponentSlotModule, AXPContextStore } from '@acorex/platform/core';
|
|
24
24
|
import { AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
|
|
25
25
|
|
|
26
26
|
class AXPLayoutConversionService {
|
|
@@ -161,6 +161,10 @@ class AXPLayoutConversionService {
|
|
|
161
161
|
if (!editorWidget.mode) {
|
|
162
162
|
editorWidget.mode = fieldMode;
|
|
163
163
|
}
|
|
164
|
+
const hintOpts = field.description != null &&
|
|
165
|
+
(typeof field.description !== 'string' || field.description.trim().length > 0)
|
|
166
|
+
? { hint: field.description, hintDisplayMode: 'note' }
|
|
167
|
+
: {};
|
|
164
168
|
return {
|
|
165
169
|
type: 'form-field',
|
|
166
170
|
name: field.path,
|
|
@@ -168,8 +172,8 @@ class AXPLayoutConversionService {
|
|
|
168
172
|
options: {
|
|
169
173
|
label: field.title,
|
|
170
174
|
badge: field.badge,
|
|
171
|
-
description: field.description,
|
|
172
175
|
showLabel: true,
|
|
176
|
+
...hintOpts,
|
|
173
177
|
},
|
|
174
178
|
children: [editorWidget], // The editor widget becomes a child of form-field
|
|
175
179
|
};
|
|
@@ -212,7 +216,7 @@ class AXPLayoutConversionService {
|
|
|
212
216
|
path: formFieldNode.name || editorWidget.name || `field-${Date.now()}`,
|
|
213
217
|
title: formFieldNode.options?.['label'],
|
|
214
218
|
badge: formFieldNode.options?.['badge'],
|
|
215
|
-
description: formFieldNode.options?.['
|
|
219
|
+
description: formFieldNode.options?.['hint'],
|
|
216
220
|
widget: editorWidget,
|
|
217
221
|
mode: formFieldNode.mode,
|
|
218
222
|
};
|
|
@@ -1998,6 +2002,11 @@ class AXPLayoutRendererComponent {
|
|
|
1998
2002
|
//#endregion
|
|
1999
2003
|
//#region ---- Widget Tree Conversion ----
|
|
2000
2004
|
this.widgetTree = signal(null, ...(ngDevMode ? [{ debugName: "widgetTree" }] : /* istanbul ignore next */ []));
|
|
2005
|
+
/**
|
|
2006
|
+
* Prefer explicit {@link AXPWidgetNode.mode} on the root node (e.g. dialog flex `mode('view')`)
|
|
2007
|
+
* so nested widgets resolve view vs edit correctly; fall back to the layout `mode` input.
|
|
2008
|
+
*/
|
|
2009
|
+
this.effectiveRenderMode = computed(() => this.widgetTree()?.mode ?? this.mode(), ...(ngDevMode ? [{ debugName: "effectiveRenderMode" }] : /* istanbul ignore next */ []));
|
|
2001
2010
|
/**
|
|
2002
2011
|
* Convert layout data to widget tree when inputs change
|
|
2003
2012
|
*/
|
|
@@ -2207,7 +2216,11 @@ class AXPLayoutRendererComponent {
|
|
|
2207
2216
|
<ax-form>
|
|
2208
2217
|
<axp-widgets-container [context]="internalContext()" (onContextChanged)="handleContextChanged($event)">
|
|
2209
2218
|
@if (widgetTree()) {
|
|
2210
|
-
<ng-container
|
|
2219
|
+
<ng-container
|
|
2220
|
+
axp-widget-renderer
|
|
2221
|
+
[node]="widgetTree()!"
|
|
2222
|
+
[mode]="effectiveRenderMode()"
|
|
2223
|
+
></ng-container>
|
|
2211
2224
|
}
|
|
2212
2225
|
</axp-widgets-container>
|
|
2213
2226
|
</ax-form>
|
|
@@ -2219,7 +2232,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2219
2232
|
<ax-form>
|
|
2220
2233
|
<axp-widgets-container [context]="internalContext()" (onContextChanged)="handleContextChanged($event)">
|
|
2221
2234
|
@if (widgetTree()) {
|
|
2222
|
-
<ng-container
|
|
2235
|
+
<ng-container
|
|
2236
|
+
axp-widget-renderer
|
|
2237
|
+
[node]="widgetTree()!"
|
|
2238
|
+
[mode]="effectiveRenderMode()"
|
|
2239
|
+
></ng-container>
|
|
2223
2240
|
}
|
|
2224
2241
|
</axp-widgets-container>
|
|
2225
2242
|
</ax-form>
|
|
@@ -2717,7 +2734,6 @@ class AXPPreviewWidgetFieldCommand {
|
|
|
2717
2734
|
this.formBuilderService = inject(AXPLayoutBuilderService);
|
|
2718
2735
|
this.widgetRegistry = inject(AXPWidgetRegistryService);
|
|
2719
2736
|
this.translationService = inject(AXTranslationService);
|
|
2720
|
-
this.mlResolver = inject(AXPMultiLanguageStringResolverService);
|
|
2721
2737
|
this.crudService = inject(AXP_ENTITY_DEFINITION_CRUD_SERVICE, { optional: true });
|
|
2722
2738
|
}
|
|
2723
2739
|
async execute(input) {
|
|
@@ -2727,15 +2743,15 @@ class AXPPreviewWidgetFieldCommand {
|
|
|
2727
2743
|
if (!currentWidget?.type) {
|
|
2728
2744
|
return {
|
|
2729
2745
|
success: false,
|
|
2730
|
-
message: {
|
|
2746
|
+
message: {
|
|
2747
|
+
text: (await this.translationService.translateAsync('@general:messages.invalid-data')) || 'Invalid data',
|
|
2748
|
+
},
|
|
2731
2749
|
};
|
|
2732
2750
|
}
|
|
2733
2751
|
const fieldName = String(merged['fieldName'] ?? merged['name'] ?? 'Field');
|
|
2734
2752
|
const rawTitle = (merged['fieldTitle'] ?? merged['title']);
|
|
2735
2753
|
const fieldTitleLabel = this.resolveFieldTitleLabel(rawTitle, fieldName);
|
|
2736
|
-
const dialogTitle = (await this.resolveWidgetDisplayTitle(currentWidget.type)) ||
|
|
2737
|
-
currentWidget.type ||
|
|
2738
|
-
fieldTitleLabel;
|
|
2754
|
+
const dialogTitle = (await this.resolveWidgetDisplayTitle(currentWidget.type)) || currentWidget.type || fieldTitleLabel;
|
|
2739
2755
|
const previewWidgetOptions = {
|
|
2740
2756
|
...optionsBagForPreview(currentWidget),
|
|
2741
2757
|
name: fieldName,
|
|
@@ -2806,7 +2822,7 @@ class AXPPreviewWidgetFieldCommand {
|
|
|
2806
2822
|
source = raw;
|
|
2807
2823
|
}
|
|
2808
2824
|
}
|
|
2809
|
-
return this.
|
|
2825
|
+
return this.translationService.resolve(source);
|
|
2810
2826
|
}
|
|
2811
2827
|
isCancelDialogOutcome(outcome) {
|
|
2812
2828
|
if (outcome == null) {
|
|
@@ -2829,7 +2845,7 @@ class AXPPreviewWidgetFieldCommand {
|
|
|
2829
2845
|
if (!config) {
|
|
2830
2846
|
return undefined;
|
|
2831
2847
|
}
|
|
2832
|
-
const resolved = this.
|
|
2848
|
+
const resolved = this.translationService.resolve(config.title);
|
|
2833
2849
|
return resolved || undefined;
|
|
2834
2850
|
}
|
|
2835
2851
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPPreviewWidgetFieldCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|