@acorex/platform 21.0.0-next.24 → 21.0.0-next.33
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-auth.mjs +121 -27
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-gyb6ohAE.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +46 -4
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +677 -267
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +393 -111
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +554 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +345 -59
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +3373 -872
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +14645 -11533
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +244 -170
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +367 -408
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-Dnbx_uY7.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-B0omAUil.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +30 -22
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-D-HFZHNZ.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-q30grR3z.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BJh1QJqp.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +7 -7
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component--rzP7scF.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-DHlgsHa7.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +5924 -4049
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +220 -169
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-di5w_3K2.mjs → acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs} +15 -22
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D9NZ-6L_.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CgB_tlPU.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1667 -61
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-Cmju9l91.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-Cp5Th57U.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BQxoUmYL.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-CTGy2kjJ.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +231 -227
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +208 -91
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +34 -34
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +189 -16
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +178 -15
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +91 -42
- package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +893 -138
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +515 -26
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +44 -9
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +146 -95
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +506 -98
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +104 -4
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +33 -30
- package/fesm2022/acorex-platform-common-common-settings.provider-gyb6ohAE.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dnbx_uY7.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-B0omAUil.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-D-HFZHNZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-q30grR3z.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs +0 -111
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BJh1QJqp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component--rzP7scF.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-DHlgsHa7.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D_ex0nL2.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D_ex0nL2.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BhDLyC5P.mjs +0 -1611
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BhDLyC5P.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CgLUnYRq.mjs +0 -99
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CgLUnYRq.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-di5w_3K2.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-D9NZ-6L_.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CgB_tlPU.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DlUrqVmj.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DlUrqVmj.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-Cmju9l91.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Cp5Th57U.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BQxoUmYL.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CTGy2kjJ.mjs.map +0 -1
- /package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +0 -0
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -6,7 +6,7 @@ import { AXClickEvent } from '@acorex/cdk/common';
|
|
|
6
6
|
import * as i1 from '@acorex/cdk/drawer';
|
|
7
7
|
import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
|
|
8
8
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
9
|
-
import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService } from '@acorex/platform/core';
|
|
9
|
+
import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
10
10
|
import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
|
|
11
11
|
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
12
12
|
import { AXToastService } from '@acorex/components/toast';
|
|
@@ -16,7 +16,7 @@ import { AXPSessionService } from '@acorex/platform/auth';
|
|
|
16
16
|
import { AXPHomePageService } from '@acorex/platform/common';
|
|
17
17
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
18
18
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
19
|
-
import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent
|
|
19
|
+
import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
|
|
20
20
|
import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
|
|
21
21
|
import { AXFormComponent } from '@acorex/components/form';
|
|
22
22
|
import { Router, ActivatedRoute } from '@angular/router';
|
|
@@ -398,19 +398,28 @@ interface AXPLayoutDetailsViewPage {
|
|
|
398
398
|
*/
|
|
399
399
|
content?: AXPPageContentItem[];
|
|
400
400
|
tabs?: AXPLayoutDetailsViewTabItem[];
|
|
401
|
+
/**
|
|
402
|
+
* Static actions array (legacy, use getActions for reactive actions)
|
|
403
|
+
*/
|
|
401
404
|
actions?: AXPLayoutDetailsViewAction[];
|
|
405
|
+
/**
|
|
406
|
+
* Function to get actions dynamically (supports reactive updates from component instances)
|
|
407
|
+
*/
|
|
408
|
+
getActions?: () => Promise<AXPLayoutDetailsViewAction[]>;
|
|
402
409
|
isPrimary?: boolean;
|
|
403
410
|
isReadonly?: boolean;
|
|
404
411
|
settings?: {
|
|
405
412
|
commands?: {
|
|
406
413
|
accept?: {
|
|
407
414
|
title: string;
|
|
415
|
+
icon?: string;
|
|
408
416
|
color: string;
|
|
409
417
|
visible?: string | boolean;
|
|
410
418
|
command: AXPExecuteCommand;
|
|
411
419
|
};
|
|
412
420
|
reject?: {
|
|
413
421
|
title: string;
|
|
422
|
+
icon?: string;
|
|
414
423
|
color: string;
|
|
415
424
|
visible?: string | boolean;
|
|
416
425
|
command: AXPExecuteCommand;
|
|
@@ -430,8 +439,10 @@ interface AXPLayoutDetailsViewAdapter {
|
|
|
430
439
|
breadcrumbs?: AXPBreadcrumbItem[];
|
|
431
440
|
pages: AXPLayoutDetailsViewPage[];
|
|
432
441
|
execute?: (command: AXPExecuteCommand, context: {}) => Promise<AXPExecuteCommandResult>;
|
|
433
|
-
load?: (params?: Record<string,
|
|
442
|
+
load?: (params?: Record<string, unknown>) => Promise<AXPExecuteCommandResult>;
|
|
434
443
|
exitUrl?: string;
|
|
444
|
+
getPageBadge?: (context: Record<string, unknown>, isDirty: boolean) => Promise<AXPBadge | null>;
|
|
445
|
+
getPageStatus?: (context: Record<string, unknown>, currentPage: AXPLayoutDetailsViewPage | null) => Promise<AXPPageStatus | null>;
|
|
435
446
|
}
|
|
436
447
|
|
|
437
448
|
declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
@@ -448,6 +459,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
448
459
|
tabId: string;
|
|
449
460
|
tab: AXPLayoutDetailsViewTabItem;
|
|
450
461
|
}[]>>;
|
|
462
|
+
evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
|
|
463
|
+
evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
|
|
451
464
|
icon: _angular_core.Signal<string | null>;
|
|
452
465
|
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
453
466
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -471,12 +484,12 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
471
484
|
currentPageDescription: () => string | null;
|
|
472
485
|
currentPagePrimaryActions: () => Promise<any>;
|
|
473
486
|
currentPageSecondaryActions: () => Promise<any>;
|
|
474
|
-
currentPageContent: () =>
|
|
487
|
+
currentPageContent: () => AXPWidgetNode[];
|
|
475
488
|
currentPageTabs: () => AXPLayoutDetailsViewTabItem[] | undefined;
|
|
476
489
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
477
490
|
setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
|
|
478
|
-
getCurrentTabContent: () =>
|
|
479
|
-
getRenderedTabContent: (tabId: string) =>
|
|
491
|
+
getCurrentTabContent: () => AXPWidgetNode[];
|
|
492
|
+
getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
|
|
480
493
|
clearPageTabCache: (pageId: string) => void;
|
|
481
494
|
title: () => string | null;
|
|
482
495
|
backButtonTitle: () => string | null;
|
|
@@ -506,6 +519,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
506
519
|
tabId: string;
|
|
507
520
|
tab: AXPLayoutDetailsViewTabItem;
|
|
508
521
|
}>>;
|
|
522
|
+
evaluatedPageContent: AXPWidgetNode[];
|
|
523
|
+
evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
|
|
509
524
|
}>>;
|
|
510
525
|
|
|
511
526
|
declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
|
@@ -525,6 +540,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
525
540
|
tabId: string;
|
|
526
541
|
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
527
542
|
}[]>>;
|
|
543
|
+
evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
544
|
+
evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
|
|
528
545
|
icon: _angular_core.Signal<string | null>;
|
|
529
546
|
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
530
547
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -548,7 +565,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
548
565
|
currentPageDescription: () => string | null;
|
|
549
566
|
currentPagePrimaryActions: () => Promise<any>;
|
|
550
567
|
currentPageSecondaryActions: () => Promise<any>;
|
|
551
|
-
currentPageContent: () =>
|
|
568
|
+
currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
552
569
|
currentPageTabs: () => _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem[] | undefined;
|
|
553
570
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
554
571
|
setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
|
|
@@ -583,11 +600,14 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
583
600
|
tabId: string;
|
|
584
601
|
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
585
602
|
}>>;
|
|
603
|
+
evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
604
|
+
evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
586
605
|
}>;
|
|
587
606
|
protected router: Router;
|
|
588
607
|
protected route: ActivatedRoute;
|
|
589
608
|
protected eventService: AXPBroadcastEventService;
|
|
590
609
|
protected deviceService: AXPDeviceService;
|
|
610
|
+
private settingsService;
|
|
591
611
|
private onSelectionChangeSubscription?;
|
|
592
612
|
private readonly destroyed$;
|
|
593
613
|
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
@@ -605,7 +625,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
605
625
|
ngOnInit(): Promise<void>;
|
|
606
626
|
ngAfterViewInit(): Promise<void>;
|
|
607
627
|
ngOnDestroy(): void;
|
|
608
|
-
protected handleOnContextChanged(e:
|
|
628
|
+
protected handleOnContextChanged(e: AXPContextChangeEvent): void;
|
|
609
629
|
protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
|
|
610
630
|
protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
|
|
611
631
|
getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
@@ -617,6 +637,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
617
637
|
protected getPageTitle(): Promise<string>;
|
|
618
638
|
getPageDescription(): Promise<string | null>;
|
|
619
639
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
640
|
+
getPageBadge(): Promise<AXPBadge | null>;
|
|
641
|
+
getPageStatus(): Promise<AXPPageStatus | null>;
|
|
620
642
|
/**
|
|
621
643
|
* Get entity data for status chip component
|
|
622
644
|
*/
|
|
@@ -628,5 +650,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
628
650
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDetailsViewComponent, "axp-layout-details-view", never, { "adapter": { "alias": "adapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
629
651
|
}
|
|
630
652
|
|
|
631
|
-
|
|
653
|
+
/**
|
|
654
|
+
* Registry of rendered page component instances by component key.
|
|
655
|
+
* Used so page execute can delegate to the actual component instance in the view.
|
|
656
|
+
*/
|
|
657
|
+
declare class AXPPageComponentInstanceRegistryService {
|
|
658
|
+
private readonly instances;
|
|
659
|
+
register(key: string, instance: AXPPageLayoutBaseComponent): void;
|
|
660
|
+
unregister(key: string): void;
|
|
661
|
+
get(key: string): AXPPageLayoutBaseComponent | null;
|
|
662
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentInstanceRegistryService, never>;
|
|
663
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPageComponentInstanceRegistryService>;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageComponentInstanceRegistryService, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
|
|
632
667
|
export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem, AXPPageContentItem };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges
|
|
3
|
-
import * as _ngrx_signals from '@ngrx/signals';
|
|
2
|
+
import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges } from '@angular/core';
|
|
4
3
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
4
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
|
5
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
6
|
+
import { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
5
7
|
import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
|
|
6
|
-
import { AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
7
8
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
8
9
|
import { AXDataTableColumnComponent } from '@acorex/components/data-table';
|
|
9
10
|
import * as i7 from '@acorex/core/translation';
|
|
@@ -92,13 +93,17 @@ declare class AXPWidgetCoreService {
|
|
|
92
93
|
|
|
93
94
|
interface AXPWidgetCategory {
|
|
94
95
|
name: string;
|
|
95
|
-
title:
|
|
96
|
+
title: AXPMultiLanguageString;
|
|
96
97
|
order: number;
|
|
97
98
|
}
|
|
99
|
+
/** Normalizes widget categories to an array for iteration and serialization. */
|
|
100
|
+
declare function normalizeWidgetCategories(categories?: AXPWidgetCategory | AXPWidgetCategory[]): AXPWidgetCategory[];
|
|
98
101
|
declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
|
|
99
102
|
declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
|
|
100
103
|
declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
|
|
101
104
|
declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
|
|
105
|
+
/** Widgets exposed to AI assistants for structured rendering (see Widgets:GetForAI). */
|
|
106
|
+
declare const AXP_WIDGETS_AI_CATEGORY: AXPWidgetCategory;
|
|
102
107
|
declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
|
|
103
108
|
|
|
104
109
|
type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget';
|
|
@@ -134,6 +139,7 @@ interface AXPWidgetTypesMap {
|
|
|
134
139
|
pageLayout: 'page-layout';
|
|
135
140
|
repeaterLayout: 'repeater-layout';
|
|
136
141
|
textBlockLayout: 'text-block-layout';
|
|
142
|
+
alertBoxLayout: 'alert-box-layout';
|
|
137
143
|
fileUploader: 'file-uploader';
|
|
138
144
|
fileTypeExtension: 'file-type-extension';
|
|
139
145
|
map: 'map';
|
|
@@ -195,6 +201,7 @@ interface AXPWidgetTypesMap {
|
|
|
195
201
|
advancedWeather: 'advanced-weather';
|
|
196
202
|
metaData: 'meta-data-editor';
|
|
197
203
|
templateEditor: 'template-box-editor';
|
|
204
|
+
templateContentEditor: 'template-content-editor';
|
|
198
205
|
themePaletteChooser: 'theme-palette-chooser';
|
|
199
206
|
themeModeChooser: 'theme-mode-chooser';
|
|
200
207
|
menuOrientationChooser: 'menu-orientation-chooser';
|
|
@@ -213,11 +220,15 @@ interface AXPWidgetTypesMap {
|
|
|
213
220
|
entityList: 'entity-list';
|
|
214
221
|
stepWizard: 'step-wizard';
|
|
215
222
|
documentUploader: 'document-uploader';
|
|
223
|
+
documentFileTypeFilter: 'document-file-type-filter';
|
|
216
224
|
editorJs: 'editor-js-editor';
|
|
217
225
|
progressBar: 'progress-bar-editor';
|
|
218
226
|
rate: 'rate-picker-editor';
|
|
227
|
+
entityDefinitionProvider: 'entity-definition-provider-editor';
|
|
219
228
|
}
|
|
220
229
|
|
|
230
|
+
/** Inclusion mode for AI widget catalog queries (Widgets:GetForAI). */
|
|
231
|
+
type AXPWidgetAiCatalogMode = 'include' | 'exclude' | 'inherit';
|
|
221
232
|
interface AXPWidgetPropertyGroup {
|
|
222
233
|
name: string;
|
|
223
234
|
title: string;
|
|
@@ -241,7 +252,7 @@ interface AXPWidgetProperty {
|
|
|
241
252
|
interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
|
|
242
253
|
};
|
|
243
254
|
validations?: AXPValidationRules;
|
|
244
|
-
visible: boolean;
|
|
255
|
+
visible: boolean | AXPExpression;
|
|
245
256
|
binding?: {
|
|
246
257
|
enabled: boolean;
|
|
247
258
|
/** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
|
|
@@ -255,7 +266,7 @@ declare function createStringProperty(ctor: {
|
|
|
255
266
|
title: string;
|
|
256
267
|
path?: string;
|
|
257
268
|
group: AXPWidgetPropertyGroup;
|
|
258
|
-
visible?: boolean;
|
|
269
|
+
visible?: boolean | AXPExpression;
|
|
259
270
|
}): AXPWidgetProperty;
|
|
260
271
|
declare function createNumberProperty(ctor: {
|
|
261
272
|
defaultValue?: number;
|
|
@@ -263,7 +274,7 @@ declare function createNumberProperty(ctor: {
|
|
|
263
274
|
title: string;
|
|
264
275
|
path?: string;
|
|
265
276
|
group: AXPWidgetPropertyGroup;
|
|
266
|
-
visible?: boolean;
|
|
277
|
+
visible?: boolean | AXPExpression;
|
|
267
278
|
options?: {
|
|
268
279
|
minValue?: number;
|
|
269
280
|
maxValue?: number;
|
|
@@ -276,7 +287,7 @@ declare function createBooleanProperty(ctor: {
|
|
|
276
287
|
title: string;
|
|
277
288
|
path?: string;
|
|
278
289
|
group: AXPWidgetPropertyGroup;
|
|
279
|
-
visible?: boolean;
|
|
290
|
+
visible?: boolean | AXPExpression;
|
|
280
291
|
}): AXPWidgetProperty;
|
|
281
292
|
declare function createSelectProperty<T = string | {
|
|
282
293
|
id: string;
|
|
@@ -288,7 +299,7 @@ declare function createSelectProperty<T = string | {
|
|
|
288
299
|
title: string;
|
|
289
300
|
path?: string;
|
|
290
301
|
group: AXPWidgetPropertyGroup;
|
|
291
|
-
visible?: boolean;
|
|
302
|
+
visible?: boolean | AXPExpression;
|
|
292
303
|
}): AXPWidgetProperty;
|
|
293
304
|
interface AXPWidgetNode {
|
|
294
305
|
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
|
|
@@ -351,9 +362,14 @@ type AXPExtractWidgetConfig<T> = {
|
|
|
351
362
|
interface AXPWidgetConfig<T = any> {
|
|
352
363
|
name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
|
|
353
364
|
alias?: string | string[];
|
|
354
|
-
title:
|
|
365
|
+
title: AXPMultiLanguageString;
|
|
355
366
|
icon?: string;
|
|
356
|
-
description?:
|
|
367
|
+
description?: AXPMultiLanguageString;
|
|
368
|
+
/**
|
|
369
|
+
* Optional guidance for AI assistants (Widgets:GetForAI). Explains when and how to use this widget
|
|
370
|
+
* for structured output; unrelated to end-user UI copy.
|
|
371
|
+
*/
|
|
372
|
+
aiDescription?: string | null;
|
|
357
373
|
categories?: AXPWidgetCategory | AXPWidgetCategory[];
|
|
358
374
|
groups?: AXPWidgetGroup[];
|
|
359
375
|
properties?: AXPWidgetProperty[];
|
|
@@ -363,8 +379,21 @@ interface AXPWidgetConfig<T = any> {
|
|
|
363
379
|
designer?: AXPExtractWidgetConfig<T>['designer'];
|
|
364
380
|
options?: Record<string, any>;
|
|
365
381
|
defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
|
|
382
|
+
/**
|
|
383
|
+
* Optional layout for Change History. When set, this AXPWidgetNode is rendered for
|
|
384
|
+
* changes of this widget type instead of the default fieldKey/actionKey text.
|
|
385
|
+
* Context passed to renderer: the AXPActivityLogChange object.
|
|
386
|
+
* If omitted, the default display is used.
|
|
387
|
+
*/
|
|
388
|
+
historyLayout?: AXPWidgetNode;
|
|
389
|
+
/**
|
|
390
|
+
* Controls inclusion in AI-facing widget catalog queries (e.g. Widgets:GetForAI).
|
|
391
|
+
* `inherit` (default): include only when `categories` contains the AI category (`AXP_WIDGETS_AI_CATEGORY`).
|
|
392
|
+
* `include` / `exclude`: force include or exclude regardless of categories.
|
|
393
|
+
*/
|
|
394
|
+
aiCatalog?: AXPWidgetAiCatalogMode;
|
|
366
395
|
}
|
|
367
|
-
interface
|
|
396
|
+
interface AXPExtendedWidget {
|
|
368
397
|
widget: AXPWidgetConfig;
|
|
369
398
|
parentName: string;
|
|
370
399
|
}
|
|
@@ -381,32 +410,32 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
|
|
|
381
410
|
readonly host: HTMLDivElement;
|
|
382
411
|
protected readonly layoutService: AXPWidgetCoreService;
|
|
383
412
|
protected readonly contextService: {
|
|
384
|
-
data: _angular_core.Signal<
|
|
385
|
-
state: _angular_core.Signal<
|
|
413
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
414
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
386
415
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
387
416
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
388
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
417
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
389
418
|
isChanged: _angular_core.Signal<boolean>;
|
|
390
419
|
isReset: _angular_core.Signal<boolean>;
|
|
391
420
|
isInitiated: _angular_core.Signal<boolean>;
|
|
392
421
|
isEmpty: _angular_core.Signal<boolean>;
|
|
393
422
|
isDirty: _angular_core.Signal<boolean>;
|
|
394
|
-
snapshot: _angular_core.Signal<
|
|
423
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
395
424
|
initial: _angular_core.Signal<{}>;
|
|
396
425
|
previous: _angular_core.Signal<{}>;
|
|
397
|
-
changeEvent: _angular_core.Signal<
|
|
426
|
+
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
398
427
|
update: (path: string, value: any) => void;
|
|
399
|
-
patch: (context:
|
|
428
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
400
429
|
reset: () => void;
|
|
401
430
|
set: (initialData: any) => void;
|
|
402
431
|
getValue: (path: string) => any;
|
|
403
432
|
hasValue: (path: string) => boolean;
|
|
404
433
|
} & _ngrx_signals.StateSource<{
|
|
405
|
-
data:
|
|
406
|
-
state:
|
|
434
|
+
data: _acorex_platform_core.AXPContextData;
|
|
435
|
+
state: _acorex_platform_core.AXPContextState;
|
|
407
436
|
initialSnapshot: {};
|
|
408
437
|
previousSnapshot: {};
|
|
409
|
-
lastChange:
|
|
438
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
410
439
|
}>;
|
|
411
440
|
readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
|
|
412
441
|
readonly node: AXPWidgetNode;
|
|
@@ -731,74 +760,37 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
|
|
|
731
760
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemBaseLayoutWidgetComponent>;
|
|
732
761
|
}
|
|
733
762
|
|
|
734
|
-
type AXPWidgetCoreContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
735
|
-
declare class AXPWidgetCoreContextChangeEvent {
|
|
736
|
-
oldValue?: any;
|
|
737
|
-
newValue?: any;
|
|
738
|
-
path?: string;
|
|
739
|
-
state: AXPWidgetCoreContextState;
|
|
740
|
-
data: any;
|
|
741
|
-
}
|
|
742
|
-
declare const AXPWidgetCoreContextStore: _angular_core.Type<{
|
|
743
|
-
data: _angular_core.Signal<{}>;
|
|
744
|
-
state: _angular_core.Signal<AXPWidgetCoreContextState>;
|
|
745
|
-
initialSnapshot: _angular_core.Signal<{}>;
|
|
746
|
-
previousSnapshot: _angular_core.Signal<{}>;
|
|
747
|
-
lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
|
|
748
|
-
isChanged: _angular_core.Signal<boolean>;
|
|
749
|
-
isReset: _angular_core.Signal<boolean>;
|
|
750
|
-
isInitiated: _angular_core.Signal<boolean>;
|
|
751
|
-
isEmpty: _angular_core.Signal<boolean>;
|
|
752
|
-
isDirty: _angular_core.Signal<boolean>;
|
|
753
|
-
snapshot: _angular_core.Signal<{}>;
|
|
754
|
-
initial: _angular_core.Signal<{}>;
|
|
755
|
-
previous: _angular_core.Signal<{}>;
|
|
756
|
-
changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
|
|
757
|
-
update: (path: string, value: any) => void;
|
|
758
|
-
patch: (context: {}, skipDirtyTracking?: boolean) => void;
|
|
759
|
-
reset: () => void;
|
|
760
|
-
set: (initialData: any) => void;
|
|
761
|
-
getValue: (path: string) => any;
|
|
762
|
-
hasValue: (path: string) => boolean;
|
|
763
|
-
} & _ngrx_signals.StateSource<{
|
|
764
|
-
data: {};
|
|
765
|
-
state: AXPWidgetCoreContextState;
|
|
766
|
-
initialSnapshot: {};
|
|
767
|
-
previousSnapshot: {};
|
|
768
|
-
lastChange: AXPWidgetCoreContextChangeEvent;
|
|
769
|
-
}>>;
|
|
770
|
-
|
|
771
763
|
declare class AXPWidgetContainerComponent {
|
|
772
764
|
readonly contextService: {
|
|
773
|
-
data: _angular_core.Signal<
|
|
774
|
-
state: _angular_core.Signal<
|
|
765
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
766
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
775
767
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
776
768
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
777
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
769
|
+
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
778
770
|
isChanged: _angular_core.Signal<boolean>;
|
|
779
771
|
isReset: _angular_core.Signal<boolean>;
|
|
780
772
|
isInitiated: _angular_core.Signal<boolean>;
|
|
781
773
|
isEmpty: _angular_core.Signal<boolean>;
|
|
782
774
|
isDirty: _angular_core.Signal<boolean>;
|
|
783
|
-
snapshot: _angular_core.Signal<
|
|
775
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
784
776
|
initial: _angular_core.Signal<{}>;
|
|
785
777
|
previous: _angular_core.Signal<{}>;
|
|
786
|
-
changeEvent: _angular_core.Signal<
|
|
778
|
+
changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
|
|
787
779
|
update: (path: string, value: any) => void;
|
|
788
|
-
patch: (context:
|
|
780
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
789
781
|
reset: () => void;
|
|
790
782
|
set: (initialData: any) => void;
|
|
791
783
|
getValue: (path: string) => any;
|
|
792
784
|
hasValue: (path: string) => boolean;
|
|
793
785
|
} & _ngrx_signals.StateSource<{
|
|
794
|
-
data:
|
|
795
|
-
state:
|
|
786
|
+
data: _acorex_platform_core.AXPContextData;
|
|
787
|
+
state: _acorex_platform_core.AXPContextState;
|
|
796
788
|
initialSnapshot: {};
|
|
797
789
|
previousSnapshot: {};
|
|
798
|
-
lastChange:
|
|
790
|
+
lastChange: AXPContextChangeEvent;
|
|
799
791
|
}>;
|
|
800
792
|
readonly builderService: AXPWidgetCoreService;
|
|
801
|
-
readonly onContextChanged: EventEmitter<
|
|
793
|
+
readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
|
|
802
794
|
set context(value: any);
|
|
803
795
|
set functions(v: any);
|
|
804
796
|
constructor();
|
|
@@ -810,16 +802,43 @@ declare class AXPWidgetContainerComponent {
|
|
|
810
802
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetContainerComponent, "axp-widgets-container", never, { "context": { "alias": "context"; "required": false; }; "functions": { "alias": "functions"; "required": false; }; }, { "onContextChanged": "onContextChanged"; }, never, ["*"], false, never>;
|
|
811
803
|
}
|
|
812
804
|
|
|
805
|
+
/**
|
|
806
|
+
* Provider interface for widget definitions.
|
|
807
|
+
* Implement this interface and register via AXP_WIDGET_DEFINITION_PROVIDER to contribute widgets.
|
|
808
|
+
*/
|
|
809
|
+
interface AXPWidgetDefinitionProvider {
|
|
810
|
+
getWidgets(): AXPWidgetConfig[];
|
|
811
|
+
getExtendedWidgets?(): AXPExtendedWidget[];
|
|
812
|
+
}
|
|
813
|
+
/**
|
|
814
|
+
* Injection token for widget definition providers.
|
|
815
|
+
* Modules register their widget providers using this token (multi: true).
|
|
816
|
+
*/
|
|
817
|
+
declare const AXP_WIDGET_DEFINITION_PROVIDER: InjectionToken<AXPWidgetDefinitionProvider[]>;
|
|
818
|
+
|
|
819
|
+
/**
|
|
820
|
+
* Merges core + extended widgets the same way as AXPWidgetRegistryService.ensureBuilt().
|
|
821
|
+
* Use with concrete providers (e.g. AXPCoreWidgetsProvider, AXPEntityWidgetsProvider) in Node scripts without DI.
|
|
822
|
+
*/
|
|
823
|
+
declare function buildWidgetRegistryMapFromProviders(providers: AXPWidgetDefinitionProvider[]): Map<string, AXPWidgetConfig>;
|
|
824
|
+
/**
|
|
825
|
+
* Aggregates widgets from all AXP_WIDGET_DEFINITION_PROVIDER instances.
|
|
826
|
+
* Token-based like AXP_MENU_PROVIDER / AXP_PERMISSION_DEFINITION_PROVIDER / AXP_SETTING_DEFINITION_PROVIDER.
|
|
827
|
+
* No separate registry - widgets come solely from providers.
|
|
828
|
+
*/
|
|
813
829
|
declare class AXPWidgetRegistryService {
|
|
814
|
-
private
|
|
815
|
-
|
|
830
|
+
private readonly _providers;
|
|
831
|
+
private _types;
|
|
816
832
|
/**
|
|
817
|
-
*
|
|
833
|
+
* Lazy-build widget map from all providers.
|
|
818
834
|
*/
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
835
|
+
private ensureBuilt;
|
|
836
|
+
resolve(name: string): AXPWidgetConfig;
|
|
837
|
+
/**
|
|
838
|
+
* Registered widget config when present; otherwise `undefined`. Does not throw — use when
|
|
839
|
+
* {@link resolve}'s value may be a non-widget id (e.g. data-source row id in dynamic field configurator).
|
|
840
|
+
*/
|
|
841
|
+
getOptional(name: string): AXPWidgetConfig | undefined;
|
|
823
842
|
all(): AXPWidgetConfig[];
|
|
824
843
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
|
|
825
844
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
|
|
@@ -918,32 +937,32 @@ declare class AXPWidgetRendererDirective {
|
|
|
918
937
|
private injector;
|
|
919
938
|
protected builderService: AXPWidgetCoreService;
|
|
920
939
|
protected contextService: {
|
|
921
|
-
data: _angular_core.Signal<
|
|
922
|
-
state: _angular_core.Signal<
|
|
940
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
941
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
923
942
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
924
943
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
925
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
944
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
926
945
|
isChanged: _angular_core.Signal<boolean>;
|
|
927
946
|
isReset: _angular_core.Signal<boolean>;
|
|
928
947
|
isInitiated: _angular_core.Signal<boolean>;
|
|
929
948
|
isEmpty: _angular_core.Signal<boolean>;
|
|
930
949
|
isDirty: _angular_core.Signal<boolean>;
|
|
931
|
-
snapshot: _angular_core.Signal<
|
|
950
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
932
951
|
initial: _angular_core.Signal<{}>;
|
|
933
952
|
previous: _angular_core.Signal<{}>;
|
|
934
|
-
changeEvent: _angular_core.Signal<
|
|
953
|
+
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
935
954
|
update: (path: string, value: any) => void;
|
|
936
|
-
patch: (context:
|
|
955
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
937
956
|
reset: () => void;
|
|
938
957
|
set: (initialData: any) => void;
|
|
939
958
|
getValue: (path: string) => any;
|
|
940
959
|
hasValue: (path: string) => boolean;
|
|
941
960
|
} & _ngrx_signals.StateSource<{
|
|
942
|
-
data:
|
|
943
|
-
state:
|
|
961
|
+
data: _acorex_platform_core.AXPContextData;
|
|
962
|
+
state: _acorex_platform_core.AXPContextState;
|
|
944
963
|
initialSnapshot: {};
|
|
945
964
|
previousSnapshot: {};
|
|
946
|
-
lastChange:
|
|
965
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
947
966
|
}>;
|
|
948
967
|
protected widgetRegistery: AXPWidgetRegistryService;
|
|
949
968
|
protected unsubscriber: AXUnsubscriber;
|
|
@@ -976,6 +995,15 @@ declare class AXPWidgetRendererDirective {
|
|
|
976
995
|
private queueContextUpdate;
|
|
977
996
|
private processBatchedUpdates;
|
|
978
997
|
private isRelevantContextChange;
|
|
998
|
+
/**
|
|
999
|
+
* True when a context store path used in an expression (`context.eval`, `context.options`) is
|
|
1000
|
+
* affected by `changedPath`.
|
|
1001
|
+
*/
|
|
1002
|
+
private contextStorePathDependsOnChangedPath;
|
|
1003
|
+
/**
|
|
1004
|
+
* Whether an expression template string reads context store paths affected by `changedPath`.
|
|
1005
|
+
*/
|
|
1006
|
+
private expressionTextDependsOnContextPath;
|
|
979
1007
|
private hasExpressionDependency;
|
|
980
1008
|
private isPathAlias;
|
|
981
1009
|
private getExpressionValueFromNode;
|
|
@@ -1008,28 +1036,51 @@ declare class AXPWidgetRendererDirective {
|
|
|
1008
1036
|
|
|
1009
1037
|
interface AXPWidgetCoreModuleConfigs {
|
|
1010
1038
|
widgets?: AXPWidgetConfig[];
|
|
1011
|
-
|
|
1039
|
+
AXPExtendedWidgets?: AXPExtendedWidget[];
|
|
1012
1040
|
}
|
|
1013
1041
|
declare class AXPWidgetCoreModule {
|
|
1014
|
-
static
|
|
1015
|
-
static
|
|
1016
|
-
/**
|
|
1017
|
-
* @ignore
|
|
1018
|
-
*/
|
|
1019
|
-
constructor(instances: any[]);
|
|
1020
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, [{ optional: true; }]>;
|
|
1021
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i4.CommonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
|
|
1042
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, never>;
|
|
1043
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
|
|
1022
1044
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
|
|
1023
1045
|
}
|
|
1024
1046
|
|
|
1047
|
+
interface AXPMetaDataFeatures {
|
|
1048
|
+
searchable?: {
|
|
1049
|
+
enabled: boolean;
|
|
1050
|
+
fullText: boolean;
|
|
1051
|
+
};
|
|
1052
|
+
filterable?: {
|
|
1053
|
+
enabled: boolean;
|
|
1054
|
+
inline: boolean;
|
|
1055
|
+
};
|
|
1056
|
+
sortable?: {
|
|
1057
|
+
enabled: boolean;
|
|
1058
|
+
};
|
|
1059
|
+
auditable?: {
|
|
1060
|
+
enabled: boolean;
|
|
1061
|
+
};
|
|
1062
|
+
}
|
|
1025
1063
|
interface AXPMetaDataDefinition {
|
|
1026
1064
|
name: string;
|
|
1027
1065
|
title: string;
|
|
1028
1066
|
defaultValue?: any;
|
|
1029
1067
|
interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
|
|
1068
|
+
features?: AXPMetaDataFeatures;
|
|
1030
1069
|
}
|
|
1031
1070
|
|
|
1032
1071
|
declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
|
|
1033
1072
|
|
|
1034
|
-
|
|
1035
|
-
|
|
1073
|
+
/**
|
|
1074
|
+
* True when the widget declares the AI category (see {@link AXP_WIDGETS_AI_CATEGORY}).
|
|
1075
|
+
*/
|
|
1076
|
+
declare function hasAiWidgetCategory(config: AXPWidgetConfig): boolean;
|
|
1077
|
+
/**
|
|
1078
|
+
* Resolves AI catalog visibility using {@link AXPWidgetConfig.aiCatalog} and the AI widget category.
|
|
1079
|
+
* - `exclude`: never listed.
|
|
1080
|
+
* - `include`: always listed (override when the widget cannot declare the AI category yet).
|
|
1081
|
+
* - `inherit` / omitted: listed only if {@link hasAiWidgetCategory} is true.
|
|
1082
|
+
*/
|
|
1083
|
+
declare function isWidgetAiCatalogIncluded(config: AXPWidgetConfig): boolean;
|
|
1084
|
+
|
|
1085
|
+
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, hasAiWidgetCategory, isWidgetAiCatalogIncluded, normalizeWidgetCategories };
|
|
1086
|
+
export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetAiCatalogMode, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType };
|