計算式プラグインを使って、ボタンクリックでテーブル行を追加する例(FSET_TADD版)です。
概要
「共通タスク追加」で、テーブルを初期設定。
「Xタスク追加」、「Yタスク追加」で、テーブル行を追加します。
「完了日時設定」で、作業ステータスが "完了"の場合、日時に現在時刻を設定します。
※計算式プラグイン Ver.82 以降で対応
操作例
アプリ設定
スペース項目を追加します。
ボタン用にスペース項目を要素IDをつけて設定
計算式プラグイン設定
テーブル行追加ボタンクリックで、「テーブル」に追加データを設定します。
「完了日時設定」で、作業ステータスが「完了」行の日時に現在時刻を設定します。
FSET_TADD 関数は、テーブル行データに JSON 文字列またはオブジェクト形式を指定できます。
- JSON 文字列
- "[
{'作業ステータス':'未着手','タスク名':'Xタスク1','期日':'"&TODAY()&"','チェックボックス':['A']},
{'作業ステータス':'未着手','タスク名':'Xタスク2','期日':'"&TODAY()&"'},
{'作業ステータス':'未着手','タスク名':'Xタスク3','期日':'"&TODAY()&"'}
]"
- "[
- オブジェクト形式
- ARRAY_FOR(3,idx,
DIC(
"作業ステータス","未着手",
"タスク名","Yタスク"&(idx+1),
"期日",TODAY(),
"チェックボックス",ARRAY("B")
)
)
- ARRAY_FOR(3,idx,
.js
OPTION: 循環参照を許可
// SP1:(SP1) SPACER
BUTTON("共通タスク追加",
FSET(タスク,
ARRAY("",
"[
{'作業ステータス':'未着手','タスク名':'タスク1','期日':'"&TODAY()&"'},
{'作業ステータス':'未着手','タスク名':'タスク2','期日':'"&TODAY()&"'},
{'作業ステータス':'未着手','タスク名':'タスク3','期日':'"&TODAY()&"'}
]"
)
)
)
// SP2:(SP2) SPACER
BUTTON("Xタスク追加",
FSET_TADD(タスク,
"[
{'作業ステータス':'未着手','タスク名':'Xタスク1','期日':'"&TODAY()&"','チェックボックス':['A']},
{'作業ステータス':'未着手','タスク名':'Xタスク2','期日':'"&TODAY()&"'},
{'作業ステータス':'未着手','タスク名':'Xタスク3','期日':'"&TODAY()&"'}
]"
)
)
// SP3:(SP3) SPACER
BUTTON("Yタスク追加",
FSET_TADD(タスク,
ARRAY_FOR(3,idx,
DIC(
"作業ステータス","未着手",
"タスク名","Yタスク"&(idx+1),
"期日",TODAY(),
"チェックボックス",ARRAY("B")
)
)
)
)
// SP4:(SP4) SPACER
BUTTON("完了日時設定",
ARRAY_MAP(TARRAY(作業ステータス),x,idx,
IF(AND(x="完了",SUBTABLE(日時,idx)=""),
FSET(日時,NOW(),idx)
)
)
)
// SP5:(SP5) SPACER
BUTTON("完了日時設定2",
SUMIF(AND(作業ステータス="完了",日時=""),
FSET(日時,NOW(),ROWNO(タスク))
)
)