Recursion-Group-K / sketch

https://sketch-frontend-d11d98fe289b.herokuapp.com/
0 stars 0 forks source link

Refactor/drawing/vuex/events #80

Closed sokahiri closed 2 years ago

sokahiri commented 2 years ago

やったこと

canvas,KeyUI,DrawingToolsについて、コンポーネント間で受け渡しの必要があったイベントとプロパティをvuexに置いて、vuexからアクセスするようにしました。

説明

移行したプロパティは、他コンポーネントから値を読み取る必要があったポインター速度(pointerSpeed)と、ギャラリーへ公開するかどうか(isPublic)の2つです。 上記のプロパティに関係しないイベント(redo,undo,save,stopPointer)の移行については、vuexで各イベントのTriggerを用意し、Triggerの値の変更をCanvas.vueでwatchすることでイベントを発火するような仕様にしました。 このような仕様にした理由ですが、上記イベントを全てvuex上で記述しようとした際、どうしてもcanvas.vue上のプロパティを全てvuexへ移行する必要が出てきてしまい、デバッグコンソールがactionとmutationの発火の通知で荒れてデバッグし辛かったので、このようにしました。

質問

イベントの仕様についてですが、このような仕様で問題ないでしょうか。

sokahiri commented 2 years ago

今のところactionに引数を渡す形で実装していただけますか! #78

この方法で実装したかったのですが、引数にしたいデータはだいたいCanvas.vueにあるので、イベントの発火元がCanvas.vueではないところ(DrawingTools等)であった場合、「別コンポーネントのCanvasから受け取ったデータを引数としてactionを発火する」という実装になってしまい、本末転倒な気がしたのでこの方法での実装を諦めました。

mcnLeandro commented 2 years ago

今のところactionに引数を渡す形で実装していただけますか! #78

この方法で実装したかったのですが、引数にしたいデータはだいたいCanvas.vueにあるので、イベントの発火元がCanvas.vueではないところ(DrawingTools等)であった場合、「別コンポーネントのCanvasから受け取ったデータを引数としてactionを発火する」という実装になってしまい、本末転倒な気がしたのでこの方法での実装を諦めました。

了解です!問題ないので、マージしますね!