Skip to content

chore(deps): update dependency @siemens/ngx-datatable to v26#3815

Open
renovate[bot] wants to merge 2 commits into
masterfrom
renovate/siemens-ngx-datatable-26.x
Open

chore(deps): update dependency @siemens/ngx-datatable to v26#3815
renovate[bot] wants to merge 2 commits into
masterfrom
renovate/siemens-ngx-datatable-26.x

Conversation

@renovate

@renovate renovate Bot commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@siemens/ngx-datatable 22.4.226.2.1 age confidence

Release Notes

siemens/ngx-datatable (@​siemens/ngx-datatable)

v26.2.1

Compare Source

Bug Fixes

v26.2.0

Compare Source

Features
  • summary: add DatatableSummaryRowDirective for custom templates (4c08d79)
Bug Fixes
  • ensure custom sort icons are applied (008b011)

v26.1.0

Compare Source

Features
  • client side scrolling (d46c8ae), closes #​635
  • support skipping deep change detection for rows (d3302c6)
Bug Fixes
  • compute correct level when child precedes parent in tree rows (5b8a569)
  • fill viewport with ghost loader rows on initial load (1cf26f5)
  • keep custom column properties (fada629)
  • keep prior selection when shift-clicking after ctrl-click (d9b0c33), closes #​582
  • wait for DOM updates before scrolling to expanded tree row (b4389af)

v26.0.0

Compare Source

Features
  • replace scss @import with @use (14073de)
  • update to Angular 21 (70c50a3)
Bug Fixes
  • always maintain proportional column sizes (d69957c), closes #​617
  • detect tree changes after treeAction emit (6645fb0)
  • do not announce non‑draggable headers as clickable (55f6021), closes #​583
  • gracefully ignore non-sortable rows when sorting (b6dfdcf), closes #​578 #​611
  • only use trackByProp on row level with strict type (9bdf3f2)
  • sync header and body horizontal scroll via direct DOM scrollLeft (54a4132)
BREAKING CHANGES
  • DatatableComponent.trackByProp input now enforce strict type check as key of row.

    Before:

    // Even though name is not a valid prop on rows it is allowed to be used with trackByProp.

    <ngx-datatable
     trackByProp="'name'"
     [rows]="[{id: 1}, {id: 2}]"
    >
    

    After:
    Typescript would give compilation error as name is not known property in rows.

  • Renamed SCSS variables:

    • $disable-row-text-color to $datatable-disable-row-text-color
    • $datatble-ghost-cell-animation-duration to $datatable-ghost-cell-animation-duration

    This only affects the material and bootstrap theme.

  • Angular 21+ is required.
    Follow the Angular update guide to update your app: https://angular.dev/update-guide?v=19.0-20.0;;

v25.0.0

Compare Source

Features
  • convert selected to signal model with two-way binding (85ed2ae)
  • convert sorts to signal model with two-way binding (e2f4928)
  • update to Angular 20 (327e91b)
Bug Fixes
  • always apply role="row" on summary row (59f9b09)
  • column compareFn should not use sort direction (208ac4a)
  • use actual buttons in pager (8ad98e9)
  • use existing row and cell class styles on ghost rows (a2cfbdd)
BREAKING CHANGES
  • The table no longer calls TableColumn.compareFn
    with the sort direction.
    The table already applies the proper direction.
    This change only removes the parameter, the sorting itself remains unchanged.

    Any usages of the direction in custom compareFn must be removed.
    Implementations which use this property can always return the value for direction='desc',
    to achieve the same result as before.

  • Angular 20+ is required.
    Follow the Angular update guide to update your app: https://angular.dev/update-guide?v=19.0-20.0;

  • The pager component now uses buttons instead of anchors.
    We did this change to properly reflect the nature of those buttons,
    which have never been anchors in terms of behavior.

    This change affects custom themes. Please adjust them accordingly:

    // Before
    .datatable-pager li a {
      // styling
    }
    
    // After
    .datatable-pager .page-button {
      // Override default button styles
      border: 0;
      background none;
      // previous styling
    }
  • The selected input no longer mutates the original array
    passed to the component. Applications that rely on the array being updated
    in place must switch to two-way binding with [(selected)] to maintain
    reactivity.

  • Ghost loader rows will now always use the existing datatable-body-row and datatable-body-cell classes for styling.

    This change ensures consistent styling between regular rows and ghost loader rows, improving visual consistency across the table. Previously, ghost loaders did not always apply these row styles, which caused ghost rows to not have the correct height, cell padding, and bottom border.

    To override or customize ghost loader styles, use the ghost-element and ghost-cell classes.

  • Several fields and methods are removed from the public API.
    Those fields were never intended to be exposed.

  • Previously, the groupedRows input was updated by the datatable,
    when groupRowsBy was used. This behavior was dropped. groupedRows will only contain
    application provided values. The table calculates internal the actual groupedRows
    without exposing them.

  • @siemens/ngx-datatable no longer contains an index.scss and index.css.
    Those files were empty, and its usages can be removed without further changes.

  • Migration to Angular signal inputs/outputs.

    All components now use Angular’s input(), model(), and output() functions
    instead of the @Input/@Output decorators. Consider the following
    implications for your code:

    Template bindings: No changes required! Continue using [inputName] and
    (outputName) in templates as before.

    Programmatic access: Use template binding whenever possible. If not
    possible, understand that setting input values programmatically is only
    possible for model() inputs. Reading input values programmatically also
    requires adjustments for the signal API:

    class Component {
      @&#8203;ViewChild(DatatableComponent) private datatableComponent!: DatatableComponent;
      myFunction(): void {
        // Before
        const value = this.datatableComponent.rows;
        // After
        const value = this.datatableComponent.rows();
      }
    }

    If programmatically subscribing to outputs is needed, read the following guide:
    https://angular.dev/guide/components/outputs#subscribing-to-outputs-programmatically

