@acorex/platform 21.0.0-next.64 → 21.0.0-next.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-common.mjs +94 -18
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +42 -1
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +29 -7
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +282 -108
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-BaTS183I.mjs +383 -0
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-BaTS183I.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs → acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs} +15 -18
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +3339 -301
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +0 -1
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +1377 -4
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +8938 -11693
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs → acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs → acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs} +3 -3
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +685 -287
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-BgXYCFia.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +29 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +94 -24
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +176 -26
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-common.d.ts +74 -10
- package/types/acorex-platform-core.d.ts +63 -2
- package/types/acorex-platform-layout-builder.d.ts +7 -1
- package/types/acorex-platform-layout-components.d.ts +162 -36
- package/types/acorex-platform-layout-entity.d.ts +704 -14
- package/types/acorex-platform-layout-views.d.ts +28 -0
- package/types/acorex-platform-layout-widget-core.d.ts +156 -3
- package/types/acorex-platform-layout-widgets.d.ts +29 -393
- package/types/acorex-platform-themes-default.d.ts +137 -30
- package/types/acorex-platform-themes-shared.d.ts +23 -1
- package/types/acorex-platform-workflow.d.ts +91 -4
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BgXYCFia.mjs.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
2
|
-
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression,
|
|
2
|
+
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPFileListItem, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
3
3
|
import { AXPCommand, AXPQueryExecutor, AXPCommandService, AXPQuery } from '@acorex/platform/runtime';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { ElementRef, InjectionToken, Injector, Type, EnvironmentProviders, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
6
6
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
7
|
-
import * as
|
|
8
|
-
import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetRendererDirective } from '@acorex/platform/layout/widget-core';
|
|
9
|
-
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem,
|
|
7
|
+
import * as i4 from '@acorex/platform/layout/widget-core';
|
|
8
|
+
import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetCoreElementAPI, AXPWidgetRendererDirective } from '@acorex/platform/layout/widget-core';
|
|
9
|
+
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorRowActionsHandler, AXPCategoryTreeDataSource, AXPDataSelectorAllowCreate } from '@acorex/platform/layout/components';
|
|
10
10
|
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
11
11
|
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
12
12
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
13
|
-
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPEntityPage, AXPQueryFilter } from '@acorex/platform/common';
|
|
13
|
+
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPCardField, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityMasterListLayoutType, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPEntityPage, AXPQueryFilter, AXCFileUploaderCapabilities, AXCFileUploaderAction } from '@acorex/platform/common';
|
|
14
14
|
import * as i1 from '@angular/router';
|
|
15
15
|
import { ResolveFn } from '@angular/router';
|
|
16
16
|
import * as rxjs from 'rxjs';
|
|
17
17
|
import { Subject } from 'rxjs';
|
|
18
18
|
export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i3 from '@acorex/platform/workflow';
|
|
20
20
|
import { AXPWorkflowService, AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';
|
|
21
|
-
import * as
|
|
21
|
+
import * as i5 from '@acorex/platform/layout/builder';
|
|
22
22
|
import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
|
|
23
23
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
24
24
|
import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent } from '@acorex/components/tree-view';
|
|
@@ -28,6 +28,8 @@ import { AXFormatService } from '@acorex/core/format';
|
|
|
28
28
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
29
29
|
import * as _acorex_core_translation from '@acorex/core/translation';
|
|
30
30
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
31
|
+
import * as _acorex_platform_layout_entity from '@acorex/platform/layout/entity';
|
|
32
|
+
import { AXFileService } from '@acorex/core/file';
|
|
31
33
|
import { AXPProviderSelectWidgetEditBase, AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
|
|
32
34
|
|
|
33
35
|
declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
|
|
@@ -314,6 +316,22 @@ declare class AXPEntityListViewColumnViewModel {
|
|
|
314
316
|
width: '';
|
|
315
317
|
node: _angular_core.Signal<AXPWidgetColumnNode>;
|
|
316
318
|
}
|
|
319
|
+
declare class AXPEntityListViewCardFieldViewModel {
|
|
320
|
+
readonly property: AXPEntityProperty;
|
|
321
|
+
readonly field: AXPCardField;
|
|
322
|
+
constructor(property: AXPEntityProperty, field: AXPCardField);
|
|
323
|
+
name: string;
|
|
324
|
+
title: string;
|
|
325
|
+
visible: string | boolean;
|
|
326
|
+
layout: _acorex_platform_common.AXPEntityPropertyLayoutConfig | undefined;
|
|
327
|
+
display: string;
|
|
328
|
+
isBadgeDisplay: boolean;
|
|
329
|
+
badgeColor: string | undefined;
|
|
330
|
+
isStatusWidget: boolean;
|
|
331
|
+
node: _angular_core.Signal<AXPWidgetColumnNode>;
|
|
332
|
+
/** Readonly column node for status fields shown as header badges. */
|
|
333
|
+
headerBadgeNode: _angular_core.Signal<AXPWidgetColumnNode>;
|
|
334
|
+
}
|
|
317
335
|
|
|
318
336
|
declare class AXPEntityDetailListViewModel {
|
|
319
337
|
private injector;
|
|
@@ -498,6 +516,17 @@ interface AXPEntityMasterListViewSortPropViewModel {
|
|
|
498
516
|
title: string;
|
|
499
517
|
dir?: string;
|
|
500
518
|
}
|
|
519
|
+
/** Built-in card list row action that toggles multi-select mode via {@link AXPEntityMasterListViewModel.selectedItems}. */
|
|
520
|
+
declare const AXPEntityMasterListCardSelectActionName = "axp-entity-card:select";
|
|
521
|
+
interface AXPEntityMasterListCardSecondaryActionItem {
|
|
522
|
+
name: string;
|
|
523
|
+
title: string;
|
|
524
|
+
icon?: string;
|
|
525
|
+
color?: string;
|
|
526
|
+
disabled?: boolean | string;
|
|
527
|
+
divided?: boolean;
|
|
528
|
+
isCardSelect?: boolean;
|
|
529
|
+
}
|
|
501
530
|
declare class AXPEntityMasterListViewQueryViewModel {
|
|
502
531
|
private entity;
|
|
503
532
|
private section;
|
|
@@ -522,10 +551,12 @@ declare class AXPEntityMasterListViewModel {
|
|
|
522
551
|
private readonly settings;
|
|
523
552
|
private readonly widgetResolver;
|
|
524
553
|
private readonly expressionEvaluator;
|
|
554
|
+
private readonly translation;
|
|
525
555
|
private readonly commandService;
|
|
526
556
|
private readonly eventService;
|
|
527
557
|
private readonly queryExecutor;
|
|
528
558
|
private readonly filterOperatorMiddleware;
|
|
559
|
+
private readonly entityDefinitionRegistry;
|
|
529
560
|
private settingEntityKey;
|
|
530
561
|
private readonly destroyed;
|
|
531
562
|
private lastAppliedSortKey;
|
|
@@ -552,9 +583,72 @@ declare class AXPEntityMasterListViewModel {
|
|
|
552
583
|
* if `indexCol` is omitted, visibility follows {@link AXPCommonSettings.ShowRowIndexColumn}.
|
|
553
584
|
*/
|
|
554
585
|
showIndexColumn: _angular_core.Signal<boolean>;
|
|
586
|
+
/** Layouts enabled via `interfaces.master.list.layouts.*.enabled`. */
|
|
587
|
+
enabledListLayouts: _angular_core.Signal<AXPEntityMasterListLayoutType[]>;
|
|
588
|
+
/** True when the user can switch between multiple enabled layouts. */
|
|
589
|
+
canSwitchListLayout: _angular_core.Signal<boolean>;
|
|
590
|
+
/** Active list layout for the current view. */
|
|
591
|
+
activeListLayout: _angular_core.WritableSignal<AXPEntityMasterListLayoutType>;
|
|
592
|
+
tableLayout: _angular_core.Signal<{
|
|
593
|
+
enabled?: boolean;
|
|
594
|
+
columns: AXPEntityTableColumn[];
|
|
595
|
+
} | undefined>;
|
|
596
|
+
cardLayout: _angular_core.Signal<{
|
|
597
|
+
enabled?: boolean;
|
|
598
|
+
header: {
|
|
599
|
+
title?: string;
|
|
600
|
+
description?: string;
|
|
601
|
+
icon?: string;
|
|
602
|
+
};
|
|
603
|
+
fields: AXPCardField[];
|
|
604
|
+
} | undefined>;
|
|
605
|
+
/** Global expanded state for all card bodies in card layout. */
|
|
606
|
+
cardContentExpanded: _angular_core.WritableSignal<boolean>;
|
|
607
|
+
/** Current presentation mode (table, compact cards, or expanded cards). */
|
|
608
|
+
listDisplayMode: _angular_core.Signal<AXPEntityMasterListDisplayMode>;
|
|
609
|
+
/**
|
|
610
|
+
* Sets global card body visibility for card layout.
|
|
611
|
+
*/
|
|
612
|
+
setCardContentExpanded(expanded: boolean): void;
|
|
613
|
+
/**
|
|
614
|
+
* Switches table vs compact/expanded card presentation.
|
|
615
|
+
*/
|
|
616
|
+
setListDisplayMode(mode: AXPEntityMasterListDisplayMode): void;
|
|
617
|
+
/** Enabled layouts with display metadata for the title layout switcher. */
|
|
618
|
+
availableListLayouts: _angular_core.Signal<AXPEntityMasterListLayoutOption[]>;
|
|
619
|
+
/** Active layout option (for title icon and switcher selection state). */
|
|
620
|
+
currentListLayout: _angular_core.Signal<AXPEntityMasterListLayoutOption | null>;
|
|
621
|
+
private static readonly LAYOUT_META;
|
|
622
|
+
/**
|
|
623
|
+
* Switches to the given layout when it is enabled.
|
|
624
|
+
* Persists the choice at entity list level (shared across all views).
|
|
625
|
+
*/
|
|
626
|
+
setListLayout(layout: AXPEntityMasterListLayoutType): void;
|
|
627
|
+
/**
|
|
628
|
+
* Cycles to the next enabled layout (table → card → table …).
|
|
629
|
+
* No-op when only one layout is enabled.
|
|
630
|
+
*/
|
|
631
|
+
switchListLayout(): AXPEntityMasterListLayoutType;
|
|
632
|
+
private resolveActiveListLayout;
|
|
633
|
+
private applyListLayoutFromSettings;
|
|
555
634
|
private createExpressionScope;
|
|
556
635
|
private resolveCommandNameExpression;
|
|
557
636
|
private resolveTitleExpression;
|
|
637
|
+
/**
|
|
638
|
+
* Resolves a card header value (title, description, icon) from a property path, expression, or literal.
|
|
639
|
+
* Supports multiple `{{ ... }}` segments in one string (e.g. `{{context.eval("a")}} - {{context.eval("b")}}`).
|
|
640
|
+
* Multi-language maps (e.g. `{ "en-US": "...", "fa-IR": "..." }`) are returned as-is for the translate pipe.
|
|
641
|
+
*/
|
|
642
|
+
resolveCardHeaderValue(value: string | undefined, rowData: unknown): Promise<AXPMultiLanguageString>;
|
|
643
|
+
/**
|
|
644
|
+
* Keeps i18n payloads intact for `translate`; coerces only plain scalars to string.
|
|
645
|
+
*/
|
|
646
|
+
private normalizeCardHeaderDisplayValue;
|
|
647
|
+
/**
|
|
648
|
+
* Resolves badge color for a card header field (semantic token or expression per row).
|
|
649
|
+
*/
|
|
650
|
+
resolveCardBadgeColor(field: AXPEntityListViewCardFieldViewModel, rowData: unknown): Promise<AXStyleColorType>;
|
|
651
|
+
private resolveCardBadgeColorValue;
|
|
558
652
|
private resolveTriggerName;
|
|
559
653
|
setView(viewName?: string | null): Promise<void>;
|
|
560
654
|
dataSource: AXDataSource<any>;
|
|
@@ -582,7 +676,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
582
676
|
*/
|
|
583
677
|
updateExpandedRowId(rowId: string, expanded: boolean): void;
|
|
584
678
|
handleRowExpandChange(rowData: Record<string, unknown>): void;
|
|
585
|
-
saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'listPaging' | 'filters' | 'sorts' | 'expandedRows', data?: unknown): Promise<void>;
|
|
679
|
+
saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'listPaging' | 'filters' | 'sorts' | 'expandedRows' | 'listLayout' | 'cardContentExpanded', data?: unknown): Promise<void>;
|
|
586
680
|
selectedItems: _angular_core.WritableSignal<any[]>;
|
|
587
681
|
/**
|
|
588
682
|
* Selected category from the category sidebar (left panel).
|
|
@@ -617,6 +711,10 @@ declare class AXPEntityMasterListViewModel {
|
|
|
617
711
|
selectedScopeActionsCount: _angular_core.Signal<number>;
|
|
618
712
|
primaryRowActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
|
|
619
713
|
secondaryRowActions(rowData: any): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
714
|
+
/**
|
|
715
|
+
* Secondary actions for card layout rows, with the built-in Select action last (divider above it).
|
|
716
|
+
*/
|
|
717
|
+
cardSecondaryRowActions(rowData: unknown): Promise<AXPEntityMasterListCardSecondaryActionItem[]>;
|
|
620
718
|
filterQueries: _angular_core.WritableSignal<AXPFilterQuery[]>;
|
|
621
719
|
private static readonly URL_FILTER_OPERATOR_TYPES;
|
|
622
720
|
get properties(): AXPEntityProperty[];
|
|
@@ -646,6 +744,20 @@ declare class AXPEntityMasterListViewModel {
|
|
|
646
744
|
onColumnsChanged(columns: AXPEntityListViewColumnViewModel[]): Promise<void>;
|
|
647
745
|
applyViewColumns(): void;
|
|
648
746
|
onColumnsOrderChanged(event: any): void;
|
|
747
|
+
private mergeDisplayFieldWithColumn;
|
|
748
|
+
private buildVirtualDisplayProperty;
|
|
749
|
+
private normalizeRelatedColumnNames;
|
|
750
|
+
private findRelatedEntityForField;
|
|
751
|
+
private getRegisteredEntity;
|
|
752
|
+
private resolveRelatedEntityProperty;
|
|
753
|
+
private resolveRelatedEntityColumnDataPath;
|
|
754
|
+
private deriveDataPathFromLookupProperty;
|
|
755
|
+
private resolveParentDataPathForRelatedField;
|
|
756
|
+
private resolveDisplayFieldProperty;
|
|
757
|
+
private resolveCardField;
|
|
758
|
+
private allAvailableCardFields;
|
|
759
|
+
cardFields: _angular_core.WritableSignal<AXPEntityListViewCardFieldViewModel[]>;
|
|
760
|
+
applyCardFields(): void;
|
|
649
761
|
sortableFields: () => {
|
|
650
762
|
name: string;
|
|
651
763
|
title: string;
|
|
@@ -875,6 +987,7 @@ declare class AXPEntityPreloadFiltersViewModel {
|
|
|
875
987
|
}
|
|
876
988
|
declare const AXPEntityPreloadFiltersViewModelResolver: ResolveFn<Promise<AXPEntityPreloadFiltersViewModel>>;
|
|
877
989
|
|
|
990
|
+
type AXPEntityMasterListCardLayout = NonNullable<NonNullable<AXPEntityMasterListView['layouts']>['card']>;
|
|
878
991
|
interface AXPEntityModifierContext {
|
|
879
992
|
readonly entity: AXPEntity;
|
|
880
993
|
plugins: {
|
|
@@ -971,6 +1084,12 @@ interface AXPEntityModifierContext {
|
|
|
971
1084
|
list: {
|
|
972
1085
|
get(): AXPEntityMasterListView | undefined;
|
|
973
1086
|
update(updater: (c: AXPEntityMasterListView | undefined) => AXPEntityMasterListView): AXPEntityModifierContext;
|
|
1087
|
+
card: {
|
|
1088
|
+
get(): AXPEntityMasterListCardLayout | undefined;
|
|
1089
|
+
set(layout: AXPEntityMasterListCardLayout): AXPEntityModifierContext;
|
|
1090
|
+
update(updater: (layout: AXPEntityMasterListCardLayout | undefined) => AXPEntityMasterListCardLayout | undefined): AXPEntityModifierContext;
|
|
1091
|
+
remove(): AXPEntityModifierContext;
|
|
1092
|
+
};
|
|
974
1093
|
};
|
|
975
1094
|
};
|
|
976
1095
|
detail: {
|
|
@@ -1501,9 +1620,67 @@ declare function getMasterInterfacePropertySortKey(interfaceRow: {
|
|
|
1501
1620
|
layout?: AXPEntityPropertyLayoutConfig | undefined;
|
|
1502
1621
|
} | undefined, indexInMasterInterfaceList: number): number;
|
|
1503
1622
|
|
|
1623
|
+
/** How to show attachments in entity single/create/update: as a section (default) or as a separate page. */
|
|
1624
|
+
type AttachmentsDisplayMode = 'section' | 'page';
|
|
1625
|
+
/** Component key used when display is 'page'. Register a page component with this key via AXP_PAGE_COMPONENT_PROVIDER. */
|
|
1626
|
+
declare const ATTACHMENTS_PAGE_COMPONENT_KEY = "entity-attachments-page";
|
|
1627
|
+
type AttachmentLocalizedText = string | Record<string, string>;
|
|
1628
|
+
type AttachmentSectionOptions = {
|
|
1629
|
+
order?: number;
|
|
1630
|
+
title?: AttachmentLocalizedText;
|
|
1631
|
+
};
|
|
1632
|
+
type AttachmentsEditDialogOptions = {
|
|
1633
|
+
mode?: 'manual' | 'auto';
|
|
1634
|
+
fields?: {
|
|
1635
|
+
name?: boolean;
|
|
1636
|
+
title?: boolean;
|
|
1637
|
+
description?: boolean;
|
|
1638
|
+
};
|
|
1639
|
+
};
|
|
1640
|
+
type AttachmentsPluginOptions = {
|
|
1641
|
+
field?: string;
|
|
1642
|
+
title?: AttachmentLocalizedText;
|
|
1643
|
+
display?: AttachmentsDisplayMode;
|
|
1644
|
+
accept?: string;
|
|
1645
|
+
multiple?: boolean;
|
|
1646
|
+
fileEditable?: boolean;
|
|
1647
|
+
/** When true, attachments field and list action run in read-only mode (widget option `readonly`). */
|
|
1648
|
+
'readonly'?: boolean;
|
|
1649
|
+
/** When true (default), registers a list column for the attachments field. Set false to hide the column. */
|
|
1650
|
+
showListColumn?: boolean;
|
|
1651
|
+
/** When true (default), registers the list upload action. Set false to omit the action. */
|
|
1652
|
+
showListAction?: boolean;
|
|
1653
|
+
/** Section options when display is 'section'. */
|
|
1654
|
+
section?: AttachmentSectionOptions;
|
|
1655
|
+
/** File edit dialog options. */
|
|
1656
|
+
editDialog?: AttachmentsEditDialogOptions;
|
|
1657
|
+
plugins?: {
|
|
1658
|
+
name: string;
|
|
1659
|
+
options?: unknown;
|
|
1660
|
+
}[];
|
|
1661
|
+
/** Widget option `showBorder`. Default false for attachments (section and page). */
|
|
1662
|
+
showBorder?: boolean;
|
|
1663
|
+
/** Widget option `showAddItemButton`. Default false when display is `page`, true for section. */
|
|
1664
|
+
showAddItemButton?: boolean;
|
|
1665
|
+
};
|
|
1666
|
+
/**
|
|
1667
|
+
* Attachments plugin.
|
|
1668
|
+
* - Always ensures an attachments group and property; when display is 'section' (default), adds a section to single/create/update layouts.
|
|
1669
|
+
* - When display is 'page', adds a page to entity.pages with ATTACHMENTS_PAGE_COMPONENT_KEY; register a page component with that key via AXP_PAGE_COMPONENT_PROVIDER.
|
|
1670
|
+
* - List column and list upload action can be turned off with `showListColumn` / `showListAction` (both default true).
|
|
1671
|
+
* - Uses provided accept/multiple/fileEditable; others are fixed.
|
|
1672
|
+
*/
|
|
1673
|
+
declare const attachmentsPlugin: AXPEntityActionPlugin;
|
|
1674
|
+
|
|
1675
|
+
declare class AXPAttachmentsPluginModule {
|
|
1676
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPAttachmentsPluginModule, never>;
|
|
1677
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPAttachmentsPluginModule, never, never, never>;
|
|
1678
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPAttachmentsPluginModule>;
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1504
1681
|
declare class AXPEntityModule {
|
|
1505
1682
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
|
|
1506
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof
|
|
1683
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof AXPAttachmentsPluginModule, typeof i3.AXPWorkflowModule, typeof i4.AXPWidgetCoreModule, typeof i5.LayoutBuilderModule], never>;
|
|
1507
1684
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
|
|
1508
1685
|
}
|
|
1509
1686
|
|
|
@@ -1767,6 +1944,13 @@ declare const searchResultDescriptionMiddlewareProvider: AXPEntityModifierProvid
|
|
|
1767
1944
|
declare const defaultMultiLanguageMiddleware: AXPEntityModifier;
|
|
1768
1945
|
declare const defaultMultiLanguageMiddlewareProvider: AXPEntityModifierProvider;
|
|
1769
1946
|
|
|
1947
|
+
/**
|
|
1948
|
+
* When an entity has no `interfaces.master.list.layouts.card`, creates a sensible default
|
|
1949
|
+
* from list columns and property names (title, description, remaining columns as card fields).
|
|
1950
|
+
*/
|
|
1951
|
+
declare const defaultCardLayoutMiddleware: AXPEntityModifier;
|
|
1952
|
+
declare const defaultCardLayoutMiddlewareProvider: AXPEntityModifierProvider;
|
|
1953
|
+
|
|
1770
1954
|
/**
|
|
1771
1955
|
* Registers entity CRUD commands and queries for the given entity keys.
|
|
1772
1956
|
* Use in app/module providers; consumes AXPEntityService from this package.
|
|
@@ -2516,6 +2700,362 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
|
|
|
2516
2700
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTruncatedBreadcrumbComponent, "axp-truncated-breadcrumb", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "characterLimit": { "alias": "characterLimit"; "required": false; "isSignal": true; }; "sectionLimit": { "alias": "sectionLimit"; "required": false; "isSignal": true; }; "separatorIcon": { "alias": "separatorIcon"; "required": false; "isSignal": true; }; "ellipsisIcon": { "alias": "ellipsisIcon"; "required": false; "isSignal": true; }; "eyeIcon": { "alias": "eyeIcon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2517
2701
|
}
|
|
2518
2702
|
|
|
2703
|
+
declare class AXPEditFileUploaderCommand implements AXPCommand<{
|
|
2704
|
+
file: AXPFileListItem;
|
|
2705
|
+
plugins?: {
|
|
2706
|
+
name: string;
|
|
2707
|
+
options?: unknown;
|
|
2708
|
+
}[];
|
|
2709
|
+
excludePlugins?: string[];
|
|
2710
|
+
enableTitleDescription?: boolean;
|
|
2711
|
+
isNewFile?: boolean;
|
|
2712
|
+
}, AXPFileListItem> {
|
|
2713
|
+
private readonly layoutBuilder;
|
|
2714
|
+
private readonly translationService;
|
|
2715
|
+
private readonly hooks;
|
|
2716
|
+
execute(input: {
|
|
2717
|
+
file: AXPFileListItem;
|
|
2718
|
+
plugins?: {
|
|
2719
|
+
name: string;
|
|
2720
|
+
options?: unknown;
|
|
2721
|
+
}[];
|
|
2722
|
+
excludePlugins?: string[];
|
|
2723
|
+
enableTitleDescription?: boolean;
|
|
2724
|
+
isNewFile?: boolean;
|
|
2725
|
+
}): Promise<AXPExecuteCommandResult<AXPFileListItem>>;
|
|
2726
|
+
private showEditDialog;
|
|
2727
|
+
/**
|
|
2728
|
+
* Build form fields from hook items (old format parameters)
|
|
2729
|
+
*/
|
|
2730
|
+
private buildFormFields;
|
|
2731
|
+
/**
|
|
2732
|
+
* Build groups/containers from hook groups (old format groups)
|
|
2733
|
+
*/
|
|
2734
|
+
private buildGroups;
|
|
2735
|
+
/**
|
|
2736
|
+
* Apply widget configuration to field based on widget type
|
|
2737
|
+
*/
|
|
2738
|
+
private applyWidget;
|
|
2739
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEditFileUploaderCommand, never>;
|
|
2740
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEditFileUploaderCommand>;
|
|
2741
|
+
}
|
|
2742
|
+
|
|
2743
|
+
declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
2744
|
+
private fileTypeService;
|
|
2745
|
+
private fileStorageService;
|
|
2746
|
+
private commandExecutor;
|
|
2747
|
+
private hooks;
|
|
2748
|
+
isLoading: _angular_core.WritableSignal<boolean>;
|
|
2749
|
+
private fileTypes;
|
|
2750
|
+
onRemove: _angular_core.OutputEmitterRef<AXPFileListItem>;
|
|
2751
|
+
onRevert: _angular_core.OutputEmitterRef<AXPFileListItem>;
|
|
2752
|
+
onRename: _angular_core.OutputEmitterRef<AXPFileListItem>;
|
|
2753
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
2754
|
+
fileEditable: _angular_core.InputSignal<boolean>;
|
|
2755
|
+
/** When true, edit dialog shows name, title and description fields. Default false. */
|
|
2756
|
+
enableTitleDescription: _angular_core.InputSignal<boolean>;
|
|
2757
|
+
multiple: _angular_core.InputSignal<boolean>;
|
|
2758
|
+
files: _angular_core.InputSignal<AXPFileListItem[]>;
|
|
2759
|
+
plugins: _angular_core.InputSignal<{
|
|
2760
|
+
name: string;
|
|
2761
|
+
options?: unknown;
|
|
2762
|
+
}[] | undefined>;
|
|
2763
|
+
excludePlugins: _angular_core.InputSignal<string[] | undefined>;
|
|
2764
|
+
capabilities: _angular_core.InputSignal<AXCFileUploaderCapabilities | undefined>;
|
|
2765
|
+
/**
|
|
2766
|
+
* All files should be displayed, even those with `deleted` status.
|
|
2767
|
+
* The template will handle the visual differences based on the status.
|
|
2768
|
+
*/
|
|
2769
|
+
displayFiles: _angular_core.Signal<AXPFileListItem[]>;
|
|
2770
|
+
private fileIdToActions;
|
|
2771
|
+
private globalActions;
|
|
2772
|
+
private filesChangeEffect;
|
|
2773
|
+
private getDefaultActions;
|
|
2774
|
+
/** True when the widget is readonly or this file row is locked (`readOnly`). */
|
|
2775
|
+
isItemInteractionLocked(file: AXPFileListItem): boolean;
|
|
2776
|
+
actionsFor(file: AXPFileListItem, index: number): any[];
|
|
2777
|
+
private loadActionsFor;
|
|
2778
|
+
ngOnInit(): Promise<void>;
|
|
2779
|
+
private loadGlobalActions;
|
|
2780
|
+
protected getFileInfo(fileName: string): {
|
|
2781
|
+
icon: string;
|
|
2782
|
+
type: string;
|
|
2783
|
+
};
|
|
2784
|
+
handleFileDownload(event: AXClickEvent, file: AXPFileListItem): Promise<void>;
|
|
2785
|
+
handleFileRemove(event: AXClickEvent, file: AXPFileListItem): Promise<void>;
|
|
2786
|
+
/**
|
|
2787
|
+
* Handle revert action – emit the file so parent components can update the status.
|
|
2788
|
+
*/
|
|
2789
|
+
handleFileRevert(event: AXClickEvent, file: AXPFileListItem): void;
|
|
2790
|
+
/**
|
|
2791
|
+
* Handle file edit action – open rename popup
|
|
2792
|
+
*/
|
|
2793
|
+
handleFileEdit(event: any, file: AXPFileListItem): Promise<void>;
|
|
2794
|
+
ngOnDestroy(): void;
|
|
2795
|
+
runAction(action: any): Promise<void>;
|
|
2796
|
+
protected getActionColor(action: any): string;
|
|
2797
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileListComponent, never>;
|
|
2798
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileListComponent, "axp-file-list", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fileEditable": { "alias": "fileEditable"; "required": false; "isSignal": true; }; "enableTitleDescription": { "alias": "enableTitleDescription"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "excludePlugins": { "alias": "excludePlugins"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; "onRevert": "onRevert"; "onRename": "onRename"; }, never, never, true, never>;
|
|
2799
|
+
}
|
|
2800
|
+
|
|
2801
|
+
/** Stable fingerprint for one file row; ignores Blob binary content. */
|
|
2802
|
+
declare function fingerprintAttachmentItem(item: unknown): string;
|
|
2803
|
+
/** Order-independent fingerprint for attachment lists. */
|
|
2804
|
+
declare function fingerprintAttachments(value: unknown): string;
|
|
2805
|
+
/** True when lists represent the same attachments regardless of blob vs fileId shape. */
|
|
2806
|
+
declare function attachmentsSemanticallyEqual(a: unknown, b: unknown): boolean;
|
|
2807
|
+
/** Attachment rows that remain after a successful save (drops soft-deleted rows). */
|
|
2808
|
+
declare function committedAttachments(value: unknown): AXPFileListItem[];
|
|
2809
|
+
/**
|
|
2810
|
+
* Post-save attachment list: drops soft-deleted rows and promotes pending `attached` rows to `uploaded`
|
|
2811
|
+
* so deferred-save pages get the same delete/revert behavior as after a full reload.
|
|
2812
|
+
*/
|
|
2813
|
+
declare function persistedAttachments(value: unknown): AXPFileListItem[];
|
|
2814
|
+
|
|
2815
|
+
interface AXPFileUploaderEntityFilesScope {
|
|
2816
|
+
name: string;
|
|
2817
|
+
id: string;
|
|
2818
|
+
field: string;
|
|
2819
|
+
}
|
|
2820
|
+
declare function isFileListItem(value: unknown): value is AXPFileListItem;
|
|
2821
|
+
/** Whether a list-row value represents one attachment (file item, id reference, or fileId source). */
|
|
2822
|
+
declare function isAttachmentListEntry(value: unknown): boolean;
|
|
2823
|
+
declare function attachmentFieldCount(fieldValue: unknown): number;
|
|
2824
|
+
declare function normalizeEntityFieldToFileList(fieldValue: unknown): AXPFileListItem[];
|
|
2825
|
+
declare function resolveFileUploaderEntityScope(options: Record<string, unknown>, rowData: Record<string, unknown> | undefined, fieldFallback?: string): AXPFileUploaderEntityFilesScope | undefined;
|
|
2826
|
+
|
|
2827
|
+
interface AXPFileUploaderLoadFilesInput extends AXPFileUploaderEntityFilesScope {
|
|
2828
|
+
}
|
|
2829
|
+
interface AXPFileUploaderLoadFilesResult {
|
|
2830
|
+
files: AXPFileListItem[];
|
|
2831
|
+
/** Count including file-id references, not only hydrated AXPFileListItem rows. */
|
|
2832
|
+
count: number;
|
|
2833
|
+
}
|
|
2834
|
+
declare class AXPFileUploaderLoadFilesQuery implements AXPQuery<AXPFileUploaderLoadFilesInput, AXPFileUploaderLoadFilesResult> {
|
|
2835
|
+
private readonly injector;
|
|
2836
|
+
fetch(input: AXPFileUploaderLoadFilesInput): Promise<AXPFileUploaderLoadFilesResult>;
|
|
2837
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderLoadFilesQuery, never>;
|
|
2838
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFileUploaderLoadFilesQuery>;
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
interface AXPFileUploaderSaveFilesInput extends AXPFileUploaderEntityFilesScope {
|
|
2842
|
+
files: AXPFileListItem[];
|
|
2843
|
+
}
|
|
2844
|
+
interface AXPFileUploaderSaveFilesResult {
|
|
2845
|
+
entityData: Record<string, unknown>;
|
|
2846
|
+
}
|
|
2847
|
+
declare class AXPFileUploaderSaveFilesCommand implements AXPCommand<AXPFileUploaderSaveFilesInput, AXPFileUploaderSaveFilesResult> {
|
|
2848
|
+
private readonly injector;
|
|
2849
|
+
execute(input: AXPFileUploaderSaveFilesInput): Promise<AXPExecuteCommandResult<AXPFileUploaderSaveFilesResult>>;
|
|
2850
|
+
}
|
|
2851
|
+
|
|
2852
|
+
/** Serializable upload action exposed via widget `api().getUploadActions()`. */
|
|
2853
|
+
interface AXPFileUploaderUploadActionDescriptor {
|
|
2854
|
+
plugin: string;
|
|
2855
|
+
text?: string;
|
|
2856
|
+
textKey?: string;
|
|
2857
|
+
icon?: string;
|
|
2858
|
+
}
|
|
2859
|
+
type AXPFileUploaderEditDialogMode = 'manual' | 'auto';
|
|
2860
|
+
interface AXPFileUploaderEditDialogFieldOptions {
|
|
2861
|
+
name?: boolean;
|
|
2862
|
+
title?: boolean;
|
|
2863
|
+
description?: boolean;
|
|
2864
|
+
}
|
|
2865
|
+
interface AXPFileUploaderEditDialogOptions {
|
|
2866
|
+
mode?: AXPFileUploaderEditDialogMode;
|
|
2867
|
+
fields?: AXPFileUploaderEditDialogFieldOptions;
|
|
2868
|
+
}
|
|
2869
|
+
declare function resolveFileUploaderEditDialog(options?: Record<string, unknown>): AXPFileUploaderEditDialogOptions | undefined;
|
|
2870
|
+
declare function isFileUploaderEditDialogAuto(editDialog?: AXPFileUploaderEditDialogOptions): boolean;
|
|
2871
|
+
declare function hasFileUploaderTitleOrDescriptionFields(editDialog?: AXPFileUploaderEditDialogOptions): boolean;
|
|
2872
|
+
|
|
2873
|
+
declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<AXPFileListItem[]> {
|
|
2874
|
+
protected fileCount: _angular_core.WritableSignal<number>;
|
|
2875
|
+
private loadRequestId;
|
|
2876
|
+
private fileService;
|
|
2877
|
+
private queryExecutor;
|
|
2878
|
+
constructor();
|
|
2879
|
+
openFileList(): Promise<void>;
|
|
2880
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderWidgetColumnComponent, never>;
|
|
2881
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileUploaderWidgetColumnComponent, "axp-file-uploader-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
|
|
2882
|
+
}
|
|
2883
|
+
|
|
2884
|
+
declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent<AXPFileListItem[] | undefined> {
|
|
2885
|
+
protected readonly fileService: AXFileService;
|
|
2886
|
+
private readonly hooks;
|
|
2887
|
+
private readonly fileActionsService;
|
|
2888
|
+
private readonly commandExecutor;
|
|
2889
|
+
private readonly dirtyChangeSubject;
|
|
2890
|
+
private readonly uploadActionsChangeSubject;
|
|
2891
|
+
private readonly savedSnapshot;
|
|
2892
|
+
private readonly baselineFingerprint;
|
|
2893
|
+
private readonly baselinePendingReconcile;
|
|
2894
|
+
private readonly isDirtySignal;
|
|
2895
|
+
private skipDirtyEvaluation;
|
|
2896
|
+
/** Status before soft-delete; used for restore when baseline was not synced (section layout). */
|
|
2897
|
+
private readonly statusBeforeDelete;
|
|
2898
|
+
private readonly autoBaselineSynced;
|
|
2899
|
+
/** Sync baseline from context when not wired by a deferred-save page (section layout). */
|
|
2900
|
+
private readonly baselineInitEffect;
|
|
2901
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
2902
|
+
private readonly acceptOverride;
|
|
2903
|
+
protected accept: _angular_core.Signal<string>;
|
|
2904
|
+
protected plugins: _angular_core.Signal<{
|
|
2905
|
+
name: string;
|
|
2906
|
+
options?: unknown;
|
|
2907
|
+
}[]>;
|
|
2908
|
+
protected pluginNames: _angular_core.Signal<string[]>;
|
|
2909
|
+
protected excludePlugins: _angular_core.Signal<string[]>;
|
|
2910
|
+
protected fileEditable: _angular_core.Signal<boolean>;
|
|
2911
|
+
protected editDialog: _angular_core.Signal<_acorex_platform_layout_entity.AXPFileUploaderEditDialogOptions | undefined>;
|
|
2912
|
+
protected enableTitleDescription: _angular_core.Signal<boolean>;
|
|
2913
|
+
/** When mode is `auto`, show the edit dialog after each file select. */
|
|
2914
|
+
protected showEditDialogAfterSelect: _angular_core.Signal<boolean>;
|
|
2915
|
+
protected readonly: _angular_core.Signal<boolean>;
|
|
2916
|
+
protected showBorder: _angular_core.Signal<boolean>;
|
|
2917
|
+
protected showAddItemButton: _angular_core.Signal<boolean>;
|
|
2918
|
+
protected maxFileSize: _angular_core.Signal<number>;
|
|
2919
|
+
protected isDragOver: _angular_core.WritableSignal<boolean>;
|
|
2920
|
+
private readonly innerActions;
|
|
2921
|
+
protected readonly fileActions: _angular_core.Signal<AXCFileUploaderAction[]>;
|
|
2922
|
+
ngOnInit(): void;
|
|
2923
|
+
setValue(value: AXPFileListItem[] | null | undefined): void;
|
|
2924
|
+
/** Align dirty baseline with persisted attachments (call when record loads or after discard remount). */
|
|
2925
|
+
syncBaseline(saved: AXPFileListItem[] | undefined): void;
|
|
2926
|
+
/** Mark current list as saved; clears dirty and drops soft-deleted rows from the UI. */
|
|
2927
|
+
markSaved(): void;
|
|
2928
|
+
/** Revert widget value to last saved baseline. */
|
|
2929
|
+
discardToBaseline(): void;
|
|
2930
|
+
api(): AXPWidgetCoreElementAPI;
|
|
2931
|
+
/** Current upload actions for host pages (always read via api; list may change after plugins load). */
|
|
2932
|
+
getUploadActionDescriptors(): AXPFileUploaderUploadActionDescriptor[];
|
|
2933
|
+
runUploadActionByPlugin(plugin: string): Promise<void>;
|
|
2934
|
+
private notifyUploadActionsChanged;
|
|
2935
|
+
private evaluateDirty;
|
|
2936
|
+
private setDirty;
|
|
2937
|
+
private loadActions;
|
|
2938
|
+
private configureFromHooks;
|
|
2939
|
+
/**
|
|
2940
|
+
* Process files from various sources (file picker, drag-drop, etc.)
|
|
2941
|
+
* When showEditDialogAfterSelect is true, the edit dialog (with plugin hooks) is shown per file before adding; otherwise files are added and user can edit via Edit button.
|
|
2942
|
+
*/
|
|
2943
|
+
private processFiles;
|
|
2944
|
+
/**
|
|
2945
|
+
* Show edit dialog per file and add only those submitted. Used when showEditDialogAfterSelect is true (both from zone and from dropdown actions).
|
|
2946
|
+
*/
|
|
2947
|
+
private addFilesWithEditDialogAsync;
|
|
2948
|
+
protected files: _angular_core.Signal<AXPFileListItem[]>;
|
|
2949
|
+
handleFileRemove(file: AXPFileListItem): void;
|
|
2950
|
+
removeFile(file: AXPFileListItem): void;
|
|
2951
|
+
/**
|
|
2952
|
+
* Revert a deleted file back to its pre-delete status.
|
|
2953
|
+
*/
|
|
2954
|
+
handleFileRevert(file: AXPFileListItem): void;
|
|
2955
|
+
private resolveRestoredStatus;
|
|
2956
|
+
/**
|
|
2957
|
+
* Handle file rename action. Persists name/title/description to file storage immediately when edited
|
|
2958
|
+
* so they are saved even if the entity payload does not carry these fields.
|
|
2959
|
+
*/
|
|
2960
|
+
handleFileRename(file: AXPFileListItem): void;
|
|
2961
|
+
clear(): void;
|
|
2962
|
+
protected readonly capabilities: AXCFileUploaderCapabilities;
|
|
2963
|
+
onFileChange(event: {
|
|
2964
|
+
event: Event;
|
|
2965
|
+
files: File[];
|
|
2966
|
+
}): void;
|
|
2967
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderWidgetEditComponent, never>;
|
|
2968
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileUploaderWidgetEditComponent, "axp-file-uploader-widget-edit", never, {}, {}, never, never, true, never>;
|
|
2969
|
+
}
|
|
2970
|
+
|
|
2971
|
+
declare class AXPFileUploaderWidgetViewComponent extends AXPValueWidgetComponent<AXPFileListItem[]> {
|
|
2972
|
+
protected files: _angular_core.Signal<AXPFileListItem[]>;
|
|
2973
|
+
private get __class();
|
|
2974
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderWidgetViewComponent, never>;
|
|
2975
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileUploaderWidgetViewComponent, "axp-file-uploader-widget-view", never, {}, {}, never, never, true, never>;
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2978
|
+
declare const AXPFileUploaderWidget: AXPWidgetConfig;
|
|
2979
|
+
interface AXPFileUploaderWidgetDesignerOptions {
|
|
2980
|
+
multiple?: boolean;
|
|
2981
|
+
accept?: string;
|
|
2982
|
+
plugins?: {
|
|
2983
|
+
name: string;
|
|
2984
|
+
options?: unknown;
|
|
2985
|
+
}[];
|
|
2986
|
+
excludePlugins?: string[];
|
|
2987
|
+
readonly?: boolean;
|
|
2988
|
+
fileEditable?: boolean;
|
|
2989
|
+
maxFileSize?: number;
|
|
2990
|
+
enableTitleDescription?: boolean;
|
|
2991
|
+
showEditDialogAfterSelect?: boolean;
|
|
2992
|
+
showBorder?: boolean;
|
|
2993
|
+
showAddItemButton?: boolean;
|
|
2994
|
+
}
|
|
2995
|
+
interface AXPFileUploaderWidgetViewOptions {
|
|
2996
|
+
}
|
|
2997
|
+
interface AXPFileUploaderWidgetEditOptions {
|
|
2998
|
+
multiple?: boolean;
|
|
2999
|
+
accept?: string;
|
|
3000
|
+
plugins?: {
|
|
3001
|
+
name: string;
|
|
3002
|
+
options?: unknown;
|
|
3003
|
+
}[];
|
|
3004
|
+
excludePlugins?: string[];
|
|
3005
|
+
readonly?: boolean;
|
|
3006
|
+
fileEditable?: boolean;
|
|
3007
|
+
maxFileSize?: number;
|
|
3008
|
+
enableTitleDescription?: boolean;
|
|
3009
|
+
showEditDialogAfterSelect?: boolean;
|
|
3010
|
+
showBorder?: boolean;
|
|
3011
|
+
showAddItemButton?: boolean;
|
|
3012
|
+
}
|
|
3013
|
+
interface AXPFileUploaderWidgetColumnOptions {
|
|
3014
|
+
}
|
|
3015
|
+
interface AXPFileUploaderWidgetPrintOptions {
|
|
3016
|
+
}
|
|
3017
|
+
interface AXPFileUploaderWidgetOptions {
|
|
3018
|
+
designer: AXPFileUploaderWidgetDesignerOptions;
|
|
3019
|
+
view: AXPFileUploaderWidgetViewOptions;
|
|
3020
|
+
edit: AXPFileUploaderWidgetEditOptions;
|
|
3021
|
+
print: AXPFileUploaderWidgetPrintOptions;
|
|
3022
|
+
column: AXPFileUploaderWidgetColumnOptions;
|
|
3023
|
+
}
|
|
3024
|
+
declare module '@acorex/platform/layout/widget-core' {
|
|
3025
|
+
interface AXPWidgetTypesMap {
|
|
3026
|
+
attachments: 'attachments';
|
|
3027
|
+
}
|
|
3028
|
+
}
|
|
3029
|
+
|
|
3030
|
+
interface AXPFileUploaderShowFileListEntityContext extends AXPFileUploaderEntityFilesScope {
|
|
3031
|
+
}
|
|
3032
|
+
interface AXPFileUploaderShowFileListOptions {
|
|
3033
|
+
/** When set, files are loaded and saved via FileUploader:LoadFiles / FileUploader:SaveFiles. */
|
|
3034
|
+
entity?: AXPFileUploaderShowFileListEntityContext;
|
|
3035
|
+
/** Direct files (e.g. grid column preview); skips load/save commands. */
|
|
3036
|
+
files?: AXPFileListItem[];
|
|
3037
|
+
readonly?: boolean;
|
|
3038
|
+
multiple?: boolean;
|
|
3039
|
+
accept?: string;
|
|
3040
|
+
fileEditable?: boolean;
|
|
3041
|
+
maxFileSize?: number;
|
|
3042
|
+
showAddItemButton?: boolean;
|
|
3043
|
+
plugins?: {
|
|
3044
|
+
name: string;
|
|
3045
|
+
options?: unknown;
|
|
3046
|
+
}[];
|
|
3047
|
+
editDialog?: AXPFileUploaderEditDialogOptions;
|
|
3048
|
+
}
|
|
3049
|
+
declare class AXPFileUploaderWidgetService {
|
|
3050
|
+
private popupService;
|
|
3051
|
+
private translate;
|
|
3052
|
+
private commandExecutor;
|
|
3053
|
+
private queryExecutor;
|
|
3054
|
+
showFileList(options?: AXPFileUploaderShowFileListOptions): Promise<AXPFileListItem[] | undefined>;
|
|
3055
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderWidgetService, never>;
|
|
3056
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFileUploaderWidgetService>;
|
|
3057
|
+
}
|
|
3058
|
+
|
|
2519
3059
|
declare const AXPEntityDefinitionProviderWidget: AXPWidgetConfig;
|
|
2520
3060
|
declare module '@acorex/platform/layout/widget-core' {
|
|
2521
3061
|
interface AXPWidgetTypesMap {
|
|
@@ -2802,6 +3342,18 @@ interface AXPLookupDisplayOptions {
|
|
|
2802
3342
|
textField?: string;
|
|
2803
3343
|
isMultiLanguage?: (value: unknown) => boolean;
|
|
2804
3344
|
}
|
|
3345
|
+
/** Column list: entity detail popover when clicking a lookup value. */
|
|
3346
|
+
interface AXPLookupPopoverOptions {
|
|
3347
|
+
/** When `false`, lookup values are not clickable and the detail popover does not open. Default `true`. */
|
|
3348
|
+
enabled?: boolean;
|
|
3349
|
+
}
|
|
3350
|
+
/** Row actions to show in the lookup data selector popup (subset of entity list actions). */
|
|
3351
|
+
interface AXPLookupSelectorRowActionsConfig {
|
|
3352
|
+
/** Primary icon buttons (e.g. preview). Match full command name or suffix such as `:Preview`. */
|
|
3353
|
+
primary?: string[];
|
|
3354
|
+
/** Secondary actions in the row dropdown menu. */
|
|
3355
|
+
secondary?: string[];
|
|
3356
|
+
}
|
|
2805
3357
|
interface AXPLookupWidgetOptions {
|
|
2806
3358
|
disabled?: boolean | AXPExpression;
|
|
2807
3359
|
readonly?: boolean | AXPExpression;
|
|
@@ -2810,8 +3362,12 @@ interface AXPLookupWidgetOptions {
|
|
|
2810
3362
|
look?: AXPLookupWidgetLookType;
|
|
2811
3363
|
allowClear?: boolean;
|
|
2812
3364
|
displayFormat?: string;
|
|
3365
|
+
/** Column list: entity detail popover behavior. */
|
|
3366
|
+
popover?: AXPLookupPopoverOptions;
|
|
2813
3367
|
/** Column list: lazy resolve and summary behavior. */
|
|
2814
3368
|
columnResolve?: AXPLookupColumnResolveOptions;
|
|
3369
|
+
/** Lookup selector popup: entity row actions to display. */
|
|
3370
|
+
selectorRowActions?: AXPLookupSelectorRowActionsConfig;
|
|
2815
3371
|
}
|
|
2816
3372
|
|
|
2817
3373
|
/**
|
|
@@ -2860,10 +3416,101 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
|
|
|
2860
3416
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
|
|
2861
3417
|
}
|
|
2862
3418
|
|
|
3419
|
+
/**
|
|
3420
|
+
* Selects which entity list row actions appear in the data selector.
|
|
3421
|
+
* Match by full command name, action `name`, trigger name, or command suffix (e.g. `:Preview`).
|
|
3422
|
+
*/
|
|
3423
|
+
interface AXPEntityDataSelectorRowActionsConfig {
|
|
3424
|
+
primary?: string[];
|
|
3425
|
+
secondary?: string[];
|
|
3426
|
+
}
|
|
3427
|
+
declare class AXPEntityDataSelectorRowActionsService {
|
|
3428
|
+
private readonly expressionEvaluator;
|
|
3429
|
+
private readonly workflow;
|
|
3430
|
+
private readonly commandService;
|
|
3431
|
+
/**
|
|
3432
|
+
* Build a row-actions handler for {@link AXPDataSelectorComponent} from entity list actions.
|
|
3433
|
+
*/
|
|
3434
|
+
createHandler(entity: AXPEntity, config: AXPEntityDataSelectorRowActionsConfig): AXPDataSelectorRowActionsHandler | undefined;
|
|
3435
|
+
private buildIndividualActions;
|
|
3436
|
+
private filterActions;
|
|
3437
|
+
private matchesActionFilter;
|
|
3438
|
+
private getCommandNameFromTrigger;
|
|
3439
|
+
private flattenActions;
|
|
3440
|
+
private toRowCommandItems;
|
|
3441
|
+
private evaluateActionsForRow;
|
|
3442
|
+
private createExpressionScope;
|
|
3443
|
+
private resolveTriggerName;
|
|
3444
|
+
private resolveCommandNameExpression;
|
|
3445
|
+
private resolveTitleExpression;
|
|
3446
|
+
private executeCommand;
|
|
3447
|
+
private evaluateActionOptions;
|
|
3448
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDataSelectorRowActionsService, never>;
|
|
3449
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDataSelectorRowActionsService>;
|
|
3450
|
+
}
|
|
3451
|
+
|
|
3452
|
+
interface AXPEntityDataSelectorSelectionOptions {
|
|
3453
|
+
multiple?: boolean;
|
|
3454
|
+
selectedItemIds?: string[] | number[];
|
|
3455
|
+
/** Allow confirming with no selection (clears the lookup value). Default: true. */
|
|
3456
|
+
allowUnselect?: boolean;
|
|
3457
|
+
}
|
|
3458
|
+
interface AXPEntityDataSelectorGridOptions {
|
|
3459
|
+
columns?: string[];
|
|
3460
|
+
pageSize?: number;
|
|
3461
|
+
}
|
|
3462
|
+
interface AXPEntityDataSelectorFilterOptions {
|
|
3463
|
+
value?: AXDataSourceFilterOption | null;
|
|
3464
|
+
parent?: AXDataSourceFilterOption | null;
|
|
3465
|
+
}
|
|
3466
|
+
interface AXPEntityDataSelectorSearchOptions {
|
|
3467
|
+
fields?: string[];
|
|
3468
|
+
initial?: string;
|
|
3469
|
+
}
|
|
3470
|
+
interface AXPEntityDataSelectorSortOptions {
|
|
3471
|
+
fields?: {
|
|
3472
|
+
name: string;
|
|
3473
|
+
dir: 'asc' | 'desc';
|
|
3474
|
+
}[];
|
|
3475
|
+
}
|
|
3476
|
+
interface AXPEntityDataSelectorCategoryFilterOptions {
|
|
3477
|
+
field: string;
|
|
3478
|
+
operator?: 'equal' | 'contains' | 'in';
|
|
3479
|
+
}
|
|
3480
|
+
interface AXPEntityDataSelectorCategoryOptions {
|
|
3481
|
+
/** When false, category sidebar is hidden. Default: true (auto-detect from entity plugin). */
|
|
3482
|
+
enabled?: boolean;
|
|
3483
|
+
title?: string;
|
|
3484
|
+
width?: string;
|
|
3485
|
+
filter?: AXPEntityDataSelectorCategoryFilterOptions;
|
|
3486
|
+
dataSource?: AXPCategoryTreeDataSource;
|
|
3487
|
+
}
|
|
3488
|
+
interface AXPEntityDataSelectorCreateOptions {
|
|
3489
|
+
mode?: AXPDataSelectorAllowCreate;
|
|
3490
|
+
}
|
|
3491
|
+
/** Nested options for {@link AXPEntityDataSelectorService.open}. */
|
|
3492
|
+
interface AXPEntityDataSelectorOpenOptions {
|
|
3493
|
+
entity: AXPEntity;
|
|
3494
|
+
title: string;
|
|
3495
|
+
selection?: AXPEntityDataSelectorSelectionOptions;
|
|
3496
|
+
grid?: AXPEntityDataSelectorGridOptions;
|
|
3497
|
+
filter?: AXPEntityDataSelectorFilterOptions;
|
|
3498
|
+
search?: AXPEntityDataSelectorSearchOptions;
|
|
3499
|
+
sort?: AXPEntityDataSelectorSortOptions;
|
|
3500
|
+
category?: AXPEntityDataSelectorCategoryOptions;
|
|
3501
|
+
create?: AXPEntityDataSelectorCreateOptions;
|
|
3502
|
+
/** Entity list row actions to expose in the selector grid (matched by command name). */
|
|
3503
|
+
rowActions?: AXPEntityDataSelectorRowActionsConfig;
|
|
3504
|
+
}
|
|
3505
|
+
/**
|
|
3506
|
+
* @deprecated Use {@link AXPEntityDataSelectorOpenOptions}. Will be removed in a future release.
|
|
3507
|
+
*/
|
|
2863
3508
|
interface AXPEntityDataSelectorOptions {
|
|
2864
3509
|
entity: AXPEntity;
|
|
2865
3510
|
title: string;
|
|
2866
3511
|
allowMultiple?: boolean;
|
|
3512
|
+
/** Allow confirming with no selection (clears the lookup value). Default: true. */
|
|
3513
|
+
allowUnselect?: boolean;
|
|
2867
3514
|
filters?: AXDataSourceFilterOption | null;
|
|
2868
3515
|
parentFilters?: AXDataSourceFilterOption | null;
|
|
2869
3516
|
columns?: string[];
|
|
@@ -2883,20 +3530,39 @@ interface AXPEntityDataSelectorOptions {
|
|
|
2883
3530
|
width?: string;
|
|
2884
3531
|
};
|
|
2885
3532
|
showCategoryFilter?: boolean;
|
|
3533
|
+
rowActions?: AXPEntityDataSelectorRowActionsConfig;
|
|
2886
3534
|
}
|
|
3535
|
+
type AXPEntityDataSelectorOpenInput = AXPEntityDataSelectorOpenOptions | AXPEntityDataSelectorOptions;
|
|
2887
3536
|
interface AXPEntityDataSelectorResult {
|
|
2888
3537
|
items: any[];
|
|
2889
3538
|
}
|
|
3539
|
+
/**
|
|
3540
|
+
* Returns true when flat (legacy) option fields are present on the input object.
|
|
3541
|
+
*/
|
|
3542
|
+
declare function isLegacyEntityDataSelectorOptions(options: AXPEntityDataSelectorOpenInput): options is AXPEntityDataSelectorOptions;
|
|
3543
|
+
/**
|
|
3544
|
+
* Maps deprecated flat options to {@link AXPEntityDataSelectorOpenOptions}.
|
|
3545
|
+
*/
|
|
3546
|
+
declare function mapLegacyEntityDataSelectorOptions(legacy: AXPEntityDataSelectorOptions): AXPEntityDataSelectorOpenOptions;
|
|
3547
|
+
/**
|
|
3548
|
+
* Normalizes legacy flat or nested options to {@link AXPEntityDataSelectorOpenOptions}.
|
|
3549
|
+
* When both shapes are mixed, nested groups take precedence over mapped legacy values.
|
|
3550
|
+
*/
|
|
3551
|
+
declare function normalizeEntityDataSelectorOptions(options: AXPEntityDataSelectorOpenInput): AXPEntityDataSelectorOpenOptions;
|
|
2890
3552
|
declare class AXPEntityDataSelectorService {
|
|
2891
3553
|
private readonly dataSelectorService;
|
|
2892
3554
|
private readonly filterOperatorMiddleware;
|
|
2893
3555
|
private readonly widgetResolver;
|
|
2894
3556
|
private readonly entityResolver;
|
|
2895
3557
|
private readonly commandService;
|
|
3558
|
+
private readonly categoryTreeService;
|
|
3559
|
+
private readonly translationService;
|
|
3560
|
+
private readonly rowActionsService;
|
|
2896
3561
|
/**
|
|
2897
|
-
* Open entity data selector popup
|
|
3562
|
+
* Open entity data selector popup.
|
|
3563
|
+
* Accepts nested {@link AXPEntityDataSelectorOpenOptions} or deprecated flat {@link AXPEntityDataSelectorOptions}.
|
|
2898
3564
|
*/
|
|
2899
|
-
open(options:
|
|
3565
|
+
open(options: AXPEntityDataSelectorOpenInput): Promise<AXPEntityDataSelectorResult | null>;
|
|
2900
3566
|
/**
|
|
2901
3567
|
* Execute Entity:Create and return created item.
|
|
2902
3568
|
* Used by lookup widget and data selector for inline create.
|
|
@@ -2907,6 +3573,10 @@ declare class AXPEntityDataSelectorService {
|
|
|
2907
3573
|
* Call this when receiving items from any source (create, API, selector).
|
|
2908
3574
|
*/
|
|
2909
3575
|
normalizeItemContactArrays(item: any): any;
|
|
3576
|
+
/**
|
|
3577
|
+
* Apply category sidebar config from normalized options or entity plugin auto-detection.
|
|
3578
|
+
*/
|
|
3579
|
+
private applyCategoryFilter;
|
|
2910
3580
|
/**
|
|
2911
3581
|
* Create data selector configuration from entity options
|
|
2912
3582
|
*/
|
|
@@ -2938,9 +3608,26 @@ declare class AXPEntityDataSelectorService {
|
|
|
2938
3608
|
*/
|
|
2939
3609
|
private normalizeContactArrays;
|
|
2940
3610
|
/**
|
|
2941
|
-
* Create category tree data source from category entity key
|
|
3611
|
+
* Create category tree data source from category entity key.
|
|
3612
|
+
* Uses the same {@link AXPCategoryTreeService} as the entity master list category sidebar.
|
|
2942
3613
|
*/
|
|
2943
3614
|
private createCategoryTreeDataSource;
|
|
3615
|
+
/**
|
|
3616
|
+
* Build category tree data source callbacks backed by shared category tree service.
|
|
3617
|
+
*/
|
|
3618
|
+
private buildCategoryTreeDataSource;
|
|
3619
|
+
/**
|
|
3620
|
+
* Map a category entity row to {@link AXPCategoryEntity} for the reusable category tree component.
|
|
3621
|
+
*/
|
|
3622
|
+
private mapCategoryItemToEntity;
|
|
3623
|
+
/**
|
|
3624
|
+
* Map a lazy-loaded tree node to {@link AXPCategoryEntity}.
|
|
3625
|
+
*/
|
|
3626
|
+
private mapCategoryTreeNodeToEntity;
|
|
3627
|
+
/**
|
|
3628
|
+
* Resolve category display text, including multi-language titles.
|
|
3629
|
+
*/
|
|
3630
|
+
private resolveCategoryText;
|
|
2944
3631
|
/**
|
|
2945
3632
|
* Merge custom and parent filters into data source query
|
|
2946
3633
|
*/
|
|
@@ -2985,9 +3672,11 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
2985
3672
|
protected placeholder: _angular_core.Signal<string>;
|
|
2986
3673
|
protected filterMode: _angular_core.Signal<boolean>;
|
|
2987
3674
|
protected multiple: _angular_core.Signal<boolean>;
|
|
3675
|
+
protected allowUnselect: _angular_core.Signal<boolean>;
|
|
2988
3676
|
protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
|
|
2989
3677
|
protected displayField: _angular_core.Signal<string>;
|
|
2990
3678
|
protected allowCreate: _angular_core.Signal<"none" | "full" | "quick">;
|
|
3679
|
+
protected selectorRowActions: _angular_core.Signal<AXPLookupSelectorRowActionsConfig | undefined>;
|
|
2991
3680
|
protected valueField: _angular_core.Signal<string>;
|
|
2992
3681
|
protected displayFormat: _angular_core.Signal<string | undefined>;
|
|
2993
3682
|
protected conditions?: AXPQueryFilter[];
|
|
@@ -3048,6 +3737,7 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3048
3737
|
protected columnResolve: _angular_core.Signal<AXPLookupColumnResolveOptions | undefined>;
|
|
3049
3738
|
protected resolveStrategy: _angular_core.Signal<AXPLookupColumnResolveStrategy>;
|
|
3050
3739
|
protected isHydratedStrategy: _angular_core.Signal<boolean>;
|
|
3740
|
+
protected detailPopoverEnabled: _angular_core.Signal<boolean>;
|
|
3051
3741
|
protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
3052
3742
|
protected selectedItemIndex: _angular_core.WritableSignal<number>;
|
|
3053
3743
|
protected resolvedPopoverItems: _angular_core.WritableSignal<any[]>;
|
|
@@ -3745,5 +4435,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
|
3745
4435
|
}
|
|
3746
4436
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
3747
4437
|
|
|
3748
|
-
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, 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, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, buildAXPRecordWorkflowInfo, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, formatLookupItemDisplay, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, isAXPMiddlewareAbortError, isCategoryEntity, isCategoryFilter, isUnresolvedLookupDisplayTemplate, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, normalizeEntityListPersistenceMode, normalizeListPaging, normalizeLookupDisplayTemplate, provideEntity, resolveEntityPluginDetailPageOrder, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
3749
|
-
export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupDisplayOptions, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
|
|
4438
|
+
export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEditFileUploaderCommand, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, 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, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, buildAXPRecordWorkflowInfo, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, hasFileUploaderTitleOrDescriptionFields, isAXPMiddlewareAbortError, isAttachmentListEntry, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, isUnresolvedLookupDisplayTemplate, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapLegacyEntityDataSelectorOptions, mergeForeignKeyFieldIntoCreateActions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, normalizeLookupDisplayTemplate, persistedAttachments, provideEntity, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
4439
|
+
export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesInput, AXPFileUploaderLoadFilesResult, AXPFileUploaderSaveFilesInput, AXPFileUploaderSaveFilesResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupDisplayOptions, AXPLookupPopoverOptions, AXPLookupSelectorRowActionsConfig, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, AttachmentsDisplayMode, AttachmentsPluginOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
|