recorder-prototypeに予定作成機能をつける
方式は考え中
どう作ったものかなあ
基本的には記録と同じにするか
相違点
recorderがない
欲しい機能
複数の予定を一括してずらす
開始時刻をずらす
使用時間を変更する
コマの移動に相当する操作
開始時刻を変更すると、それに応じて終了時刻も変化する
直接使用時間を操作できる
その場合、開始時刻固定で終了時刻が延びる
色を変える
オレンジにしよう
予定の複製
コピーボタンでコピーかな?
予定の通知
正直いらない気もする
alerm
予定から記録の開始
ボタンを押すとその予定名で記録を開始する
これほしい
前の記録は即時中断する
破棄はしない
使用時間が尽きるとalermがなるようにする
この機能はRecorder.tsxに入れたほうが良いな
実装
hookからデータを読み書きする
/icons/done.icon必要なもの
全データの同期
useSchedules
複数データの一括変更
moveSchedule
expandSchedule
schedule id のリストとずらし量を渡す
ずらし量はDurationを使う
個別データの更新
addSchedule
updateSchedule
deleteSchedule
全部一緒でもいいのでは?
idなければ新規追加
何も要素が指定されなければ削除
特定要素の削除機能はいらない
databaseのfieldsは全て同じにする
もしくはundefinedを指定する事で削除したことにする
table
だいたい同じ
共通する部分をhookにして取り出しても良いかも
interface
予定の追加
複数追加できるようにするとなお良い
csvテキストを貼り付けると一気に作れるとかあると便利
どういうUIにする?
入力欄を作る
こっちにしよう
テーブルに常に空の入力欄を用意しておく
ちょっと面倒だな
入力すること
開始日時
日付
時刻
終了日時
日付
時刻
使用時間
これを変更すると、同時に終了時間も変更されるようにする
書式
d:hh:mm:ss
年月日は全て日に変換しておく
これ無理だ
どの時間帯によって年月の日数が変化する
ふつうに映すしかないか。
面倒なので年・月の情報は削って表示しちゃえ
1ヶ月以上かかる予定を入れたら正常に動かなくなるが。仕様というとこにしてしまおう
どの数値も常に表示しておく
dは任意の桁
h,m,sは2桁
Durationに変換しやすい書式にする
時刻の一括操作
選択範囲に対して、同じ操作を行う
操作項目
開始時刻
終了時刻
消費時間
タイトルは対象外
/icons/done.iconボタンを使う
本当はinputに直接入力すると自動的に他のcellにも反映させるようにしたかったが、cellへ選択行の情報を送る方法がわからなかったので断念した
直接入力する方法はそのうち調べてみる
13:38:17 useOperator.moveでu.indexOfが関数でないとのerrorが出る
どういうことだろう?
forEachでasync/awaitしているのが原因な気がする
原因はasync/awaitじゃなかった
そもそもschedule.idが存在しなかった
useSchedulesで入っていなかったのかな?
いや入っている。
てことはReact Tableに格納したときにdataが消えた?
違った
整理
moveを実行しようとした時点でtype errorが発生する
エラー内容が意味分かんない
もしかしたら/icons2/CodeSandBox.iconのrendering errorか?
最新のコードが反映されていないのかも
14:01:28 これが原因だった
14:11:00 こんどはDateのrange errorがでた
14:14:10 再読込したら直った
またかい
14:19:03 実装完了!
時刻を後ろにずらせるようにもしたい
方法
後ろにずらすボタンを用意する
簡単なのはこっちだよなあ
時間指定欄で-を許容するする
選択データのコピー
ボタン作るか
選択データがあるときのみ表示する
実装
ScheduleHooksにコピーコマンドを用意する
bottonを追加して、押したらコピーするようにする
17:31:01 実装した
テストする
/icons/done.icon17:32:27
倍々にタスクを増やせて楽しいtakker.icon*3
shiftキーを押しながら選択すると、間のタスクも全部選択できるようにしたい
/icons/done.iconcalendar
色変えだけする
useEditableCellでupdateする対象を変えていなかった
これでは時刻やタイトルの変更が出来ない
変える
18:48:11 useEditableCellを使わずに、直接componentを作ることにした
useEditableCellはRecordDataの仕様と密結合していて使い物にならない /icons/done.icon18:55:03
タスクの追加方法
keyboard shortcutを追加したい
Enter押すと追加できるとか
時刻設定を省略したい
25minとか、予め決められた間隔で作成する
複数のタスクを一括して入力したい
csvを放り込むのが妥当か
もしくは、タイトルだけを羅列して、そこから作るとか
使用時間、interval、追加したい予定のリストを入力すれば、同じ使用時間で一気に予定を追加するとかできそう
時間が定まっていない予定もこの中に入れる?
Todo管理みたいなことができる?
まだ時間を決めていない予定を探し出せる?
2020-12-07 02:06:53 とりあえず表示できるようにした
2020-12-07 12:58:57 schedulesにアクセスできるよう許可を出していなかった
2020-12-07 13:04:09 読み取りが出来ない?
書き込みは出来てる
dataのlistenも出来ている
dataの変換でコケているみたい
13:05:38 変数名をrecordsからschedulesにしていないだけだった
2020-12-07 13:08:46 入力form作成終了