@acorex/platform 20.3.0-next.8 → 20.3.0-next.9
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 +0 -2
- package/core/index.d.ts +72 -62
- package/fesm2022/acorex-platform-common.mjs +5 -10
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +115 -115
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +420 -24
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1266 -153
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +19 -12
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +454 -505
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +14 -21
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs → acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs} +9 -9
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +8 -8
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +154 -23
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +3 -3
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs → acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +8 -8
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +4943 -4858
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/builder/index.d.ts +60 -5
- package/layout/components/index.d.ts +501 -54
- package/layout/designer/index.d.ts +4 -2
- package/layout/entity/index.d.ts +45 -9
- package/package.json +9 -9
- package/widgets/index.d.ts +352 -300
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map +0 -1
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
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, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
|
|
4
|
+
import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
|
|
5
5
|
import { AXPMenuItem } from '@acorex/platform/common';
|
|
6
|
-
import
|
|
6
|
+
import * as _acorex_cdk_common from '@acorex/cdk/common';
|
|
7
|
+
import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
|
|
8
|
+
import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
|
|
9
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
7
10
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
8
11
|
import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
|
9
12
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
10
13
|
import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
11
14
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
12
15
|
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
16
|
+
import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
|
|
13
17
|
import { AXFormComponent } from '@acorex/components/form';
|
|
14
18
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
15
19
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
16
20
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
17
|
-
import {
|
|
21
|
+
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
18
22
|
import { Observable } from 'rxjs';
|
|
19
|
-
import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
20
23
|
|
|
21
24
|
declare class AXPActivityLogComponent {
|
|
22
25
|
private readonly translateService;
|
|
@@ -204,6 +207,85 @@ declare class AXPThemeLayoutContainerComponent {
|
|
|
204
207
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
|
|
205
208
|
}
|
|
206
209
|
|
|
210
|
+
interface AXPCategoryTreeNode extends AXPCategoryEntity {
|
|
211
|
+
children?: AXPCategoryTreeNode[];
|
|
212
|
+
expand?: boolean;
|
|
213
|
+
hasChild?: boolean;
|
|
214
|
+
[key: string]: any;
|
|
215
|
+
}
|
|
216
|
+
interface AXPCategoryTreeConfig {
|
|
217
|
+
textField?: string;
|
|
218
|
+
valueField?: string;
|
|
219
|
+
expandedField?: string;
|
|
220
|
+
showCheckbox?: boolean;
|
|
221
|
+
searchable?: boolean;
|
|
222
|
+
searchPlaceholder?: string;
|
|
223
|
+
emptyStateTitle?: string;
|
|
224
|
+
emptyStateDescription?: string;
|
|
225
|
+
emptyStateIcon?: string;
|
|
226
|
+
}
|
|
227
|
+
interface AXPCategoryTreeEvents {
|
|
228
|
+
onNodeClick?: (node: AXPCategoryEntity) => void;
|
|
229
|
+
onNodeSelect?: (node: AXPCategoryEntity) => void;
|
|
230
|
+
onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
|
|
231
|
+
onNodeUpdate?: (node: AXPCategoryEntity) => void;
|
|
232
|
+
onNodeDelete?: (node: AXPCategoryEntity) => void;
|
|
233
|
+
onSearchChange?: (searchValue: string) => void;
|
|
234
|
+
onCollapseChange?: (node: AXPCategoryEntity) => void;
|
|
235
|
+
}
|
|
236
|
+
interface AXPCategoryTreeActions {
|
|
237
|
+
canCreate?: boolean;
|
|
238
|
+
canUpdate?: boolean;
|
|
239
|
+
canDelete?: boolean;
|
|
240
|
+
canCreateChild?: boolean;
|
|
241
|
+
createLabel?: string;
|
|
242
|
+
updateLabel?: string;
|
|
243
|
+
deleteLabel?: string;
|
|
244
|
+
createChildLabel?: string;
|
|
245
|
+
}
|
|
246
|
+
interface AXPCategoryTreeDataSource {
|
|
247
|
+
loadRootNodes: () => Promise<AXPCategoryEntity[]>;
|
|
248
|
+
loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
|
|
249
|
+
searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
declare class AXPCategoryTreeComponent {
|
|
253
|
+
protected readonly translationService: AXTranslationService;
|
|
254
|
+
dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
|
|
255
|
+
config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
|
|
256
|
+
actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
|
|
257
|
+
events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
|
|
258
|
+
nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
259
|
+
nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
260
|
+
nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
|
|
261
|
+
nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
262
|
+
nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
263
|
+
searchChange: _angular_core.OutputEmitterRef<string>;
|
|
264
|
+
collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
265
|
+
tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
|
|
266
|
+
isLoading: _angular_core.WritableSignal<boolean>;
|
|
267
|
+
searchValue: _angular_core.WritableSignal<string>;
|
|
268
|
+
protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
|
|
269
|
+
protected emptyStateTitle: _angular_core.Signal<string>;
|
|
270
|
+
protected emptyStateDescription: _angular_core.Signal<string>;
|
|
271
|
+
ngOnInit(): Promise<void>;
|
|
272
|
+
loadRootNodes(): Promise<void>;
|
|
273
|
+
loadChildNodes(parentId: string): Promise<void>;
|
|
274
|
+
searchNodes(searchValue: string): Promise<void>;
|
|
275
|
+
handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
|
|
276
|
+
handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
|
|
277
|
+
handleSearchChange(event: AXValueChangedEvent): Promise<void>;
|
|
278
|
+
handleCreateRootClick(event: AXClickEvent): Promise<void>;
|
|
279
|
+
handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
280
|
+
handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
281
|
+
handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
282
|
+
private convertEntitiesToTreeNodes;
|
|
283
|
+
private updateNodeChildren;
|
|
284
|
+
refreshTree(parentId?: string): Promise<void>;
|
|
285
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
|
|
286
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPCategoryTreeComponent, "axp-category-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "events": { "alias": "events"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeSelect": "nodeSelect"; "nodeCreate": "nodeCreate"; "nodeUpdate": "nodeUpdate"; "nodeDelete": "nodeDelete"; "searchChange": "searchChange"; "collapseChange": "collapseChange"; }, never, never, true, never>;
|
|
287
|
+
}
|
|
288
|
+
|
|
207
289
|
declare class AXPQueryColumnsComponent {
|
|
208
290
|
columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
|
|
209
291
|
handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
|
|
@@ -375,6 +457,14 @@ interface AXPDataSelectorConfig {
|
|
|
375
457
|
searchFields?: string[];
|
|
376
458
|
parentField?: string;
|
|
377
459
|
allowCreate?: boolean;
|
|
460
|
+
categoryFilter?: {
|
|
461
|
+
enabled: boolean;
|
|
462
|
+
title: string;
|
|
463
|
+
dataSource: AXPCategoryTreeDataSource;
|
|
464
|
+
filterField: string;
|
|
465
|
+
filterOperator?: 'equal' | 'contains' | 'in';
|
|
466
|
+
width?: string;
|
|
467
|
+
};
|
|
378
468
|
}
|
|
379
469
|
declare class AXPDataSelectorComponent extends AXBasePageComponent {
|
|
380
470
|
protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
|
|
@@ -383,9 +473,29 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
|
|
|
383
473
|
protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
|
|
384
474
|
protected initialSelectedItems: any[];
|
|
385
475
|
protected selectedItems: _angular_core.WritableSignal<any[]>;
|
|
476
|
+
protected activeCategoryFilter: _angular_core.WritableSignal<{
|
|
477
|
+
node: AXPCategoryEntity;
|
|
478
|
+
filterValue: any;
|
|
479
|
+
} | null>;
|
|
386
480
|
protected allowSelect: _angular_core.Signal<boolean>;
|
|
387
481
|
protected hasSearch: _angular_core.Signal<boolean | undefined>;
|
|
388
482
|
protected searchPlaceholder: _angular_core.Signal<string>;
|
|
483
|
+
protected categoryTreeConfig: _angular_core.Signal<{
|
|
484
|
+
textField: string;
|
|
485
|
+
valueField: string;
|
|
486
|
+
showCheckbox: boolean;
|
|
487
|
+
searchable: boolean;
|
|
488
|
+
searchPlaceholder: string;
|
|
489
|
+
emptyStateTitle: string;
|
|
490
|
+
emptyStateDescription: string;
|
|
491
|
+
emptyStateIcon: string;
|
|
492
|
+
}>;
|
|
493
|
+
protected categoryTreeActions: _angular_core.Signal<{
|
|
494
|
+
canCreate: boolean;
|
|
495
|
+
canUpdate: boolean;
|
|
496
|
+
canDelete: boolean;
|
|
497
|
+
canCreateChild: boolean;
|
|
498
|
+
}>;
|
|
389
499
|
protected ngOnInit(): void;
|
|
390
500
|
protected ngAfterViewInit(): void;
|
|
391
501
|
protected handleRowDbClick(e: AXDataTableRowDbClick): void;
|
|
@@ -396,8 +506,11 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
|
|
|
396
506
|
protected handleCloseClick(): void;
|
|
397
507
|
protected handleSelectClick(): void;
|
|
398
508
|
protected handleExpandRow(row: any): Promise<void>;
|
|
509
|
+
protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
|
|
510
|
+
protected clearCategoryFilter(): void;
|
|
399
511
|
private applySearchFilter;
|
|
400
512
|
private applyFilterAndSort;
|
|
513
|
+
private applyCategoryFilter;
|
|
401
514
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
|
|
402
515
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
|
|
403
516
|
}
|
|
@@ -411,9 +524,15 @@ declare class AXPDataSelectorService {
|
|
|
411
524
|
items: any[];
|
|
412
525
|
} | null>;
|
|
413
526
|
/**
|
|
414
|
-
* Open data selector
|
|
527
|
+
* Open data selector with category filter
|
|
415
528
|
*/
|
|
416
|
-
|
|
529
|
+
openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
|
|
530
|
+
title: string;
|
|
531
|
+
dataSource: AXPCategoryTreeDataSource;
|
|
532
|
+
filterField: string;
|
|
533
|
+
filterOperator?: 'equal' | 'contains' | 'in';
|
|
534
|
+
width?: string;
|
|
535
|
+
}): Promise<{
|
|
417
536
|
items: any[];
|
|
418
537
|
} | null>;
|
|
419
538
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
|
|
@@ -433,6 +552,18 @@ interface AXPDynamicFormFieldDefinition {
|
|
|
433
552
|
title?: string;
|
|
434
553
|
description?: string;
|
|
435
554
|
widget: AXPWidgetNode;
|
|
555
|
+
/**
|
|
556
|
+
* Optional per-parameter layout override. Takes precedence over form layoutConfig.
|
|
557
|
+
* - number: colSpan for all breakpoints
|
|
558
|
+
* - object: colSpan per breakpoint
|
|
559
|
+
*/
|
|
560
|
+
layout?: number | {
|
|
561
|
+
default?: number;
|
|
562
|
+
md?: number;
|
|
563
|
+
lg?: number;
|
|
564
|
+
xl?: number;
|
|
565
|
+
xxl?: number;
|
|
566
|
+
};
|
|
436
567
|
}
|
|
437
568
|
interface AXPDynamicFormGroupDefinition {
|
|
438
569
|
name: string;
|
|
@@ -463,13 +594,219 @@ interface AXPDynamicFormLayoutConfig {
|
|
|
463
594
|
};
|
|
464
595
|
}
|
|
465
596
|
|
|
597
|
+
/**
|
|
598
|
+
* Describes a single step of the dynamic form stepper.
|
|
599
|
+
* Each step contains one or more groups rendered by AXPDynamicFormComponent.
|
|
600
|
+
*/
|
|
601
|
+
interface AXPDynamicFormStepperStepDefinition {
|
|
602
|
+
/** Unique identifier for the step */
|
|
603
|
+
id: string;
|
|
604
|
+
/** Display title for the step */
|
|
605
|
+
title?: string;
|
|
606
|
+
/** Optional descriptive text for the step */
|
|
607
|
+
description?: string;
|
|
608
|
+
/** Optional icon name for the step header */
|
|
609
|
+
icon?: string;
|
|
610
|
+
/** Field groups to render in this step */
|
|
611
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
612
|
+
/** Optional layout direction override for this step's form */
|
|
613
|
+
formDirection?: AXPDynamicFormDirection;
|
|
614
|
+
/** Whether the user may skip this step (defaults to false) */
|
|
615
|
+
canSkip?: boolean;
|
|
616
|
+
/** Whether the user may navigate back from this step (defaults to true) */
|
|
617
|
+
canGoBack?: boolean;
|
|
618
|
+
/** Optional data path inside the shared context for this step's data */
|
|
619
|
+
dataPath?: string;
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Root definition for the dynamic form stepper.
|
|
623
|
+
*/
|
|
624
|
+
interface AXPDynamicFormStepperDefinition {
|
|
625
|
+
/** Ordered collection of steps */
|
|
626
|
+
steps: AXPDynamicFormStepperStepDefinition[];
|
|
627
|
+
/** Enforce sequential navigation (no jumping to future steps) */
|
|
628
|
+
linear?: boolean;
|
|
629
|
+
/** Show progress indicator above the content */
|
|
630
|
+
showProgress?: boolean;
|
|
631
|
+
/** Show step numbers in the header */
|
|
632
|
+
showStepNumbers?: boolean;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
declare class AXPDynamicFormStepperComponent {
|
|
636
|
+
#private;
|
|
637
|
+
/**
|
|
638
|
+
* Stepper definition providing steps metadata and behavior configuration
|
|
639
|
+
*/
|
|
640
|
+
definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
|
|
641
|
+
/**
|
|
642
|
+
* Shared root context for all steps
|
|
643
|
+
*/
|
|
644
|
+
context: _angular_core.InputSignal<any>;
|
|
645
|
+
/**
|
|
646
|
+
* Optional pass-through layout props for inner forms
|
|
647
|
+
*/
|
|
648
|
+
layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
|
|
649
|
+
stepperDirection: _angular_core.InputSignal<AXOrientation>;
|
|
650
|
+
layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig | undefined>;
|
|
651
|
+
/**
|
|
652
|
+
* Optional guard that controls advancing to the next step (async only)
|
|
653
|
+
*/
|
|
654
|
+
guardNext: _angular_core.InputSignal<((e: {
|
|
655
|
+
index: number;
|
|
656
|
+
id: string;
|
|
657
|
+
fullContext: any;
|
|
658
|
+
}) => Promise<boolean>) | undefined>;
|
|
659
|
+
/**
|
|
660
|
+
* Emits when the shared root context changes
|
|
661
|
+
*/
|
|
662
|
+
contextChange: _angular_core.OutputEmitterRef<any>;
|
|
663
|
+
/**
|
|
664
|
+
* Emits when the active step changes
|
|
665
|
+
*/
|
|
666
|
+
stepChange: _angular_core.OutputEmitterRef<{
|
|
667
|
+
index: number;
|
|
668
|
+
id: string;
|
|
669
|
+
}>;
|
|
670
|
+
/**
|
|
671
|
+
* Emits after successful finish
|
|
672
|
+
*/
|
|
673
|
+
finished: _angular_core.OutputEmitterRef<any>;
|
|
674
|
+
/**
|
|
675
|
+
* Emits when cancelled by API
|
|
676
|
+
*/
|
|
677
|
+
cancel: _angular_core.OutputEmitterRef<void>;
|
|
678
|
+
/**
|
|
679
|
+
* Emits when navigation is blocked by validation or policy
|
|
680
|
+
*/
|
|
681
|
+
navigationBlocked: _angular_core.OutputEmitterRef<{
|
|
682
|
+
reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
|
|
683
|
+
stepId: string;
|
|
684
|
+
targetIndex?: number;
|
|
685
|
+
}>;
|
|
686
|
+
/**
|
|
687
|
+
* Internal reactive copy of the shared context
|
|
688
|
+
*/
|
|
689
|
+
private internalContext;
|
|
690
|
+
/**
|
|
691
|
+
* Active step index
|
|
692
|
+
*/
|
|
693
|
+
protected currentStepIndex: _angular_core.WritableSignal<number>;
|
|
694
|
+
/**
|
|
695
|
+
* Navigation lock while async guards are pending
|
|
696
|
+
*/
|
|
697
|
+
private navigationLocked;
|
|
698
|
+
/**
|
|
699
|
+
* Reference to underlying step wizard to sync visual navigation
|
|
700
|
+
*/
|
|
701
|
+
private readonly wizard;
|
|
702
|
+
/**
|
|
703
|
+
* References to rendered dynamic forms (usually one active)
|
|
704
|
+
*/
|
|
705
|
+
private readonly forms;
|
|
706
|
+
protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
|
|
707
|
+
protected stepCount: _angular_core.Signal<number>;
|
|
708
|
+
protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
|
|
709
|
+
protected isFirstComputed: _angular_core.Signal<boolean>;
|
|
710
|
+
protected isLastComputed: _angular_core.Signal<boolean>;
|
|
711
|
+
/**
|
|
712
|
+
* Non-undefined layout config for inner dynamic forms
|
|
713
|
+
*/
|
|
714
|
+
protected effectiveLayoutConfig: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
715
|
+
/**
|
|
716
|
+
* Returns the current step pointer
|
|
717
|
+
*/
|
|
718
|
+
getCurrentStep(): {
|
|
719
|
+
index: number;
|
|
720
|
+
id: string;
|
|
721
|
+
};
|
|
722
|
+
/**
|
|
723
|
+
* Public helpers for templates/consumers
|
|
724
|
+
*/
|
|
725
|
+
isFirst(): boolean;
|
|
726
|
+
isLast(): boolean;
|
|
727
|
+
/**
|
|
728
|
+
* Returns the root context
|
|
729
|
+
*/
|
|
730
|
+
getContext(): any;
|
|
731
|
+
/**
|
|
732
|
+
* Replaces the root context programmatically
|
|
733
|
+
*/
|
|
734
|
+
setContext(ctx: any): void;
|
|
735
|
+
/**
|
|
736
|
+
* Validates the current step.
|
|
737
|
+
*/
|
|
738
|
+
validateCurrentStep(): Promise<boolean>;
|
|
739
|
+
/**
|
|
740
|
+
* Attempts to advance to the next step applying validation and guard
|
|
741
|
+
*/
|
|
742
|
+
next(): Promise<void>;
|
|
743
|
+
/**
|
|
744
|
+
* Goes back to the previous step if possible
|
|
745
|
+
*/
|
|
746
|
+
previous(): Promise<void>;
|
|
747
|
+
/**
|
|
748
|
+
* Navigates to a specific step by id or index
|
|
749
|
+
*/
|
|
750
|
+
goTo(stepIdOrIndex: string | number): Promise<void>;
|
|
751
|
+
/**
|
|
752
|
+
* Validates all steps and emits finished when successful
|
|
753
|
+
*/
|
|
754
|
+
finish(): Promise<void>;
|
|
755
|
+
/**
|
|
756
|
+
* Emits cancel event without state changes
|
|
757
|
+
*/
|
|
758
|
+
cancelFlow(): void;
|
|
759
|
+
/**
|
|
760
|
+
* Handle per-step context changes and keep internal root context in sync.
|
|
761
|
+
*/
|
|
762
|
+
protected onStepContextChange(stepId: string, stepContext: any): void;
|
|
763
|
+
/**
|
|
764
|
+
* Exposes reading a step slice to the template
|
|
765
|
+
*/
|
|
766
|
+
readStepSlice(path?: string): {
|
|
767
|
+
slice: any;
|
|
768
|
+
exists: boolean;
|
|
769
|
+
};
|
|
770
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
|
|
771
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormStepperComponent, "axp-dynamic-form-stepper", never, { "definition": { "alias": "definition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "stepperDirection": { "alias": "stepperDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; "guardNext": { "alias": "guardNext"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "stepChange": "stepChange"; "finished": "finished"; "cancel": "cancel"; "navigationBlocked": "navigationBlocked"; }, never, never, true, never>;
|
|
772
|
+
}
|
|
773
|
+
|
|
466
774
|
interface AXPDynamicDialogConfig {
|
|
467
775
|
title: string;
|
|
468
776
|
message?: string;
|
|
469
|
-
|
|
777
|
+
/**
|
|
778
|
+
* Legacy: If provided, dialog renders only dynamic-form.
|
|
779
|
+
*/
|
|
780
|
+
formDefinition?: AXPDynamicFormDefinition;
|
|
781
|
+
/**
|
|
782
|
+
* Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
|
|
783
|
+
*/
|
|
784
|
+
definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
|
|
785
|
+
/**
|
|
786
|
+
* Shared context passed to the rendered control
|
|
787
|
+
*/
|
|
470
788
|
context: any;
|
|
789
|
+
/**
|
|
790
|
+
* Shared layout options applied to form/stepper unless overridden
|
|
791
|
+
*/
|
|
471
792
|
layoutConfig?: AXPDynamicFormLayoutConfig;
|
|
793
|
+
layoutLook?: AXPDynamicFormLook;
|
|
472
794
|
size?: AXPopupSizeType;
|
|
795
|
+
closeButton?: boolean;
|
|
796
|
+
/**
|
|
797
|
+
* Optional stepper-only options. Ignored when rendering dynamic-form.
|
|
798
|
+
*/
|
|
799
|
+
stepper?: {
|
|
800
|
+
guardNext?: (e: {
|
|
801
|
+
index: number;
|
|
802
|
+
id: string;
|
|
803
|
+
fullContext: unknown;
|
|
804
|
+
}) => Promise<boolean>;
|
|
805
|
+
stepperDirection?: AXOrientation;
|
|
806
|
+
};
|
|
807
|
+
/**
|
|
808
|
+
* Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
|
|
809
|
+
*/
|
|
473
810
|
actions?: {
|
|
474
811
|
footer?: {
|
|
475
812
|
prefix?: AXPActionMenuItem[];
|
|
@@ -503,6 +840,7 @@ interface AXPDialogRef {
|
|
|
503
840
|
declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
504
841
|
config: AXPDynamicDialogConfig;
|
|
505
842
|
private readonly dynamicForm;
|
|
843
|
+
protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
|
|
506
844
|
isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
507
845
|
private previousContext;
|
|
508
846
|
private formData;
|
|
@@ -537,14 +875,42 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
|
537
875
|
};
|
|
538
876
|
};
|
|
539
877
|
};
|
|
878
|
+
/**
|
|
879
|
+
* Determine rendering mode and effective definitions
|
|
880
|
+
*/
|
|
881
|
+
protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
|
|
882
|
+
protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
|
|
883
|
+
protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
|
|
884
|
+
protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
|
|
885
|
+
protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
|
|
886
|
+
protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
|
|
887
|
+
protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
|
|
888
|
+
protected readonly effectiveLayoutConfig: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLayoutConfig>;
|
|
889
|
+
protected readonly stepperGuardNext: _angular_core.Signal<((e: {
|
|
890
|
+
index: number;
|
|
891
|
+
id: string;
|
|
892
|
+
fullContext: unknown;
|
|
893
|
+
}) => Promise<boolean>) | undefined>;
|
|
894
|
+
protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
|
|
895
|
+
protected readonly stepperDefinition: _angular_core.Signal<any>;
|
|
896
|
+
stepperIsFirst: _angular_core.Signal<boolean>;
|
|
897
|
+
stepperIsLast: _angular_core.Signal<boolean>;
|
|
898
|
+
/**
|
|
899
|
+
* Effective form direction when rendering dynamic-form (single-step or legacy form).
|
|
900
|
+
* If a single-step definition is provided and that step specifies formDirection, use it.
|
|
901
|
+
*/
|
|
902
|
+
protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
|
|
540
903
|
/**
|
|
541
904
|
* Footer actions for dynamic button system
|
|
542
905
|
*/
|
|
543
906
|
protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
544
907
|
protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
908
|
+
protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
909
|
+
protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
545
910
|
protected hasFooterActions: _angular_core.Signal<boolean>;
|
|
546
|
-
|
|
547
|
-
protected
|
|
911
|
+
/** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
|
|
912
|
+
protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
|
|
913
|
+
protected confirmActionTitle: _angular_core.Signal<string>;
|
|
548
914
|
ngOnInit(): void;
|
|
549
915
|
protected handleContextInitiated(context: any): void;
|
|
550
916
|
protected handleContextChanged(context: any): void;
|
|
@@ -560,6 +926,9 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
|
560
926
|
* Check if form is valid
|
|
561
927
|
*/
|
|
562
928
|
protected isFormValid(): Promise<boolean>;
|
|
929
|
+
/** Stepper navigation handlers */
|
|
930
|
+
protected goPrev(): void;
|
|
931
|
+
protected goNext(): void;
|
|
563
932
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
|
|
564
933
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
|
|
565
934
|
}
|
|
@@ -578,6 +947,15 @@ declare class AXPDynamicDialogService {
|
|
|
578
947
|
|
|
579
948
|
declare class AXPDynamicFormComponent implements OnInit {
|
|
580
949
|
#private;
|
|
950
|
+
private evaluatorService;
|
|
951
|
+
/**
|
|
952
|
+
* Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
|
|
953
|
+
*/
|
|
954
|
+
private evaluationRunId;
|
|
955
|
+
/**
|
|
956
|
+
* Memoization cache for resolveParamLayout to keep stable object identities
|
|
957
|
+
*/
|
|
958
|
+
private layoutCache;
|
|
581
959
|
/**
|
|
582
960
|
* Form definition containing groups and fields
|
|
583
961
|
*/
|
|
@@ -598,6 +976,12 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
598
976
|
* Custom layout configuration for form fields
|
|
599
977
|
*/
|
|
600
978
|
layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
|
|
979
|
+
protected expressionEvaluator(expression: any, context: any): Promise<any>;
|
|
980
|
+
protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
|
|
981
|
+
/**
|
|
982
|
+
* Evaluate definition when inputs change with last-write-wins and deep-equality guard
|
|
983
|
+
*/
|
|
984
|
+
eff: _angular_core.EffectRef;
|
|
601
985
|
/**
|
|
602
986
|
* Emitted when form context changes
|
|
603
987
|
*/
|
|
@@ -620,6 +1004,10 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
620
1004
|
* Computed layout configuration
|
|
621
1005
|
*/
|
|
622
1006
|
protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
1007
|
+
/**
|
|
1008
|
+
* Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
|
|
1009
|
+
*/
|
|
1010
|
+
protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
|
|
623
1011
|
/**
|
|
624
1012
|
* Host classes based on layout look and direction
|
|
625
1013
|
*/
|
|
@@ -684,6 +1072,7 @@ interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string
|
|
|
684
1072
|
placeholder?: string;
|
|
685
1073
|
disabled?: boolean;
|
|
686
1074
|
readonly?: boolean;
|
|
1075
|
+
allowSearch?: boolean;
|
|
687
1076
|
validations?: AXPValidationRules;
|
|
688
1077
|
}
|
|
689
1078
|
interface LookupBoxOptions {
|
|
@@ -752,10 +1141,17 @@ interface ColorBoxOptions {
|
|
|
752
1141
|
readonly?: boolean;
|
|
753
1142
|
validations?: AXPValidationRules;
|
|
754
1143
|
}
|
|
1144
|
+
interface IFieldOptions {
|
|
1145
|
+
hidden?: string | boolean;
|
|
1146
|
+
readonly?: string | boolean;
|
|
1147
|
+
disabled?: string | boolean;
|
|
1148
|
+
defaultValue?: any;
|
|
1149
|
+
}
|
|
755
1150
|
interface IFieldBuilder {
|
|
756
1151
|
title(title: string): IFieldBuilder;
|
|
757
1152
|
description(description: string): IFieldBuilder;
|
|
758
|
-
|
|
1153
|
+
options(values: IFieldOptions): IFieldBuilder;
|
|
1154
|
+
layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
|
|
759
1155
|
textBox(options?: TextBoxOptions): IFieldBuilder;
|
|
760
1156
|
largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
|
|
761
1157
|
richText(options?: RichTextOptions): IFieldBuilder;
|
|
@@ -770,9 +1166,18 @@ interface IFieldBuilder {
|
|
|
770
1166
|
widget(type: string, options?: unknown): IFieldBuilder;
|
|
771
1167
|
}
|
|
772
1168
|
interface IGroupBuilder {
|
|
1169
|
+
title(title: string): IGroupBuilder;
|
|
1170
|
+
description(description: string): IGroupBuilder;
|
|
773
1171
|
field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
|
|
774
1172
|
group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
|
|
775
1173
|
}
|
|
1174
|
+
interface IStepBuilder {
|
|
1175
|
+
title(title: string): IStepBuilder;
|
|
1176
|
+
description(description: string): IStepBuilder;
|
|
1177
|
+
icon(icon: string): IStepBuilder;
|
|
1178
|
+
direction(direction: AXPDynamicFormDirection): IStepBuilder;
|
|
1179
|
+
group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
|
|
1180
|
+
}
|
|
776
1181
|
interface IFormBuilder {
|
|
777
1182
|
group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
|
|
778
1183
|
layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
|
|
@@ -787,6 +1192,17 @@ interface IActionBuilder {
|
|
|
787
1192
|
}
|
|
788
1193
|
interface IDialogBuilder extends IFormBuilder {
|
|
789
1194
|
group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
|
|
1195
|
+
layout(config: Partial<AXPDynamicFormLayoutConfig>): IDialogBuilder;
|
|
1196
|
+
look(look: AXPDynamicFormLook): IDialogBuilder;
|
|
1197
|
+
direction(direction: AXPDynamicFormDirection): IDialogBuilder;
|
|
1198
|
+
closeButton(closeButton: boolean): IDialogBuilder;
|
|
1199
|
+
step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
|
|
1200
|
+
stepperDirection(direction: AXOrientation): IDialogBuilder;
|
|
1201
|
+
guardNext(guard: (e: {
|
|
1202
|
+
index: number;
|
|
1203
|
+
id: string;
|
|
1204
|
+
fullContext: unknown;
|
|
1205
|
+
}) => Promise<boolean>): IDialogBuilder;
|
|
790
1206
|
title(title: string): IDialogBuilder;
|
|
791
1207
|
message(message?: string): IDialogBuilder;
|
|
792
1208
|
size(size: AXPopupSizeType): IDialogBuilder;
|
|
@@ -805,6 +1221,14 @@ interface DialogBuilderState extends FormBuilderState {
|
|
|
805
1221
|
message?: string;
|
|
806
1222
|
size?: AXPopupSizeType;
|
|
807
1223
|
context?: AXPContextData;
|
|
1224
|
+
steps: StepBuilderState[];
|
|
1225
|
+
stepperDirection?: AXOrientation;
|
|
1226
|
+
closeButton?: boolean;
|
|
1227
|
+
guardNext?: (e: {
|
|
1228
|
+
index: number;
|
|
1229
|
+
id: string;
|
|
1230
|
+
fullContext: unknown;
|
|
1231
|
+
}) => Promise<boolean>;
|
|
808
1232
|
actions?: {
|
|
809
1233
|
footer?: {
|
|
810
1234
|
prefix?: AXPActionMenuItem[];
|
|
@@ -817,7 +1241,11 @@ interface FieldBuilderState {
|
|
|
817
1241
|
title?: string;
|
|
818
1242
|
description?: string;
|
|
819
1243
|
defaultValue?: any;
|
|
1244
|
+
hidden?: string | boolean;
|
|
1245
|
+
readonly?: string | boolean;
|
|
1246
|
+
disabled?: string | boolean;
|
|
820
1247
|
widget?: AXPWidgetNode;
|
|
1248
|
+
layout?: AXPDynamicFormFieldDefinition['layout'];
|
|
821
1249
|
}
|
|
822
1250
|
interface GroupBuilderState {
|
|
823
1251
|
name: string;
|
|
@@ -825,6 +1253,14 @@ interface GroupBuilderState {
|
|
|
825
1253
|
description?: string;
|
|
826
1254
|
parameters: AXPDynamicFormFieldDefinition[];
|
|
827
1255
|
}
|
|
1256
|
+
interface StepBuilderState {
|
|
1257
|
+
id: string;
|
|
1258
|
+
title?: string;
|
|
1259
|
+
description?: string;
|
|
1260
|
+
icon?: string;
|
|
1261
|
+
formDirection?: AXPDynamicFormDirection;
|
|
1262
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
1263
|
+
}
|
|
828
1264
|
|
|
829
1265
|
declare class AXPDynamicFormBuilderService {
|
|
830
1266
|
private readonly dialogService;
|
|
@@ -840,6 +1276,17 @@ declare class AXPDynamicFormBuilderService {
|
|
|
840
1276
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
|
|
841
1277
|
}
|
|
842
1278
|
|
|
1279
|
+
type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
|
|
1280
|
+
declare class AXPStateMessageComponent {
|
|
1281
|
+
mode: _angular_core.InputSignal<StateMode>;
|
|
1282
|
+
icon: _angular_core.InputSignal<string>;
|
|
1283
|
+
title: _angular_core.InputSignal<string>;
|
|
1284
|
+
description: _angular_core.InputSignal<string>;
|
|
1285
|
+
variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
|
|
1286
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
|
|
1287
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
843
1290
|
/**
|
|
844
1291
|
* Describes a schema-only definition for an extra property (no value).
|
|
845
1292
|
*/
|
|
@@ -1006,6 +1453,48 @@ declare class AXPQueryFiltersComponent {
|
|
|
1006
1453
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
|
|
1007
1454
|
}
|
|
1008
1455
|
|
|
1456
|
+
interface AXPWidgetPropertyTab {
|
|
1457
|
+
name: string;
|
|
1458
|
+
title: string;
|
|
1459
|
+
groups: {
|
|
1460
|
+
name: string;
|
|
1461
|
+
title: string;
|
|
1462
|
+
isCollapsed: boolean;
|
|
1463
|
+
props: AXPWidgetProperty[];
|
|
1464
|
+
}[];
|
|
1465
|
+
}
|
|
1466
|
+
interface AXPWidgetPropertiesChangedEvent {
|
|
1467
|
+
values: any;
|
|
1468
|
+
mode: 'init' | 'update';
|
|
1469
|
+
}
|
|
1470
|
+
declare class AXPWidgetPropertyViewerComponent {
|
|
1471
|
+
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
1472
|
+
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
1473
|
+
private widgetRegistryService;
|
|
1474
|
+
protected currentTabIndex: WritableSignal<number>;
|
|
1475
|
+
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
1476
|
+
protected allPoperties: AXPWidgetProperty[];
|
|
1477
|
+
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
1478
|
+
protected groups: _angular_core.Signal<{
|
|
1479
|
+
name: string;
|
|
1480
|
+
title: string;
|
|
1481
|
+
isCollapsed: boolean;
|
|
1482
|
+
props: AXPWidgetProperty[];
|
|
1483
|
+
}[]>;
|
|
1484
|
+
protected groupCollapsedStates: Map<string, boolean>;
|
|
1485
|
+
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
1486
|
+
protected context: WritableSignal<any>;
|
|
1487
|
+
protected initialContext: any;
|
|
1488
|
+
constructor();
|
|
1489
|
+
update(values: any): void;
|
|
1490
|
+
private fillTabs;
|
|
1491
|
+
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
1492
|
+
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
1493
|
+
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
1494
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
1495
|
+
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>;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1009
1498
|
declare class AXPQuerySortsComponent {
|
|
1010
1499
|
sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
|
|
1011
1500
|
sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
|
|
@@ -1235,47 +1724,5 @@ declare class AXPWidgetItemComponent {
|
|
|
1235
1724
|
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>;
|
|
1236
1725
|
}
|
|
1237
1726
|
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
title: string;
|
|
1241
|
-
groups: {
|
|
1242
|
-
name: string;
|
|
1243
|
-
title: string;
|
|
1244
|
-
isCollapsed: boolean;
|
|
1245
|
-
props: AXPWidgetProperty[];
|
|
1246
|
-
}[];
|
|
1247
|
-
}
|
|
1248
|
-
interface AXPWidgetPropertiesChangedEvent {
|
|
1249
|
-
values: any;
|
|
1250
|
-
mode: 'init' | 'update';
|
|
1251
|
-
}
|
|
1252
|
-
declare class AXPWidgetPropertyViewerComponent {
|
|
1253
|
-
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
1254
|
-
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
1255
|
-
private widgetRegistryService;
|
|
1256
|
-
protected currentTabIndex: WritableSignal<number>;
|
|
1257
|
-
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
1258
|
-
protected allPoperties: AXPWidgetProperty[];
|
|
1259
|
-
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
1260
|
-
protected groups: _angular_core.Signal<{
|
|
1261
|
-
name: string;
|
|
1262
|
-
title: string;
|
|
1263
|
-
isCollapsed: boolean;
|
|
1264
|
-
props: AXPWidgetProperty[];
|
|
1265
|
-
}[]>;
|
|
1266
|
-
protected groupCollapsedStates: Map<string, boolean>;
|
|
1267
|
-
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
1268
|
-
protected context: WritableSignal<any>;
|
|
1269
|
-
protected initialContext: any;
|
|
1270
|
-
constructor();
|
|
1271
|
-
update(values: any): void;
|
|
1272
|
-
private fillTabs;
|
|
1273
|
-
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
1274
|
-
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
1275
|
-
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
1276
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
1277
|
-
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>;
|
|
1278
|
-
}
|
|
1279
|
-
|
|
1280
|
-
export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, 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 };
|
|
1281
|
-
export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFormBuilder, IGroupBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions };
|
|
1727
|
+
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, AXPDynamicFormComponent, AXPDynamicFormStepperComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPStateMessageComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, 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 };
|
|
1728
|
+
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPDynamicFormStepperDefinition, AXPDynamicFormStepperStepDefinition, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFieldOptions, IFormBuilder, IGroupBuilder, IStepBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, StateMode, StepBuilderState, TextBoxOptions, ToggleSwitchOptions };
|