generated at
recorder-prototypeに予定作成機能をつける
方式は考え中
どう作ったものかなあ

基本的には記録と同じにするか
相違点
recorderがない
欲しい機能
複数の予定を一括してずらす
開始時刻をずらす
使用時間を変更する
コマの移動に相当する操作
開始時刻を変更すると、それに応じて終了時刻も変化する
直接使用時間を操作できる
その場合、開始時刻固定で終了時刻が延びる
色を変える
オレンジにしよう
予定の複製
コピーボタンでコピーかな?
予定の通知
正直いらない気もする
alerm
予定から記録の開始
ボタンを押すとその予定名で記録を開始する
これほしい
前の記録は即時中断する
破棄はしない
使用時間が尽きるとalermがなるようにする
この機能は Recorder.tsx に入れたほうが良いな
実装
hookからデータを読み書きする
done必要なもの
全データの同期
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 に変換しやすい書式にする
時刻の一括操作
選択範囲に対して、同じ操作を行う
操作項目
開始時刻
終了時刻
消費時間
タイトルは対象外
doneボタンを使う
本当は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が発生する
エラー内容が意味分かんない
もしかしたらCodeSandBoxのrendering errorか?
最新のコードが反映されていないのかも
14:01:28 これが原因だった
14:11:00 こんどはDateのrange errorがでた
Firebase.firestore.Timestampに不正な値が入っているということか?
14:14:10 再読込したら直った
またかい
14:19:03 実装完了!
時刻を後ろにずらせるようにもしたい
方法
後ろにずらすボタンを用意する
簡単なのはこっちだよなあ
時間指定欄で - を許容するする
選択データのコピー
ボタン作るか
選択データがあるときのみ表示する
実装
ScheduleHooks にコピーコマンドを用意する
bottonを追加して、押したらコピーするようにする
17:31:01 実装した
テストする
done17:32:27
倍々にタスクを増やせて楽しいtakkertakkertakker
shift キーを押しながら選択すると、間のタスクも全部選択できるようにしたい
donecalendar
色変えだけする
useEditableCell でupdateする対象を変えていなかった
これでは時刻やタイトルの変更が出来ない
変える
18:48:11 useEditableCell を使わずに、直接componentを作ることにした
useEditableCell RecordData の仕様と密結合していて使い物にならない
done18: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作成終了

#2020-12-07 02:07:02
#2020-12-05 09:26:38