From 0c362e5ee16c718e78325f3f10455cdc34b25c47 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 16 Feb 2023 14:46:46 +0200 Subject: [PATCH] Schedules --- lib/ui/schedule/edit/schedule_edit.dart | 127 ++++++++++++------------ 1 file changed, 64 insertions(+), 63 deletions(-) diff --git a/lib/ui/schedule/edit/schedule_edit.dart b/lib/ui/schedule/edit/schedule_edit.dart index 57536bd74..838ef1392 100644 --- a/lib/ui/schedule/edit/schedule_edit.dart +++ b/lib/ui/schedule/edit/schedule_edit.dart @@ -139,72 +139,73 @@ class _ScheduleEditState extends State { .toList()), ], ), + FormCard(children: [ + DatePicker( + labelText: localization.nextSendDate, + onSelected: (date, _) { + viewModel.onChanged( + schedule.rebuild((b) => b..nextRun = date)); + }, + selectedDate: schedule.nextRun, + firstDate: DateTime.now(), + ), + AppDropdownButton( + labelText: localization.dateRange, + blankValue: null, + value: parameters.dateRange.isNotEmpty + ? DateRange.valueOf(parameters.dateRange) + : null, + onChanged: (dynamic value) { + final updated = schedule.rebuild( + (b) => b..parameters.dateRange = value.toString()); + viewModel.onChanged(updated); + }, + items: DateRange.values + .map((dateRange) => DropdownMenuItem( + child: Text( + localization.lookup(dateRange.toString())), + value: dateRange, + )) + .toList(), + ), + AppDropdownButton( + labelText: localization.status, + blankValue: null, + value: parameters.status, + onChanged: (dynamic value) { + viewModel.onChanged(schedule + .rebuild((b) => b..parameters.status = value)); + }, + items: [ + kStatementStatusAll, + kStatementStatusPaid, + kStatementStatusUnpaid, + ] + .map((value) => DropdownMenuItem( + child: Text(localization.lookup(value)), + value: value, + )) + .toList(), + ), + SizedBox(height: 20), + BoolDropdownButton( + label: localization.showAgingTable, + value: parameters.showAgingTable, + onChanged: (value) { + viewModel.onChanged(schedule.rebuild( + (b) => b..parameters.showAgingTable = value)); + }), + BoolDropdownButton( + label: localization.showPaymentsTable, + value: parameters.showPaymentsTable, + onChanged: (value) { + viewModel.onChanged(schedule.rebuild( + (b) => b..parameters.showPaymentsTable = value)); + }), + ]), FormCard( isLast: true, children: [ - DatePicker( - labelText: localization.nextSendDate, - onSelected: (date, _) { - viewModel.onChanged( - schedule.rebuild((b) => b..nextRun = date)); - }, - selectedDate: schedule.nextRun, - firstDate: DateTime.now(), - ), - AppDropdownButton( - labelText: localization.dateRange, - blankValue: null, - value: parameters.dateRange.isNotEmpty - ? DateRange.valueOf(parameters.dateRange) - : null, - onChanged: (dynamic value) { - final updated = schedule.rebuild( - (b) => b..parameters.dateRange = value.toString()); - viewModel.onChanged(updated); - }, - items: DateRange.values - .map((dateRange) => DropdownMenuItem( - child: Text( - localization.lookup(dateRange.toString())), - value: dateRange, - )) - .toList(), - ), - AppDropdownButton( - labelText: localization.status, - blankValue: null, - value: parameters.status, - onChanged: (dynamic value) { - viewModel.onChanged(schedule - .rebuild((b) => b..parameters.status = value)); - }, - items: [ - kStatementStatusAll, - kStatementStatusPaid, - kStatementStatusUnpaid, - ] - .map((value) => DropdownMenuItem( - child: Text(localization.lookup(value)), - value: value, - )) - .toList(), - ), - SizedBox(height: 20), - BoolDropdownButton( - label: localization.showAgingTable, - value: parameters.showAgingTable, - onChanged: (value) { - viewModel.onChanged(schedule.rebuild( - (b) => b..parameters.showAgingTable = value)); - }), - BoolDropdownButton( - label: localization.showPaymentsTable, - value: parameters.showPaymentsTable, - onChanged: (value) { - viewModel.onChanged(schedule.rebuild( - (b) => b..parameters.showPaymentsTable = value)); - }), - SizedBox(height: 20), ClientPicker( key: ValueKey('__client_picker_${_clientClearedAt}__'), isRequired: false,