@acorex/platform 20.3.0-next.9 → 20.4.0
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 +643 -365
- package/core/index.d.ts +19 -4
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +673 -242
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +58 -46
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +1933 -2330
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1511 -1626
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +82 -82
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +1371 -917
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +63 -54
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +4153 -3146
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs +115 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs → acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs} +69 -33
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +117 -51
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +66 -55
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +27 -39
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/README.md +1577 -3
- package/layout/builder/index.d.ts +735 -868
- package/layout/components/index.d.ts +218 -714
- package/layout/designer/index.d.ts +4 -4
- package/layout/entity/index.d.ts +954 -375
- package/layout/views/index.d.ts +13 -14
- package/layout/widget-core/README.md +4 -0
- package/layout/widget-core/index.d.ts +959 -0
- package/layout/widgets/README.md +4 -0
- package/{widgets → layout/widgets}/index.d.ts +426 -365
- package/package.json +18 -14
- package/themes/shared/index.d.ts +2 -2
- package/workflow/index.d.ts +3 -173
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
- package/widgets/README.md +0 -4
package/layout/entity/index.d.ts
CHANGED
|
@@ -1,19 +1,128 @@
|
|
|
1
|
+
import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injector, Type
|
|
3
|
-
import {
|
|
3
|
+
import { ElementRef, InjectionToken, Injector, Type } from '@angular/core';
|
|
4
|
+
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
5
|
+
import { AXPMetaData, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPAppStartUpService, AXPMiddlewareErrorResponse, AXPColumnQuery, AXPSortDefinition, AXPActionMenuItem, AXPExpression } from '@acorex/platform/core';
|
|
6
|
+
import * as i3 from '@acorex/platform/layout/widget-core';
|
|
7
|
+
import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPValueWidgetComponent, AXPWidgetRendererDirective, AXPWidgetConfig, AXPLayoutBaseWidgetComponent, AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';
|
|
8
|
+
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXClickEvent, AXValueChangedEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
4
9
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
5
|
-
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView,
|
|
6
|
-
import { AXPMetaData, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPMiddlewareErrorResponse, AXPCategoryEntity as AXPCategoryEntity$1, AXPAppStartUpService } from '@acorex/platform/core';
|
|
7
|
-
import * as i3 from '@acorex/platform/layout/builder';
|
|
8
|
-
import { AXPWidgetColumnNode, AXPWidgetNode, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
10
|
+
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
|
|
9
11
|
import * as i1 from '@angular/router';
|
|
10
12
|
import { ResolveFn } from '@angular/router';
|
|
11
13
|
import * as rxjs from 'rxjs';
|
|
12
14
|
import { Subject } from 'rxjs';
|
|
13
15
|
import * as i2 from '@acorex/platform/workflow';
|
|
14
|
-
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
16
|
+
import { AXPWorkflowService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
17
|
+
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
18
|
+
import { IActionBuilder, IFormFieldBuilder, AXPDialogRef } from '@acorex/platform/layout/builder';
|
|
19
|
+
import { AXPListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
|
|
20
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
|
21
|
+
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
22
|
+
import { AXFormatService } from '@acorex/core/format';
|
|
23
|
+
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
24
|
+
import { AXTextBoxComponent } from '@acorex/components/text-box';
|
|
25
|
+
import { AXPWidgetPropertiesChangedEvent } from '@acorex/platform/layout/components';
|
|
26
|
+
|
|
27
|
+
interface AXPOpenEntityDetailsCommandInput {
|
|
28
|
+
entity: string;
|
|
29
|
+
data: {
|
|
30
|
+
id: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
interface AXPOpenEntityDetailsCommandResult {
|
|
34
|
+
success: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Generic command to open entity details view
|
|
38
|
+
* Can be used by any entity to navigate to its detail page
|
|
39
|
+
*/
|
|
40
|
+
declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
|
|
41
|
+
private readonly router;
|
|
42
|
+
private readonly sessionService;
|
|
43
|
+
/**
|
|
44
|
+
* Execute the command to navigate to entity details
|
|
45
|
+
* @param input - Command input containing entity and data information
|
|
46
|
+
*/
|
|
47
|
+
execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
|
|
48
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
|
|
49
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare class AXPEntityDetailPopoverComponent {
|
|
53
|
+
private readonly commandService;
|
|
54
|
+
private readonly queryService;
|
|
55
|
+
entity: _angular_core.InputSignal<string>;
|
|
56
|
+
entityId: _angular_core.InputSignal<string | number>;
|
|
57
|
+
textField: _angular_core.InputSignal<string>;
|
|
58
|
+
valueField: _angular_core.InputSignal<string>;
|
|
59
|
+
item: _angular_core.InputSignal<AXPMetaData | undefined>;
|
|
60
|
+
protected detailPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
61
|
+
protected entityDetails: _angular_core.WritableSignal<any>;
|
|
62
|
+
protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
|
|
63
|
+
protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
64
|
+
/**
|
|
65
|
+
* Show the entity detail popover
|
|
66
|
+
*/
|
|
67
|
+
show(target: ElementRef | HTMLElement): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Hide the entity detail popover
|
|
70
|
+
*/
|
|
71
|
+
hide(): void;
|
|
72
|
+
protected onDetailPopoverOpenChange(event: any): void;
|
|
73
|
+
protected navigateToDetails(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Returns true if a value is meaningful for display (non-empty/non-null).
|
|
76
|
+
*/
|
|
77
|
+
private hasMeaningfulValue;
|
|
78
|
+
/**
|
|
79
|
+
* Calculates an importance score for a property based on its widget type,
|
|
80
|
+
* whether it currently has a meaningful value, and metadata like title.
|
|
81
|
+
*/
|
|
82
|
+
private getPropertyImportanceScore;
|
|
83
|
+
/**
|
|
84
|
+
* Calculates a name-based importance score to prioritize common key fields
|
|
85
|
+
* like title, description, status, and important dates.
|
|
86
|
+
* Name priority MUST come before widget-type priority.
|
|
87
|
+
*/
|
|
88
|
+
private getNameImportanceScore;
|
|
89
|
+
protected getEntityPropertiesWithWidgets(): Array<{
|
|
90
|
+
name: string;
|
|
91
|
+
title: string;
|
|
92
|
+
node: AXPWidgetNode;
|
|
93
|
+
}>;
|
|
94
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
|
|
95
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
interface AXPEntityDetailPopoverOptions {
|
|
99
|
+
entity: string;
|
|
100
|
+
id: string | number;
|
|
101
|
+
item: AXPMetaData;
|
|
102
|
+
textField?: string;
|
|
103
|
+
valueField?: string;
|
|
104
|
+
}
|
|
105
|
+
declare class AXPEntityDetailPopoverService {
|
|
106
|
+
private readonly applicationRef;
|
|
107
|
+
private readonly environmentInjector;
|
|
108
|
+
private activePopoverRef;
|
|
109
|
+
/**
|
|
110
|
+
* Show entity detail popover
|
|
111
|
+
* @param target - The target element to position the popover
|
|
112
|
+
* @param options - Configuration options for the popover
|
|
113
|
+
*/
|
|
114
|
+
show(target: ElementRef | HTMLElement, options: AXPEntityDetailPopoverOptions): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Hide the active popover
|
|
117
|
+
*/
|
|
118
|
+
hide(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Check if a popover is currently active
|
|
121
|
+
*/
|
|
122
|
+
get isActive(): boolean;
|
|
123
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverService, never>;
|
|
124
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDetailPopoverService>;
|
|
125
|
+
}
|
|
17
126
|
|
|
18
127
|
interface AXPDataSeeder {
|
|
19
128
|
seed(): Promise<void>;
|
|
@@ -102,6 +211,24 @@ declare class AXPEntityDetailListViewModel {
|
|
|
102
211
|
getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
103
212
|
}
|
|
104
213
|
|
|
214
|
+
/**
|
|
215
|
+
* Entity Event Dispatcher - A wrapper for entity-specific events
|
|
216
|
+
* Handles pattern-based dispatching for entity operations with wildcard support
|
|
217
|
+
*/
|
|
218
|
+
declare class AXPEntityEventDispatcherService {
|
|
219
|
+
private readonly eventService;
|
|
220
|
+
dispatchEntityEvent(operation: 'inserted' | 'updated' | 'deleted', entityName: string, data: any): Promise<void>;
|
|
221
|
+
private getAllMatchingEventKeys;
|
|
222
|
+
private findMatchingWildcardKeys;
|
|
223
|
+
private matchesEntityPattern;
|
|
224
|
+
private generateEventKeys;
|
|
225
|
+
dispatchInserted(entityName: string, data: any): Promise<void>;
|
|
226
|
+
dispatchUpdated(entityName: string, data: any): Promise<void>;
|
|
227
|
+
dispatchDeleted(entityName: string, data: any): Promise<void>;
|
|
228
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityEventDispatcherService, never>;
|
|
229
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityEventDispatcherService>;
|
|
230
|
+
}
|
|
231
|
+
|
|
105
232
|
declare class AXPEntityCreateViewSectionViewModel {
|
|
106
233
|
private entity;
|
|
107
234
|
private section;
|
|
@@ -135,7 +262,7 @@ declare class AXPEntityMasterCreateViewModel {
|
|
|
135
262
|
private entityDef;
|
|
136
263
|
private workflow;
|
|
137
264
|
private expressionEvaluator;
|
|
138
|
-
builder:
|
|
265
|
+
builder: AXPWidgetCoreService;
|
|
139
266
|
constructor(injector: Injector, config: AXPEntity, initialData: any | undefined, commandOptions: any);
|
|
140
267
|
context: _angular_core.WritableSignal<any>;
|
|
141
268
|
options: _angular_core.WritableSignal<any>;
|
|
@@ -188,6 +315,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
188
315
|
private readonly widgetResolver;
|
|
189
316
|
private readonly expressionEvaluator;
|
|
190
317
|
private readonly commandService;
|
|
318
|
+
private readonly eventService;
|
|
191
319
|
private readonly filterOperatorMiddleware;
|
|
192
320
|
private settingEntityKey;
|
|
193
321
|
private readonly destroyed;
|
|
@@ -366,7 +494,7 @@ declare class AXPEntityMasterUpdateViewModel {
|
|
|
366
494
|
private get moduleName();
|
|
367
495
|
private get entityName();
|
|
368
496
|
private get entityId();
|
|
369
|
-
builder:
|
|
497
|
+
builder: AXPWidgetCoreService;
|
|
370
498
|
constructor(injector: Injector, config: AXPEntity, entityData: any, props: string[]);
|
|
371
499
|
isInProgress: _angular_core.WritableSignal<boolean>;
|
|
372
500
|
context: _angular_core.WritableSignal<any>;
|
|
@@ -519,21 +647,102 @@ declare function createModifierContext(entity: AXPEntity): AXPEntityModifierCont
|
|
|
519
647
|
|
|
520
648
|
declare const AXP_ENTITY_MODIFIER: InjectionToken<AXPEntityModifierProvider[]>;
|
|
521
649
|
|
|
650
|
+
interface AXPEntityPreloadEntity {
|
|
651
|
+
module: string;
|
|
652
|
+
entity: string;
|
|
653
|
+
}
|
|
654
|
+
interface AXPEntityDefinitionPreloader {
|
|
655
|
+
preload(): AXPEntityPreloadEntity[];
|
|
656
|
+
}
|
|
657
|
+
declare class AXPEntityDefinitionRegistryService {
|
|
658
|
+
private providers;
|
|
659
|
+
private resolver;
|
|
660
|
+
private middleware;
|
|
661
|
+
private onChanged;
|
|
662
|
+
get onChanged$(): rxjs.Observable<{
|
|
663
|
+
name: string;
|
|
664
|
+
}>;
|
|
665
|
+
preload(): Promise<void>;
|
|
666
|
+
private entities;
|
|
667
|
+
private entityResolver;
|
|
668
|
+
/**
|
|
669
|
+
* Force re-load and re-process entity definitions, then re-register them.
|
|
670
|
+
* Overloads:
|
|
671
|
+
* - refresh(): refresh all registered entities
|
|
672
|
+
* - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
|
|
673
|
+
* - refresh(moduleName: string, entityName: string): refresh by parts
|
|
674
|
+
*/
|
|
675
|
+
refresh(): Promise<void>;
|
|
676
|
+
refresh(fullName: string): Promise<void>;
|
|
677
|
+
refresh(moduleName: string, entityName: string): Promise<void>;
|
|
678
|
+
/** Executes the actual refresh for a single entity */
|
|
679
|
+
private refreshOne;
|
|
680
|
+
/**
|
|
681
|
+
* Registers a new entity configuration. Entities are identified uniquely by a combination
|
|
682
|
+
* of their module and name.
|
|
683
|
+
*
|
|
684
|
+
* @param config The configuration object of the entity to be registered.
|
|
685
|
+
*/
|
|
686
|
+
register(config: AXPEntity): void;
|
|
687
|
+
/**
|
|
688
|
+
* Returns an array of all registered entity configurations.
|
|
689
|
+
*
|
|
690
|
+
* @returns An array of AXPEntity objects.
|
|
691
|
+
*/
|
|
692
|
+
getAll(): AXPEntity[];
|
|
693
|
+
/**
|
|
694
|
+
* Resolves an entity configuration based on module and entity name. If the configuration
|
|
695
|
+
* is not already registered, attempts to load it dynamically. Throws an error if the
|
|
696
|
+
* entity cannot be found or loaded.
|
|
697
|
+
*
|
|
698
|
+
* @param moduleName The module name of the entity.
|
|
699
|
+
* @param entityName The name of the entity.
|
|
700
|
+
* @returns A promise resolving to the entity configuration.
|
|
701
|
+
* @throws Error if the entity configuration cannot be resolved.
|
|
702
|
+
*/
|
|
703
|
+
resolve(moduleName: string, entityName: string): Promise<AXPEntity>;
|
|
704
|
+
/**
|
|
705
|
+
* Creates a unique key for an entity based on its module and name.
|
|
706
|
+
*
|
|
707
|
+
* @param moduleName The module name of the entity.
|
|
708
|
+
* @param entityName The name of the entity.
|
|
709
|
+
* @returns The unique key for the entity.
|
|
710
|
+
*/
|
|
711
|
+
private createEntityKey;
|
|
712
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionRegistryService, never>;
|
|
713
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
|
|
714
|
+
}
|
|
715
|
+
|
|
522
716
|
interface AXPAuditable {
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
717
|
+
created?: {
|
|
718
|
+
at?: Date;
|
|
719
|
+
by?: AXPUserReference;
|
|
720
|
+
};
|
|
721
|
+
updated?: {
|
|
722
|
+
at?: Date;
|
|
723
|
+
by?: AXPUserReference;
|
|
724
|
+
};
|
|
725
|
+
deleted?: {
|
|
726
|
+
at?: Date;
|
|
727
|
+
by?: AXPUserReference;
|
|
728
|
+
};
|
|
527
729
|
}
|
|
528
730
|
interface AXPRecordControl {
|
|
529
731
|
isReadOnly?: boolean;
|
|
530
732
|
isHidden?: boolean;
|
|
531
733
|
isSystem?: boolean;
|
|
532
734
|
isImmutable?: boolean;
|
|
735
|
+
isDistributed?: boolean;
|
|
533
736
|
}
|
|
534
|
-
interface
|
|
737
|
+
interface AXPRecordOwnership {
|
|
738
|
+
tenantId?: string;
|
|
739
|
+
ownerId?: string;
|
|
740
|
+
}
|
|
741
|
+
interface AXPEntityModel<Id> {
|
|
535
742
|
id: Id;
|
|
536
|
-
|
|
743
|
+
auditInfo?: AXPAuditable;
|
|
744
|
+
stateInfo?: AXPRecordControl;
|
|
745
|
+
ownershipInfo?: AXPRecordOwnership;
|
|
537
746
|
}
|
|
538
747
|
interface AXPEntityCreateDto {
|
|
539
748
|
}
|
|
@@ -548,52 +757,6 @@ interface AXPEntityDetailDto<Id> extends AXPEntityOutputDto<Id> {
|
|
|
548
757
|
interface AXPEntityListItemDto<Id> extends AXPEntityOutputDto<Id> {
|
|
549
758
|
}
|
|
550
759
|
|
|
551
|
-
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
|
|
552
|
-
interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
553
|
-
op: AXPEntityOp;
|
|
554
|
-
entityName: string;
|
|
555
|
-
id?: TKey;
|
|
556
|
-
data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
|
|
557
|
-
request?: AXPQueryRequest;
|
|
558
|
-
previous?: TDetailDto;
|
|
559
|
-
result?: any;
|
|
560
|
-
locals: Map<string, unknown>;
|
|
561
|
-
backend: {
|
|
562
|
-
getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
|
|
563
|
-
insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
|
|
564
|
-
query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
|
|
565
|
-
updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<void>;
|
|
566
|
-
};
|
|
567
|
-
}
|
|
568
|
-
interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
569
|
-
target?: {
|
|
570
|
-
ops?: AXPEntityOp[];
|
|
571
|
-
entity?: string | RegExp;
|
|
572
|
-
predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
|
|
573
|
-
order?: number;
|
|
574
|
-
};
|
|
575
|
-
execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
|
|
576
|
-
}
|
|
577
|
-
/**
|
|
578
|
-
* Error type that can be thrown by middlewares to abort the chain with a structured payload.
|
|
579
|
-
*/
|
|
580
|
-
declare class AXPMiddlewareAbortError extends Error {
|
|
581
|
-
readonly message: string;
|
|
582
|
-
readonly options: {
|
|
583
|
-
code?: string;
|
|
584
|
-
status?: number;
|
|
585
|
-
details?: any;
|
|
586
|
-
};
|
|
587
|
-
constructor(message: string, options?: {
|
|
588
|
-
code?: string;
|
|
589
|
-
status?: number;
|
|
590
|
-
details?: any;
|
|
591
|
-
});
|
|
592
|
-
toResponse(): AXPMiddlewareErrorResponse;
|
|
593
|
-
}
|
|
594
|
-
/** Type guard for AXPMiddlewareAbortError */
|
|
595
|
-
declare function isAXPMiddlewareAbortError(error: unknown): error is AXPMiddlewareAbortError;
|
|
596
|
-
|
|
597
760
|
declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
|
|
598
761
|
abstract get dbName(): string;
|
|
599
762
|
abstract initial(entityName: string, collection: TCreateDto[], options?: {
|
|
@@ -662,23 +825,214 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
|
|
|
662
825
|
get storageService(): AXPEntityStorageService<any, any, any, any, any>;
|
|
663
826
|
}
|
|
664
827
|
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
828
|
+
interface AXPEntityConfigs {
|
|
829
|
+
viewers: {
|
|
830
|
+
root: () => Type<any> | Promise<Type<any>>;
|
|
831
|
+
detail: {
|
|
832
|
+
list: () => Type<any> | Promise<Type<any>>;
|
|
833
|
+
};
|
|
834
|
+
master: {
|
|
835
|
+
single: () => Type<any> | Promise<Type<any>>;
|
|
836
|
+
details: () => Type<any> | Promise<Type<any>>;
|
|
837
|
+
create: () => Type<any> | Promise<Type<any>>;
|
|
838
|
+
modify: () => Type<any> | Promise<Type<any>>;
|
|
839
|
+
list: () => Type<any> | Promise<Type<any>>;
|
|
840
|
+
};
|
|
841
|
+
};
|
|
842
|
+
}
|
|
843
|
+
declare const AXP_ENTITY_CONFIG_TOKEN: InjectionToken<AXPEntityConfigs>;
|
|
844
|
+
interface AXPEntityDefinitionLoader {
|
|
845
|
+
get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
|
|
846
|
+
}
|
|
847
|
+
declare const AXP_ENTITY_DEFINITION_LOADER: InjectionToken<AXPEntityDefinitionLoader>;
|
|
848
|
+
declare class AXPEntityResolver {
|
|
849
|
+
private providers;
|
|
850
|
+
get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
|
|
851
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityResolver, never>;
|
|
852
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityResolver>;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
declare class AXPEntityModule {
|
|
856
|
+
constructor(appInitService: AXPAppStartUpService, injector: Injector);
|
|
857
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
|
|
858
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule], never>;
|
|
859
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
declare class AXPEntityService {
|
|
863
|
+
private sessionService;
|
|
864
|
+
createPath(module: string, entity: string, path?: string): string;
|
|
865
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityService, never>;
|
|
866
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityService>;
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
|
|
870
|
+
interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
871
|
+
op: AXPEntityOp;
|
|
872
|
+
entityName: string;
|
|
873
|
+
id?: TKey;
|
|
874
|
+
data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
|
|
875
|
+
request?: AXPQueryRequest;
|
|
876
|
+
previous?: TDetailDto;
|
|
877
|
+
result?: any;
|
|
878
|
+
locals: Map<string, unknown>;
|
|
879
|
+
backend: {
|
|
880
|
+
getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
|
|
881
|
+
insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
|
|
882
|
+
query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
|
|
883
|
+
updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<void>;
|
|
884
|
+
};
|
|
885
|
+
}
|
|
886
|
+
interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
887
|
+
target?: {
|
|
888
|
+
ops?: AXPEntityOp[];
|
|
889
|
+
entity?: string | RegExp;
|
|
890
|
+
predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
|
|
891
|
+
order?: number;
|
|
892
|
+
};
|
|
893
|
+
execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
|
|
894
|
+
}
|
|
895
|
+
/**
|
|
896
|
+
* Error type that can be thrown by middlewares to abort the chain with a structured payload.
|
|
897
|
+
*/
|
|
898
|
+
declare class AXPMiddlewareAbortError extends Error {
|
|
899
|
+
readonly message: string;
|
|
900
|
+
readonly options: {
|
|
901
|
+
code?: string;
|
|
902
|
+
status?: number;
|
|
903
|
+
details?: any;
|
|
904
|
+
};
|
|
905
|
+
constructor(message: string, options?: {
|
|
906
|
+
code?: string;
|
|
907
|
+
status?: number;
|
|
908
|
+
details?: any;
|
|
909
|
+
});
|
|
910
|
+
toResponse(): AXPMiddlewareErrorResponse;
|
|
911
|
+
}
|
|
912
|
+
/** Type guard for AXPMiddlewareAbortError */
|
|
913
|
+
declare function isAXPMiddlewareAbortError(error: unknown): error is AXPMiddlewareAbortError;
|
|
914
|
+
|
|
915
|
+
declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* Map of column name -> width value
|
|
919
|
+
* Example: { title: '300px', description: '300px' }
|
|
920
|
+
*/
|
|
921
|
+
type ColumnWidthConfig = Record<string, string | number>;
|
|
922
|
+
/**
|
|
923
|
+
* Default widths for common text columns
|
|
924
|
+
*/
|
|
925
|
+
declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
|
|
926
|
+
/**
|
|
927
|
+
* Factory to create a column width middleware using provided config map.
|
|
928
|
+
* Sets width for columns defined in the map if not already defined on the column.
|
|
929
|
+
*/
|
|
930
|
+
declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
|
|
931
|
+
/**
|
|
932
|
+
* Helper to create a provider for the column width middleware.
|
|
933
|
+
* By default it applies to all entities using the '*' pattern.
|
|
934
|
+
*/
|
|
935
|
+
declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
936
|
+
/**
|
|
937
|
+
* Default provider registered with the default map.
|
|
938
|
+
*/
|
|
939
|
+
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
940
|
+
|
|
941
|
+
interface AXPGetEntityDetailsQueryInput {
|
|
942
|
+
entity: string;
|
|
943
|
+
id: string;
|
|
944
|
+
}
|
|
945
|
+
interface AXPGetEntityDetailsQueryResult {
|
|
946
|
+
success: boolean;
|
|
947
|
+
entityDefinition?: AXPEntity;
|
|
948
|
+
entityData?: any;
|
|
949
|
+
error?: string;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Generic query to get entity details including entity definition and entity data
|
|
953
|
+
* Can be used by any entity to retrieve its definition and data by ID
|
|
954
|
+
*/
|
|
955
|
+
declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult> {
|
|
956
|
+
private readonly entityDefinitionRegistry;
|
|
957
|
+
private readonly injector;
|
|
958
|
+
/**
|
|
959
|
+
* Execute the query to fetch entity definition and data
|
|
960
|
+
* @param input - Query input containing entity and ID information
|
|
961
|
+
*/
|
|
962
|
+
fetch(input: AXPGetEntityDetailsQueryInput): Promise<AXPGetEntityDetailsQueryResult>;
|
|
963
|
+
/**
|
|
964
|
+
* Get entity data using the entity's CRUD service
|
|
965
|
+
* @param entity - Full entity path (ModuleName.EntityName)
|
|
966
|
+
* @param id - Entity ID
|
|
967
|
+
* @returns Promise resolving to entity data
|
|
968
|
+
*/
|
|
969
|
+
private getEntityData;
|
|
970
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGetEntityDetailsQuery, never>;
|
|
971
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
interface IEntitySelectorStage {
|
|
975
|
+
/** Select target entity using "module.entity" format */
|
|
976
|
+
entity(fullName: string): IInterfaceSelectorStage;
|
|
977
|
+
}
|
|
978
|
+
interface IInterfaceSelectorStage {
|
|
979
|
+
/** Use master.create interface */
|
|
980
|
+
create(): IPropertyFilterStage;
|
|
981
|
+
/** Use master.update interface */
|
|
982
|
+
update(id: string): IPropertyFilterStage;
|
|
983
|
+
}
|
|
984
|
+
interface IPropertyFilterStage {
|
|
985
|
+
/** Only include provided property names (by AXPEntityProperty.name). Mutually exclusive with exclude(). */
|
|
986
|
+
include(...propertyNames: string[]): IPropertyFilterStage;
|
|
987
|
+
/** Exclude provided property names (by AXPEntityProperty.name). Ignored if include() was already set. */
|
|
988
|
+
exclude(...propertyNames: string[]): IPropertyFilterStage;
|
|
989
|
+
/** Optionally override dialog title */
|
|
990
|
+
title(text: string): IPropertyFilterStage;
|
|
991
|
+
/** Provide initial dialog context/model data */
|
|
992
|
+
context(context: any): IPropertyFilterStage;
|
|
993
|
+
/** Override dialog size (e.g., 'sm' | 'md' | 'lg' | 'xl' | 'full') */
|
|
994
|
+
size(size: AXPopupSizeType): IPropertyFilterStage;
|
|
995
|
+
/** Configure footer actions (cancel/submit/custom). If not called, defaults to cancel+submit. */
|
|
996
|
+
actions(delegate: (a: IActionBuilder) => void): IPropertyFilterStage;
|
|
997
|
+
/** Add an extra field into a specific group, using the original field builder API */
|
|
998
|
+
field(groupId: string, path: string, delegate?: (field: CompatFormFieldBuilder) => void): IPropertyFilterStage;
|
|
999
|
+
/** Show dialog */
|
|
1000
|
+
show(): Promise<AXPDialogRef>;
|
|
1001
|
+
mode(mode: 'edit' | 'view'): IPropertyFilterStage;
|
|
1002
|
+
}
|
|
1003
|
+
declare class AXPEntityDynamicDialogService implements IEntitySelectorStage {
|
|
1004
|
+
private readonly entityRegistry;
|
|
1005
|
+
private readonly layoutBuilder;
|
|
1006
|
+
private readonly layoutTheme;
|
|
1007
|
+
entity(fullName: string): IInterfaceSelectorStage;
|
|
1008
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDynamicDialogService, never>;
|
|
1009
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDynamicDialogService>;
|
|
1010
|
+
}
|
|
1011
|
+
type CompatFormFieldBuilder = {
|
|
1012
|
+
path(path: string): any;
|
|
1013
|
+
layout(config: any): any;
|
|
1014
|
+
visible(condition: boolean | string): any;
|
|
1015
|
+
readonly(condition: boolean | string): any;
|
|
1016
|
+
customWidget(type: string, options?: any): any;
|
|
1017
|
+
} & Partial<IFormFieldBuilder>;
|
|
1018
|
+
|
|
1019
|
+
declare const AXP_ENTITY_STORAGE_BACKEND: InjectionToken<AXPEntityStorageService<any, any, any, any, any>>;
|
|
1020
|
+
declare const AXP_ENTITY_STORAGE_MIDDLEWARE: InjectionToken<AXPEntityStorageMiddleware<any, any, any, any, any>[]>;
|
|
1021
|
+
|
|
1022
|
+
declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> extends AXPEntityStorageService<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
|
|
1023
|
+
private readonly backend;
|
|
1024
|
+
private readonly allMiddlewares;
|
|
1025
|
+
private readonly injector;
|
|
1026
|
+
get dbName(): string;
|
|
1027
|
+
private filterMiddlewares;
|
|
1028
|
+
private compose;
|
|
1029
|
+
private run;
|
|
1030
|
+
private createCtx;
|
|
1031
|
+
initial(entityName: string, collection: TCreateDto[], options?: {
|
|
1032
|
+
mergeType?: 'merge' | 'replace';
|
|
1033
|
+
uniqueKeys?: string[];
|
|
1034
|
+
}): Promise<TCreateDto[]>;
|
|
1035
|
+
getOne(entityName: string, id: TKey): Promise<TDetailDto>;
|
|
682
1036
|
updateOne(entityName: string, id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
683
1037
|
deleteOne(entityName: string, id: TKey): Promise<void>;
|
|
684
1038
|
insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
@@ -688,129 +1042,546 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
688
1042
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
689
1043
|
}
|
|
690
1044
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
1045
|
+
declare function entityMasterCreateAction(): AXPEntityAction;
|
|
1046
|
+
declare function entityMasterBulkDeleteAction(): AXPEntityAction;
|
|
1047
|
+
declare function entityMasterViewAction(): AXPEntityAction;
|
|
1048
|
+
declare function entityMasterDeleteAction(): AXPEntityAction;
|
|
1049
|
+
declare function entityMasterCrudActions(options?: {
|
|
1050
|
+
create?: boolean;
|
|
1051
|
+
delete?: boolean;
|
|
1052
|
+
view?: boolean;
|
|
1053
|
+
edit?: boolean;
|
|
1054
|
+
}): AXPEntityAction[];
|
|
1055
|
+
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
1056
|
+
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
1057
|
+
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
1058
|
+
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
1059
|
+
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
1060
|
+
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
1061
|
+
declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
|
|
1062
|
+
declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
|
|
1063
|
+
type AXPEntityChangeSet = {
|
|
1064
|
+
[key: string]: {
|
|
1065
|
+
oldValue: any;
|
|
1066
|
+
newValue: any;
|
|
1067
|
+
added?: any[];
|
|
1068
|
+
removed?: any[];
|
|
1069
|
+
};
|
|
1070
|
+
};
|
|
1071
|
+
/**
|
|
1072
|
+
* Computes a diff between two plain objects with array-aware semantics.
|
|
1073
|
+
* - For arrays of objects with an id field, computes added/removed by id.
|
|
1074
|
+
* - For arrays of primitives or objects without id, uses deep equality.
|
|
1075
|
+
* - For scalars/objects, reports oldValue/newValue when changed.
|
|
1076
|
+
*/
|
|
1077
|
+
declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
|
|
1078
|
+
|
|
1079
|
+
declare class AXPEntityListTableService {
|
|
1080
|
+
private readonly workflow;
|
|
1081
|
+
private readonly expressionEvaluator;
|
|
1082
|
+
/**
|
|
1083
|
+
* Convert Entity to List Widget Options
|
|
1084
|
+
*/
|
|
1085
|
+
convertEntityToListOptions(entity: AXPEntity, options: any, allActions: AXPEntityCommandTriggerViewModel[]): Promise<AXPListWidgetComponentOptions>;
|
|
1086
|
+
/**
|
|
1087
|
+
* Create DataSource for Entity
|
|
1088
|
+
*/
|
|
1089
|
+
private createDataSource;
|
|
1090
|
+
/**
|
|
1091
|
+
* Convert Properties to Columns
|
|
1092
|
+
*/
|
|
1093
|
+
private createColumnsFromProperties;
|
|
1094
|
+
/**
|
|
1095
|
+
* Map EntityTableColumn to ListWidgetColumn
|
|
1096
|
+
*/
|
|
1097
|
+
private mapEntityColumnToWidgetColumn;
|
|
1098
|
+
/**
|
|
1099
|
+
* Convert Entity Actions to Row Commands
|
|
1100
|
+
*/
|
|
1101
|
+
private createRowCommands;
|
|
1102
|
+
/**
|
|
1103
|
+
* Check if entity has Selected Scope Actions
|
|
1104
|
+
*/
|
|
1105
|
+
private hasSelectedScopeActions;
|
|
1106
|
+
private evaluateExpressions;
|
|
1107
|
+
/**
|
|
1108
|
+
* Handle execution of a row command (shared by double-click and command handlers)
|
|
1109
|
+
*/
|
|
1110
|
+
private handleRowCommand;
|
|
1111
|
+
/**
|
|
1112
|
+
* Create default events
|
|
1113
|
+
*/
|
|
1114
|
+
private createDefaultEvents;
|
|
1115
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListTableService, never>;
|
|
1116
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityListTableService>;
|
|
694
1117
|
}
|
|
695
|
-
|
|
696
|
-
|
|
1118
|
+
|
|
1119
|
+
declare class AXPEntityListToolbarService {
|
|
1120
|
+
private readonly widgetResolver;
|
|
1121
|
+
/**
|
|
1122
|
+
* Convert Entity to Toolbar Options
|
|
1123
|
+
*/
|
|
1124
|
+
convertEntityToolbarOptions(entity: AXPEntity, options: any): Promise<{
|
|
1125
|
+
filterDefinitions: AXPFilterDefinition[];
|
|
1126
|
+
columnDefinitions: AXPColumnQuery[];
|
|
1127
|
+
sortDefinitions: AXPSortDefinition[];
|
|
1128
|
+
}>;
|
|
1129
|
+
/**
|
|
1130
|
+
* Create Filter Definitions for Toolbar
|
|
1131
|
+
*/
|
|
1132
|
+
private createFilterDefinitions;
|
|
1133
|
+
/**
|
|
1134
|
+
* Create Column Definitions for Toolbar
|
|
1135
|
+
*/
|
|
1136
|
+
private createColumnDefinitions;
|
|
1137
|
+
/**
|
|
1138
|
+
* Create Sort Definitions for Toolbar
|
|
1139
|
+
*/
|
|
1140
|
+
private createSortDefinitions;
|
|
1141
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListToolbarService, never>;
|
|
1142
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityListToolbarService>;
|
|
697
1143
|
}
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
private
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
1144
|
+
|
|
1145
|
+
declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
1146
|
+
#private;
|
|
1147
|
+
protected entityService: AXPEntityDefinitionRegistryService;
|
|
1148
|
+
protected workflow: AXPWorkflowService;
|
|
1149
|
+
protected entityListTableService: AXPEntityListTableService;
|
|
1150
|
+
protected entityListToolbarService: AXPEntityListToolbarService;
|
|
1151
|
+
protected layoutThemeService: {
|
|
1152
|
+
currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
|
1153
|
+
currentPalette: _angular_core.Signal<string>;
|
|
1154
|
+
systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
|
|
1155
|
+
font: _ngrx_signals.DeepSignal<{
|
|
1156
|
+
family: string;
|
|
1157
|
+
size: string;
|
|
1158
|
+
}>;
|
|
1159
|
+
screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
|
|
1160
|
+
deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
|
|
1161
|
+
isTouchDevice: _angular_core.Signal<boolean>;
|
|
1162
|
+
overlayLoading: _angular_core.Signal<boolean>;
|
|
1163
|
+
navigationLoading: _angular_core.Signal<boolean>;
|
|
1164
|
+
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
1165
|
+
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
1166
|
+
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
1167
|
+
sideMenuWidth: _angular_core.Signal<number>;
|
|
1168
|
+
menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
|
|
1169
|
+
isPrinting: _angular_core.Signal<boolean>;
|
|
1170
|
+
isDarkMode: _angular_core.Signal<boolean>;
|
|
1171
|
+
isLightMode: _angular_core.Signal<boolean>;
|
|
1172
|
+
isSystemMode: _angular_core.Signal<boolean>;
|
|
1173
|
+
isSideMenuOpen: _angular_core.Signal<boolean>;
|
|
1174
|
+
isSideMenuOverlay: _angular_core.Signal<boolean>;
|
|
1175
|
+
isSmall: _angular_core.Signal<boolean>;
|
|
1176
|
+
isMedium: _angular_core.Signal<boolean>;
|
|
1177
|
+
isLarge: _angular_core.Signal<boolean>;
|
|
1178
|
+
isMobileDevice: _angular_core.Signal<boolean>;
|
|
1179
|
+
isTabletDevice: _angular_core.Signal<boolean>;
|
|
1180
|
+
isDesktopDevice: _angular_core.Signal<boolean>;
|
|
1181
|
+
isTouchScreen: _angular_core.Signal<boolean>;
|
|
1182
|
+
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
1183
|
+
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
1184
|
+
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
1185
|
+
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
1186
|
+
openSideMenu: () => void;
|
|
1187
|
+
closeSideMenu: () => void;
|
|
1188
|
+
setSideMenuWidth: (width: number) => void;
|
|
1189
|
+
toggleSideMenu: () => void;
|
|
1190
|
+
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
1191
|
+
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
1192
|
+
loadSettings: () => Promise<void>;
|
|
1193
|
+
} & _ngrx_signals.StateSource<{
|
|
1194
|
+
currentMode: _acorex_platform_themes_shared.AXPThemeMode;
|
|
1195
|
+
currentPalette: string;
|
|
1196
|
+
systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
|
|
1197
|
+
font: {
|
|
1198
|
+
family: string;
|
|
1199
|
+
size: string;
|
|
1200
|
+
};
|
|
1201
|
+
screenSize: _acorex_platform_themes_shared.AXPScreenSize;
|
|
1202
|
+
deviceType: _acorex_platform_themes_shared.AXPDeviceType;
|
|
1203
|
+
isTouchDevice: boolean;
|
|
1204
|
+
overlayLoading: boolean;
|
|
1205
|
+
navigationLoading: boolean;
|
|
1206
|
+
overlayLoadingTaskCount: number;
|
|
1207
|
+
navigationLoadingTaskCount: number;
|
|
1208
|
+
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
1209
|
+
sideMenuWidth: number;
|
|
1210
|
+
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
1211
|
+
isPrinting: boolean;
|
|
705
1212
|
}>;
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
1213
|
+
protected isMounted: _angular_core.WritableSignal<boolean>;
|
|
1214
|
+
readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
|
|
1215
|
+
protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
|
|
1216
|
+
protected list: _angular_core.Signal<AXPWidgetRendererDirective | undefined>;
|
|
1217
|
+
protected allWidgets: _angular_core.Signal<readonly AXPWidgetRendererDirective[]>;
|
|
1218
|
+
protected listWidget: _angular_core.WritableSignal<AXPWidgetRendererDirective | undefined>;
|
|
1219
|
+
protected toolbarWidget: _angular_core.Signal<AXPWidgetRendererDirective | undefined>;
|
|
1220
|
+
protected selectedItems: _angular_core.WritableSignal<any[]>;
|
|
1221
|
+
protected toolbarNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
|
|
1222
|
+
protected destroyed: Subject<void>;
|
|
1223
|
+
protected entitySource: _angular_core.Signal<any>;
|
|
1224
|
+
protected excludeColumns: _angular_core.Signal<string[]>;
|
|
1225
|
+
protected includeColumns: _angular_core.Signal<string[]>;
|
|
1226
|
+
protected externalActions: _angular_core.Signal<AXPEntityAction[]>;
|
|
1227
|
+
protected maxHeight: _angular_core.Signal<string>;
|
|
1228
|
+
protected showEntityActions: _angular_core.Signal<any>;
|
|
1229
|
+
protected showToolbar: _angular_core.Signal<any>;
|
|
1230
|
+
protected allActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
|
|
1231
|
+
protected primaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
1232
|
+
protected secondaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
1233
|
+
protected handleActionClick(item: AXPActionMenuItem): void;
|
|
1234
|
+
protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
|
|
1235
|
+
protected execute(commandName: string, data: any): Promise<void>;
|
|
709
1236
|
/**
|
|
710
|
-
*
|
|
711
|
-
* Overloads:
|
|
712
|
-
* - refresh(): refresh all registered entities
|
|
713
|
-
* - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
|
|
714
|
-
* - refresh(moduleName: string, entityName: string): refresh by parts
|
|
1237
|
+
* Validates that all required dependencies are available
|
|
715
1238
|
*/
|
|
716
|
-
|
|
717
|
-
refresh(fullName: string): Promise<void>;
|
|
718
|
-
refresh(moduleName: string, entityName: string): Promise<void>;
|
|
719
|
-
/** Executes the actual refresh for a single entity */
|
|
720
|
-
private refreshOne;
|
|
1239
|
+
private hasRequiredDependencies;
|
|
721
1240
|
/**
|
|
722
|
-
*
|
|
723
|
-
* of their module and name.
|
|
724
|
-
*
|
|
725
|
-
* @param config The configuration object of the entity to be registered.
|
|
1241
|
+
* Handles all query-related changes (filters, sorts, columns)
|
|
726
1242
|
*/
|
|
727
|
-
|
|
1243
|
+
private handleQueryChanges;
|
|
728
1244
|
/**
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
* @returns An array of AXPEntity objects.
|
|
1245
|
+
* Analyzes what has changed between current and previous queries
|
|
732
1246
|
*/
|
|
733
|
-
|
|
1247
|
+
private analyzeChanges;
|
|
734
1248
|
/**
|
|
735
|
-
*
|
|
736
|
-
* is not already registered, attempts to load it dynamically. Throws an error if the
|
|
737
|
-
* entity cannot be found or loaded.
|
|
738
|
-
*
|
|
739
|
-
* @param moduleName The module name of the entity.
|
|
740
|
-
* @param entityName The name of the entity.
|
|
741
|
-
* @returns A promise resolving to the entity configuration.
|
|
742
|
-
* @throws Error if the entity configuration cannot be resolved.
|
|
1249
|
+
* Applies filter and sort changes to the data source
|
|
743
1250
|
*/
|
|
744
|
-
|
|
1251
|
+
private applyDataSourceChanges;
|
|
745
1252
|
/**
|
|
746
|
-
*
|
|
747
|
-
*
|
|
748
|
-
* @param moduleName The module name of the entity.
|
|
749
|
-
* @param entityName The name of the entity.
|
|
750
|
-
* @returns The unique key for the entity.
|
|
1253
|
+
* Handles list refresh logic based on changes and mount status
|
|
751
1254
|
*/
|
|
752
|
-
private
|
|
753
|
-
|
|
754
|
-
|
|
1255
|
+
private handleListRefresh;
|
|
1256
|
+
/**
|
|
1257
|
+
* Handles column-related changes
|
|
1258
|
+
* TODO: Implement column change logic
|
|
1259
|
+
*/
|
|
1260
|
+
private handleColumnChanges;
|
|
1261
|
+
protected context: {};
|
|
1262
|
+
protected previousQueries: any;
|
|
1263
|
+
ngOnInit(): Promise<void>;
|
|
1264
|
+
ngAfterViewInit(): Promise<void>;
|
|
1265
|
+
ngOnDestroy(): void;
|
|
1266
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListWidgetViewComponent, never>;
|
|
1267
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityListWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
declare const AXPEntityListWidget: AXPWidgetConfig;
|
|
1271
|
+
|
|
1272
|
+
declare class AXPEntityReferenceWidgetViewComponent extends AXPLayoutBaseWidgetComponent {
|
|
1273
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetViewComponent, never>;
|
|
1274
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
declare class AXPEntityReferenceWidgetEditComponent extends AXPLayoutBaseWidgetComponent {
|
|
1278
|
+
#private;
|
|
1279
|
+
protected readonly injector: Injector;
|
|
1280
|
+
protected readonly entityResolver: AXPEntityResolver;
|
|
1281
|
+
protected entity: _angular_core.Signal<string>;
|
|
1282
|
+
protected entityDef: _angular_core.WritableSignal<AXPEntity | null>;
|
|
1283
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetEditComponent, never>;
|
|
1284
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
declare class AXPEntityReferenceWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
|
|
1288
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetColumnComponent, never>;
|
|
1289
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
declare class AXPEntityReferenceWidgetPrintComponent extends AXPLayoutBaseWidgetComponent {
|
|
1293
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetPrintComponent, never>;
|
|
1294
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
declare class AXPEntityReferenceWidgetDesignerComponent extends AXPLayoutBaseWidgetComponent {
|
|
1298
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetDesignerComponent, never>;
|
|
1299
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
declare const AXPEntityReferenceWidget: AXPWidgetConfig;
|
|
1303
|
+
|
|
1304
|
+
declare class AXPLookupFilterWidgetEditComponent extends AXPValueWidgetComponent<any> {
|
|
1305
|
+
#private;
|
|
1306
|
+
protected editorPath: string;
|
|
1307
|
+
protected entity: _angular_core.Signal<string>;
|
|
1308
|
+
protected textField: _angular_core.Signal<string>;
|
|
1309
|
+
protected valueField: _angular_core.Signal<string>;
|
|
1310
|
+
protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
|
|
1311
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1312
|
+
protected lookupNode: _angular_core.WritableSignal<AXPWidgetNode>;
|
|
1313
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupFilterWidgetEditComponent, never>;
|
|
1314
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
declare const AXPLookupFilterWidget: AXPWidgetConfig;
|
|
1318
|
+
declare module '@acorex/platform/layout/widget-core' {
|
|
1319
|
+
interface AXPWidgetTypesMap {
|
|
1320
|
+
lookupFilter: 'lookup-filter';
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1324
|
+
declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
1325
|
+
protected readonly formatService: AXFormatService;
|
|
1326
|
+
protected readonly entityResolver: AXPEntityResolver;
|
|
1327
|
+
protected entity: _angular_core.Signal<string>;
|
|
1328
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1329
|
+
protected valueField: _angular_core.Signal<string>;
|
|
1330
|
+
protected textField: _angular_core.Signal<string>;
|
|
1331
|
+
protected badgeClass: _angular_core.Signal<string>;
|
|
1332
|
+
protected displayField: _angular_core.Signal<string>;
|
|
1333
|
+
protected loading: _angular_core.WritableSignal<boolean>;
|
|
1334
|
+
private entityDef;
|
|
1335
|
+
protected displayItems: _angular_core.WritableSignal<any[]>;
|
|
1336
|
+
private efEntity;
|
|
1337
|
+
private efDisplay;
|
|
1338
|
+
private extractItem;
|
|
1339
|
+
private get __class();
|
|
1340
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetViewComponent, never>;
|
|
1341
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
type AXPLookupWidgetLookType = 'select' | 'lookup';
|
|
1345
|
+
interface AXPLookupWidgetOptions {
|
|
1346
|
+
disabled?: boolean | AXPExpression;
|
|
1347
|
+
readonly?: boolean | AXPExpression;
|
|
1348
|
+
placeholder?: string;
|
|
1349
|
+
expose?: string | string[];
|
|
1350
|
+
look?: AXPLookupWidgetLookType;
|
|
1351
|
+
allowClear?: boolean;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
interface AXPEntityDataSelectorOptions {
|
|
1355
|
+
entity: AXPEntity;
|
|
1356
|
+
title: string;
|
|
1357
|
+
allowMultiple?: boolean;
|
|
1358
|
+
filters?: AXDataSourceFilterOption | null;
|
|
1359
|
+
parentFilters?: AXDataSourceFilterOption | null;
|
|
1360
|
+
columns?: string[];
|
|
1361
|
+
sortedFields?: {
|
|
1362
|
+
name: string;
|
|
1363
|
+
dir: 'asc' | 'desc';
|
|
1364
|
+
}[];
|
|
1365
|
+
allowCreate?: boolean;
|
|
1366
|
+
searchFields?: string[];
|
|
1367
|
+
}
|
|
1368
|
+
interface AXPEntityDataSelectorResult {
|
|
1369
|
+
items: any[];
|
|
1370
|
+
}
|
|
1371
|
+
declare class AXPEntityDataSelectorService {
|
|
1372
|
+
private readonly dataSelectorService;
|
|
1373
|
+
private readonly filterOperatorMiddleware;
|
|
1374
|
+
private readonly widgetResolver;
|
|
1375
|
+
/**
|
|
1376
|
+
* Open entity data selector popup
|
|
1377
|
+
*/
|
|
1378
|
+
open(options: AXPEntityDataSelectorOptions): Promise<AXPEntityDataSelectorResult | null>;
|
|
1379
|
+
/**
|
|
1380
|
+
* Open entity data selector with category filter
|
|
1381
|
+
*/
|
|
1382
|
+
openWithCategoryFilter(options: Omit<AXPEntityDataSelectorOptions, 'allowCreate'>, categoryFilterConfig: {
|
|
1383
|
+
title: string;
|
|
1384
|
+
dataSource: any;
|
|
1385
|
+
filterField: string;
|
|
1386
|
+
filterOperator?: 'equal' | 'contains' | 'in';
|
|
1387
|
+
width?: string;
|
|
1388
|
+
}): Promise<AXPEntityDataSelectorResult | null>;
|
|
1389
|
+
/**
|
|
1390
|
+
* Create data selector configuration from entity options
|
|
1391
|
+
*/
|
|
1392
|
+
private createDataSelectorConfig;
|
|
1393
|
+
/**
|
|
1394
|
+
* Create data source from entity definition
|
|
1395
|
+
*/
|
|
1396
|
+
private createDataSource;
|
|
1397
|
+
/**
|
|
1398
|
+
* Create columns configuration from entity definition
|
|
1399
|
+
*/
|
|
1400
|
+
private createColumns;
|
|
1401
|
+
/**
|
|
1402
|
+
* Get searchable fields from entity properties
|
|
1403
|
+
*/
|
|
1404
|
+
private getSearchFields;
|
|
1405
|
+
/**
|
|
1406
|
+
* Check if entity supports create operation
|
|
1407
|
+
*/
|
|
1408
|
+
private canCreate;
|
|
1409
|
+
/**
|
|
1410
|
+
* Merge custom and parent filters into data source query
|
|
1411
|
+
*/
|
|
1412
|
+
private mergeFilters;
|
|
1413
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDataSelectorService, never>;
|
|
1414
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDataSelectorService>;
|
|
755
1415
|
}
|
|
756
1416
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
private
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
1417
|
+
declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
|
|
1418
|
+
#private;
|
|
1419
|
+
protected readonly injector: Injector;
|
|
1420
|
+
protected readonly entityResolver: AXPEntityResolver;
|
|
1421
|
+
protected readonly formatService: AXFormatService;
|
|
1422
|
+
protected readonly popupService: AXPopupService;
|
|
1423
|
+
protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
|
|
1424
|
+
private readonly translateService;
|
|
1425
|
+
protected expose: _angular_core.Signal<string | any[] | undefined>;
|
|
1426
|
+
protected entity: _angular_core.Signal<string>;
|
|
1427
|
+
protected disabled: _angular_core.Signal<string>;
|
|
1428
|
+
protected columns: _angular_core.Signal<string[]>;
|
|
1429
|
+
protected textField: _angular_core.Signal<string>;
|
|
1430
|
+
protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
|
|
1431
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1432
|
+
protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
|
|
1433
|
+
protected allowClear: _angular_core.Signal<boolean>;
|
|
1434
|
+
protected defaultTextField: _angular_core.Signal<string>;
|
|
1435
|
+
protected displayField: _angular_core.Signal<string>;
|
|
1436
|
+
protected selectedItemsText: _angular_core.Signal<string>;
|
|
1437
|
+
protected valueField: _angular_core.Signal<string>;
|
|
1438
|
+
protected conditions?: AXPQueryFilter[];
|
|
1439
|
+
protected filter: AXDataSourceFilterOption | null;
|
|
1440
|
+
private entityDef;
|
|
1441
|
+
protected dataSource: _angular_core.Signal<AXDataSource<unknown> | null>;
|
|
1442
|
+
protected searchTerm: _angular_core.WritableSignal<string | null>;
|
|
1443
|
+
protected selectedItems: _angular_core.WritableSignal<any[]>;
|
|
1444
|
+
textbox: _angular_core.Signal<AXTagBoxComponent | undefined>;
|
|
1445
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
1446
|
+
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
1447
|
+
protected placeholder: _angular_core.Signal<string>;
|
|
1448
|
+
private findByValue;
|
|
1449
|
+
protected handleOnClick(e: AXClickEvent): void;
|
|
1450
|
+
private showSelector;
|
|
1451
|
+
protected selectBoxValueChange(e: AXValueChangedEvent): void;
|
|
1452
|
+
protected handleValueChange(e: AXValueChangedEvent): void;
|
|
1453
|
+
protected handleOnBlur(e: AXFocusEvent): void;
|
|
1454
|
+
protected handleKeyUp(e: AXHtmlEvent): Promise<void>;
|
|
1455
|
+
private setItems;
|
|
1456
|
+
protected handleClearClick(): void;
|
|
1457
|
+
refresh(): void;
|
|
1458
|
+
clear(): void;
|
|
1459
|
+
clearInput(): void;
|
|
1460
|
+
private searchByValue;
|
|
1461
|
+
private mergeFilter;
|
|
1462
|
+
private singleOrMultiple;
|
|
1463
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetEditComponent, never>;
|
|
1464
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetEditComponent, "axp-lookup-widget-edit", never, {}, {}, never, never, true, never>;
|
|
773
1465
|
}
|
|
774
1466
|
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
1467
|
+
declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
|
|
1468
|
+
private readonly entityDetailPopoverService;
|
|
1469
|
+
protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
1470
|
+
protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
1471
|
+
protected host: ElementRef<any>;
|
|
1472
|
+
protected valueField: string;
|
|
1473
|
+
protected textField: string;
|
|
1474
|
+
protected entity: string;
|
|
1475
|
+
protected columnName: string;
|
|
1476
|
+
protected maxVisible: number;
|
|
1477
|
+
protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
1478
|
+
protected selectedItemIndex: _angular_core.WritableSignal<number>;
|
|
1479
|
+
protected displayItems: _angular_core.Signal<any[]>;
|
|
1480
|
+
protected allItems: _angular_core.Signal<any[]>;
|
|
1481
|
+
protected visibleItems: _angular_core.Signal<any[]>;
|
|
1482
|
+
protected hasMoreItems: _angular_core.Signal<boolean>;
|
|
1483
|
+
protected remainingItemsCount: _angular_core.Signal<number>;
|
|
1484
|
+
protected showMoreItems(): void;
|
|
1485
|
+
protected onMorePopoverOpenChange(event: any): void;
|
|
1486
|
+
protected showItemDetail(item: any, index: number): Promise<void>;
|
|
1487
|
+
protected handleItemClick(index: number): void;
|
|
1488
|
+
private openMorePopover;
|
|
1489
|
+
private closeMorePopover;
|
|
1490
|
+
private extractItem;
|
|
1491
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
|
|
1492
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
|
|
789
1493
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
1494
|
+
|
|
1495
|
+
declare const AXPLookupWidget: AXPWidgetConfig;
|
|
1496
|
+
|
|
1497
|
+
declare class AXPTagableBoxWidgetColumnComponent extends AXPValueWidgetComponent<any> {
|
|
1498
|
+
protected internalValue: _angular_core.Signal<any>;
|
|
1499
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1500
|
+
protected useSelectBox: _angular_core.Signal<boolean>;
|
|
1501
|
+
protected textField: _angular_core.Signal<string>;
|
|
1502
|
+
protected getData: _angular_core.Signal<any[]>;
|
|
1503
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetColumnComponent, never>;
|
|
1504
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetColumnComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
793
1505
|
}
|
|
794
|
-
|
|
795
|
-
declare class
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
1506
|
+
|
|
1507
|
+
declare class AXPTagableBoxWidgetEditComponent extends AXPValueWidgetComponent<any> {
|
|
1508
|
+
protected entityResolver: AXPEntityResolver;
|
|
1509
|
+
protected hasClearButton: _angular_core.Signal<boolean>;
|
|
1510
|
+
protected disabled: _angular_core.Signal<boolean>;
|
|
1511
|
+
protected placeholder: _angular_core.Signal<string>;
|
|
1512
|
+
protected moduleName: _angular_core.Signal<string>;
|
|
1513
|
+
protected entityName: _angular_core.Signal<string>;
|
|
1514
|
+
protected allowSearch: _angular_core.Signal<boolean>;
|
|
1515
|
+
protected _dataSource: AXDataSource<any>;
|
|
1516
|
+
protected handleSelectValueChange(e: AXValueChangedEvent): void;
|
|
1517
|
+
protected addItem(): void;
|
|
1518
|
+
private get __class();
|
|
1519
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetEditComponent, never>;
|
|
1520
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetEditComponent, "axp-tagable-box-widget", never, {}, {}, never, never, true, never>;
|
|
800
1521
|
}
|
|
801
1522
|
|
|
802
|
-
declare class
|
|
803
|
-
|
|
804
|
-
static
|
|
805
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPLayoutBuilderModule], never>;
|
|
806
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
|
|
1523
|
+
declare class AXPTagableBoxWidgetFilterComponent extends AXPValueWidgetComponent<any> {
|
|
1524
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetFilterComponent, never>;
|
|
1525
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetFilterComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
807
1526
|
}
|
|
808
1527
|
|
|
809
|
-
declare class
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
1528
|
+
declare class AXPTagableBoxWidgetPrintComponent extends AXPValueWidgetComponent<any> {
|
|
1529
|
+
protected internalValue: _angular_core.Signal<any>;
|
|
1530
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1531
|
+
protected useSelectBox: _angular_core.Signal<boolean>;
|
|
1532
|
+
protected textField: _angular_core.Signal<string>;
|
|
1533
|
+
protected getData: _angular_core.Signal<any[]>;
|
|
1534
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetPrintComponent, never>;
|
|
1535
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
declare class AXPTagableBoxWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
1539
|
+
protected internalValue: _angular_core.Signal<any>;
|
|
1540
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
1541
|
+
protected useSelectBox: _angular_core.Signal<boolean>;
|
|
1542
|
+
protected textField: _angular_core.Signal<string>;
|
|
1543
|
+
protected getData: _angular_core.Signal<any[]>;
|
|
1544
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetViewComponent, never>;
|
|
1545
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetViewComponent, "axp-tagable-box-widget", never, {}, {}, never, never, true, never>;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
declare const AXPTagableBoxWidget: AXPWidgetConfig;
|
|
1549
|
+
declare module '@acorex/platform/layout/widget-core' {
|
|
1550
|
+
interface AXPWidgetTypesMap {
|
|
1551
|
+
tagable: 'tagable-editor';
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
declare class AXPWidgetSelectorWidgetEditComponent extends AXPValueWidgetComponent<any> {
|
|
1556
|
+
private popupService;
|
|
1557
|
+
private widgetRegisteryService;
|
|
1558
|
+
textbox: AXTextBoxComponent;
|
|
1559
|
+
protected searchTerm: _angular_core.WritableSignal<string | null>;
|
|
1560
|
+
protected isOpen: _angular_core.WritableSignal<boolean>;
|
|
1561
|
+
protected textField: _angular_core.WritableSignal<string>;
|
|
1562
|
+
protected displayText: _angular_core.Signal<any>;
|
|
1563
|
+
protected selectedWidgetNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
|
|
1564
|
+
protected selectedItem: _angular_core.WritableSignal<any>;
|
|
1565
|
+
protected placeholder: _angular_core.Signal<any>;
|
|
1566
|
+
protected loading: _angular_core.Signal<boolean>;
|
|
1567
|
+
ngAfterViewInit(): void;
|
|
1568
|
+
showSelector(): Promise<void>;
|
|
1569
|
+
protected convertWidgetConfigToNode(config: AXPWidgetConfig): AXPWidgetNode;
|
|
1570
|
+
protected handleChangeWidget(e: AXPWidgetPropertiesChangedEvent): void;
|
|
1571
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetSelectorWidgetEditComponent, never>;
|
|
1572
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetSelectorWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
declare class AXPWidgetSelectorWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
1576
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetSelectorWidgetViewComponent, never>;
|
|
1577
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetSelectorWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
declare const AXPWidgetSelectorWidget: AXPWidgetConfig;
|
|
1581
|
+
declare module '@acorex/platform/layout/widget-core' {
|
|
1582
|
+
interface AXPWidgetTypesMap {
|
|
1583
|
+
widgetSelector: 'widget-selector';
|
|
1584
|
+
}
|
|
814
1585
|
}
|
|
815
1586
|
|
|
816
1587
|
declare const AXPEntityCreateEvent: {
|
|
@@ -868,6 +1639,7 @@ declare class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
|
|
|
868
1639
|
private dialogService;
|
|
869
1640
|
private loadingDialog;
|
|
870
1641
|
private translationService;
|
|
1642
|
+
private settingService;
|
|
871
1643
|
execute(context: AXPWorkflowContext): Promise<void>;
|
|
872
1644
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityPerformDeleteAction, never>;
|
|
873
1645
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityPerformDeleteAction>;
|
|
@@ -942,198 +1714,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
|
942
1714
|
}
|
|
943
1715
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
944
1716
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
data: {
|
|
948
|
-
id: string;
|
|
949
|
-
};
|
|
950
|
-
}
|
|
951
|
-
interface AXPOpenEntityDetailsCommandResult {
|
|
952
|
-
success: boolean;
|
|
953
|
-
}
|
|
954
|
-
/**
|
|
955
|
-
* Generic command to open entity details view
|
|
956
|
-
* Can be used by any entity to navigate to its detail page
|
|
957
|
-
*/
|
|
958
|
-
declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
|
|
959
|
-
private readonly router;
|
|
960
|
-
private readonly sessionService;
|
|
961
|
-
/**
|
|
962
|
-
* Execute the command to navigate to entity details
|
|
963
|
-
* @param input - Command input containing entity and data information
|
|
964
|
-
*/
|
|
965
|
-
execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
|
|
966
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
|
|
967
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
interface AXPGetEntityDetailsQueryInput {
|
|
971
|
-
entity: string;
|
|
972
|
-
id: string;
|
|
973
|
-
}
|
|
974
|
-
interface AXPGetEntityDetailsQueryResult {
|
|
975
|
-
success: boolean;
|
|
976
|
-
entityDefinition?: AXPEntity;
|
|
977
|
-
entityData?: any;
|
|
978
|
-
error?: string;
|
|
979
|
-
}
|
|
980
|
-
/**
|
|
981
|
-
* Generic query to get entity details including entity definition and entity data
|
|
982
|
-
* Can be used by any entity to retrieve its definition and data by ID
|
|
983
|
-
*/
|
|
984
|
-
declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult> {
|
|
985
|
-
private readonly entityDefinitionRegistry;
|
|
986
|
-
private readonly injector;
|
|
987
|
-
/**
|
|
988
|
-
* Execute the query to fetch entity definition and data
|
|
989
|
-
* @param input - Query input containing entity and ID information
|
|
990
|
-
*/
|
|
991
|
-
fetch(input: AXPGetEntityDetailsQueryInput): Promise<AXPGetEntityDetailsQueryResult>;
|
|
992
|
-
/**
|
|
993
|
-
* Get entity data using the entity's CRUD service
|
|
994
|
-
* @param entity - Full entity path (ModuleName.EntityName)
|
|
995
|
-
* @param id - Entity ID
|
|
996
|
-
* @returns Promise resolving to entity data
|
|
997
|
-
*/
|
|
998
|
-
private getEntityData;
|
|
999
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGetEntityDetailsQuery, never>;
|
|
1000
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
|
|
1001
|
-
}
|
|
1002
|
-
|
|
1003
|
-
declare function entityMasterCreateAction(): AXPEntityAction;
|
|
1004
|
-
declare function entityMasterBulkDeleteAction(): AXPEntityAction;
|
|
1005
|
-
declare function entityMasterViewAction(): AXPEntityAction;
|
|
1006
|
-
declare function entityMasterDeleteAction(): AXPEntityAction;
|
|
1007
|
-
declare function entityMasterCrudActions(options?: {
|
|
1008
|
-
create?: boolean;
|
|
1009
|
-
delete?: boolean;
|
|
1010
|
-
view?: boolean;
|
|
1011
|
-
edit?: boolean;
|
|
1012
|
-
}): AXPEntityAction[];
|
|
1013
|
-
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
1014
|
-
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
1015
|
-
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
1016
|
-
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
1017
|
-
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
1018
|
-
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
1019
|
-
declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
|
|
1020
|
-
declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
|
|
1021
|
-
type AXPEntityChangeSet = {
|
|
1022
|
-
[key: string]: {
|
|
1023
|
-
oldValue: any;
|
|
1024
|
-
newValue: any;
|
|
1025
|
-
added?: any[];
|
|
1026
|
-
removed?: any[];
|
|
1027
|
-
};
|
|
1028
|
-
};
|
|
1029
|
-
/**
|
|
1030
|
-
* Computes a diff between two plain objects with array-aware semantics.
|
|
1031
|
-
* - For arrays of objects with an id field, computes added/removed by id.
|
|
1032
|
-
* - For arrays of primitives or objects without id, uses deep equality.
|
|
1033
|
-
* - For scalars/objects, reports oldValue/newValue when changed.
|
|
1034
|
-
*/
|
|
1035
|
-
declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
|
|
1036
|
-
|
|
1037
|
-
declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
|
|
1038
|
-
|
|
1039
|
-
/**
|
|
1040
|
-
* Map of column name -> width value
|
|
1041
|
-
* Example: { title: '300px', description: '300px' }
|
|
1042
|
-
*/
|
|
1043
|
-
type ColumnWidthConfig = Record<string, string | number>;
|
|
1044
|
-
/**
|
|
1045
|
-
* Default widths for common text columns
|
|
1046
|
-
*/
|
|
1047
|
-
declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
|
|
1048
|
-
/**
|
|
1049
|
-
* Factory to create a column width middleware using provided config map.
|
|
1050
|
-
* Sets width for columns defined in the map if not already defined on the column.
|
|
1051
|
-
*/
|
|
1052
|
-
declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
|
|
1053
|
-
/**
|
|
1054
|
-
* Helper to create a provider for the column width middleware.
|
|
1055
|
-
* By default it applies to all entities using the '*' pattern.
|
|
1056
|
-
*/
|
|
1057
|
-
declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
1058
|
-
/**
|
|
1059
|
-
* Default provider registered with the default map.
|
|
1060
|
-
*/
|
|
1061
|
-
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
1062
|
-
|
|
1063
|
-
declare class AXPEntityDetailPopoverComponent {
|
|
1064
|
-
private readonly commandService;
|
|
1065
|
-
private readonly queryService;
|
|
1066
|
-
entity: _angular_core.InputSignal<string>;
|
|
1067
|
-
entityId: _angular_core.InputSignal<string | number>;
|
|
1068
|
-
textField: _angular_core.InputSignal<string>;
|
|
1069
|
-
valueField: _angular_core.InputSignal<string>;
|
|
1070
|
-
item: _angular_core.InputSignal<AXPMetaData | undefined>;
|
|
1071
|
-
protected detailPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
1072
|
-
protected entityDetails: _angular_core.WritableSignal<any>;
|
|
1073
|
-
protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
|
|
1074
|
-
protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
1075
|
-
/**
|
|
1076
|
-
* Show the entity detail popover
|
|
1077
|
-
*/
|
|
1078
|
-
show(target: ElementRef | HTMLElement): Promise<void>;
|
|
1079
|
-
/**
|
|
1080
|
-
* Hide the entity detail popover
|
|
1081
|
-
*/
|
|
1082
|
-
hide(): void;
|
|
1083
|
-
protected onDetailPopoverOpenChange(event: any): void;
|
|
1084
|
-
protected navigateToDetails(): Promise<void>;
|
|
1085
|
-
/**
|
|
1086
|
-
* Returns true if a value is meaningful for display (non-empty/non-null).
|
|
1087
|
-
*/
|
|
1088
|
-
private hasMeaningfulValue;
|
|
1089
|
-
/**
|
|
1090
|
-
* Calculates an importance score for a property based on its widget type,
|
|
1091
|
-
* whether it currently has a meaningful value, and metadata like title.
|
|
1092
|
-
*/
|
|
1093
|
-
private getPropertyImportanceScore;
|
|
1094
|
-
/**
|
|
1095
|
-
* Calculates a name-based importance score to prioritize common key fields
|
|
1096
|
-
* like title, description, status, and important dates.
|
|
1097
|
-
* Name priority MUST come before widget-type priority.
|
|
1098
|
-
*/
|
|
1099
|
-
private getNameImportanceScore;
|
|
1100
|
-
protected getEntityPropertiesWithWidgets(): Array<{
|
|
1101
|
-
name: string;
|
|
1102
|
-
title: string;
|
|
1103
|
-
node: AXPWidgetNode;
|
|
1104
|
-
}>;
|
|
1105
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
|
|
1106
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1107
|
-
}
|
|
1108
|
-
|
|
1109
|
-
interface AXPEntityDetailPopoverOptions {
|
|
1110
|
-
entity: string;
|
|
1111
|
-
id: string | number;
|
|
1112
|
-
item: AXPMetaData;
|
|
1113
|
-
textField?: string;
|
|
1114
|
-
valueField?: string;
|
|
1115
|
-
}
|
|
1116
|
-
declare class AXPEntityDetailPopoverService {
|
|
1117
|
-
private readonly applicationRef;
|
|
1118
|
-
private readonly environmentInjector;
|
|
1119
|
-
private activePopoverRef;
|
|
1120
|
-
/**
|
|
1121
|
-
* Show entity detail popover
|
|
1122
|
-
* @param target - The target element to position the popover
|
|
1123
|
-
* @param options - Configuration options for the popover
|
|
1124
|
-
*/
|
|
1125
|
-
show(target: ElementRef | HTMLElement, options: AXPEntityDetailPopoverOptions): Promise<void>;
|
|
1126
|
-
/**
|
|
1127
|
-
* Hide the active popover
|
|
1128
|
-
*/
|
|
1129
|
-
hide(): void;
|
|
1130
|
-
/**
|
|
1131
|
-
* Check if a popover is currently active
|
|
1132
|
-
*/
|
|
1133
|
-
get isActive(): boolean;
|
|
1134
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverService, never>;
|
|
1135
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDetailPopoverService>;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError };
|
|
1139
|
-
export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, AXPRecordControl, ColumnWidthConfig };
|
|
1717
|
+
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityDynamicDialogService, AXPEntityEventDispatcherService, AXPEntityListTableService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityReferenceWidget, AXPEntityReferenceWidgetColumnComponent, AXPEntityReferenceWidgetDesignerComponent, AXPEntityReferenceWidgetEditComponent, AXPEntityReferenceWidgetPrintComponent, AXPEntityReferenceWidgetViewComponent, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLookupFilterWidget, AXPLookupFilterWidgetEditComponent, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTagableBoxWidget, AXPTagableBoxWidgetColumnComponent, AXPTagableBoxWidgetEditComponent, AXPTagableBoxWidgetFilterComponent, AXPTagableBoxWidgetPrintComponent, AXPTagableBoxWidgetViewComponent, AXPWidgetSelectorWidget, AXPWidgetSelectorWidgetEditComponent, AXPWidgetSelectorWidgetViewComponent, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError };
|
|
1718
|
+
export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, AXPRecordControl, AXPRecordOwnership, ColumnWidthConfig };
|