-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[project-s] ノート(複数)をドラッグおよびキーボードで移動+長さ変更+削除 #1256
[project-s] ノート(複数)をドラッグおよびキーボードで移動+長さ変更+削除 #1256
Conversation
…lay_pianoroll_from_score
Co-authored-by: Sig <[email protected]>
Co-authored-by: Sig <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
遅れてすみません、レビューしてみました!!
特に大きく変更が必要そうな箇所は見当たりませんでした!
いくつかコメントしてみたので、気に入ったのがあれば改修&再レビュー&マージかなと!
const cursorX = ref(0); | ||
const cursorY = ref(0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
今は常に更新されていますが、必要なときだけ取ってこれるような仕組みにできるとかっこいいかもと思いました!
細かいですが、ドラッグ中用のだとわかるようにdragCursorXとかでも良いかもと思いました。
|
||
const setLyric = (event: InputEvent) => { | ||
if (!(event.target instanceof HTMLInputElement)) { | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
細かくてすみませんがもしよければthrowだと・・・!
(仮になにかのミスでこの関数が呼ばれたとき、なにもせずreturnになってしまってエラーがわからなくので)
return; | |
throw new Error("event.target is not HTMLInputElement"); |
ちなみにGithub Copilot使っているとthrow
と書くだけでそれっぽいエラーメッセージが出てくるので便利だったりします!
const handleKeydown = (event: KeyboardEvent) => { | ||
emit("handleNotesKeydown", event); | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
activeになっているDOM Componentがイベントを受け取って操作を制御する設計、思いつきませんでした!
なるほどです、良さそう。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
レビュー遅くなり失礼しました…!
いくつかコメントしていますが、ほぼLGTMです!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(すみませんコメントが送信できていませんでした…!)
@Hiroshiba @sigprogramming
が主な変更点です。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
コンフリクト解消&修正ありがとうございます!
1箇所だけコメントしていますので、おてすきでご確認お願いいたします!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!!!
(余談です)
マルチセレクト、すごいです。
エディタ側は最初から複数選択できるように作っていなかったので、今から置き換えるのに相当苦労するなという見積もりになっています。
最初から設計に加えておけばよかったなと思いました 😇
@Hiroshiba 複数選択(複数ノートへの一括操作)はわりと使う気が勝手にしていたのですが、思い込みかもしれず |
内容
Noteについて、以下の各操作を行えるようにします。
※ 試行用ブランチではなく別ブランチとし、リファクタリングしてからマージできればと思いましたが、
差分が大きくなりそうなためいったんマージできれば幸いです。
関連 Issue
ref #1114
close #1114
スクリーンショット・動画など
test-vvs.mov
その他
現時点で、以下の問題点があります。
score.notes
をそのまま変更している(移動などが終わってからscore.notes
にセットした方がよさそう)