@acorex/platform 21.0.0-next.10 → 21.0.0-next.11

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.
Files changed (24) hide show
  1. package/core/index.d.ts +109 -3
  2. package/fesm2022/acorex-platform-core.mjs +3 -0
  3. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-layout-builder.mjs +0 -2
  5. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-layout-components.mjs +6 -6
  7. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-entity.mjs +619 -466
  9. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-views.mjs +2 -2
  11. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-widget-core.mjs +3 -4
  13. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-widgets.mjs +50 -55
  15. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  16. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CIV6YDDZ.mjs → acorex-platform-themes-default-entity-master-list-view.component-CD4Q_UIG.mjs} +3 -3
  17. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD4Q_UIG.mjs.map +1 -0
  18. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  19. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  20. package/layout/entity/index.d.ts +47 -16
  21. package/layout/widgets/index.d.ts +4 -6
  22. package/package.json +9 -9
  23. package/workflow/index.d.ts +4 -4
  24. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CIV6YDDZ.mjs.map +0 -1
@@ -21,9 +21,9 @@ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
21
21
  import { IActionBuilder, IFormFieldBuilder, AXPDialogRef } from '@acorex/platform/layout/builder';
22
22
  import { AXBasePageComponent } from '@acorex/components/page';
23
23
  import { AXFormatService } from '@acorex/core/format';
