@quadrel-enterprise-ui/framework 20.5.0 → 20.6.0

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/index.d.ts CHANGED
@@ -1524,6 +1524,19 @@ interface QdTablePrimaryAction<T extends string> {
1524
1524
  * @description Refresh configuration for the table after the action completes.
1525
1525
  */
1526
1526
  refresh?: QdTableRefreshConfig;
1527
+ /**
1528
+ * @description Highlights the visited row when the user returns to the table.
1529
+ *
1530
+ * When enabled, the table remembers which row triggered this action.
1531
+ * Upon revisiting the table, that row is briefly highlighted to help the user regain orientation.
1532
+ *
1533
+ * **Requirements:**
1534
+ * - A `uid` must be set on the table configuration to persist the state across navigation.
1535
+ * - Set `trackRowBy` on the table config or provide a `uid` on each row for reliable identification.
1536
+ *
1537
+ * @default false
1538
+ */
1539
+ highlightOnRevisit?: boolean;
1527
1540
  }
1528
1541
  /**
1529
1542
  * @description Defines a secondary action that is shown in the menu. Can be disabled.
@@ -1553,6 +1566,19 @@ interface QdTableSecondaryAction<T extends string> {
1553
1566
  * @description Refresh configuration for the table after the action completes.
1554
1567
  */
1555
1568
  refresh?: QdTableRefreshConfig;
1569
+ /**
1570
+ * @description Highlights the visited row when the user returns to the table.
1571
+ *
1572
+ * When enabled, the table remembers which row triggered this action.
1573
+ * Upon revisiting the table, that row is briefly highlighted to help the user regain orientation.
1574
+ *
1575
+ * **Requirements:**
1576
+ * - A `uid` must be set on the table configuration to persist the state across navigation.
1577
+ * - Set `trackRowBy` on the table config or provide a `uid` on each row for reliable identification.
1578
+ *
1579
+ * @default false
1580
+ */
1581
+ highlightOnRevisit?: boolean;
1556
1582
  /**
1557
1583
  * @description Controls in which operation mode this action is shown. May be set by the Quadrel Framework ('edit' or 'view').
1558
1584
  *
@@ -1603,8 +1629,8 @@ interface QdTableConfigSelection<T extends string> {
1603
1629
  */
1604
1630
  type?: QdTableConfigSelectionType;
1605
1631
  /**
1606
- * @description Configure the rows that are initially selected. You can indicate a row by its uid or its index.
1607
- * The uids can be defined in the table data row objects.
1632
+ * @description Configure the rows that are initially selected.
1633
+ * Rows can be identified by the `trackRowBy` function result, `uid`, or index.
1608
1634
  *
1609
1635
  * * @default: []
1610
1636
  */
@@ -3981,6 +4007,17 @@ interface QdTableConfig<T extends string> {
3981
4007
  * additional events to ensure that the displayed data remains up-to-date.
3982
4008
  */
3983
4009
  refreshingEvents?: QdTableOptionalRefreshingEventTypes[];
4010
+ /**
4011
+ * @description Specifies a function to derive the row identity for features like selection and highlightOnRevisit.
4012
+ *
4013
+ * When set, the function is called with the row data to produce a unique identifier.
4014
+ * The returned value **must be unique** across all rows in the table.
4015
+ *
4016
+ * Fallback chain: `trackRowBy(row)` → `row.uid` → `rowIndex`
4017
+ *
4018
+ * @example trackRowBy: row => row.reference
4019
+ */
4020
+ trackRowBy?: (row: QdTableDataRow<T>) => string | number;
3984
4021
  /**
3985
4022
  * @description Sets a unique identifier for the table. Used as key to hold in NgRx store.
3986
4023
  *
@@ -13905,6 +13942,7 @@ interface QdTableState<T extends string> {
13905
13942
  requestState?: QdTableRequestState;
13906
13943
  connectors?: QdTableConnector[];
13907
13944
  connectorCriteria?: QdTableConnectorCriteria;
13945
+ lastVisitedRowIdentifier?: QdTableRowIdentifier;
13908
13946
  }
13909
13947
  interface QdTablePaginatorCurrentPage {
13910
13948
  start: number;
@@ -14192,6 +14230,7 @@ declare class QdTableComponent<T extends string> implements OnInit, OnChanges, O
14192
14230
  private initRefresh;
14193
14231
  private triggerRefresh;
14194
14232
  private validateConfig;
14233
+ private hasHighlightOnRevisit;
14195
14234
  /**
14196
14235
  * @description Can be deleted when the property "mainColumnNotFillingWidth" is dropped.
14197
14236
  *
@@ -14609,17 +14648,22 @@ declare class QdScrollToPaginationDirective<T extends string> implements OnInit,
14609
14648
  static ɵdir: i0.ɵɵDirectiveDeclaration<QdScrollToPaginationDirective<any>, "[qdScrollToPagination]", never, {}, {}, never, never, false, never>;
14610
14649
  }
14611
14650
 
14612
- declare class QdTableBodyComponent<T extends string> implements OnDestroy {
14651
+ declare class QdTableBodyComponent<T extends string> implements OnInit, OnDestroy {
14613
14652
  private tableStoreService;
14614
14653
  private resolverService;
14654
+ private cdr;
14615
14655
  config: QdTableConfig<T>;
14616
14656
  data: QdTableDataRow<T>[];
14617
14657
  testId?: string;
14618
14658
  isLoading$: Observable<boolean>;
14659
+ highlightedRowIdentifier: QdTableRowIdentifier | undefined;
14619
14660
  private _primaryActionRefreshSubscription?;
14620
14661
  constructor();
14662
+ ngOnInit(): void;
14621
14663
  ngOnDestroy(): void;
14664
+ isLastVisitedRow(rowData: QdTableDataRow<T>, rowIndex: number): boolean;
14622
14665
  primaryAction(rowData: QdTableDataRow<T>, index: number): void;
14666
+ private initHighlight;
14623
14667
  private triggerRefresh;
14624
14668
  static ɵfac: i0.ɵɵFactoryDeclaration<QdTableBodyComponent<any>, never>;
14625
14669
  static ɵcmp: i0.ɵɵComponentDeclaration<QdTableBodyComponent<any>, "[qd-table-body]", never, { "config": { "alias": "config"; "required": false; }; "data": { "alias": "data"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
@@ -14760,6 +14804,7 @@ declare class QdTableRowComponent<T extends string> implements OnInit {
14760
14804
  declare class QdTableRowSelectionComponent<T extends string> {
14761
14805
  private rowSelectionService;
14762
14806
  rowIndex: QdTableRowIndex;
14807
+ rowData: QdTableDataRow<T>;
14763
14808
  testId: string;
14764
14809
  get dataTestId(): string;
14765
14810
  get selectionType(): string;
@@ -14768,7 +14813,7 @@ declare class QdTableRowSelectionComponent<T extends string> {
14768
14813
  stopPropagation(event: Event): void;
14769
14814
  handleChange(event: Event): void;
14770
14815
  static ɵfac: i0.ɵɵFactoryDeclaration<QdTableRowSelectionComponent<any>, never>;
14771
- static ɵcmp: i0.ɵɵComponentDeclaration<QdTableRowSelectionComponent<any>, "[qd-table-row-selection]", never, { "rowIndex": { "alias": "rowIndex"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
14816
+ static ɵcmp: i0.ɵɵComponentDeclaration<QdTableRowSelectionComponent<any>, "[qd-table-row-selection]", never, { "rowIndex": { "alias": "rowIndex"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
14772
14817
  }
14773
14818
 
14774
14819
  declare class QdTableSortComponent<T extends string> implements OnInit, OnDestroy {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quadrel-enterprise-ui/framework",
3
- "version": "20.5.0",
3
+ "version": "20.6.0",
4
4
  "exports": {
5
5
  "./jest-preset": "./jest-preset.js",
6
6
  "./package.json": {