redraw <chart type> with no changes is not a noop (svg mocks)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- data-visualization
Piste de recherche
Commencez dans fill_one.js et suivez le chemin style/styleOne jusqu’à Drawing.pointStyle(s, trace, gd, pt). Vérifiez comment les mocks SVG et fullData sont gérés lors des redraws, en particulier pour les types de graphiques concernés. C’est terminé lorsqu’un redraw d’un graphique inchangé laisse les données sous-jacentes intactes et se comporte comme un noop.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
- We traced it back to 2.24.0 (https://github.com/plotly/plotly.js/releases/tag/v2.24.0), which includes a group of PR's that correspond to the exact same figure types that are failing. For example, in the sunburst PR, there's a line that updates the trace marker color.
- From @alexcjohnson:
- In sunburst/style.js (which is part of the plotting pipeline) we have
if(marker.pattern) { if(!marker.colors || !marker.pattern.shape) marker.color = cdi.color; } else { marker.color = cdi.color; }- ie we’re changing _fullData during plotting. Which is a big no no. So yeah that’s where the noop is being broken, we should avoid that, which I bet in this case means creating a new mock trace object to pass into Drawing.pointStyle(s, trace, gd, pt); rather than modifying this one. But of course since this has been around for a year and a half, this is not a release blocker.
- Also I’ll note, the code in question is in styleOne, meaning that it’ll be called once for every segment of the sunburst… so if you do go with a mock trace object, put the object creation up in style (which only happens once per trace) instead of in styleOne, and styleOne can keep reusing that same object.
If it helps, you’re free to attach new things to the trace object during plotting as long as they start with _. - I’m thinking about things like here where we mock an axis in order to reuse logic from regular axis handling in 3D axes… or here where we mock the entire figure in the course of making a new shrunken version of the figure for rangesliders
- Update after looking into it a bit: The code referenced above is now is
fill_one.js. Added in this commit
- Langage dominant
- JavaScript
- Étoiles
- 18.3k
- Forks
- 2k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 21
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de plotly/plotly.js
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
chore P3 plotly-internal size: 3 task
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
chore P1 plotly-internal size: 1 task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
chore P3 plotly-internal size: 1 task
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
plotly/plotly.js#7648 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de plotly/plotly.js
Issues similaires
-
agent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 Une demi-journée Accessibilité débutants 78/100
jaegertracing/jaeger-ui#4512 ·
Les mainteneurs répondent en général sous 1 jour
-
feedback simulation workshop
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
githubnext/gh-aw-workshop#3857 ·
Les mainteneurs répondent en général sous 2 jours
-
area-clientside-dartpad
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
quarkusio/extensions#3432 ·
Les mainteneurs répondent en général sous 1 jour