24
+ import { AXPColumnItemListItem, AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
24
25
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
25
26
  import { AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
26
- import { AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
27
27
 
28
28
  declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
29
29
  private entityForm;
@@ -1350,6 +1350,7 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
1350
1350
  protected readonly categoryTreeService: AXPCategoryTreeService;
1351
1351
  private readonly translationService;
1352
1352
  protected readonly highlightService: AXHighlightService;
1353
+ private readonly changeDetectorRef;
1353
1354
  entityKey: _angular_core.WritableSignal<string>;
1354
1355
  textField: _angular_core.WritableSignal<string>;
1355
1356
  valueField: _angular_core.WritableSignal<string>;
@@ -1427,6 +1428,10 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
1427
1428
  protected datasource: (id?: string) => Promise<AXTreeViewNode[]>;
1428
1429
  protected onConfirm(): Promise<void>;
1429
1430
  protected onCancel(): Promise<void>;
1431
+ /**
1432
+ * Clears all selected items
1433
+ */
1434
+ protected onClearAll(): void;
1430
1435
  /**
1431
1436
  * Checks if a node matches the current search term
1432
1437
  */
@@ -1437,10 +1442,27 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
1437
1442
  protected isNodeSelected(nodeId: string | number | undefined): boolean;
1438
1443
  /**
1439
1444
  * Handles checkbox change event to toggle node selection
1440
- * In multiple mode: recursively selects/deselects children
1441
- * Parent states are handled automatically by tree component's intermediate-nested behavior
1445
+ * In multiple mode: recursively selects/deselects LEAF children only
1446
+ * Parent states are calculated based on leaf descendants
1442
1447
  */
1443
1448
  protected handleCheckboxChange(nodeId: string | number | undefined, checked: boolean): Promise<void>;
1449
+ /**
1450
+ * Selects all leaf descendants of a node (and the node itself if it's a leaf)
1451
+ */
1452
+ private selectLeafDescendants;
1453
+ /**
1454
+ * Deselects all leaf descendants of a node (and the node itself if it's a leaf)
1455
+ */
1456
+ private deselectLeafDescendants;
1457
+ /**
1458
+ * Collects all LEAF descendant node IDs recursively
1459
+ * A leaf node is one that has no children
1460
+ */
1461
+ private collectLeafDescendants;
1462
+ /**
1463
+ * Refreshes parent states in the tree based on leaf selection
1464
+ */
1465
+ private refreshParentStatesInTree;
1444
1466
  /**
1445
1467
  * Selects a node and recursively selects all its children
1446
1468
  */
@@ -1469,24 +1491,26 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
1469
1491
  private loadAndSelectChildrenRecursively;
1470
1492
  private updateSelectedNodes;
1471
1493
  /**
1472
- * Updates all parent states based on their children's selection
1473
- * Used during initialization to ensure proper parent states (select/intermediate)
1494
+ * Builds complete ancestor chains for all selected node IDs.
1495
+ * Returns a Map where key is the selected node ID and value is array of ancestor IDs from root to parent.
1474
1496
  */
1475
- private updateAllParentStates;
1497
+ private buildAncestorChains;
1476
1498
  /**
1477
- * Expands parents of selected nodes so they're visible when popup opens
1499
+ * Expands ancestor nodes in order from root to leaf.
1500
+ * This ensures parent nodes are loaded into the tree before selecting children.
1478
1501
  */
1479
- private expandParentsOfSelectedNodes;
1502
+ private expandAncestorNodesInOrder;
1480
1503
  /**
1481
- * Selects parents whose all children are selected
1482
- * This ensures that when all children of a parent are selected, the parent also appears selected
1504
+ * Syncs selection state with the tree component.
1505
+ * Selects leaf nodes and manually updates parent states (indeterminate/selected).
1483
1506
  */
1484
- private selectParentsWithAllChildrenSelected;
1507
+ private syncSelectionWithTree;
1485
1508
  /**
1486
- * Syncs selection state with the tree component
1487
- * Handles cases where nodes might not be in the tree structure yet
1509
+ * Updates parent node states (selected/indeterminate) based on children selection.
1510
+ * Called after leaf nodes are selected to properly show parent states.
1511
+ * Works bottom-up from deepest parents to root, tracking states in a Map.
1488
1512
  */
1489
- private syncSelectionWithTree;
1513
+ private updateParentStatesAfterSelection;
1490
1514
  /**
1491
1515
  * Loads node data for IDs that are selected but not yet in the cache.
1492
1516
  * This is critical for pre-selected values in collapsed branches.
@@ -1523,7 +1547,7 @@ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent
1523
1547
  private cacheNodeDataFromNodes;
1524
1548
  /**
1525
1549
  * Calculate the full path from root to the selected node.
1526
- * Returns an array of strings like ["C", "B"] for node B under parent C.
1550
+ * Returns an array of strings like ["Operations", "IT Operations"] for node "IT Operations" under parent "Operations".
1527
1551
  * Uses tree-view's getNodePath() API when available, otherwise falls back to manual calculation.
1528
1552
  */
1529
1553
  private calculateNodePath;
@@ -1567,13 +1591,15 @@ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComp
1567
1591
  private efEntity;
1568
1592
  private efDisplay;
1569
1593
  protected visibleItems: _angular_core.Signal<any[]>;
1594
+ protected columnItems: _angular_core.Signal<AXPColumnItemListItem[]>;
1570
1595
  protected showItemDetail(item: any, index: number): Promise<void>;
1571
- protected handleItemClick(index: number): void;
1596
+ protected handleItemClick(listItem: AXPColumnItemListItem): void;
1572
1597
  protected getItemPath(item: any): string[];
1573
1598
  protected hasParent(item: any): boolean;
1574
1599
  protected getItemText(item: any): string;
1575
1600
  protected joinPath(path: string[]): string;
1576
1601
  protected getItemId(item: any): string;
1602
+ protected getBreadcrumbPath(item: any): string;
1577
1603
  private extractItemWithPath;
1578
1604
  /**
1579
1605
  * Calculate the full path from root to the item.
@@ -1631,6 +1657,11 @@ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetCompone
1631
1657
  protected tagBox: _angular_core.Signal<AXTagBoxComponent | undefined>;
1632
1658
  protected searchTerm: _angular_core.WritableSignal<string | null>;
1633
1659
  private entityDef;
1660
+ /**
1661
+ * Flag to prevent the value effect from running during internal updates.
1662
+ * This prevents circular dependency when setItems() calls setValue().
1663
+ */
1664
+ private isInternalUpdate;
1634
1665
  protected handleAddClick(e: AXClickEvent): void;
1635
1666
  protected handleValueChange(e: AXValueChangedEvent): void;
1636
1667
  protected handleOnBlur(e: AXFocusEvent): void;
@@ -669,9 +669,6 @@ interface AXPAddressLabel {
669
669
  interface AXPAddressData {
670
670
  street1: string;
671
671
  street2?: string;
672
- countryId?: string;
673
- stateId?: string;
674
- cityId?: string;
675
672
  postalCode?: string;
676
673
  coordinates?: string;
677
674
  full: string;
@@ -820,6 +817,8 @@ declare class AXPDateTimeBoxWidgetEditComponent extends AXPValueWidgetComponent<
820
817
  protected validationMessage?: string | null;
821
818
  protected multiple: Signal<boolean>;
822
819
  protected clearButton: Signal<boolean>;
820
+ protected minValue: Signal<string>;
821
+ protected maxValue: Signal<string>;
823
822
  protected dateMode: Signal<"short" | "long">;
824
823
  protected format: Signal<"date" | "datetime" | "time">;
825
824
  protected disabled: Signal<boolean>;
@@ -2668,7 +2667,6 @@ declare class AXPQrcodeWidgetEditComponent extends AXPValueWidgetComponent<strin
2668
2667
  }
2669
2668
 
2670
2669
  declare class AXPQrcodeWidgetViewComponent extends AXPValueWidgetComponent<string> {
2671
- protected content: _angular_core.Signal<string>;
2672
2670
  protected size: _angular_core.Signal<number>;
2673
2671
  protected level: _angular_core.Signal<AXQrcodeLevel>;
2674
2672
  protected color: _angular_core.Signal<string>;
@@ -4556,9 +4554,9 @@ declare class AXPFlexOptionsWidgetEditComponent extends AXPValueWidgetComponent<
4556
4554
  protected lastGap: _angular_core.WritableSignal<number>;
4557
4555
  protected selectedJustify: _angular_core.WritableSignal<AXPFlexBoxOption>;
4558
4556
  protected selectedAlign: _angular_core.WritableSignal<AXPFlexBoxOption>;
4559
- protected hoveredAlign: _angular_core.WritableSignal<"center" | "baseline" | "stretch" | "flex-start" | "flex-end" | null | undefined>;
4557
+ protected hoveredAlign: _angular_core.WritableSignal<"center" | "baseline" | "flex-start" | "flex-end" | "stretch" | null | undefined>;
4560
4558
  protected hoveredJustify: _angular_core.WritableSignal<"center" | "flex-start" | "flex-end" | "space-between" | "space-around" | null | undefined>;
4561
- protected clickedAlign: _angular_core.WritableSignal<"center" | "baseline" | "stretch" | "flex-start" | "flex-end" | undefined>;
4559
+ protected clickedAlign: _angular_core.WritableSignal<"center" | "baseline" | "flex-start" | "flex-end" | "stretch" | undefined>;
4562
4560
  protected clickedJustify: _angular_core.WritableSignal<"center" | "flex-start" | "flex-end" | "space-between" | "space-around" | undefined>;
4563
4561
  protected itemsCount: _angular_core.WritableSignal<number>;
4564
4562
  protected setWrapMode(type: AXPFlexBoxString['flexWrap']): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "21.0.0-next.10",
3
+ "version": "21.0.0-next.11",
4
4
  "peerDependencies": {
5
5
  "@acorex/cdk": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
6
6
  "@acorex/core": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
@@ -27,26 +27,26 @@
27
27
  "types": "./index.d.ts",
28
28
  "default": "./fesm2022/acorex-platform.mjs"
29
29
  },
30
+ "./auth": {
31
+ "types": "./auth/index.d.ts",
32
+ "default": "./fesm2022/acorex-platform-auth.mjs"
33
+ },
30
34
  "./common": {
31
35
  "types": "./common/index.d.ts",
32
36
  "default": "./fesm2022/acorex-platform-common.mjs"
33
37
  },
34
- "./core": {
35
- "types": "./core/index.d.ts",
36
- "default": "./fesm2022/acorex-platform-core.mjs"
37
- },
38
38
  "./domain": {
39
39
  "types": "./domain/index.d.ts",
40
40
  "default": "./fesm2022/acorex-platform-domain.mjs"
41
41
  },
42
+ "./core": {
43
+ "types": "./core/index.d.ts",
44
+ "default": "./fesm2022/acorex-platform-core.mjs"
45
+ },
42
46
  "./native": {
43
47
  "types": "./native/index.d.ts",
44
48
  "default": "./fesm2022/acorex-platform-native.mjs"
45
49
  },
46
- "./auth": {
47
- "types": "./auth/index.d.ts",
48
- "default": "./fesm2022/acorex-platform-auth.mjs"
49
- },
50
50
  "./runtime": {
51
51
  "types": "./runtime/index.d.ts",
52
52
  "default": "./fesm2022/acorex-platform-runtime.mjs"
@@ -701,8 +701,8 @@ interface AXPWorkflowInstance {
701
701
  * - parentId?: string - Parent category ID
702
702
  * - childrenCount: number - Direct child categories count (enables lazy loading)
703
703
  * - itemsCount?: number - Direct activities count
704
- * - totalChildren?: number - Total nested categories (optional, for analytics)
705
- * - totalItems?: number - Total activities in tree (optional, for analytics)
704
+ * - totalChildrenCount?: number - Total nested categories (optional, for analytics)
705
+ * - totalItemsCount?: number - Total activities in tree (optional, for analytics)
706
706
  */
707
707
  interface AXPActivityCategory extends AXPCategoryEntity {
708
708
  }
@@ -1564,8 +1564,8 @@ declare class WorkflowExpressionScopeService {
1564
1564
  * - parentId?: string - Parent category ID
1565
1565
  * - childrenCount: number - Direct child categories count (enables lazy loading)
1566
1566
  * - itemsCount?: number - Direct workflows count
1567
- * - totalChildren?: number - Total nested categories (optional, for analytics)
1568
- * - totalItems?: number - Total workflows in tree (optional, for analytics)
1567
+ * - totalChildrenCount?: number - Total nested categories (optional, for analytics)
1568
+ * - totalItemsCount?: number - Total workflows in tree (optional, for analytics)
1569
1569
  */
1570
1570
  interface AXPWorkflowCategory extends AXPCategoryEntity {
1571
1571
  }