Ngx-datatable: Make mouseenter type activate event optional

Created on 10 Aug 2018  路  2Comments  路  Source: swimlane/ngx-datatable

Activate event for type "mouseenter" should be optional. It triggers huge amount of change detections and this impacts performance.
I suggest to simply add a parameter to the NGX_COMMON_TABLE_CONFIG to specify what event activate eventemitter should throw.
Swimlane team posture ngx-datatable as "fast" cause it uses onPush changeDetection and than their component make whole app slower and forcing devs to write ugly implementations for container components to use onPush when they not supposed to, cause otherwise it's impossible to use with this component.

I'm submitting a ...

[X] bug report => search github for a similar issue or PR before submitting
[X] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

What is the motivation / use case for changing the behavior?
Each output triggers change detection this leads to a huge performance issue.
Any component with default change detection strategy that is used within the ngx-datatable will be triggered at any mouse move.
Even worse it becomes if such component is used as a part of the the cell template, every mouse move = triggering of change detection * number of currently displayed rows.
Plus imho use case for this type of event is very minimal.

  • Table version:
    13.1.0

  • Angular version:
    6.1.1

  • Browser: all

  • Language: TypeScript 2.9

Most helpful comment

This should be top priority, recalculating all the table on every mouse move kills the performance very fast, also is not well documented, It took me a lot of time finding why my app was so slow.

All 2 comments

This should be top priority, recalculating all the table on every mouse move kills the performance very fast, also is not well documented, It took me a lot of time finding why my app was so slow.

Was this page helpful?
0 / 5 - 0 ratings