[CHORE]: Update modebar button names to be more accurate/consistent
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Refactoring
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- javascript
- Bereich
- data-visualization
Rechercherichtung
Beginne in src/components/modebar/buttons.js und src/components/modebar/constants.js damit nachzuverfolgen, wie Button-Namen und _cat-Werte zu Entfernungsaliasen werden. Aktualisiere die aufgeführten modebar-Namen und -Kategorien, führe anschließend npm run schema aus und überprüfe, dass test/plot-schema.json, src/types/generated/schema.d.ts und src/types/core/layout.d.ts die Änderungen an der öffentlichen API widerspiegeln.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
Update existing modebar button/group names to be more accurate/consistent.
Three related inconsistencies in how modebar buttons are named:
resetViewSankeyreports a differentnamethan its key. It is registered asmodeBarButtons.resetViewSankeybut carriesname: 'resetSankeyGroup'- the only mismatch among the 37 buttons. Removing it therefore requiresmodeBarButtonsToRemove: ['resetSankeyGroup'], whileconfig.modeBarButtonsgroups use'resetViewSankey'._cat: 'reset'matches onlyresetGeo. It reads like a category but leavesresetViews,resetScale2d,resetViewMap, and the sankey reset in place._cat: 'resetView'matches onlyresetViewMap, so it misses the sankey reset despite the name suggesting otherwise.
All of these strings are advertised in the layout.modebar.remove enumeration (48 entries), so they are public API.
Why should this change be made?
Users reasonably expect a button's removal string to match its key, and a category alias to cover a family. Today remove: 'reset' and remove: 'resetView' silently no-op on most reset buttons, and the sankey button can only be removed by a name that appears
nowhere else. Compare the aliases that do behave as categories: zoom (2 buttons), pan (2), zoomin / zoomout (3 each), hoverclosest (4).
Scope
src/components/modebar/buttons.js-nameonresetViewSankey, and the_catvalues forreset/resetView.src/components/modebar/constants.jsbuildsforeButtonsfromname+_cat, so any change regenerates the schema enumeration (npm run schema, committingtest/plot-schema.jsonandsrc/types/generated/schema.d.ts).src/types/core/layout.d.ts-ModeBarDefaultButtonscurrently lists bothresetViewSankeyandresetSankeyGroup
Notes
- All of these changes are breaking
- Nothing is wrong with the current code, but it can be confusing
_catcasing is inconsistent (hoverCompare,resetCameraDefault,resetViewvshoverclosest,zoomin,autoscale) and should be addressed at the same time (though it's only cosmetic)- Every item breaks working code - renaming the sankey
nameinvalidatesmodeBarButtonsToRemove: ['resetSankeyGroup'], and widening the_cataliases makes existingremovecalls take out more buttons. So this belongs in a major release; v4 is the window if it's wanted at all. Separately,_catcasing is inconsistent (hoverCompare,resetCameraDefault,resetViewvshoverclosest,zoomin,autoscale) - cosmetic only, since matching lowercases both sides.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 18.3k
- Forks
- 2k
- Ø Merge
- 2 T. 10 Std.
- Gemergte PRs (30 T.)
- 30
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus plotly/plotly.js
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
chore P3 plotly-internal size: 3 task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
-
chore P1 plotly-internal size: 1 task
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
-
chore P3 plotly-internal size: 1 task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Alle Issues in plotly/plotly.js
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
mksglu/context-mode#1200 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
neondatabase/website#5944 ·
-
module: core
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
jaegertracing/jaeger-ui#4506 ·