@acorex/platform 20.7.8 → 20.7.10
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 +26 -5
- package/core/index.d.ts +13 -7
- package/fesm2022/acorex-platform-common.mjs +5 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +20 -11
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +31 -4
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs} +5 -5
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs.map → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +913 -36
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +471 -789
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs → acorex-platform-layout-widgets-repeater-widget-column.component-DnhR00cH.mjs} +2 -2
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DnhR00cH.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +219 -327
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs → acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs} +20 -5
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +2 -2
- package/layout/builder/index.d.ts +25 -14
- package/layout/components/index.d.ts +295 -2
- package/layout/entity/index.d.ts +59 -58
- package/layout/widgets/index.d.ts +38 -32
- package/package.json +5 -5
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs.map +0 -1
|
@@ -874,7 +874,7 @@ class AXPDefaultThemeModule {
|
|
|
874
874
|
///
|
|
875
875
|
modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-DAFQ4UI9.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
|
|
876
876
|
//
|
|
877
|
-
list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-
|
|
877
|
+
list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs').then((c) => c.AXPEntityMasterListViewComponent),
|
|
878
878
|
},
|
|
879
879
|
},
|
|
880
880
|
};
|
|
@@ -910,7 +910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
910
910
|
///
|
|
911
911
|
modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-DAFQ4UI9.mjs').then((c) => c.AXPEntityMasterModifyViewComponent),
|
|
912
912
|
//
|
|
913
|
-
list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-
|
|
913
|
+
list: () => import('./acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs').then((c) => c.AXPEntityMasterListViewComponent),
|
|
914
914
|
},
|
|
915
915
|
},
|
|
916
916
|
};
|
|
@@ -417,7 +417,7 @@ interface ILayoutBuilder {
|
|
|
417
417
|
page(delegate: (container: IPageContainerBuilder) => void): ILayoutBuilder;
|
|
418
418
|
tabset(delegate: (container: ITabsetContainerBuilder) => void): ILayoutBuilder;
|
|
419
419
|
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): ILayoutBuilder;
|
|
420
|
-
dialog(delegate: (container: IDialogBuilder) => void): IDialogBuilder
|
|
420
|
+
dialog<T = AXPDialogRef>(delegate: (container: IDialogBuilder<T>) => void): IDialogBuilder<T>;
|
|
421
421
|
stepWizard(delegate: (wizard: IStepWizardBuilder) => void): ILayoutBuilder;
|
|
422
422
|
build(): AXPWidgetNode;
|
|
423
423
|
toJson(options?: {
|
|
@@ -564,20 +564,26 @@ interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetConta
|
|
|
564
564
|
setCols(cols: number): IFieldsetContainerBuilder;
|
|
565
565
|
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): IFieldsetContainerBuilder;
|
|
566
566
|
}
|
|
567
|
-
interface IDialogBuilder {
|
|
568
|
-
}
|
|
569
|
-
interface IDialogBuilder {
|
|
570
|
-
setOptions(options: AXPDialogContainerOptions): IDialogBuilder
|
|
571
|
-
setTitle(title: string): IDialogBuilder
|
|
572
|
-
setMessage(message?: string): IDialogBuilder
|
|
573
|
-
setSize(size: AXPopupSizeType): IDialogBuilder
|
|
574
|
-
setCloseButton(closeButton: boolean): IDialogBuilder
|
|
575
|
-
setContext(context: any): IDialogBuilder
|
|
576
|
-
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder
|
|
577
|
-
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder
|
|
578
|
-
|
|
567
|
+
interface IDialogBuilder<T = AXPDialogRef> {
|
|
568
|
+
}
|
|
569
|
+
interface IDialogBuilder<T = AXPDialogRef> {
|
|
570
|
+
setOptions(options: AXPDialogContainerOptions): IDialogBuilder<T>;
|
|
571
|
+
setTitle(title: string): IDialogBuilder<T>;
|
|
572
|
+
setMessage(message?: string): IDialogBuilder<T>;
|
|
573
|
+
setSize(size: AXPopupSizeType): IDialogBuilder<T>;
|
|
574
|
+
setCloseButton(closeButton: boolean): IDialogBuilder<T>;
|
|
575
|
+
setContext(context: any): IDialogBuilder<T>;
|
|
576
|
+
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder<T>;
|
|
577
|
+
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder<T>;
|
|
578
|
+
/**
|
|
579
|
+
* Handler invoked when user clicks an action. Receives AXPDialogRef (context, action, setLoading, close).
|
|
580
|
+
* If handler throws, dialog stays open for retry.
|
|
581
|
+
* If handler returns, dialog closes and show() resolves with the return value.
|
|
582
|
+
*/
|
|
583
|
+
onAction(handler: (dialogRef: AXPDialogRef) => T | Promise<T>): IDialogBuilder<T>;
|
|
584
|
+
addCustomAction(action: AXPActionMenuItem): IDialogBuilder<T>;
|
|
579
585
|
build(): AXPWidgetNode;
|
|
580
|
-
show(): Promise<
|
|
586
|
+
show(): Promise<T>;
|
|
581
587
|
}
|
|
582
588
|
interface IListWidgetBuilder extends IBaseContainerBuilder<IListWidgetBuilder>, ILayoutContainerBuilder<IListWidgetBuilder>, IChildContainerBuilder<IListWidgetBuilder>, IWidgetContainerBuilder<IListWidgetBuilder> {
|
|
583
589
|
setOptions(options: AXPListWidgetOptions): IListWidgetBuilder;
|
|
@@ -821,6 +827,11 @@ interface DialogRendererConfig {
|
|
|
821
827
|
suffix?: any[];
|
|
822
828
|
};
|
|
823
829
|
};
|
|
830
|
+
/**
|
|
831
|
+
* When present, handler is called on action click with AXPDialogRef.
|
|
832
|
+
* Throw = stay open for retry. Return = close and resolve show() with return value.
|
|
833
|
+
*/
|
|
834
|
+
onAction?: (dialogRef: AXPDialogRef) => any | Promise<any>;
|
|
824
835
|
}
|
|
825
836
|
interface DialogRendererResult {
|
|
826
837
|
context: any;
|
|
@@ -8,6 +8,7 @@ import { AXTreeViewLegacyComponent, AXTreeItemClickBaseEventLegacy } from '@acor
|
|
|
8
8
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
9
9
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
10
10
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
11
|
+
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
11
12
|
import { AXPWidgetNode, AXPWidgetRendererDirective, AXPWidgetCoreContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
|
|
12
13
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
13
14
|
import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
@@ -15,10 +16,14 @@ import { AXBasePageComponent } from '@acorex/components/page';
|
|
|
15
16
|
import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
|
|
16
17
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
17
18
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
19
|
+
import { AXTreeViewNode, AXTreeViewDragBehavior, AXTreeViewDragArea, AXTreeViewComponent, AXTreeViewBeforeDropEvent, AXTreeViewDropEvent } from '@acorex/components/tree-view';
|
|
20
|
+
import { AXDialogService } from '@acorex/components/dialog';
|
|
21
|
+
import { AXToastService } from '@acorex/components/toast';
|
|
18
22
|
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
19
23
|
import { AXFormComponent } from '@acorex/components/form';
|
|
20
24
|
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
21
25
|
import { Observable } from 'rxjs';
|
|
26
|
+
import { AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
22
27
|
|
|
23
28
|
declare class AXPActivityLogComponent {
|
|
24
29
|
private readonly translateService;
|
|
@@ -765,6 +770,191 @@ declare class AXPImageEditorService {
|
|
|
765
770
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPImageEditorService>;
|
|
766
771
|
}
|
|
767
772
|
|
|
773
|
+
/**
|
|
774
|
+
* Menu item interface for customizer
|
|
775
|
+
*/
|
|
776
|
+
interface AXPMenuCustomizerItem {
|
|
777
|
+
name?: string;
|
|
778
|
+
text?: string;
|
|
779
|
+
icon?: string;
|
|
780
|
+
path?: string;
|
|
781
|
+
type?: 'menu' | 'group' | 'break';
|
|
782
|
+
priority?: number;
|
|
783
|
+
description?: string;
|
|
784
|
+
children?: AXPMenuCustomizerItem[];
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Metadata for menu tree nodes
|
|
788
|
+
*/
|
|
789
|
+
interface AXPMenuCustomizerNodeMetadata {
|
|
790
|
+
isBuiltIn: boolean;
|
|
791
|
+
isCustom: boolean;
|
|
792
|
+
isHidden: boolean;
|
|
793
|
+
originalPriority?: number;
|
|
794
|
+
originalParentName?: string;
|
|
795
|
+
}
|
|
796
|
+
/**
|
|
797
|
+
* Data structure for tree node combining menu item with metadata
|
|
798
|
+
*/
|
|
799
|
+
interface AXPMenuCustomizerNodeData {
|
|
800
|
+
menuItem: AXPMenuCustomizerItem;
|
|
801
|
+
metadata: AXPMenuCustomizerNodeMetadata;
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* Available actions that can be performed on menu items
|
|
805
|
+
*/
|
|
806
|
+
type AXPMenuCustomizerAction = 'show' | 'hide' | 'edit' | 'delete' | 'add-child' | 'move';
|
|
807
|
+
/**
|
|
808
|
+
* Abstract service interface for menu customization operations.
|
|
809
|
+
* Implement this interface and provide it via AXP_MENU_CUSTOMIZER_SERVICE token.
|
|
810
|
+
*/
|
|
811
|
+
declare abstract class AXPMenuCustomizerService {
|
|
812
|
+
/**
|
|
813
|
+
* Get menu tree nodes for the given scope key
|
|
814
|
+
*/
|
|
815
|
+
abstract getMenuTree(scopeKey: string): Promise<AXTreeViewNode[]>;
|
|
816
|
+
/**
|
|
817
|
+
* Sync tree changes (reorder, move) to storage
|
|
818
|
+
*/
|
|
819
|
+
abstract syncTreeChanges(scopeKey: string, treeNodes: AXTreeViewNode[]): Promise<void>;
|
|
820
|
+
/**
|
|
821
|
+
* Show a hidden menu item
|
|
822
|
+
*/
|
|
823
|
+
abstract showMenuItem(scopeKey: string, menuName: string): Promise<void>;
|
|
824
|
+
/**
|
|
825
|
+
* Hide a menu item
|
|
826
|
+
*/
|
|
827
|
+
abstract hideMenuItem(scopeKey: string, menuName: string): Promise<void>;
|
|
828
|
+
/**
|
|
829
|
+
* Add a custom menu item
|
|
830
|
+
*/
|
|
831
|
+
abstract addCustomMenuItem(scopeKey: string, menuItem: AXPMenuCustomizerItem, parentName: string | null): Promise<void>;
|
|
832
|
+
/**
|
|
833
|
+
* Update a custom menu item
|
|
834
|
+
*/
|
|
835
|
+
abstract updateCustomMenuItem(scopeKey: string, menuName: string, menuItem: AXPMenuCustomizerItem): Promise<void>;
|
|
836
|
+
/**
|
|
837
|
+
* Update menu item properties (for built-in items)
|
|
838
|
+
*/
|
|
839
|
+
abstract updateMenuProperties(scopeKey: string, menuName: string, properties: Partial<AXPMenuCustomizerItem>): Promise<void>;
|
|
840
|
+
/**
|
|
841
|
+
* Delete a custom menu item
|
|
842
|
+
*/
|
|
843
|
+
abstract deleteCustomMenuItem(scopeKey: string, menuName: string): Promise<void>;
|
|
844
|
+
/**
|
|
845
|
+
* Reset all customizations for the scope
|
|
846
|
+
*/
|
|
847
|
+
abstract resetCustomizations(scopeKey: string): Promise<void>;
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Injection token for menu customizer service
|
|
851
|
+
*/
|
|
852
|
+
declare const AXP_MENU_CUSTOMIZER_SERVICE: InjectionToken<AXPMenuCustomizerService>;
|
|
853
|
+
|
|
854
|
+
/**
|
|
855
|
+
* Reusable menu customizer component that allows users to reorder, show/hide,
|
|
856
|
+
* and manage menu items using a tree-like interface.
|
|
857
|
+
* Can be used standalone or within popups/dialogs.
|
|
858
|
+
*
|
|
859
|
+
* Requires providing AXP_MENU_CUSTOMIZER_SERVICE with an implementation of AXPMenuCustomizerService.
|
|
860
|
+
*/
|
|
861
|
+
declare class AXPMenuCustomizerComponent implements OnInit, OnDestroy {
|
|
862
|
+
private menuCustomizerService;
|
|
863
|
+
private layoutBuilder;
|
|
864
|
+
protected dialogService: AXDialogService;
|
|
865
|
+
protected toastService: AXToastService;
|
|
866
|
+
private translationService;
|
|
867
|
+
/** The scope key for loading/saving menu customizations (e.g., 'edition:{id}', 'tenant:{id}') */
|
|
868
|
+
scopeKey: _angular_core.InputSignal<string>;
|
|
869
|
+
/** Whether to show the toolbar with collapse/expand/reset actions */
|
|
870
|
+
showToolbar: _angular_core.InputSignal<boolean>;
|
|
871
|
+
/** Whether to allow adding custom menu items */
|
|
872
|
+
allowAddItems: _angular_core.InputSignal<boolean>;
|
|
873
|
+
/** Drag behavior for the tree view: 'none' | 'move' | 'copy' */
|
|
874
|
+
dragBehavior: _angular_core.InputSignal<AXTreeViewDragBehavior>;
|
|
875
|
+
/** Drag area for the tree view: 'node' | 'handler' */
|
|
876
|
+
dragArea: _angular_core.InputSignal<AXTreeViewDragArea>;
|
|
877
|
+
/** Emitted when changes are saved */
|
|
878
|
+
saved: _angular_core.OutputEmitterRef<void>;
|
|
879
|
+
/** Emitted when the customizer is closed/cancelled */
|
|
880
|
+
cancelled: _angular_core.OutputEmitterRef<void>;
|
|
881
|
+
protected tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
|
|
882
|
+
protected treeNodes: _angular_core.WritableSignal<AXTreeViewNode[]>;
|
|
883
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
884
|
+
protected error: _angular_core.WritableSignal<string>;
|
|
885
|
+
private isSyncing;
|
|
886
|
+
private destroy$;
|
|
887
|
+
ngOnInit(): Promise<void>;
|
|
888
|
+
ngOnDestroy(): void;
|
|
889
|
+
/**
|
|
890
|
+
* Handle before drop validation
|
|
891
|
+
*/
|
|
892
|
+
handleBeforeDrop(e: AXTreeViewBeforeDropEvent): Promise<void>;
|
|
893
|
+
/**
|
|
894
|
+
* Handle after drop event to sync changes
|
|
895
|
+
* The event contains information about the moved node and its new position
|
|
896
|
+
*/
|
|
897
|
+
handleAfterDrop(event: AXTreeViewDropEvent): Promise<void>;
|
|
898
|
+
/**
|
|
899
|
+
* Load menu tree for current scope
|
|
900
|
+
*/
|
|
901
|
+
loadMenuItems(): Promise<void>;
|
|
902
|
+
/**
|
|
903
|
+
* Sync tree changes to backend
|
|
904
|
+
*/
|
|
905
|
+
private syncTreeChanges;
|
|
906
|
+
/**
|
|
907
|
+
* Collapse all tree nodes
|
|
908
|
+
*/
|
|
909
|
+
collapseAll(): void;
|
|
910
|
+
/**
|
|
911
|
+
* Expand all tree nodes
|
|
912
|
+
*/
|
|
913
|
+
expandAll(): void;
|
|
914
|
+
/**
|
|
915
|
+
* Reset all customizations
|
|
916
|
+
*/
|
|
917
|
+
resetCustomizations(): Promise<void>;
|
|
918
|
+
/**
|
|
919
|
+
* Add new root menu item
|
|
920
|
+
*/
|
|
921
|
+
addRootMenuItem(): Promise<void>;
|
|
922
|
+
/**
|
|
923
|
+
* Handle menu item action
|
|
924
|
+
*/
|
|
925
|
+
protected onAction(action: AXPMenuCustomizerAction, nodeData: AXPMenuCustomizerNodeData): Promise<void>;
|
|
926
|
+
/**
|
|
927
|
+
* Add new child menu item
|
|
928
|
+
*/
|
|
929
|
+
protected addChildMenuItem(parentNodeData: AXPMenuCustomizerNodeData): Promise<void>;
|
|
930
|
+
/**
|
|
931
|
+
* Show menu item
|
|
932
|
+
*/
|
|
933
|
+
private showMenuItem;
|
|
934
|
+
/**
|
|
935
|
+
* Hide menu item
|
|
936
|
+
*/
|
|
937
|
+
private hideMenuItem;
|
|
938
|
+
/**
|
|
939
|
+
* Edit menu item
|
|
940
|
+
*/
|
|
941
|
+
private editMenuItem;
|
|
942
|
+
/**
|
|
943
|
+
* Delete custom menu item
|
|
944
|
+
*/
|
|
945
|
+
private deleteMenuItem;
|
|
946
|
+
/**
|
|
947
|
+
* Show menu item dialog (add/edit)
|
|
948
|
+
*/
|
|
949
|
+
private showMenuItemDialog;
|
|
950
|
+
/**
|
|
951
|
+
* Execute a menu action with common error handling
|
|
952
|
+
*/
|
|
953
|
+
private executeMenuAction;
|
|
954
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMenuCustomizerComponent, never>;
|
|
955
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMenuCustomizerComponent, "axp-menu-customizer", never, { "scopeKey": { "alias": "scopeKey"; "required": true; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "allowAddItems": { "alias": "allowAddItems"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; }, { "saved": "saved"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
956
|
+
}
|
|
957
|
+
|
|
768
958
|
/**
|
|
769
959
|
* Represents a spreadsheet item (row or column header) with id, text, and optional description
|
|
770
960
|
*/
|
|
@@ -1293,6 +1483,101 @@ declare class AXPStopwatchComponent implements OnDestroy {
|
|
|
1293
1483
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStopwatchComponent, "axp-stopwatch", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "timeLimit": { "alias": "timeLimit"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "autoStart": { "alias": "autoStart"; "required": false; "isSignal": true; }; "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "timeUp": "timeUp"; }, never, never, true, never>;
|
|
1294
1484
|
}
|
|
1295
1485
|
|
|
1486
|
+
/**
|
|
1487
|
+
* Builds the AXPWidgetNode tree for the table-columns-editor when using AXPLayoutRendererComponent.
|
|
1488
|
+
* Root: repeater-layout (path: 'columns') with add/remove controls.
|
|
1489
|
+
* Each row: form-field for name (text-editor), form-field for title (text-editor), form-field for widget (widget-field-configurator).
|
|
1490
|
+
*/
|
|
1491
|
+
declare function buildTableColumnsEditorLayout(): AXPWidgetNode;
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
* Definition for a single table column (name, title, widget).
|
|
1495
|
+
* Used by table-columns-editor and table-data-editor.
|
|
1496
|
+
*/
|
|
1497
|
+
interface AXPTableColumnDefinition {
|
|
1498
|
+
name: string;
|
|
1499
|
+
title: string;
|
|
1500
|
+
widget: AXPWidgetNode;
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1503
|
+
declare class AXPTableColumnsEditorPopupComponent extends AXBasePageComponent {
|
|
1504
|
+
protected readonly I18N: {
|
|
1505
|
+
readonly title: "@general:widgets.table-columns-editor.popup-title";
|
|
1506
|
+
readonly cancel: "@general:actions.cancel.title";
|
|
1507
|
+
readonly save: "@general:actions.save.title";
|
|
1508
|
+
};
|
|
1509
|
+
columns: _angular_core.InputSignal<AXPTableColumnDefinition[]>;
|
|
1510
|
+
localColumns: _angular_core.ModelSignal<AXPTableColumnDefinition[]>;
|
|
1511
|
+
constructor();
|
|
1512
|
+
protected handleCancel(): void;
|
|
1513
|
+
protected handleSave(): void;
|
|
1514
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableColumnsEditorPopupComponent, never>;
|
|
1515
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTableColumnsEditorPopupComponent, "axp-table-columns-editor-popup", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "localColumns": { "alias": "localColumns"; "required": false; "isSignal": true; }; }, { "localColumns": "localColumnsChange"; }, never, never, true, never>;
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
declare class AXPTableColumnsEditorComponent {
|
|
1519
|
+
/** Layout tree: repeater (path: columns) with form-fields for name, title, widget. */
|
|
1520
|
+
protected readonly columnsEditorLayout: _angular_core.WritableSignal<_acorex_platform_layout_widget_core.AXPWidgetNode>;
|
|
1521
|
+
/** Two-way: list of column definitions (synced with editorContext.columns). */
|
|
1522
|
+
columns: _angular_core.ModelSignal<AXPTableColumnDefinition[]>;
|
|
1523
|
+
/** Context for the layout renderer; must hold { columns: AXPTableColumnDefinition[] }. */
|
|
1524
|
+
protected readonly editorContext: _angular_core.ModelSignal<{
|
|
1525
|
+
columns: AXPTableColumnDefinition[];
|
|
1526
|
+
}>;
|
|
1527
|
+
constructor();
|
|
1528
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableColumnsEditorComponent, never>;
|
|
1529
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTableColumnsEditorComponent, "axp-table-columns-editor", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "editorContext": { "alias": "editorContext"; "required": false; "isSignal": true; }; }, { "columns": "columnsChange"; "editorContext": "editorContextChange"; }, never, never, true, never>;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
interface AXPTableColumnsEditorOpenOptions {
|
|
1533
|
+
title?: string;
|
|
1534
|
+
columns?: AXPTableColumnDefinition[];
|
|
1535
|
+
}
|
|
1536
|
+
declare class AXPTableColumnsEditorService {
|
|
1537
|
+
private readonly popupService;
|
|
1538
|
+
private readonly translationService;
|
|
1539
|
+
open(options?: AXPTableColumnsEditorOpenOptions): Promise<AXPTableColumnDefinition[] | null>;
|
|
1540
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableColumnsEditorService, never>;
|
|
1541
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableColumnsEditorService>;
|
|
1542
|
+
}
|
|
1543
|
+
|
|
1544
|
+
declare class AXPTableDataEditorPopupComponent extends AXBasePageComponent {
|
|
1545
|
+
protected readonly I18N: {
|
|
1546
|
+
readonly title: "@general:widgets.table-data-editor.popup-title";
|
|
1547
|
+
readonly cancel: "@general:actions.cancel.title";
|
|
1548
|
+
readonly save: "@general:actions.save.title";
|
|
1549
|
+
};
|
|
1550
|
+
columns: _angular_core.InputSignal<AXPTableColumnDefinition[]>;
|
|
1551
|
+
rows: _angular_core.InputSignal<Record<string, unknown>[]>;
|
|
1552
|
+
localRows: _angular_core.ModelSignal<Record<string, unknown>[]>;
|
|
1553
|
+
constructor();
|
|
1554
|
+
protected handleCancel(): void;
|
|
1555
|
+
protected handleSave(): void;
|
|
1556
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableDataEditorPopupComponent, never>;
|
|
1557
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTableDataEditorPopupComponent, "axp-table-data-editor-popup", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "localRows": { "alias": "localRows"; "required": false; "isSignal": true; }; }, { "localRows": "localRowsChange"; }, never, never, true, never>;
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
declare class AXPTableDataEditorComponent {
|
|
1561
|
+
columns: _angular_core.InputSignal<AXPTableColumnDefinition[]>;
|
|
1562
|
+
rowsModel: _angular_core.ModelSignal<Record<string, unknown>[]>;
|
|
1563
|
+
protected readonly spreadsheetColumns: _angular_core.Signal<AXPSpreadsheetColumn[]>;
|
|
1564
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableDataEditorComponent, never>;
|
|
1565
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTableDataEditorComponent, "axp-table-data-editor", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rowsModel": { "alias": "rowsModel"; "required": false; "isSignal": true; }; }, { "rowsModel": "rowsModelChange"; }, never, never, true, never>;
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
interface AXPTableDataEditorOpenOptions {
|
|
1569
|
+
title?: string;
|
|
1570
|
+
columns: AXPTableColumnDefinition[];
|
|
1571
|
+
rows?: Record<string, unknown>[];
|
|
1572
|
+
}
|
|
1573
|
+
declare class AXPTableDataEditorService {
|
|
1574
|
+
private readonly popupService;
|
|
1575
|
+
private readonly translationService;
|
|
1576
|
+
open(options: AXPTableDataEditorOpenOptions): Promise<Record<string, unknown>[] | null>;
|
|
1577
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableDataEditorService, never>;
|
|
1578
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableDataEditorService>;
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1296
1581
|
interface AXPTemplateViewerConfig {
|
|
1297
1582
|
template: AXPWidgetNode | string;
|
|
1298
1583
|
title?: string;
|
|
@@ -1518,10 +1803,18 @@ declare class AXPWidgetFieldConfiguratorComponent {
|
|
|
1518
1803
|
* Whether preview button should be enabled
|
|
1519
1804
|
*/
|
|
1520
1805
|
protected canPreview: _angular_core.Signal<boolean>;
|
|
1806
|
+
/**
|
|
1807
|
+
* Reference to the widget type select box (used to open dropdown when entering edit mode)
|
|
1808
|
+
*/
|
|
1809
|
+
protected widgetSelectBox: _angular_core.Signal<AXSelectBoxComponent | undefined>;
|
|
1521
1810
|
/**
|
|
1522
1811
|
* Enter edit mode (show select box)
|
|
1523
1812
|
*/
|
|
1524
1813
|
protected enterEditMode(): void;
|
|
1814
|
+
/**
|
|
1815
|
+
* Exit edit mode when dropdown is closed (return to view mode)
|
|
1816
|
+
*/
|
|
1817
|
+
protected exitEditMode(): void;
|
|
1525
1818
|
constructor();
|
|
1526
1819
|
/**
|
|
1527
1820
|
* Handle widget type change
|
|
@@ -1703,5 +1996,5 @@ declare class AXPWidgetPropertyViewerService {
|
|
|
1703
1996
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
|
|
1704
1997
|
}
|
|
1705
1998
|
|
|
1706
|
-
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPColorPalettePickerComponent, AXPColumnItemListComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDragDropListComponent, AXPImageEditorPopupComponent, AXPImageEditorService, AXPLogoComponent, AXPMenuBadgeHelper, AXPPropertyViewerComponent, AXPPropertyViewerPopupComponent, AXPPropertyViewerService, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPSpreadsheetComponent, AXPStateMessageComponent, AXPStopwatchComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetFieldConfiguratorComponent, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
|
|
1707
|
-
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPColumnItemListItem, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDragDropListConfig, AXPDragDropListDropEvent, AXPDragDropListItem, AXPImageEditorOpenOptions, AXPPropertyViewerChangedEvent, AXPPropertyViewerConfig, AXPPropertyViewerGroup, AXPPropertyViewerResult, AXPPropertyViewerTab, AXPSpreadsheetCellChangeEvent, AXPSpreadsheetCellValue, AXPSpreadsheetColumn, AXPSpreadsheetConfig, AXPSpreadsheetData, AXPSpreadsheetItem, AXPSpreadsheetRowChangeEvent, AXPSpreadsheetRowMode, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyInjection, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, StateMode };
|
|
1999
|
+
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPColorPalettePickerComponent, AXPColumnItemListComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDragDropListComponent, AXPImageEditorPopupComponent, AXPImageEditorService, AXPLogoComponent, AXPMenuBadgeHelper, AXPMenuCustomizerComponent, AXPMenuCustomizerService, AXPPropertyViewerComponent, AXPPropertyViewerPopupComponent, AXPPropertyViewerService, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPSpreadsheetComponent, AXPStateMessageComponent, AXPStopwatchComponent, AXPTableColumnsEditorComponent, AXPTableColumnsEditorPopupComponent, AXPTableColumnsEditorService, AXPTableDataEditorComponent, AXPTableDataEditorPopupComponent, AXPTableDataEditorService, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetFieldConfiguratorComponent, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_MENU_CUSTOMIZER_SERVICE, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, buildTableColumnsEditorLayout };
|
|
2000
|
+
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPColumnItemListItem, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDragDropListConfig, AXPDragDropListDropEvent, AXPDragDropListItem, AXPImageEditorOpenOptions, AXPMenuCustomizerAction, AXPMenuCustomizerItem, AXPMenuCustomizerNodeData, AXPMenuCustomizerNodeMetadata, AXPPropertyViewerChangedEvent, AXPPropertyViewerConfig, AXPPropertyViewerGroup, AXPPropertyViewerResult, AXPPropertyViewerTab, AXPSpreadsheetCellChangeEvent, AXPSpreadsheetCellValue, AXPSpreadsheetColumn, AXPSpreadsheetConfig, AXPSpreadsheetData, AXPSpreadsheetItem, AXPSpreadsheetRowChangeEvent, AXPSpreadsheetRowMode, AXPTableColumnDefinition, AXPTableColumnsEditorOpenOptions, AXPTableDataEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyInjection, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, StateMode };
|