@acorex/platform 21.0.0-next.92 → 21.0.0-next.93
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 +9 -4
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +12 -1
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +2 -16
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain-contracts.mjs +0 -1
- package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +4 -4
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +4 -3
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +4 -3
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +24 -4
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +5 -4
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core-contracts.mjs +141 -0
- package/fesm2022/acorex-platform-layout-widget-core-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs +5 -132
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BvFykMTH.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DIDziLAT.mjs} +2 -2
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DIDziLAT.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +13 -440
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime-contracts.mjs +166 -0
- package/fesm2022/acorex-platform-runtime-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime.mjs +1 -163
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BP2dVnBQ.mjs} +3 -2
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BP2dVnBQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +4 -3
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/package.json +14 -6
- package/types/acorex-platform-common.d.ts +15 -5
- package/types/acorex-platform-contracts.d.ts +106 -4
- package/types/acorex-platform-core.d.ts +4 -101
- package/types/acorex-platform-layout-builder.d.ts +3 -3
- package/types/acorex-platform-layout-components.d.ts +4 -3
- package/types/acorex-platform-layout-designer.d.ts +2 -1
- package/types/acorex-platform-layout-entity-contracts.d.ts +2 -3
- package/types/acorex-platform-layout-entity.d.ts +12 -10
- package/types/acorex-platform-layout-views.d.ts +10 -9
- package/types/acorex-platform-layout-widget-core-contracts.d.ts +299 -0
- package/types/acorex-platform-layout-widget-core.d.ts +9 -301
- package/types/acorex-platform-layout-widgets.d.ts +55 -80
- package/types/acorex-platform-runtime-contracts.d.ts +275 -0
- package/types/acorex-platform-runtime.d.ts +4 -274
- package/types/acorex-platform-themes-default.d.ts +3 -3
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BvFykMTH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +0 -1
|
@@ -2,18 +2,19 @@ import * as _acorex_platform_layout_entity_contracts from '@acorex/platform/layo
|
|
|
2
2
|
import { AXPRelatedEntity, AXPEntityPage, AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPCardField, AXPEntityPropertyLayoutConfig, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPQueryView, AXPEntityMasterListLayoutType, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityListFilterDefinition, AXPEntityListSortableField, AXPEntityPropertyView, AXPEntityCategoryPlugin, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPEntityAggregateRequest, AXPEntityDetailDto, AXPEntityModel, AXPEntityListItemDto, AXPEntityCreateDto, AXPEntityUpdateDto, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityAggregateOptions, AXPEntityAggregateResult, AXPLookupDisplayOptions, AXPLookupWidgetLookType, AXPLookupSelectorRowActionsConfig, AXPQueryFilter, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy } from '@acorex/platform/layout/entity-contracts';
|
|
3
3
|
export * from '@acorex/platform/layout/entity-contracts';
|
|
4
4
|
export { collectNestedCreateHiddenProperties, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, mergeForeignKeyFieldIntoCreateActions } from '@acorex/platform/layout/entity-contracts';
|
|
5
|
+
import { AXPCommand, AXPQuery } from '@acorex/platform/runtime-contracts';
|
|
5
6
|
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
6
|
-
import { AXPExecuteCommandResult, AXPMetaData, AXPWidgetNode, AXPGridLayoutOptions, AXPExpression, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPExecuteCommand, AXPFilterDefinition, AXPPagedListResult, AXPCategoryEntity, AXPEntityOp, AXPMiddlewareErrorResponse, AXPColumnQuery, AXPSortDefinition, AXPFileListItem, AXPContextData, AXPContextChangeEvent } from '@acorex/platform/contracts';
|
|
7
|
-
import { AXPCommand, AXPQueryExecutor, AXPCommandService, AXPQuery } from '@acorex/platform/runtime';
|
|
7
|
+
import { AXPExecuteCommandResult, AXPMetaData, AXPWidgetNode, AXPGridLayoutOptions, AXPExpression, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPExecuteCommand, AXPFilterDefinition, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity, AXPEntityOp, AXPMiddlewareErrorResponse, AXPColumnQuery, AXPSortDefinition, AXPActionMenuItem, AXPFileListItem, AXPContextData, AXPContextChangeEvent } from '@acorex/platform/contracts';
|
|
8
8
|
import * as _angular_core from '@angular/core';
|
|
9
9
|
import { ElementRef, InjectionToken, Injector, Type, EnvironmentProviders, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
10
10
|
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorRowActionsHandler, AXPCategoryTreeDataSource, AXPDataSelectorAllowCreate } from '@acorex/platform/layout/components';
|
|
11
11
|
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
12
|
-
import { AXPDataSourceDefinitionProvider, AXPDataSourceDefinition,
|
|
12
|
+
import { AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXHighlightService, AXPDeviceService, AXPBroadcastEventService, AXPExpressionEvaluatorService, AXPContextEvalFactory, AXPContextStore } from '@acorex/platform/core';
|
|
13
13
|
export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
|
|
14
14
|
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
15
|
+
import { AXPWidgetColumnNode, AXPWidgetConfig } from '@acorex/platform/layout/widget-core-contracts';
|
|
15
16
|
import * as i4 from '@acorex/platform/layout/widget-core';
|
|
16
|
-
import {
|
|
17
|
+
import { AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetRendererDirective, AXPWidgetCoreElementAPI } from '@acorex/platform/layout/widget-core';
|
|
17
18
|
import * as i1 from '@angular/router';
|
|
18
19
|
import { ResolveFn, RedirectCommand } from '@angular/router';
|
|
19
20
|
import * as rxjs from 'rxjs';
|
|
@@ -23,6 +24,7 @@ import { AXPWorkflowService, AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext
|
|
|
23
24
|
import * as i5 from '@acorex/platform/layout/builder';
|
|
24
25
|
import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
|
|
25
26
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
27
|
+
import { AXPQueryExecutor, AXPCommandService } from '@acorex/platform/runtime';
|
|
26
28
|
import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent } from '@acorex/components/tree-view';
|
|
27
29
|
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
28
30
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
@@ -50,6 +52,9 @@ declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
|
|
|
50
52
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCreateEntityCommand>;
|
|
51
53
|
}
|
|
52
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Build-time only. Do not import from Angular modules.
|
|
57
|
+
*/
|
|
53
58
|
/**
|
|
54
59
|
* Merged into AI/tool payloads for `Entity:Create` so post-create navigation does not run from agent flows.
|
|
55
60
|
* Applied in the AI module when normalizing tool arguments (not in the generic command executor).
|
|
@@ -664,10 +669,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
664
669
|
enabled?: boolean;
|
|
665
670
|
columns: AXPEntityTableColumn[];
|
|
666
671
|
cssClass?: {
|
|
667
|
-
row
|
|
668
|
-
* Switches to the given layout when it is enabled.
|
|
669
|
-
* Persists the choice at entity list level (shared across all views).
|
|
670
|
-
*/: AXPExpression;
|
|
672
|
+
row?: AXPExpression;
|
|
671
673
|
cell?: AXPExpression;
|
|
672
674
|
};
|
|
673
675
|
} | undefined>;
|
|
@@ -2549,7 +2551,7 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
|
|
|
2549
2551
|
}
|
|
2550
2552
|
|
|
2551
2553
|
declare const AXPEntityDefinitionProviderWidget: AXPWidgetConfig;
|
|
2552
|
-
declare module '@acorex/platform/layout/widget-core' {
|
|
2554
|
+
declare module '@acorex/platform/layout/widget-core-contracts' {
|
|
2553
2555
|
interface AXPWidgetTypesMap {
|
|
2554
2556
|
entityDefinitionProvider: 'entity-definition-provider-editor';
|
|
2555
2557
|
}
|
|
@@ -3194,7 +3196,7 @@ interface AXPFileUploaderWidgetOptions {
|
|
|
3194
3196
|
print: AXPFileUploaderWidgetPrintOptions;
|
|
3195
3197
|
column: AXPFileUploaderWidgetColumnOptions;
|
|
3196
3198
|
}
|
|
3197
|
-
declare module '@acorex/platform/layout/widget-core' {
|
|
3199
|
+
declare module '@acorex/platform/layout/widget-core-contracts' {
|
|
3198
3200
|
interface AXPWidgetTypesMap {
|
|
3199
3201
|
attachments: 'attachments';
|
|
3200
3202
|
}
|
|
@@ -2,14 +2,14 @@ import * as _ngrx_signals from '@ngrx/signals';
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { Signal, InjectionToken, OnInit, OnDestroy } from '@angular/core';
|
|
4
4
|
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
5
|
+
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
6
|
+
import { AXPActionMenuItem, AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPWidgetNode, AXPKeyboardShortcut, AXPExecuteCommandResult, AXPContextChangeEvent, AXPKeyboardShortcutChord } from '@acorex/platform/contracts';
|
|
5
7
|
import { AXClickEvent } from '@acorex/cdk/common';
|
|
6
8
|
import { AXPTabNavigationService, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService } from '@acorex/platform/common';
|
|
7
9
|
import * as i1 from '@acorex/cdk/drawer';
|
|
8
10
|
import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
|
|
9
|
-
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
10
|
-
import { AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPWidgetNode, AXPExecuteCommandResult, AXPContextChangeEvent } from '@acorex/platform/contracts';
|
|
11
11
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
12
|
-
import {
|
|
12
|
+
import { AXPDeviceService, AXPExpressionEvaluatorScope, AXPBroadcastEventService } from '@acorex/platform/core';
|
|
13
13
|
import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
|
|
14
14
|
import { AXPWorkflowService } from '@acorex/platform/workflow';
|
|
15
15
|
import { AXToastService } from '@acorex/components/toast';
|
|
@@ -21,10 +21,11 @@ import { Router, ActivatedRoute } from '@angular/router';
|
|
|
21
21
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
22
22
|
import { AXPEntityCommandScope } from '@acorex/platform/layout/entity-contracts';
|
|
23
23
|
import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
|
|
24
|
+
import * as _acorex_platform_layout_widget_core_contracts from '@acorex/platform/layout/widget-core-contracts';
|
|
25
|
+
import { AXPPageStatus as AXPPageStatus$1 } from '@acorex/platform/layout/widget-core-contracts';
|
|
24
26
|
import { AXFormComponent } from '@acorex/components/form';
|
|
25
|
-
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
26
|
-
import { AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
|
|
27
27
|
import { AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
28
|
+
import { AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
|
|
28
29
|
|
|
29
30
|
declare abstract class AXPPageLayoutBase {
|
|
30
31
|
abstract primaryMenuItems: Signal<AXPActionMenuItem[]>;
|
|
@@ -661,7 +662,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
661
662
|
previousContext: _angular_core.Signal<Record<string, any>>;
|
|
662
663
|
context: _angular_core.Signal<Record<string, any>>;
|
|
663
664
|
scope: _angular_core.Signal<_acorex_platform_core.AXPExpressionEvaluatorScope | null>;
|
|
664
|
-
status: _angular_core.Signal<
|
|
665
|
+
status: _angular_core.Signal<_acorex_platform_layout_widget_core_contracts.AXPPageStatus>;
|
|
665
666
|
currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
|
|
666
667
|
currentTab: _angular_core.Signal<_acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null>;
|
|
667
668
|
pageSelectedRows: _angular_core.Signal<any[]>;
|
|
@@ -719,7 +720,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
719
720
|
previousContext: Record<string, any>;
|
|
720
721
|
context: Record<string, any>;
|
|
721
722
|
scope: _acorex_platform_core.AXPExpressionEvaluatorScope | null;
|
|
722
|
-
status:
|
|
723
|
+
status: _acorex_platform_layout_widget_core_contracts.AXPPageStatus;
|
|
723
724
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
724
725
|
currentTab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null;
|
|
725
726
|
pageSelectedRows: any[];
|
|
@@ -772,7 +773,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
772
773
|
color: string;
|
|
773
774
|
visible?: string | boolean;
|
|
774
775
|
command: AXPExecuteCommand;
|
|
775
|
-
shortcuts?:
|
|
776
|
+
shortcuts?: _acorex_platform_contracts.AXPKeyboardShortcut[];
|
|
776
777
|
} | null>;
|
|
777
778
|
protected acceptFooterCommand: _angular_core.Signal<{
|
|
778
779
|
title: string;
|
|
@@ -780,7 +781,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
780
781
|
color: string;
|
|
781
782
|
visible?: string | boolean;
|
|
782
783
|
command: AXPExecuteCommand;
|
|
783
|
-
shortcuts?:
|
|
784
|
+
shortcuts?: _acorex_platform_contracts.AXPKeyboardShortcut[];
|
|
784
785
|
} | null>;
|
|
785
786
|
protected hasSaveDiscardFooterCommands: _angular_core.Signal<boolean>;
|
|
786
787
|
/** Entity save/discard — driven live by widget/container dirty state, not evaluated action metadata. */
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPWidgetNode, AXPValidationRules, AXPExpression, AXPMetaData, AXPOptionsData, AXPPartialNested } from '@acorex/platform/contracts';
|
|
2
|
+
export { AXPWidgetNode, AXPWidgetRenderMode } from '@acorex/platform/contracts';
|
|
3
|
+
import { InjectionToken } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
|
|
6
|
+
declare enum AXPWidgetGroupEnum {
|
|
7
|
+
FormElement = "form-element",
|
|
8
|
+
DashboardWidget = "dashboard-widget",
|
|
9
|
+
FormTemplate = "form-template",
|
|
10
|
+
PropertyEditor = "property-editor",
|
|
11
|
+
MetaData = "meta-data",
|
|
12
|
+
SettingWidget = "setting-widget",
|
|
13
|
+
EntityWidget = "entity-widget",
|
|
14
|
+
UtilityWidget = "utility-widget",
|
|
15
|
+
BaseWidget = "base-widget"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare enum AXPPageStatus {
|
|
19
|
+
Idle = "idle",// The page is idle.
|
|
20
|
+
Rendering = "rendering",// The page is being rendered.
|
|
21
|
+
Rendered = "rendered",// The rendering process is complete.
|
|
22
|
+
Processing = "processing",// The page is performing a task or interaction.
|
|
23
|
+
Submitting = "submitting",// The form is being submitted.
|
|
24
|
+
Submitted = "submitted",// Submission is completed.
|
|
25
|
+
Validating = "validating",// The form is being validated.
|
|
26
|
+
Validated = "validated",// Validation is completed.
|
|
27
|
+
Error = "error"
|
|
28
|
+
}
|
|
29
|
+
declare enum AXPWidgetStatus {
|
|
30
|
+
Rendering = "rendering",// The widget is being mounted and bound.
|
|
31
|
+
Rendered = "rendered",// The widget shell is ready (async hydration may still run).
|
|
32
|
+
Error = "error"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface AXPWidgetTypesMap {
|
|
36
|
+
timeDuration: 'time-duration';
|
|
37
|
+
checkbox: 'checkbox-editor';
|
|
38
|
+
color: 'color-editor';
|
|
39
|
+
connectedLists: 'connected-lists-editor';
|
|
40
|
+
contact: 'contact-editor';
|
|
41
|
+
dateTime: 'date-time-editor';
|
|
42
|
+
largeText: 'large-text-editor';
|
|
43
|
+
number: 'number-editor';
|
|
44
|
+
numberUnit: 'number-unit-editor';
|
|
45
|
+
password: 'password-editor';
|
|
46
|
+
richText: 'rich-text-editor';
|
|
47
|
+
select: 'select-editor';
|
|
48
|
+
selectionList: 'selection-list-editor';
|
|
49
|
+
text: 'text-editor';
|
|
50
|
+
table: 'table-editor';
|
|
51
|
+
toggle: 'toggle-editor';
|
|
52
|
+
blockLayout: 'block-layout';
|
|
53
|
+
pageLayout: 'page-layout';
|
|
54
|
+
repeaterLayout: 'repeater-layout';
|
|
55
|
+
textBlockLayout: 'text-block-layout';
|
|
56
|
+
alertBoxLayout: 'alert-box-layout';
|
|
57
|
+
badgeLayout: 'badge-layout';
|
|
58
|
+
attachments: 'attachments';
|
|
59
|
+
fileTypeExtension: 'file-type-extension';
|
|
60
|
+
map: 'map';
|
|
61
|
+
imageMarker: 'image-marker';
|
|
62
|
+
image: 'image';
|
|
63
|
+
gallery: 'gallery';
|
|
64
|
+
signature: 'signature';
|
|
65
|
+
buttonAction: 'button-action';
|
|
66
|
+
document: 'document-layout';
|
|
67
|
+
lookup: 'lookup-editor';
|
|
68
|
+
formField: 'form-field';
|
|
69
|
+
advancedGrid: 'advanced-grid-layout';
|
|
70
|
+
advancedGridItem: 'advanced-grid-item-layout';
|
|
71
|
+
grid: 'grid-layout';
|
|
72
|
+
gridItem: 'grid-item-layout';
|
|
73
|
+
qrcode: 'qrcode';
|
|
74
|
+
schedulerPicker: 'scheduler-picker';
|
|
75
|
+
template: 'template';
|
|
76
|
+
templateDesigner: 'template-designer';
|
|
77
|
+
cronJob: 'cron-job';
|
|
78
|
+
spacing: 'spacing';
|
|
79
|
+
border: 'border';
|
|
80
|
+
direction: 'direction';
|
|
81
|
+
flexLayout: 'flex-layout';
|
|
82
|
+
flexItem: 'flex-item-layout';
|
|
83
|
+
tableLayout: 'table-layout';
|
|
84
|
+
tableItem: 'table-item-layout';
|
|
85
|
+
avatar: 'avatar';
|
|
86
|
+
stringFilter: 'string-filter';
|
|
87
|
+
numberFilter: 'number-filter';
|
|
88
|
+
dateTimeFilter: 'datetime-filter';
|
|
89
|
+
booleanFilter: 'boolean-filter';
|
|
90
|
+
lookupFilter: 'lookup-filter';
|
|
91
|
+
timeDurationFilter: 'time-duration-filter';
|
|
92
|
+
flexOptions: 'flex-options';
|
|
93
|
+
flexItemOptions: 'flex-item-options';
|
|
94
|
+
gridOptions: 'grid-options';
|
|
95
|
+
gridItemOptions: 'grid-item-options';
|
|
96
|
+
advancedGridOptions: 'advanced-grid-options';
|
|
97
|
+
selectFilter: 'select-filter';
|
|
98
|
+
requiredValidation: 'required-validation';
|
|
99
|
+
regularExpressionValidation: 'regular-expression-validation';
|
|
100
|
+
minLengthValidation: 'min-length-validation';
|
|
101
|
+
maxLengthValidation: 'max-length-validation';
|
|
102
|
+
lessThanValidation: 'less-than-validation';
|
|
103
|
+
greaterThanValidation: 'greater-than-validation';
|
|
104
|
+
betweenValidation: 'between-validation';
|
|
105
|
+
equalValidation: 'equal-validation';
|
|
106
|
+
callbackValidation: 'callback-validation';
|
|
107
|
+
metaData: 'meta-data-editor';
|
|
108
|
+
templateEditor: 'template-box-editor';
|
|
109
|
+
templateContentEditor: 'template-content-editor';
|
|
110
|
+
themeModeChooser: 'theme-mode-chooser';
|
|
111
|
+
menuOrientationChooser: 'menu-orientation-chooser';
|
|
112
|
+
fontStyleChooser: 'font-style-chooser';
|
|
113
|
+
fontSizeChooser: 'font-size-chooser';
|
|
114
|
+
iconChooser: 'icon-chooser';
|
|
115
|
+
icon: 'icon';
|
|
116
|
+
themeColorChooser: 'theme-color-chooser';
|
|
117
|
+
panel: 'panel';
|
|
118
|
+
notification: 'notification';
|
|
119
|
+
comment: 'comment';
|
|
120
|
+
list: 'list-editor';
|
|
121
|
+
dataList: 'data-list';
|
|
122
|
+
listToolbar: 'list-toolbar';
|
|
123
|
+
entityList: 'entity-list';
|
|
124
|
+
pageComponent: 'page-component';
|
|
125
|
+
stepWizard: 'step-wizard';
|
|
126
|
+
documentUploader: 'document-uploader';
|
|
127
|
+
documentFileTypeFilter: 'document-file-type-filter';
|
|
128
|
+
editorJs: 'editor-js-editor';
|
|
129
|
+
progressBar: 'progress-bar-editor';
|
|
130
|
+
rate: 'rate-picker-editor';
|
|
131
|
+
entityDefinitionProvider: 'entity-definition-provider-editor';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
interface AXPWidgetPropertyGroup {
|
|
135
|
+
name: string;
|
|
136
|
+
title: string;
|
|
137
|
+
order: number;
|
|
138
|
+
}
|
|
139
|
+
interface AXPWidgetProperty {
|
|
140
|
+
name: string;
|
|
141
|
+
title: string;
|
|
142
|
+
description?: string;
|
|
143
|
+
group: AXPWidgetPropertyGroup;
|
|
144
|
+
order?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Controls whether the property title label is shown in the property viewer panel.
|
|
147
|
+
* Defaults to true when omitted.
|
|
148
|
+
*/
|
|
149
|
+
showLabel?: boolean;
|
|
150
|
+
schema: {
|
|
151
|
+
dataType: AXPDataType;
|
|
152
|
+
nullable?: boolean;
|
|
153
|
+
defaultValue?: any | string | ((context: any | null) => any);
|
|
154
|
+
interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
|
|
155
|
+
};
|
|
156
|
+
validations?: AXPValidationRules;
|
|
157
|
+
visible: boolean | AXPExpression;
|
|
158
|
+
binding?: {
|
|
159
|
+
enabled: boolean;
|
|
160
|
+
/** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
|
|
161
|
+
optionKey?: string;
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
declare function cloneProperty(property: AXPWidgetProperty, values: AXPPartialNested<AXPWidgetProperty>): AXPWidgetProperty;
|
|
165
|
+
declare function createStringProperty(ctor: {
|
|
166
|
+
defaultValue?: string;
|
|
167
|
+
name: string;
|
|
168
|
+
title: string;
|
|
169
|
+
path?: string;
|
|
170
|
+
group: AXPWidgetPropertyGroup;
|
|
171
|
+
visible?: boolean | AXPExpression;
|
|
172
|
+
}): AXPWidgetProperty;
|
|
173
|
+
declare function createNumberProperty(ctor: {
|
|
174
|
+
defaultValue?: number;
|
|
175
|
+
name: string;
|
|
176
|
+
title: string;
|
|
177
|
+
path?: string;
|
|
178
|
+
group: AXPWidgetPropertyGroup;
|
|
179
|
+
visible?: boolean | AXPExpression;
|
|
180
|
+
options?: {
|
|
181
|
+
minValue?: number;
|
|
182
|
+
maxValue?: number;
|
|
183
|
+
decimals?: number;
|
|
184
|
+
};
|
|
185
|
+
}): AXPWidgetProperty;
|
|
186
|
+
declare function createBooleanProperty(ctor: {
|
|
187
|
+
defaultValue?: boolean;
|
|
188
|
+
name: string;
|
|
189
|
+
title: string;
|
|
190
|
+
path?: string;
|
|
191
|
+
group: AXPWidgetPropertyGroup;
|
|
192
|
+
visible?: boolean | AXPExpression;
|
|
193
|
+
}): AXPWidgetProperty;
|
|
194
|
+
declare function createSelectProperty<T = string | {
|
|
195
|
+
id: string;
|
|
196
|
+
title: string;
|
|
197
|
+
}>(ctor: {
|
|
198
|
+
defaultValue: T | T[] | any;
|
|
199
|
+
dataSource: T[];
|
|
200
|
+
name: string;
|
|
201
|
+
title: string;
|
|
202
|
+
path?: string;
|
|
203
|
+
group: AXPWidgetPropertyGroup;
|
|
204
|
+
visible?: boolean | AXPExpression;
|
|
205
|
+
}): AXPWidgetProperty;
|
|
206
|
+
interface AXPWidgetNodeToken<TOptions extends AXPOptionsData = AXPOptionsData> {
|
|
207
|
+
defaultValue?: any;
|
|
208
|
+
config: AXPWidgetConfig;
|
|
209
|
+
node: AXPWidgetNode;
|
|
210
|
+
options?: TOptions;
|
|
211
|
+
}
|
|
212
|
+
interface AXPWidgetColumnNode {
|
|
213
|
+
type: string;
|
|
214
|
+
path: string;
|
|
215
|
+
options?: AXPOptionsData;
|
|
216
|
+
/** Column header caption from data-table (`title || name`); often an i18n key. */
|
|
217
|
+
caption?: string;
|
|
218
|
+
}
|
|
219
|
+
interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
|
|
220
|
+
config: AXPWidgetConfig;
|
|
221
|
+
}
|
|
222
|
+
declare const AXP_WIDGET_TOKEN: InjectionToken<AXPWidgetNodeToken<Record<string, any>>>;
|
|
223
|
+
declare const AXP_WIDGET_COLUMN_TOKEN: InjectionToken<AXPWidgetColumnNodeToken>;
|
|
224
|
+
interface AXPWidgetComponentConfig {
|
|
225
|
+
component: () => Promise<any>;
|
|
226
|
+
properties?: AXPWidgetProperty[];
|
|
227
|
+
}
|
|
228
|
+
interface AXPWidgetConfigComponents {
|
|
229
|
+
designer?: AXPWidgetComponentConfig;
|
|
230
|
+
view?: AXPWidgetComponentConfig;
|
|
231
|
+
edit?: AXPWidgetComponentConfig;
|
|
232
|
+
print?: AXPWidgetComponentConfig;
|
|
233
|
+
column?: AXPWidgetComponentConfig;
|
|
234
|
+
filter?: AXPWidgetComponentConfig;
|
|
235
|
+
}
|
|
236
|
+
type AXPWidgetViewType = 'container' | 'editor' | 'action' | 'view' | 'filter' | 'validation' | 'dashboard';
|
|
237
|
+
type AXPWidgetDesignerOptionsMap = {
|
|
238
|
+
container: {
|
|
239
|
+
canInsert: boolean;
|
|
240
|
+
};
|
|
241
|
+
editor: {
|
|
242
|
+
needLabel: boolean;
|
|
243
|
+
};
|
|
244
|
+
action: {};
|
|
245
|
+
view: {};
|
|
246
|
+
};
|
|
247
|
+
type AXPExtractWidgetConfig<T> = {
|
|
248
|
+
type: AXPWidgetViewType;
|
|
249
|
+
designer: T extends {
|
|
250
|
+
type: infer V;
|
|
251
|
+
} ? V extends keyof AXPWidgetDesignerOptionsMap ? AXPWidgetDesignerOptionsMap[V] : any : any;
|
|
252
|
+
};
|
|
253
|
+
interface AXPWidgetConfig<T = any> {
|
|
254
|
+
name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
|
|
255
|
+
alias?: string | string[];
|
|
256
|
+
title: AXPMultiLanguageString;
|
|
257
|
+
icon?: string;
|
|
258
|
+
description?: AXPMultiLanguageString;
|
|
259
|
+
/**
|
|
260
|
+
* Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
|
|
261
|
+
*/
|
|
262
|
+
categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
|
|
263
|
+
/**
|
|
264
|
+
* Optional sub-group within a parent category tab in the widget picker.
|
|
265
|
+
* Ignored on the "All" tab (widgets are grouped by parent category only).
|
|
266
|
+
*/
|
|
267
|
+
subCategory?: AXPDefinitionCategory;
|
|
268
|
+
/**
|
|
269
|
+
* Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
|
|
270
|
+
* intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
|
|
271
|
+
* Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
|
|
272
|
+
* but must not appear in form or dashboard pickers.
|
|
273
|
+
*/
|
|
274
|
+
groups?: AXPWidgetGroup[];
|
|
275
|
+
properties?: AXPWidgetProperty[];
|
|
276
|
+
components: AXPWidgetConfigComponents;
|
|
277
|
+
meta?: AXPMetaData;
|
|
278
|
+
type: AXPExtractWidgetConfig<T>['type'];
|
|
279
|
+
designer?: AXPExtractWidgetConfig<T>['designer'];
|
|
280
|
+
options?: Record<string, any>;
|
|
281
|
+
defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
|
|
282
|
+
/**
|
|
283
|
+
* Optional layout for Change History. When set, this AXPWidgetNode is rendered for
|
|
284
|
+
* changes of this widget type instead of the default fieldKey/actionKey text.
|
|
285
|
+
* Context passed to renderer: the AXPActivityLogChange object.
|
|
286
|
+
* If omitted, the default display is used.
|
|
287
|
+
*/
|
|
288
|
+
historyLayout?: AXPWidgetNode;
|
|
289
|
+
}
|
|
290
|
+
interface AXPExtendedWidget {
|
|
291
|
+
widget: AXPWidgetConfig;
|
|
292
|
+
parentName: string;
|
|
293
|
+
}
|
|
294
|
+
interface AXPLayoutBuilderStatusChangedEvent {
|
|
295
|
+
status: AXPPageStatus;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export { AXPPageStatus, AXPWidgetGroupEnum, AXPWidgetStatus, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_TOKEN, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty };
|
|
299
|
+
export type { AXPExtendedWidget, AXPExtractWidgetConfig, AXPLayoutBuilderStatusChangedEvent, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetTypesMap, AXPWidgetViewType };
|