@acorex/platform 20.2.3 → 20.2.4-next.1
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/common/index.d.ts +91 -3
- package/core/index.d.ts +65 -58
- package/fesm2022/acorex-platform-common.mjs +16 -8
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +110 -158
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +109 -55
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1086 -35
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +15 -122
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +2518 -1006
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +243 -65
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs → acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs +706 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs → acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs} +3 -10
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs → acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs} +25 -17
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +65 -495
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +10 -12
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs → acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs +55 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs +48 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs} +66 -3
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs} +5 -5
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs} +3 -3
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +1352 -218
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +3 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +19 -5
- package/layout/components/index.d.ts +214 -9
- package/layout/designer/index.d.ts +3 -46
- package/layout/entity/index.d.ts +203 -332
- package/layout/views/index.d.ts +83 -21
- package/package.json +5 -5
- package/themes/default/index.d.ts +5 -2
- package/widgets/index.d.ts +107 -11
- package/workflow/index.d.ts +3 -1
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +0 -22
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs +0 -665
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as i1$1 from '@acorex/components/skeleton';
|
|
2
2
|
import { AXSkeletonModule } from '@acorex/components/skeleton';
|
|
3
|
+
import * as i2 from '@acorex/core/translation';
|
|
4
|
+
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
3
5
|
import { PortalModule } from '@angular/cdk/portal';
|
|
4
6
|
import * as i1 from '@angular/common';
|
|
5
7
|
import { CommonModule } from '@angular/common';
|
|
6
8
|
import * as i0 from '@angular/core';
|
|
7
9
|
import { signal, computed, Injectable, InjectionToken, inject, Injector, ChangeDetectorRef, ViewChild, Input, ChangeDetectionStrategy, Component, EventEmitter, effect, Output, input, output, ViewContainerRef, Directive, Optional, Inject, NgModule, ElementRef } from '@angular/core';
|
|
8
10
|
import { AXDataTableColumnComponent, AXBaseDataTable } from '@acorex/components/data-table';
|
|
11
|
+
import { getSmart, setSmart, AXPExpressionEvaluatorService, AXPDataSourceDefinitionProviderService, extractValue } from '@acorex/platform/core';
|
|
9
12
|
import { set, merge, cloneDeep, isNil, isEqual, get, sum, isEmpty, isString, isUndefined, isObjectLike } from 'lodash-es';
|
|
10
13
|
import { Subject, filter, BehaviorSubject } from 'rxjs';
|
|
11
|
-
import { getSmart, setSmart, AXPExpressionEvaluatorService, AXPDataSourceDefinitionProviderService, extractValue } from '@acorex/platform/core';
|
|
12
14
|
import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
|
|
13
|
-
import { AXTranslationService } from '@acorex/core/translation';
|
|
14
15
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
15
16
|
import { convertArrayToDataSource, AXDataSource } from '@acorex/cdk/common';
|
|
16
17
|
|
|
@@ -54,6 +55,7 @@ class AXPLayoutBuilderService {
|
|
|
54
55
|
this.functions$ = signal({}, ...(ngDevMode ? [{ debugName: "functions$" }] : []));
|
|
55
56
|
this.onRefresh = new Subject();
|
|
56
57
|
this.widgets = new Map();
|
|
58
|
+
this.onWidgetRegistered = new Subject();
|
|
57
59
|
this.status$ = signal(AXPPageStatus.Rendering, ...(ngDevMode ? [{ debugName: "status$" }] : []));
|
|
58
60
|
this.status = this.status$.asReadonly();
|
|
59
61
|
this.isBusy = computed(() => {
|
|
@@ -70,7 +72,7 @@ class AXPLayoutBuilderService {
|
|
|
70
72
|
this.status$.update(() => this.detectStatus());
|
|
71
73
|
}
|
|
72
74
|
detectStatus() {
|
|
73
|
-
const statuses = Array.from(this.widgets.values()).map(c => c.status());
|
|
75
|
+
const statuses = Array.from(this.widgets.values()).map((c) => c.status());
|
|
74
76
|
// Rendering statuses
|
|
75
77
|
if (statuses.some((status) => status === AXPWidgetStatus.Rendering)) {
|
|
76
78
|
return AXPPageStatus.Rendering;
|
|
@@ -116,12 +118,46 @@ class AXPLayoutBuilderService {
|
|
|
116
118
|
}
|
|
117
119
|
registerWidget(id, widget) {
|
|
118
120
|
this.widgets.set(id, widget);
|
|
121
|
+
this.onWidgetRegistered.next({ id, widget });
|
|
119
122
|
}
|
|
120
123
|
getWidget(id) {
|
|
121
124
|
return this.widgets.get(id);
|
|
122
125
|
}
|
|
123
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Waits until a widget with the given id is registered, then resolves with it.
|
|
128
|
+
* If the widget is already registered, resolves immediately.
|
|
129
|
+
* Optionally accepts a timeout (in ms) after which it resolves with undefined.
|
|
130
|
+
*/
|
|
131
|
+
async waitForWidget(id, timeoutMs) {
|
|
132
|
+
const existing = this.widgets.get(id);
|
|
133
|
+
if (existing) {
|
|
134
|
+
return existing;
|
|
135
|
+
}
|
|
136
|
+
return new Promise((resolve) => {
|
|
137
|
+
let resolved = false;
|
|
138
|
+
let timer = null;
|
|
139
|
+
const sub = this.onWidgetRegistered.subscribe(({ id: registeredId, widget }) => {
|
|
140
|
+
if (registeredId === id && !resolved) {
|
|
141
|
+
resolved = true;
|
|
142
|
+
sub.unsubscribe();
|
|
143
|
+
if (timer) {
|
|
144
|
+
clearTimeout(timer);
|
|
145
|
+
}
|
|
146
|
+
resolve(widget);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
if (timeoutMs != null && timeoutMs > 0) {
|
|
150
|
+
timer = setTimeout(() => {
|
|
151
|
+
if (!resolved) {
|
|
152
|
+
resolved = true;
|
|
153
|
+
sub.unsubscribe();
|
|
154
|
+
resolve(undefined);
|
|
155
|
+
}
|
|
156
|
+
}, timeoutMs);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
124
159
|
}
|
|
160
|
+
ngOnDestroy() { }
|
|
125
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
126
162
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderService }); }
|
|
127
163
|
}
|
|
@@ -194,6 +230,7 @@ const AXPWidgetsCatalog = {
|
|
|
194
230
|
fileTypeExtension: 'file-type-extension',
|
|
195
231
|
map: 'map',
|
|
196
232
|
imageMarker: 'image-marker',
|
|
233
|
+
image: 'image',
|
|
197
234
|
gallery: 'gallery',
|
|
198
235
|
signature: 'signature',
|
|
199
236
|
buttonAction: 'button-action',
|
|
@@ -221,7 +258,7 @@ const AXPWidgetsCatalog = {
|
|
|
221
258
|
fontStyleChooser: 'font-style-chooser',
|
|
222
259
|
fontSizeChooser: 'font-size-chooser',
|
|
223
260
|
iconChooser: 'icon-chooser',
|
|
224
|
-
|
|
261
|
+
themeColorChooser: 'theme-color-chooser',
|
|
225
262
|
gridOptions: 'grid-options',
|
|
226
263
|
advancedGridOptions: 'advanced-grid-options',
|
|
227
264
|
stringFilter: 'string-filter',
|
|
@@ -254,8 +291,11 @@ const AXPWidgetsCatalog = {
|
|
|
254
291
|
templateEditor: 'template-box-editor',
|
|
255
292
|
panel: 'panel',
|
|
256
293
|
notification: 'notification',
|
|
257
|
-
|
|
294
|
+
taskBoard: 'task-board',
|
|
258
295
|
comment: 'comment',
|
|
296
|
+
list: 'list',
|
|
297
|
+
listToolbar: 'list-toolbar',
|
|
298
|
+
entityList: 'entity-list',
|
|
259
299
|
};
|
|
260
300
|
|
|
261
301
|
function cloneProperty(property, values) {
|
|
@@ -405,14 +445,14 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
405
445
|
},
|
|
406
446
|
],
|
|
407
447
|
});
|
|
408
|
-
this.width = this.customWidth ? this.customWidth : this.mergedOptions().width ?? '200px';
|
|
448
|
+
this.width = this.customWidth ? this.customWidth : (this.mergedOptions().width ?? '200px');
|
|
409
449
|
this.allowResizing = this.mergedOptions().allowResizing || true;
|
|
410
450
|
this.cdr.detectChanges();
|
|
411
451
|
}
|
|
412
452
|
getInputs(data) {
|
|
413
453
|
return {
|
|
414
454
|
rawValue: getSmart(data, this.node.path),
|
|
415
|
-
rowData: data
|
|
455
|
+
rowData: data,
|
|
416
456
|
};
|
|
417
457
|
}
|
|
418
458
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPWidgetColumnRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -420,63 +460,69 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
420
460
|
AXPLayoutBuilderService,
|
|
421
461
|
{ provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent },
|
|
422
462
|
], viewQueries: [{ propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
423
|
-
<ng-template #header>{{ caption }}</ng-template>
|
|
463
|
+
<ng-template #header>{{ caption | translate | async }}</ng-template>
|
|
424
464
|
<ng-template #cell let-row>
|
|
425
465
|
<div class="ax-flex ax-gap-2 ax-items-center">
|
|
426
466
|
@if (expandHandler) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
467
|
+
<div
|
|
468
|
+
(click)="handleExpandRow(row)"
|
|
469
|
+
class="ax-expand-handler"
|
|
470
|
+
[class.ax-invisible]="row.data.hasChild === false"
|
|
471
|
+
id="ax-expand-handler-container"
|
|
472
|
+
[style.padding-inline-start.rem]="row.data?.__meta__?.level * 2"
|
|
473
|
+
>
|
|
474
|
+
@if (loadingRow() === row) {
|
|
475
|
+
<i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
|
|
476
|
+
} @else {
|
|
477
|
+
@if (row.data?.__meta__?.expanded) {
|
|
478
|
+
<i [class]="customCollapseIcon || 'far fa-minus-square ax-text-md ax-opacity-75'"></i>
|
|
479
|
+
} @else {
|
|
480
|
+
<i [class]="customExpandIcon || 'far fa-plus-square ax-text-md ax-opacity-75'"></i>
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
</div>
|
|
484
|
+
}
|
|
485
|
+
@if (component && widgetInjector && row?.data) {
|
|
486
|
+
<ng-container
|
|
487
|
+
*ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"
|
|
488
|
+
></ng-container>
|
|
446
489
|
}
|
|
447
490
|
</div>
|
|
448
491
|
</ng-template>
|
|
449
492
|
<ng-template #footer></ng-template>
|
|
450
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
493
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
451
494
|
}
|
|
452
495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPWidgetColumnRendererComponent, decorators: [{
|
|
453
496
|
type: Component,
|
|
454
497
|
args: [{
|
|
455
498
|
selector: 'axp-widget-column-renderer',
|
|
456
499
|
template: `
|
|
457
|
-
<ng-template #header>{{ caption }}</ng-template>
|
|
500
|
+
<ng-template #header>{{ caption | translate | async }}</ng-template>
|
|
458
501
|
<ng-template #cell let-row>
|
|
459
502
|
<div class="ax-flex ax-gap-2 ax-items-center">
|
|
460
503
|
@if (expandHandler) {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
504
|
+
<div
|
|
505
|
+
(click)="handleExpandRow(row)"
|
|
506
|
+
class="ax-expand-handler"
|
|
507
|
+
[class.ax-invisible]="row.data.hasChild === false"
|
|
508
|
+
id="ax-expand-handler-container"
|
|
509
|
+
[style.padding-inline-start.rem]="row.data?.__meta__?.level * 2"
|
|
510
|
+
>
|
|
511
|
+
@if (loadingRow() === row) {
|
|
512
|
+
<i class="fas fa-spinner-third ax-animate-twSpin ax-animate-infinite"></i>
|
|
513
|
+
} @else {
|
|
514
|
+
@if (row.data?.__meta__?.expanded) {
|
|
515
|
+
<i [class]="customCollapseIcon || 'far fa-minus-square ax-text-md ax-opacity-75'"></i>
|
|
516
|
+
} @else {
|
|
517
|
+
<i [class]="customExpandIcon || 'far fa-plus-square ax-text-md ax-opacity-75'"></i>
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
</div>
|
|
521
|
+
}
|
|
522
|
+
@if (component && widgetInjector && row?.data) {
|
|
523
|
+
<ng-container
|
|
524
|
+
*ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"
|
|
525
|
+
></ng-container>
|
|
480
526
|
}
|
|
481
527
|
</div>
|
|
482
528
|
</ng-template>
|
|
@@ -653,6 +699,12 @@ class AXPWidgetContainerComponent {
|
|
|
653
699
|
}
|
|
654
700
|
});
|
|
655
701
|
}
|
|
702
|
+
refresh() {
|
|
703
|
+
this.builderService.refresh();
|
|
704
|
+
}
|
|
705
|
+
find(name) {
|
|
706
|
+
return this.builderService.waitForWidget(name);
|
|
707
|
+
}
|
|
656
708
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
657
709
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: AXPWidgetContainerComponent, isStandalone: false, selector: "axp-widgets-container", inputs: { context: "context", functions: "functions" }, outputs: { onContextChanged: "onContextChanged" }, host: { styleAttribute: "display: contents;" }, providers: [AXPLayoutBuilderService, AXPLayoutBuilderContextStore], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
658
710
|
}
|
|
@@ -786,8 +838,10 @@ class AXPWidgetRendererDirective {
|
|
|
786
838
|
//
|
|
787
839
|
const widget = this.widgetRegistery.resolve(this.node().type);
|
|
788
840
|
//
|
|
789
|
-
const propertiesToProcess = [
|
|
790
|
-
?.
|
|
841
|
+
const propertiesToProcess = [
|
|
842
|
+
...(widget?.properties ?? []),
|
|
843
|
+
...(widget?.components[this.mode()]?.properties ?? []),
|
|
844
|
+
]?.filter((c) => c.schema.defaultValue != null);
|
|
791
845
|
// Process default values (evaluate expressions if needed)
|
|
792
846
|
const props = {};
|
|
793
847
|
for (const property of propertiesToProcess) {
|
|
@@ -893,7 +947,7 @@ class AXPWidgetRendererDirective {
|
|
|
893
947
|
Object.entries(obj).forEach(([key, value]) => {
|
|
894
948
|
const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
|
|
895
949
|
// CRITICAL FIX: Skip trigger actions during options processing
|
|
896
|
-
//
|
|
950
|
+
//
|
|
897
951
|
// PROBLEM: Trigger actions were being evaluated immediately during widget setup/options processing,
|
|
898
952
|
// causing them to execute before the actual trigger event occurred. This meant triggers would fire
|
|
899
953
|
// during initialization instead of when the specified context path actually changed.
|
|
@@ -1195,13 +1249,13 @@ class AXPLayoutBuilderModule {
|
|
|
1195
1249
|
});
|
|
1196
1250
|
}
|
|
1197
1251
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, deps: [{ token: 'AXPLayoutBuilderModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1198
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, declarations: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective], imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule], exports: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective] }); }
|
|
1199
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule] }); }
|
|
1252
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, declarations: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective], imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule, AXTranslationModule], exports: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective] }); }
|
|
1253
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule, AXTranslationModule] }); }
|
|
1200
1254
|
}
|
|
1201
1255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderModule, decorators: [{
|
|
1202
1256
|
type: NgModule,
|
|
1203
1257
|
args: [{
|
|
1204
|
-
imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule],
|
|
1258
|
+
imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule, AXTranslationModule],
|
|
1205
1259
|
exports: [...COMPONENTS],
|
|
1206
1260
|
declarations: [...COMPONENTS],
|
|
1207
1261
|
}]
|