Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Angular 19 #2228

Merged
merged 142 commits into from
Feb 11, 2025
Merged

Support Angular 19 #2228

merged 142 commits into from
Feb 11, 2025

Conversation

steveblue
Copy link
Contributor

@steveblue steveblue commented Feb 5, 2025

What kind of change does this PR introduce? (check one with "x")

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

What is the current behavior? (You can also link to an open issue here)

What is the new behavior?

This PR syncs the Siemens fork back into the repository, aligns the repo with Swimlane tooling, and updates the project to support Angular 19.

Does this PR introduce a breaking change? (check one with "x")

  • Yes
  • No

If this PR contains a breaking change, please describe the impact and migration path for existing applications:

This version will require an application support Angular 17 at the bare minimum. We realize this is a far jump from Angular 12, but it is necessary so we can uptake the latest security updates from the Angular team.

At Swimlane, we realize it may have been difficult for the open source community to go without updates to this project. There are very few options for tables out there that work with Angular that are both free and open source. At Swimlane we are looking to better maintain ngx-datatable moving forward. We thank the wonderful engineers at Siemens for maintaining a fork of the project and providing much needed updates to ngx-datatable, picking up where engineers at Swimlane left off.

Other information:

Silvan Adrian and others added 30 commits February 4, 2025 08:19
* fix: emit page event on page size change for virtual paging

Ensures that the rows (data) are loaded correctly when the layout of the
table has changed. This applies especially to changes for resizing the
view port which let page size increase or decrease.

* perf: don't emit duplicate page events

Co-authored-by: Daniel Ritz <daniel.ritz@shellybits.ch>
Original PR: #2005
Fix CSP issue: #1560

Co-authored-by: Denga Andrei <denhaandrei@gmail.com>
Before this patch, when an Angular component gets destroyed (e.g. for
recreation by parent) while a long-click is in progress, a TypeError
could be thrown.

Co-authored-by: Dominique Quatravaux <dominique.quatravaux@epfl.ch>
See #1798, #1830

Co-authored-by: mikekov <michal_kowalski@hotmail.com>
* fix: fix column resizing basic cases

Still broken: flex, column pinning

* fix: fix flex column resizing

See #1495

* fix: make column resize with pinned columns work a bit better
See #1814

Co-authored-by: Andrey Korovin <akorovin@ves.io>
feat: add custom loading indicator
See #1975

Co-authored-by: Gendy <mohamed.abdelbasetelgendy@vodafone.com>
…ent (#15)

Before, the developer had to specify a flag, if the table shall use a custom empty
comonent. Now the flag is not needed any more. Makes the API cleaner. Either
a custom empty component is available or not.

BREAKING-CHANGE: remove usage of emptyCustomContent input
….checkbox (#18)

This change enables the datatable user to programatically set header checkbox and
column checkbox without the need of using the SelectionType.checkbox. This supports
use cases by combining multi row selection with an additional checkbox view.
* Update body.component.ts

* fix lint issues

* Update body.component.ts

* Update body.component.ts
…ll bar and enabled DOM virtualization (#24)

fix redraw issue due to scrollbar with large data
This will add support to show ghost loading cells default as well as dynamic while paginating data

Co-Authored-By: Fabio Huser <fh1ch@users.noreply.github.com>

Co-authored-by: Fabio Huser <fh1ch@users.noreply.github.com>
* feat: enable vertical scrolling on demand

* style: correct code style issues
Custom loading indicator had a height that was triggering the scroll and could request page loading on server-side virtual scrolling. Now here is a trick. Create a wrapper div, set height to 0.
Co-authored-by: Laxminarayan Chandrashekar <laxminarayan.chandrashekar@siemens.com>
spike-rabbit and others added 22 commits February 5, 2025 14:46
BREAKING CHANGE:
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 CHANGE:
Header cell names are now bound using data binding
instead of `innerHTML`.
Use a `headerTemplate` to provide custom html markup.
BREAKING CHANGE: removed polyfill for `elementsFromPoint` since `elementsFromPoint` is now supported by all major browsers.
This reverts commit ef46b10.
@steveblue steveblue merged commit 4ed4f45 into master Feb 11, 2025
3 checks passed
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.