@acorex/platform 20.2.4-next.0 → 20.2.4-next.1
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 +1290 -564
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +83 -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 +10 -12
- 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 +770 -118
- 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 +25 -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,14 @@ 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[]>;
|
|
473
476
|
icon: _angular_core.Signal<string | null>;
|
|
474
477
|
content: _angular_core.Signal<_acorex_platform_layout_builder.AXPWidgetNode[]>;
|
|
475
478
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -477,11 +480,14 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
477
480
|
isBusy: _angular_core.Signal<boolean>;
|
|
478
481
|
isSaving: _angular_core.Signal<boolean>;
|
|
479
482
|
isDirty: _angular_core.Signal<boolean>;
|
|
483
|
+
changesCount: _angular_core.Signal<number>;
|
|
480
484
|
isLoaded: _angular_core.Signal<boolean>;
|
|
485
|
+
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
481
486
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
482
487
|
loadPage: (pageId?: string) => Promise<void>;
|
|
483
488
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
484
489
|
updateContext: (context: any) => void;
|
|
490
|
+
updatePageSelectedRows: (rows: any[]) => void;
|
|
485
491
|
currentPageTitle: () => string | null;
|
|
486
492
|
currentPageDescription: () => string | null;
|
|
487
493
|
currentPagePrimaryActions: () => Promise<any>;
|
|
@@ -502,16 +508,17 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
502
508
|
command?: AXPExecuteCommand;
|
|
503
509
|
}[]>;
|
|
504
510
|
discard: () => Promise<void>;
|
|
505
|
-
save: (command: AXPExecuteCommand) => Promise<void>;
|
|
511
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<void>;
|
|
506
512
|
} & _ngrx_signals.StateSource<{
|
|
507
513
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
508
|
-
|
|
514
|
+
rootContext: Record<string, any>;
|
|
509
515
|
previousContext: Record<string, any>;
|
|
510
516
|
context: Record<string, any>;
|
|
511
517
|
scope: AXPExpressionEvaluatorScope | null;
|
|
512
518
|
status: AXPPageStatus;
|
|
513
519
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
514
520
|
currentTab: AXPLayoutDetailsViewTabItem | null;
|
|
521
|
+
pageSelectedRows: any[];
|
|
515
522
|
}>>;
|
|
516
523
|
|
|
517
524
|
declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
|
@@ -519,13 +526,14 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
519
526
|
adapter: _angular_core.InputSignal<AXPLayoutDetailsViewAdapter>;
|
|
520
527
|
protected vm: {
|
|
521
528
|
adapter: _angular_core.Signal<AXPLayoutDetailsViewAdapter | null>;
|
|
522
|
-
|
|
529
|
+
rootContext: _angular_core.Signal<Record<string, any>>;
|
|
523
530
|
previousContext: _angular_core.Signal<Record<string, any>>;
|
|
524
531
|
context: _angular_core.Signal<Record<string, any>>;
|
|
525
532
|
scope: _angular_core.Signal<_acorex_platform_core.AXPExpressionEvaluatorScope | null>;
|
|
526
533
|
status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
|
|
527
534
|
currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
|
|
528
535
|
currentTab: _angular_core.Signal<_acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null>;
|
|
536
|
+
pageSelectedRows: _angular_core.Signal<any[]>;
|
|
529
537
|
icon: _angular_core.Signal<string | null>;
|
|
530
538
|
content: _angular_core.Signal<_acorex_platform_layout_builder.AXPWidgetNode[]>;
|
|
531
539
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -533,11 +541,14 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
533
541
|
isBusy: _angular_core.Signal<boolean>;
|
|
534
542
|
isSaving: _angular_core.Signal<boolean>;
|
|
535
543
|
isDirty: _angular_core.Signal<boolean>;
|
|
544
|
+
changesCount: _angular_core.Signal<number>;
|
|
536
545
|
isLoaded: _angular_core.Signal<boolean>;
|
|
546
|
+
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
537
547
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
538
548
|
loadPage: (pageId?: string) => Promise<void>;
|
|
539
549
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
540
550
|
updateContext: (context: any) => void;
|
|
551
|
+
updatePageSelectedRows: (rows: any[]) => void;
|
|
541
552
|
currentPageTitle: () => string | null;
|
|
542
553
|
currentPageDescription: () => string | null;
|
|
543
554
|
currentPagePrimaryActions: () => Promise<any>;
|
|
@@ -558,23 +569,29 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
558
569
|
command?: AXPExecuteCommand;
|
|
559
570
|
}[]>;
|
|
560
571
|
discard: () => Promise<void>;
|
|
561
|
-
save: (command: AXPExecuteCommand) => Promise<void>;
|
|
572
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<void>;
|
|
562
573
|
} & _ngrx_signals.StateSource<{
|
|
563
574
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
564
|
-
|
|
575
|
+
rootContext: Record<string, any>;
|
|
565
576
|
previousContext: Record<string, any>;
|
|
566
577
|
context: Record<string, any>;
|
|
567
578
|
scope: _acorex_platform_core.AXPExpressionEvaluatorScope | null;
|
|
568
579
|
status: _acorex_platform_layout_builder.AXPPageStatus;
|
|
569
580
|
currentPage: AXPLayoutDetailsViewPage | null;
|
|
570
581
|
currentTab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null;
|
|
582
|
+
pageSelectedRows: any[];
|
|
571
583
|
}>;
|
|
584
|
+
private onSelectionChangeSubscription?;
|
|
585
|
+
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
586
|
+
protected widgetContainer: _angular_core.Signal<AXPWidgetContainerComponent | undefined>;
|
|
572
587
|
protected footerPrimaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
573
588
|
protected footerSecondaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
574
589
|
protected footerActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
575
590
|
protected hasVisibleFooterPrimaryActions: _angular_core.Signal<boolean>;
|
|
576
591
|
protected hasVisibleFooterSecondaryActions: _angular_core.Signal<boolean>;
|
|
592
|
+
protected hasFooter: _angular_core.Signal<boolean>;
|
|
577
593
|
ngOnInit(): Promise<void>;
|
|
594
|
+
ngAfterViewInit(): Promise<void>;
|
|
578
595
|
ngOnDestroy(): void;
|
|
579
596
|
protected handleOnContextChanged(e: AXPLayoutContextChangeEvent): void;
|
|
580
597
|
protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
|
|
@@ -588,6 +605,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
588
605
|
protected getPageTitle(): Promise<string>;
|
|
589
606
|
getPageDescription(): Promise<string | null>;
|
|
590
607
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
608
|
+
getPageBadge(): Promise<AXPBadge | null>;
|
|
591
609
|
onBackButtonClick(): Promise<void>;
|
|
592
610
|
execute(command: AXPExecuteCommand): Promise<void>;
|
|
593
611
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutDetailsViewComponent, never>;
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@ import { AXValueChangedEvent } from '@acorex/cdk/common';
|
|
|
7
7
|
import { AXActionSheetService } from '@acorex/components/action-sheet';
|
|
8
8
|
import { AXDataTableComponent, AXDataTableRowDbClick, AXRowCommandItem, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
|
|
9
9
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
10
|
-
import { AXPEntityDetailListViewModel } from '@acorex/platform/layout/entity';
|
|
10
|
+
import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel } from '@acorex/platform/layout/entity';
|
|
11
11
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
12
12
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
13
13
|
import { AXPMenuItem, AXPSettingService } from '@acorex/platform/common';
|
|
@@ -81,6 +81,8 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
81
81
|
menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
|
|
82
82
|
isPrinting: boolean;
|
|
83
83
|
}>;
|
|
84
|
+
protected toolbarPrimaryActions: _angular_core.WritableSignal<AXPEntityCommandTriggerViewModel[]>;
|
|
85
|
+
protected toolbarSecondaryActions: _angular_core.WritableSignal<AXPEntityCommandTriggerViewModel[]>;
|
|
84
86
|
vm: AXPEntityDetailListViewModel;
|
|
85
87
|
protected focusedRow: any;
|
|
86
88
|
grid: AXDataTableComponent;
|
|
@@ -96,6 +98,7 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
96
98
|
protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
|
|
97
99
|
protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
|
|
98
100
|
protected handleRowCommandClick(e: AXRowCommandItemClickEvent): Promise<void>;
|
|
101
|
+
private refreshToolbarActions;
|
|
99
102
|
protected destroy(): void;
|
|
100
103
|
ngOnDestroy(): void;
|
|
101
104
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailListViewComponent, never>;
|