dc.js
dc.js copied to clipboard
Brushing/filtering issue since 4.1.0 - Broken example
I'm updating from v3 to v4. I've updated D3 to [email protected]. In the process of slowly increasing DC versions, I noticed a problem introduced in 4.1.0 which is still present in 4.2.7.
For brushing, the animation slows to a crawl. It looks like the filtering function is being called continuously:
This video shows the speed of a normal filter, then of a ranged filter:
Broken Example
It looks like the same issue is occurring with one of the examples: https://dc-js.github.io/dc.js/examples/brush-ordinal-dynamic.html
Many thanks for the detailed report. I will look into this.
Any news on this? My short-term memory won't be able to hold onto it for long... :sweat_smile:
I remembered seeing this issue a couple of years back on the same example. I checked my notes, and we had noticed it with a version upgrade of D3. With my limited knowledge of D3, I could not track down the underlying cause,
This example is convoluted, as it relies on the internals of dc
. In the next version, dc
is getting refactored significantly, which allows this feature to be achieved differently - actually far less convoluted (https://dc-js.github.io/examples/brush-ordinal.html). The new approach does not suffer from this issue. Unfortunately, that approach may not be implementable in the current released version of dc
.
In summary, we do not have a solution for this issue for dc
v4. For the next version, there is a better way that does not suffer from this issue.
We are targeting an alpha of the next version in a couple of weeks.
Thanks for the update! Will the alpha version be announced in the changelog, or should I keep my eyes open for a particular branch?
The issues are marked in a milestone - https://github.com/dc-js/dc.js/milestone/17
The branch is https://github.com/dc-js/dc.js/tree/dc-v5
We are currently looking for someone to check the migration guides, etc. Please let me know if you would like to participate.
I'm not sure I'm in the best position to spearhead any kind of transition; I'm on Clojurescript and I'm not fluent in Javascript. Still, when trying to migrate I will let you know if I encounter any pitfalls or bugs.
Looking forward for the next version alpha :smiley: