@acorex/platform 20.2.4-next.0 → 20.2.4-next.2
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 +82 -1
- package/core/index.d.ts +24 -2
- package/fesm2022/acorex-platform-common.mjs +1 -1
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +47 -5
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +943 -39
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +15 -122
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1329 -568
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +152 -40
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs → acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs} +174 -50
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs → acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs} +14 -11
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +19 -7
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs} +1 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +11 -13
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs +55 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs +48 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs} +66 -3
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +824 -136
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +3 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +12 -2
- package/layout/components/index.d.ts +172 -6
- package/layout/designer/index.d.ts +3 -46
- package/layout/entity/index.d.ts +70 -7
- package/layout/views/index.d.ts +53 -7
- package/package.json +1 -1
- package/themes/default/index.d.ts +4 -1
- package/widgets/index.d.ts +20 -11
- package/workflow/index.d.ts +3 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, QueryList } from '@angular/core';
|
|
2
|
+
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
|
|
3
3
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
4
|
-
import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPViewQuery } from '@acorex/platform/core';
|
|
4
|
+
import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPViewQuery } from '@acorex/platform/core';
|
|
5
5
|
import { AXPMenuItem } from '@acorex/platform/common';
|
|
6
6
|
import { AXValueChangedEvent, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
|
|
7
7
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
8
|
-
import { AXPWidgetNode, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
|
|
8
|
+
import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
|
9
9
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
10
10
|
import { AXFormComponent } from '@acorex/components/form';
|
|
11
11
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
@@ -14,7 +14,7 @@ import { AXCalendarService } from '@acorex/core/date-time';
|
|
|
14
14
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
15
15
|
import { Observable } from 'rxjs';
|
|
16
16
|
import { AXPopupService } from '@acorex/components/popup';
|
|
17
|
-
import { AXTabsComponent } from '@acorex/components/tabs';
|
|
17
|
+
import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
18
18
|
|
|
19
19
|
declare class AXPActivityLogComponent {
|
|
20
20
|
private readonly translateService;
|
|
@@ -469,6 +469,130 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
469
469
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutStyle": { "alias": "layoutStyle"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
+
/**
|
|
473
|
+
* Describes a schema-only definition for an extra property (no value).
|
|
474
|
+
*/
|
|
475
|
+
interface AXPExtraPropertySchemaItem {
|
|
476
|
+
/** Unique key for the property (used as identifier) */
|
|
477
|
+
key: string;
|
|
478
|
+
/** Human-readable title/label */
|
|
479
|
+
title: string;
|
|
480
|
+
/** Widget name/id to render (e.g., 'text-editor', 'checkbox-editor') */
|
|
481
|
+
type: string;
|
|
482
|
+
/** Optional widget-specific options */
|
|
483
|
+
options?: AXPOptionsData;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Describes a single extra property row.
|
|
487
|
+
*/
|
|
488
|
+
interface AXPExtraPropertyItem extends AXPExtraPropertySchemaItem {
|
|
489
|
+
/** Current value bound to the rendered widget */
|
|
490
|
+
value: unknown;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Describes an available extra property type that user can select when adding rows.
|
|
494
|
+
*/
|
|
495
|
+
interface AXPExtraPropertyType {
|
|
496
|
+
/** Unique id for the type (it should be the same as the widget name) */
|
|
497
|
+
id: string;
|
|
498
|
+
/** UI title for selection dropdown */
|
|
499
|
+
title: string;
|
|
500
|
+
/** Default widget options applied on create */
|
|
501
|
+
defaultOptions?: AXPOptionsData;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Injection token to provide available extra property types.
|
|
505
|
+
*/
|
|
506
|
+
declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
|
|
507
|
+
|
|
508
|
+
declare class AXPExtraPropertiesComponent {
|
|
509
|
+
items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
|
|
510
|
+
mode: _angular_core.InputSignal<"edit" | "view">;
|
|
511
|
+
protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
512
|
+
itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
|
|
513
|
+
private readonly providedTypes;
|
|
514
|
+
private readonly translationService;
|
|
515
|
+
protected newKey: WritableSignal<string>;
|
|
516
|
+
protected newTitle: WritableSignal<string>;
|
|
517
|
+
protected newTypeId: WritableSignal<string>;
|
|
518
|
+
protected newValue: WritableSignal<any>;
|
|
519
|
+
/** Local, ephemeral context for widget rendering */
|
|
520
|
+
protected internalContext: WritableSignal<Record<string, any>>;
|
|
521
|
+
private lastTypeByKey;
|
|
522
|
+
protected draftVersion: WritableSignal<number>;
|
|
523
|
+
protected draftKey: _angular_core.Signal<string>;
|
|
524
|
+
protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
525
|
+
protected presetTypes: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
526
|
+
protected canAdd: _angular_core.Signal<boolean>;
|
|
527
|
+
/** Sync incoming items' values into internal context for rendering */
|
|
528
|
+
private readonly syncContextFromItems;
|
|
529
|
+
/**
|
|
530
|
+
* Clear item values when their widget type changes to avoid incompatible stale values
|
|
531
|
+
*/
|
|
532
|
+
private readonly clearValueOnTypeChange;
|
|
533
|
+
protected handleAddItem(): void;
|
|
534
|
+
protected handleRemoveItem(key: string): void;
|
|
535
|
+
protected handleDrop(event: CdkDragDrop<AXPExtraPropertyItem[]>): void;
|
|
536
|
+
protected selectPreset(id: string): void;
|
|
537
|
+
private nodeCache;
|
|
538
|
+
private draftNodeCache?;
|
|
539
|
+
protected getNode(item: AXPExtraPropertyItem): AXPWidgetNode;
|
|
540
|
+
protected draftNode(): AXPWidgetNode;
|
|
541
|
+
protected newTypeChanged(val: string): void;
|
|
542
|
+
protected ngOnInit(): void;
|
|
543
|
+
protected handleTitleChange(val: string): void;
|
|
544
|
+
protected sanitizeKey(input: string): string;
|
|
545
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesComponent, never>;
|
|
546
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesComponent, "axp-extra-properties", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "itemsChange": "itemsChange"; }, never, never, true, never>;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
declare class AXPExtraPropertiesSchemaComponent {
|
|
550
|
+
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
551
|
+
mode: _angular_core.InputSignal<"edit" | "view">;
|
|
552
|
+
schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
|
|
553
|
+
private readonly providedTypes;
|
|
554
|
+
private readonly translationService;
|
|
555
|
+
protected newTitle: WritableSignal<string>;
|
|
556
|
+
protected newTypeId: WritableSignal<string>;
|
|
557
|
+
protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
558
|
+
protected canAdd: _angular_core.Signal<boolean>;
|
|
559
|
+
protected selectedKey: WritableSignal<string | null>;
|
|
560
|
+
protected selectedItem: _angular_core.Signal<AXPExtraPropertySchemaItem | null>;
|
|
561
|
+
constructor();
|
|
562
|
+
protected handleAdd(): void;
|
|
563
|
+
protected handleRemove(key: string): void;
|
|
564
|
+
protected handleDrop(event: CdkDragDrop<AXPExtraPropertySchemaItem[]>): void;
|
|
565
|
+
protected handleUpdateTitle(key: string, title: string): void;
|
|
566
|
+
protected handleUpdateType(key: string, typeId: string): void;
|
|
567
|
+
protected newTypeChanged(val: string): void;
|
|
568
|
+
protected handleTitleChange(val: string): void;
|
|
569
|
+
protected handleSelect(key: string): void;
|
|
570
|
+
protected handleViewerChanged(e: {
|
|
571
|
+
values: any;
|
|
572
|
+
mode: 'init' | 'update';
|
|
573
|
+
}): void;
|
|
574
|
+
protected deriveKey(input: string): string;
|
|
575
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesSchemaComponent, never>;
|
|
576
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesSchemaComponent, "axp-extra-properties-schema", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "schemaChange": "schemaChange"; }, never, never, true, never>;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
declare class AXPExtraPropertiesValuesComponent {
|
|
580
|
+
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
581
|
+
values: _angular_core.InputSignal<Record<string, any>>;
|
|
582
|
+
mode: _angular_core.InputSignal<"edit" | "view">;
|
|
583
|
+
valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
|
|
584
|
+
private readonly translationService;
|
|
585
|
+
protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
|
|
586
|
+
private nodeCache;
|
|
587
|
+
private lastTypeByKey;
|
|
588
|
+
protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
589
|
+
private readonly syncContextFromInputs;
|
|
590
|
+
private readonly clearOnSchemaTypeChange;
|
|
591
|
+
protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
|
|
592
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesValuesComponent, never>;
|
|
593
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesValuesComponent, "axp-extra-properties-values", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; }, never, never, true, never>;
|
|
594
|
+
}
|
|
595
|
+
|
|
472
596
|
declare class AXPQueryFiltersComponent {
|
|
473
597
|
#private;
|
|
474
598
|
protected translate: AXTranslationService;
|
|
@@ -690,5 +814,47 @@ declare class AXPWidgetItemComponent {
|
|
|
690
814
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetItemComponent, "axp-widget-item", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "showPinButton": { "alias": "showPinButton"; "required": false; "isSignal": true; }; "customClasses": { "alias": "customClasses"; "required": false; "isSignal": true; }; }, { "onWidgetClick": "onWidgetClick"; "onPinClick": "onPinClick"; }, never, never, true, never>;
|
|
691
815
|
}
|
|
692
816
|
|
|
693
|
-
|
|
694
|
-
|
|
817
|
+
interface AXPWidgetPropertyTab {
|
|
818
|
+
name: string;
|
|
819
|
+
title: string;
|
|
820
|
+
groups: {
|
|
821
|
+
name: string;
|
|
822
|
+
title: string;
|
|
823
|
+
isCollapsed: boolean;
|
|
824
|
+
props: AXPWidgetProperty[];
|
|
825
|
+
}[];
|
|
826
|
+
}
|
|
827
|
+
interface AXPWidgetPropertiesChangedEvent {
|
|
828
|
+
values: any;
|
|
829
|
+
mode: 'init' | 'update';
|
|
830
|
+
}
|
|
831
|
+
declare class AXPWidgetPropertyViewerComponent {
|
|
832
|
+
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
833
|
+
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
834
|
+
private widgetRegistryService;
|
|
835
|
+
protected currentTabIndex: WritableSignal<number>;
|
|
836
|
+
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
837
|
+
protected allPoperties: AXPWidgetProperty[];
|
|
838
|
+
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
839
|
+
protected groups: _angular_core.Signal<{
|
|
840
|
+
name: string;
|
|
841
|
+
title: string;
|
|
842
|
+
isCollapsed: boolean;
|
|
843
|
+
props: AXPWidgetProperty[];
|
|
844
|
+
}[]>;
|
|
845
|
+
protected groupCollapsedStates: Map<string, boolean>;
|
|
846
|
+
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
847
|
+
protected context: WritableSignal<any>;
|
|
848
|
+
protected initialContext: any;
|
|
849
|
+
constructor();
|
|
850
|
+
update(values: any): void;
|
|
851
|
+
private fillTabs;
|
|
852
|
+
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
853
|
+
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
854
|
+
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
855
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
856
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
|
|
860
|
+
export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicFormDefinition, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLayoutStyle, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
|
|
@@ -4,7 +4,7 @@ import { EventEmitter, OnChanges, OnDestroy, WritableSignal, NgZone, SimpleChang
|
|
|
4
4
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
5
5
|
import { AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
6
6
|
import * as _acorex_platform_layout_builder from '@acorex/platform/layout/builder';
|
|
7
|
-
import { AXPWidgetConfig, AXPWidgetCategory, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutWidgetComponent, AXPLayoutContextChangeEvent
|
|
7
|
+
import { AXPWidgetConfig, AXPWidgetCategory, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutWidgetComponent, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
|
|
8
8
|
import { AXPWidgetItemData, AXPWidgetItemClickEvent } from '@acorex/platform/layout/components';
|
|
9
9
|
import { AXMenuItem } from '@acorex/components/menu';
|
|
10
10
|
import { Subject } from 'rxjs';
|
|
@@ -404,48 +404,5 @@ declare class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
|
|
|
404
404
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDesignerPreviewComponent, "axp-layout-preview", never, {}, {}, never, never, true, never>;
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
title: string;
|
|
410
|
-
groups: {
|
|
411
|
-
name: string;
|
|
412
|
-
title: string;
|
|
413
|
-
isCollapsed: boolean;
|
|
414
|
-
props: AXPWidgetProperty[];
|
|
415
|
-
}[];
|
|
416
|
-
}
|
|
417
|
-
interface AXPWidgetPropertiesChangedEvent {
|
|
418
|
-
values: any;
|
|
419
|
-
mode: 'init' | 'update';
|
|
420
|
-
}
|
|
421
|
-
declare class AXPWidgetPropertyViewerComponent {
|
|
422
|
-
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
423
|
-
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
424
|
-
private widgetRegistryService;
|
|
425
|
-
protected connector: AXPDesignerConnector<any>;
|
|
426
|
-
protected currentTabIndex: WritableSignal<number>;
|
|
427
|
-
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
428
|
-
protected allPoperties: AXPWidgetProperty[];
|
|
429
|
-
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
430
|
-
protected groups: _angular_core.Signal<{
|
|
431
|
-
name: string;
|
|
432
|
-
title: string;
|
|
433
|
-
isCollapsed: boolean;
|
|
434
|
-
props: AXPWidgetProperty[];
|
|
435
|
-
}[]>;
|
|
436
|
-
protected groupCollapsedStates: Map<string, boolean>;
|
|
437
|
-
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
438
|
-
protected context: WritableSignal<any>;
|
|
439
|
-
protected initialContext: any;
|
|
440
|
-
constructor();
|
|
441
|
-
update(values: any): void;
|
|
442
|
-
private fillTabs;
|
|
443
|
-
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
444
|
-
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
445
|
-
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
446
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
447
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
export { AXPDesignerAddWidgetButtonComponent, AXPDesignerAddWidgetLineButtonComponent, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerConnector, AXPDesignerGridDrawerComponent, AXPDesignerMessageKeys, AXPDesignerModes, AXPDesignerService, AXPDesignerWidgetPickerComponent, AXPLayoutDesignerComponent, AXPLayoutDesignerPreviewComponent, AXPLayoutDesignerPreviewViewerComponent, AXPTemplateLoadingStrategy, AXPWidgetDesignerRendererDirective, AXPWidgetPickerService, AXPWidgetPropertyViewerComponent, AXP_DESIGNER_ADD_WIDGET_MENU, AXP_DESIGNER_CLONE_MENU, AXP_DESIGNER_COPY_MENU, AXP_DESIGNER_CUT_MENU, AXP_DESIGNER_DELETE_WIDGET_MENU, AXP_DESIGNER_PASTE_MENU, AXP_DESIGNER_SAVE_AS_WIDGET_MENU, AXP_DESIGNER_SELECT_WIDGET_MENU, cloneWidgetMenu };
|
|
451
|
-
export type { AXPDesignerAddNodeCommand, AXPDesignerAddNodeEvent, AXPDesignerContent, AXPDesignerFocusCommand, AXPDesignerFocusEvent, AXPDesignerMode, AXPDesignerPreviewMessage, AXPDesignerPreviewSize, AXPDesignerRefreshCommand, AXPDesignerRefreshEvent, AXPDesignerRegisterCommand, AXPDesignerSaveFormMessage, AXPDesignerSelectCommand, AXPDesignerSelectEvent, AXPDesignerUpdateCommand, AXPDesignerUpdateEvent, AXPDesignerWidgetComponent, AXPDisplayWidgetConfig, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
|
|
407
|
+
export { AXPDesignerAddWidgetButtonComponent, AXPDesignerAddWidgetLineButtonComponent, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerConnector, AXPDesignerGridDrawerComponent, AXPDesignerMessageKeys, AXPDesignerModes, AXPDesignerService, AXPDesignerWidgetPickerComponent, AXPLayoutDesignerComponent, AXPLayoutDesignerPreviewComponent, AXPLayoutDesignerPreviewViewerComponent, AXPTemplateLoadingStrategy, AXPWidgetDesignerRendererDirective, AXPWidgetPickerService, AXP_DESIGNER_ADD_WIDGET_MENU, AXP_DESIGNER_CLONE_MENU, AXP_DESIGNER_COPY_MENU, AXP_DESIGNER_CUT_MENU, AXP_DESIGNER_DELETE_WIDGET_MENU, AXP_DESIGNER_PASTE_MENU, AXP_DESIGNER_SAVE_AS_WIDGET_MENU, AXP_DESIGNER_SELECT_WIDGET_MENU, cloneWidgetMenu };
|
|
408
|
+
export type { AXPDesignerAddNodeCommand, AXPDesignerAddNodeEvent, AXPDesignerContent, AXPDesignerFocusCommand, AXPDesignerFocusEvent, AXPDesignerMode, AXPDesignerPreviewMessage, AXPDesignerPreviewSize, AXPDesignerRefreshCommand, AXPDesignerRefreshEvent, AXPDesignerRegisterCommand, AXPDesignerSaveFormMessage, AXPDesignerSelectCommand, AXPDesignerSelectEvent, AXPDesignerUpdateCommand, AXPDesignerUpdateEvent, AXPDesignerWidgetComponent, AXPDisplayWidgetConfig };
|
package/layout/entity/index.d.ts
CHANGED
|
@@ -2,12 +2,13 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, Injector, Type } from '@angular/core';
|
|
3
3
|
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
4
4
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
5
|
-
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPGridLayoutOptions, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
|
|
5
|
+
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPGridLayoutOptions, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
|
|
6
6
|
import { AXPMetaData, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPAppStartUpService } from '@acorex/platform/core';
|
|
7
7
|
import * as i3 from '@acorex/platform/layout/builder';
|
|
8
8
|
import { AXPWidgetColumnNode, AXPWidgetNode, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
9
9
|
import * as i1 from '@angular/router';
|
|
10
10
|
import { ResolveFn } from '@angular/router';
|
|
11
|
+
import * as rxjs from 'rxjs';
|
|
11
12
|
import { Subject } from 'rxjs';
|
|
12
13
|
import * as i2 from '@acorex/platform/workflow';
|
|
13
14
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
@@ -86,7 +87,17 @@ declare class AXPEntityDetailListViewModel {
|
|
|
86
87
|
applyFilterAndSort(): Promise<void>;
|
|
87
88
|
columns: _angular_core.Signal<AXPEntityListViewColumnViewModel[]>;
|
|
88
89
|
executeCommand(commandName: string, data?: any): Promise<void>;
|
|
89
|
-
|
|
90
|
+
evaluateExpressions: (actionData: {
|
|
91
|
+
[key: string]: string;
|
|
92
|
+
} | string) => Promise<any>;
|
|
93
|
+
/**
|
|
94
|
+
* Evaluate hidden/disabled expressions for primary actions and return the visible list.
|
|
95
|
+
*/
|
|
96
|
+
getPrimaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Evaluate hidden/disabled expressions for secondary actions and return the visible list.
|
|
99
|
+
*/
|
|
100
|
+
getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
90
101
|
}
|
|
91
102
|
|
|
92
103
|
declare class AXPEntityCreateViewSectionViewModel {
|
|
@@ -174,9 +185,12 @@ declare class AXPEntityMasterListViewModel {
|
|
|
174
185
|
private readonly settings;
|
|
175
186
|
private readonly widgetResolver;
|
|
176
187
|
private readonly expressionEvaluator;
|
|
188
|
+
private readonly commandService;
|
|
177
189
|
private readonly filterOperatorMiddleware;
|
|
178
190
|
private settingEntityKey;
|
|
179
191
|
private readonly destroyed;
|
|
192
|
+
private lastAppliedSortKey;
|
|
193
|
+
private lastAppliedFilterKey;
|
|
180
194
|
events$: Subject<{
|
|
181
195
|
action: string;
|
|
182
196
|
meta?: any;
|
|
@@ -187,7 +201,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
187
201
|
dataSource: AXDataSource<unknown>;
|
|
188
202
|
constructor(injector: Injector, config: AXPEntity);
|
|
189
203
|
applySettings(): Promise<void>;
|
|
190
|
-
saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize', data?: any): Promise<void>;
|
|
204
|
+
saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'filters' | 'sorts', data?: any): Promise<void>;
|
|
191
205
|
selectedItems: _angular_core.WritableSignal<any[]>;
|
|
192
206
|
parentKey: _angular_core.Signal<string | undefined>;
|
|
193
207
|
hasSelectedItems: _angular_core.Signal<boolean>;
|
|
@@ -280,10 +294,14 @@ declare class AXPEntityMasterSingleViewModel {
|
|
|
280
294
|
private readonly session;
|
|
281
295
|
private readonly formatService;
|
|
282
296
|
private readonly workflow;
|
|
297
|
+
private readonly commandService;
|
|
283
298
|
private readonly destroyed;
|
|
284
299
|
private translateService;
|
|
285
300
|
private entityService;
|
|
286
301
|
private expressionEvaluator;
|
|
302
|
+
private entityDefinitionRegistryService;
|
|
303
|
+
private _updateTrigger;
|
|
304
|
+
readonly updateTrigger: _angular_core.Signal<number>;
|
|
287
305
|
constructor(injector: Injector, config: AXPEntity, entityData: any);
|
|
288
306
|
context: _angular_core.WritableSignal<any>;
|
|
289
307
|
private actions;
|
|
@@ -440,6 +458,10 @@ interface AXPEntityModifierContext {
|
|
|
440
458
|
get(): AXPEntityMasterSingleLayoutView | undefined;
|
|
441
459
|
update(updater: (c: AXPEntityMasterSingleLayoutView | undefined) => AXPEntityMasterSingleLayoutView): AXPEntityModifierContext;
|
|
442
460
|
};
|
|
461
|
+
list: {
|
|
462
|
+
get(): AXPEntityMasterListView | undefined;
|
|
463
|
+
update(updater: (c: AXPEntityMasterListView | undefined) => AXPEntityMasterListView): AXPEntityModifierContext;
|
|
464
|
+
};
|
|
443
465
|
};
|
|
444
466
|
detail: {
|
|
445
467
|
get(): NonNullable<AXPEntity['interfaces']>['detail'] | undefined;
|
|
@@ -464,7 +486,7 @@ declare function actionExists(actions: any[] | undefined, commandName: string, n
|
|
|
464
486
|
interface AXPEntityActionPlugin {
|
|
465
487
|
name: string;
|
|
466
488
|
order?: number;
|
|
467
|
-
apply: (ctx: AXPEntityModifierContext, options?: any) => void;
|
|
489
|
+
apply: (ctx: AXPEntityModifierContext, options?: any) => Promise<void> | void;
|
|
468
490
|
}
|
|
469
491
|
declare const AXP_ENTITY_ACTION_PLUGIN: InjectionToken<AXPEntityActionPlugin[]>;
|
|
470
492
|
|
|
@@ -473,9 +495,10 @@ declare class AXPEntityMiddleware {
|
|
|
473
495
|
private patternModifiers;
|
|
474
496
|
protected providedModifiers: AXPEntityModifierProvider[];
|
|
475
497
|
protected providedActionPlugins: AXPEntityActionPlugin[];
|
|
498
|
+
protected injector: Injector;
|
|
476
499
|
constructor();
|
|
477
500
|
register(entityName: string | RegExp, modifier: AXPEntityModifier): void;
|
|
478
|
-
process(entity: AXPEntity): AXPEntity
|
|
501
|
+
process(entity: AXPEntity): Promise<AXPEntity>;
|
|
479
502
|
private wildcardToRegExp;
|
|
480
503
|
private normalizeRegExp;
|
|
481
504
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMiddleware, never>;
|
|
@@ -636,9 +659,25 @@ declare class AXPEntityDefinitionRegistryService {
|
|
|
636
659
|
private providers;
|
|
637
660
|
private resolver;
|
|
638
661
|
private middleware;
|
|
662
|
+
private onChanged;
|
|
663
|
+
get onChanged$(): rxjs.Observable<{
|
|
664
|
+
name: string;
|
|
665
|
+
}>;
|
|
639
666
|
preload(): Promise<void>;
|
|
640
667
|
private entities;
|
|
641
668
|
private entityResolver;
|
|
669
|
+
/**
|
|
670
|
+
* Force re-load and re-process entity definitions, then re-register them.
|
|
671
|
+
* Overloads:
|
|
672
|
+
* - refresh(): refresh all registered entities
|
|
673
|
+
* - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
|
|
674
|
+
* - refresh(moduleName: string, entityName: string): refresh by parts
|
|
675
|
+
*/
|
|
676
|
+
refresh(): Promise<void>;
|
|
677
|
+
refresh(fullName: string): Promise<void>;
|
|
678
|
+
refresh(moduleName: string, entityName: string): Promise<void>;
|
|
679
|
+
/** Executes the actual refresh for a single entity */
|
|
680
|
+
private refreshOne;
|
|
642
681
|
/**
|
|
643
682
|
* Registers a new entity configuration. Entities are identified uniquely by a combination
|
|
644
683
|
* of their module and name.
|
|
@@ -894,5 +933,29 @@ declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeS
|
|
|
894
933
|
|
|
895
934
|
declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
|
|
896
935
|
|
|
897
|
-
|
|
898
|
-
|
|
936
|
+
/**
|
|
937
|
+
* Map of column name -> width value
|
|
938
|
+
* Example: { title: '300px', description: '300px' }
|
|
939
|
+
*/
|
|
940
|
+
type ColumnWidthConfig = Record<string, string | number>;
|
|
941
|
+
/**
|
|
942
|
+
* Default widths for common text columns
|
|
943
|
+
*/
|
|
944
|
+
declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
|
|
945
|
+
/**
|
|
946
|
+
* Factory to create a column width middleware using provided config map.
|
|
947
|
+
* Sets width for columns defined in the map if not already defined on the column.
|
|
948
|
+
*/
|
|
949
|
+
declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
|
|
950
|
+
/**
|
|
951
|
+
* Helper to create a provider for the column width middleware.
|
|
952
|
+
* By default it applies to all entities using the '*' pattern.
|
|
953
|
+
*/
|
|
954
|
+
declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
955
|
+
/**
|
|
956
|
+
* Default provider registered with the default map.
|
|
957
|
+
*/
|
|
958
|
+
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
959
|
+
|
|
960
|
+
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware };
|
|
961
|
+
export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, ColumnWidthConfig };
|
package/layout/views/index.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ import { AXPSessionService } from '@acorex/platform/auth';
|
|
|
16
16
|
import { AXPHomePageService } from '@acorex/platform/common';
|
|
17
17
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
18
18
|
import * as _acorex_platform_layout_builder from '@acorex/platform/layout/builder';
|
|
19
|
-
import { AXPWidgetNode, AXPPageStatus, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
|
|
19
|
+
import { AXPWidgetNode, AXPPageStatus, AXPWidgetContainerComponent, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
|
|
20
|
+
import { AXFormComponent } from '@acorex/components/form';
|
|
20
21
|
import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
|
|
21
22
|
|
|
22
23
|
declare abstract class AXPPageLayoutBase {
|
|
@@ -426,6 +427,7 @@ interface AXPLayoutDetailsViewTabItem {
|
|
|
426
427
|
interface AXPLayoutDetailsViewPage {
|
|
427
428
|
id: string;
|
|
428
429
|
title: string;
|
|
430
|
+
label: string;
|
|
429
431
|
description?: string;
|
|
430
432
|
icon?: string;
|
|
431
433
|
content?: AXPWidgetNode[];
|
|
@@ -463,13 +465,18 @@ interface AXPLayoutDetailsViewAdapter {
|
|
|
463
465
|
|
|
464
466
|
declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
465
467
|
adapter: _angular_core.Signal<AXPLayoutDetailsViewAdapter | null>;
|
|
466
|
-
|
|
468
|
+
rootContext: _angular_core.Signal<Record<string, any>>;
|
|
467
469
|
previousContext: _angular_core.Signal<Record<string, any>>;
|
|
468
470
|
context: _angular_core.Signal<Record<string, any>>;
|
|
469
471
|
scope: _angular_core.Signal<AXPExpressionEvaluatorScope | null>;
|
|
470
472
|
status: _angular_core.Signal<AXPPageStatus>;
|
|
471
473
|
currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
|
|
472
474
|
currentTab: _angular_core.Signal<AXPLayoutDetailsViewTabItem | null>;
|
|
475
|
+
pageSelectedRows: _angular_core.Signal<any[]>;
|
|
476
|
+
renderedTabsCache: _angular_core.Signal<Record<string, {
|
|
477
|
+
tabId: string;
|
|
478
|
+
tab: AXPLayoutDetailsViewTabItem;
|
|
479
|
+
}[]>>;
|
|
473
480
|
icon: _angular_core.Signal<string | null>;
|
|
474
481
|
content: _angular_core.Signal<_acorex_platform_layout_builder.AXPWidgetNode[]>;
|
|
475
482
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -477,11 +484,18 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
477
484
|
isBusy: _angular_core.Signal<boolean>;
|
|
478
485
|
isSaving: _angular_core.Signal<boolean>;
|
|
479
486
|
isDirty: _angular_core.Signal<boolean>;
|
|
487
|
+
changesCount: _angular_core.Signal<number>;
|
|
480
488
|
isLoaded: _angular_core.Signal<boolean>;
|
|
489
|
+
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
490
|
+
currentPageRenderedTabs: _angular_core.Signal<{
|
|
491
|
+
tabId: string;
|
|
492
|
+
tab: AXPLayoutDetailsViewTabItem;
|
|
493
|
+
}[]>;
|
|
481
494
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
482
495
|
loadPage: (pageId?: string) => Promise<void>;
|
|
483
496
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
484
497
|
updateContext: (context: any) => void;
|
|
498
|
+
updatePageSelectedRows: (rows: any[]) => void;
|
|
485
499
|
currentPageTitle: () => string | null;
|
|
486
500
|
currentPageDescription: () => string | null;
|
|
487
501
|
currentPagePrimaryActions: () => Promise<any>;
|
|
@@ -491,6 +505,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
491
505
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
492
506
|
setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
|
|
493
507
|
getCurrentTabContent: () => _acorex_platform_layout_builder.AXPWidgetNode[];
|
|
508
|
+
getRenderedTabContent: (tabId: string) => _acorex_platform_layout_builder.AXPWidgetNode[];
|
|
509
|
+
clearPageTabCache: (pageId: string) => void;
|
|
494
510
|
title: () => string | null;
|
|
495
511
|
description: () => string | null;
|
|
496
512
|
primaryActions: () => Promise<any>;
|
|
@@ -502,16 +518,21 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
502
518
|
command?: AXPExecuteCommand;
|
|
503
519
|
}[]>;
|
|
504
520
|
discard: () => Promise<void>;
|
|
505
|
-
save: (command: AXPExecuteCommand) => Promise<void>;
|
|
521
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<void>;
|
|
506
522
|
} & _ngrx_signals.StateSource<{
|
|
507
523
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
508
|
-
|
|
524
|
+
rootContext: Record<string, any>;
|
|
509
525
|
previousContext: Record<string, any>;
|
|
510
526
|
context: Record<string, any>;
|
|
511
527
|
scope: AXPExpressionEvaluatorScope | null;
|
|
512
528
|
status: AXPPageStatus;
|
|
513
529
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
514
530
|
currentTab: AXPLayoutDetailsViewTabItem | null;
|
|
531
|
+
pageSelectedRows: any[];
|
|
532
|
+
renderedTabsCache: Record<string, Array<{
|
|
533
|
+
tabId: string;
|
|
534
|
+
tab: AXPLayoutDetailsViewTabItem;
|
|
535
|
+
}>>;
|
|
515
536
|
}>>;
|
|
516
537
|
|
|
517
538
|
declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
|
@@ -519,13 +540,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
519
540
|
adapter: _angular_core.InputSignal<AXPLayoutDetailsViewAdapter>;
|
|
520
541
|
protected vm: {
|
|
521
542
|
adapter: _angular_core.Signal<AXPLayoutDetailsViewAdapter | null>;
|
|
522
|
-
|
|
543
|
+
rootContext: _angular_core.Signal<Record<string, any>>;
|
|
523
544
|
previousContext: _angular_core.Signal<Record<string, any>>;
|
|
524
545
|
context: _angular_core.Signal<Record<string, any>>;
|
|
525
546
|
scope: _angular_core.Signal<_acorex_platform_core.AXPExpressionEvaluatorScope | null>;
|
|
526
547
|
status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
|
|
527
548
|
currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
|
|
528
549
|
currentTab: _angular_core.Signal<_acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null>;
|
|
550
|
+
pageSelectedRows: _angular_core.Signal<any[]>;
|
|
551
|
+
renderedTabsCache: _angular_core.Signal<Record<string, {
|
|
552
|
+
tabId: string;
|
|
553
|
+
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
554
|
+
}[]>>;
|
|
529
555
|
icon: _angular_core.Signal<string | null>;
|
|
530
556
|
content: _angular_core.Signal<_acorex_platform_layout_builder.AXPWidgetNode[]>;
|
|
531
557
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -533,11 +559,18 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
533
559
|
isBusy: _angular_core.Signal<boolean>;
|
|
534
560
|
isSaving: _angular_core.Signal<boolean>;
|
|
535
561
|
isDirty: _angular_core.Signal<boolean>;
|
|
562
|
+
changesCount: _angular_core.Signal<number>;
|
|
536
563
|
isLoaded: _angular_core.Signal<boolean>;
|
|
564
|
+
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
565
|
+
currentPageRenderedTabs: _angular_core.Signal<{
|
|
566
|
+
tabId: string;
|
|
567
|
+
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
568
|
+
}[]>;
|
|
537
569
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
538
570
|
loadPage: (pageId?: string) => Promise<void>;
|
|
539
571
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
540
572
|
updateContext: (context: any) => void;
|
|
573
|
+
updatePageSelectedRows: (rows: any[]) => void;
|
|
541
574
|
currentPageTitle: () => string | null;
|
|
542
575
|
currentPageDescription: () => string | null;
|
|
543
576
|
currentPagePrimaryActions: () => Promise<any>;
|
|
@@ -547,6 +580,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
547
580
|
setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
|
|
548
581
|
setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
|
|
549
582
|
getCurrentTabContent: () => _acorex_platform_layout_builder.AXPWidgetNode[];
|
|
583
|
+
getRenderedTabContent: (tabId: string) => _acorex_platform_layout_builder.AXPWidgetNode[];
|
|
584
|
+
clearPageTabCache: (pageId: string) => void;
|
|
550
585
|
title: () => string | null;
|
|
551
586
|
description: () => string | null;
|
|
552
587
|
primaryActions: () => Promise<any>;
|
|
@@ -558,23 +593,33 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
558
593
|
command?: AXPExecuteCommand;
|
|
559
594
|
}[]>;
|
|
560
595
|
discard: () => Promise<void>;
|
|
561
|
-
save: (command: AXPExecuteCommand) => Promise<void>;
|
|
596
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<void>;
|
|
562
597
|
} & _ngrx_signals.StateSource<{
|
|
563
598
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
564
|
-
|
|
599
|
+
rootContext: Record<string, any>;
|
|
565
600
|
previousContext: Record<string, any>;
|
|
566
601
|
context: Record<string, any>;
|
|
567
602
|
scope: _acorex_platform_core.AXPExpressionEvaluatorScope | null;
|
|
568
603
|
status: _acorex_platform_layout_builder.AXPPageStatus;
|
|
569
604
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
570
605
|
currentTab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null;
|
|
606
|
+
pageSelectedRows: any[];
|
|
607
|
+
renderedTabsCache: Record<string, Array<{
|
|
608
|
+
tabId: string;
|
|
609
|
+
tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
|
|
610
|
+
}>>;
|
|
571
611
|
}>;
|
|
612
|
+
private onSelectionChangeSubscription?;
|
|
613
|
+
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
614
|
+
protected widgetContainer: _angular_core.Signal<AXPWidgetContainerComponent | undefined>;
|
|
572
615
|
protected footerPrimaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
573
616
|
protected footerSecondaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
574
617
|
protected footerActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
575
618
|
protected hasVisibleFooterPrimaryActions: _angular_core.Signal<boolean>;
|
|
576
619
|
protected hasVisibleFooterSecondaryActions: _angular_core.Signal<boolean>;
|
|
620
|
+
protected hasFooter: _angular_core.Signal<boolean>;
|
|
577
621
|
ngOnInit(): Promise<void>;
|
|
622
|
+
ngAfterViewInit(): Promise<void>;
|
|
578
623
|
ngOnDestroy(): void;
|
|
579
624
|
protected handleOnContextChanged(e: AXPLayoutContextChangeEvent): void;
|
|
580
625
|
protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
|
|
@@ -588,6 +633,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
588
633
|
protected getPageTitle(): Promise<string>;
|
|
589
634
|
getPageDescription(): Promise<string | null>;
|
|
590
635
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
636
|
+
getPageBadge(): Promise<AXPBadge | null>;
|
|
591
637
|
onBackButtonClick(): Promise<void>;
|
|
592
638
|
execute(command: AXPExecuteCommand): Promise<void>;
|
|
593
639
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutDetailsViewComponent, never>;
|