DEPRECATIONS
  • The DatatableComponent.sort output is deprecated; use (sortsChange) or two-way binding instead.

    Before:

    <ngx-datatable [sorts]="mySorts" (sort)="onSort($event)"></ngx-datatable>

    After:

    <ngx-datatable [sorts]="mySorts" (sortsChange)="onSort({sorts: $event})"></ngx-datatable>
    <!-- or -->
    <ngx-datatable [(sorts)]="mySorts"></ngx-datatable>
  • The DatatableComponent.select output is deprecated; use (selectedChange)
    or two-way binding instead .

    Before:

    <ngx-datatable [selected]="mySelection" (select)="onSelect($event)"></ngx-datatable>

    After:

    <ngx-datatable [(selected)]="mySelection" (selectedChange)="onSelect({selected: $event})"></ngx-datatable>
    <!-- or -->
    <ngx-datatable [(selected)]="mySelection"></ngx-datatable>

24.3.3 (2025-10-31)

Bug Fixes
  • always call <ngx-datatable-row-detail [rowHeight]="function"> with correct index (4076829)

24.3.2 (2025-10-24)

Bug Fixes
  • headerHeight="auto" should be supported (a22f149), closes #​473
  • support parallel usage of grouping and details (a4fabd7), closes #​147

24.3.1 (2025-10-17)

  • Revert "feat(columns): support hidden columns" (de31669)
Bug Fixes
  • show the correct number of pages when using row grouping (7d1141c)

v24.3.3

Compare Source

Bug Fixes
  • always call <ngx-datatable-row-detail [rowHeight]="function"> with correct index (4076829)

v24.3.2

Compare Source

Bug Fixes
  • headerHeight="auto" should be supported (a22f149), closes #​473
  • support parallel usage of grouping and details (a4fabd7), closes #​147

v24.3.1

Compare Source

  • Revert "feat(columns): support hidden columns" (de31669)
Bug Fixes
  • show the correct number of pages when using row grouping (7d1141c)

v24.3.0

Compare Source

Features
  • columns: support hidden columns (ea5a410)
Bug Fixes
  • column-pinning: hide vertical divider if no horizontal scroll (556e964)
  • sort: sort on grouped header column throws errors (dd86662)

v24.2.0

Compare Source

Features
  • support custom classes for tree toggle icons (117d24e)
Bug Fixes
  • pagination: allow space/enter event to paginate (714c5c0), closes #​373
  • rows are not interactive when using disableRowCheck with grouped rows (c689f09)

v24.1.0

Compare Source

Features
  • export pager component for reuse in custom footer (d1bd9c0), closes #​324
Bug Fixes
Performance Improvements
  • optimize DraggableDirective with requestAnimationFrame for smoother updates (5dd8628)

v24.0.0

Compare Source

Features
  • add aria-labels to row selection checkboxes (ae8c946)
  • support using string values in previous enum locations (9033187)
Bug Fixes
  • add treeToggleTemplate property in toInternalColumn method to make custom tree template work (97e8529)
  • calculate correct column width in flex mode after resize (f6d6cf9), closes #​155
  • never render a resize handle after the last column (51e3daf)
  • prevent column reordering between frozen and non-frozen columns (9c38292), closes #​145
DEPRECATIONS
  • All constants that replaced the previous enums should no longer be used. Use the plain string value instead.

    Example:

    // Before
    @&#8203;Component({template: `<ngx-datatable [columnMode]="ColumnMode.Force" />`})
    class MyComponent {
      ColumnMode = ColumnMode;
    }
    
    // After
    @&#8203;Component({template: `<ngx-datatable [columnMode]="'force'" />`})
    class MyComponent { }

BREAKING CHANGES

  • All output properties are now readonly and cannot be reassigned.

23.0.0 (2025-06-24)

See our release announcement.

No changes since 23.0.0-rc.2.

See 23.0.0-rc.0, 23.0.0-rc.1, and 23.0.0-rc.2
for all changes since the last stable release.

23.0.0-rc.2 (2025-06-24)

  • Fix: fix keyboard interaction for cell selection mode

