[CHORE]: Update modebar button names to be more accurate/consistent
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 48/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- javascript
調査の方向性
src/components/modebar/buttons.js と src/components/modebar/constants.js から始めて、ボタン名と _cat の値がどのように削除用エイリアスになるかを追跡します。記載されている modebar の名前とカテゴリを更新し、その後 npm run schema を実行して、test/plot-schema.json、src/types/generated/schema.d.ts、src/types/core/layout.d.ts に公開 API の変更が反映されていることを確認します。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- JavaScript
- スター
- 18.3k
- フォーク
- 2k
- 平均マージ
- 2日 12時間
- マージ済み PR(30日)
- 28
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
plotly/plotly.js のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
chore P1 plotly-internal size: 1 task
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
-
chore P3 plotly-internal size: 1 task
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
bug infrastructure P2
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
plotly/plotly.js の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
avniproject/avni-client#2135 ·
-
automated broken-link
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
agent/security hive/hosted-available-lke648397-260827-5n31 security
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
babalae/bettergi-scripts-list#3674 ·
-
A-Release-Notes C-Editing D-Modest S-Ready-For-Implementation
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
bevyengine/bevy-website#2595 ·