When viewing the line chart, there is a select event that allows for the selection of points and legend items. The line chart includes an activeElements input property that requires an array of the active elements to be passed in.
One interesting thing to note is that the line chart will not respond to changes made to the activeElements array unless it is entered in the markup using .slice(). This can be done either as a local variable or within a Redux state object:
[activeEntries]="array.slice()"
[activeEntries]="(array | async).slice()"
This method does work, but it has a downside - the select event is no longer triggered when clicking on points.
If you choose to remove .slice(), you will regain the ability to select both points and legends, however, the chart will cease to react to any changes made to activeEntries regardless of the circumstances.
Even if activeEntries is stored within a Redux state object where the entire state is a new object upon each change, implementing changeDetection throughout the code will have no effect.
To see an example of this in action, visit this StackBlitz project:
https://stackblitz.com/edit/angular-ngx-charts-testing-stuff?file=src/.
The code and markup have been extensively commented on so you can get a clearer understanding of what is being attempted in the code.
The ultimate goal here is to enable the ability to click on points and legend items while still utilizing .slice() or ensure that the chart responds accordingly to changes made to the activeEntries array.