23.0.0-rc.1 (2025-06-22)

  • Feature: introduce a new providedNgxDatatableConfig for a standalone way to configure the datatable (#​259)

  • Breaking: Previously the datatable applied box-sizing: border-box to all its
    elements. This is no longer the case. Custom themes that depend on this must
    set this behavior manually, using:

    *,
    *:before,
    *:after {
      box-sizing: border-box;
    }

v23.0.0

Compare Source

  • Feature: include sorts in page event (#​248)
  • Feature: include pager aria labels in text messages
  • Feature: add touch support for reorderable and resizable features (#​181)
  • Feature: update project to Angular 19
  • Feature: add type for details toggle event (#​173)
  • Feature: add type for context menu event (#​174)
  • Feature: configurable defaultColumnWidth
  • Feature: introduce proper types for public API (#​49)
  • Fix: prevent errors with row-specific ghost in combination with grouping, selection and trees (#​241)
  • Fix: introduce a default value for rows
  • Fix: remove unwanted space below the rows (#​214)
  • Fix: apply even/odd classes correctly when rows are grouped (#​111)
  • Fix: add missing type to comparator (#​167)
  • Fix: only run disabled check on rows
  • Fix: allow partial overrides of messages (#​152)
  • Fix: allow partial overrides of CSS classes (#​151)
  • Fix: add missing space before headerClass (#​138)
  • Fix: do not bind content as innerHTML by default (#​126)
  • Fix: update group checkbox state on child row selection state change
  • Fix: horizontal scroll
  • Fix: partial values for messages and cssClasses
  • Fix: hide rows when ghostLoading with no virtualization
  • Fix: calculate column widths only when table is visible
  • Fix: add missing type for header and cell style classes
  • Fix: resetting table with empty array
  • Fix: align TableColumn directive and interface types
  • Fix: improve ActivateEvent
  • Fix: type cell context
  • Fix: improve types for row grouping
  • Fix: datatable-scroller width should update on recalculate (#​79)
  • Breaking: All inputs except template of DatatableFooterDirective have been
    dropped from the footer directive. Those were unused. Remove any usages without
    replacement.
  • Breaking: Angular v19 or higher is required.
  • Breaking: The datatable no longer accepts undefined as a value of the count
    input.
  • Breaking: The datatable body no longer has spacing below the last row. If
    needed for whatever reason, this must be added manually. Workarounds removing
    this extra space must be dropped.
  • Breaking: Previously CellContext.rowIndex was a string if the row was
    inside a group. Now CellContext.rowIndex is always a number. Either
    containing the index of the row or if the row is inside a group, the index of
    the group. To access the index value of a row within a group, use the new
    CellContext.rowInGroupIndex.
  • Breaking: Removed ResizeableDirective. This directive was intended for
    internal use to handle column resizing, which is now managed directly in the
    DataTableHeaderCellComponent.
  • Breaking: The row detail context (RowDetailContext) no longer contains
    disableRow$?: Observable<boolean>. Use the new disabled: boolean value
    instead.
  • Breaking: The cell context (CellContext) no longer contains
    disableRow$?: Observable<boolean>. Use the new disabled: boolean value
    instead.
  • Breaking: disableRowCheck will only be called with actual rows. Although
    documented otherwise, in the case of groups, the disableRowCheck was only
    called for groups instead of each row inside that group. This allows disabling
    single rows inside a group and not only entire groups. To update the disabled
    state of a row just update the row itself instead of using the previous
    disableRow$ subject.
  • Breaking: Removed several symbols from the public API that were intended to be
    internal.
  • Breaking: Removed polyfill for elementsFromPoint since elementsFromPoint
    is now supported by all major browsers.
  • Breaking: Previously, cell values were bound using innerHTML. With this
    change they are now bound using normal data binding. This means that any html
    markup will no longer be rendered. To restore the previous behavior set
    bindAsUnsafeHtml on columns where needed. We decided to change this behavior,
    as binding innerHTML can lead to HTML injection. Especially in table content
    which are often untrusted user generated content.
  • Breaking: Header cell names are now bound using data binding instead of innerHTML.
    Use a headerTemplate to provide custom html markup.
  • Breaking: Changed Keys enum to use key value instead of keyCode. keyCode
    is deprecated from KeyBoardEvent and should be replaced with key.
  • Breaking: Vendor prefixes are no longer applied for css transform. The
    related helpers are removed from the public api.
  • Breaking: Change signature from onBodyPage({ offset }: any): void to onBodyPage(offset: number): void.
  • Breaking: Almost every public API has now proper types. While this should in
    theory not affect applications it will now fail compilation if the APIs were
    used in an incorrect manner.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot enabled auto-merge (squash) June 21, 2026 14:05
@renovate renovate Bot force-pushed the renovate/siemens-ngx-datatable-26.x branch 3 times, most recently from a21f56d to 8e3c465 Compare June 22, 2026 16:01
@renovate renovate Bot force-pushed the renovate/siemens-ngx-datatable-26.x branch from 8e3c465 to b0358cf Compare June 22, 2026 19:25
- v26 removed the standalone index.css (core structural styles are now
  shipped inside the components), so drop the now-unresolvable import
- use the library's PageEvent type for onPage; the page output now emits
  it instead of our custom DataTablePageEvent
- widen single-value selector onSelect to accept Option rows, matching
  the SelectEvent<Option> the select output now emits
- regenerate lock file for node 22 npm ci compatibility
@renovate

renovate Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant