Tasks
This commit is contained in:
parent
317cde29f6
commit
9cf788d48d
|
|
@ -10,21 +10,19 @@ EntityUIState taskUIReducer(TaskUIState state, dynamic action) {
|
|||
return state.rebuild((b) => b
|
||||
..listUIState.replace(taskListReducer(state.listUIState, action))
|
||||
..editing.replace(editingReducer(state.editing, action))
|
||||
//..editingTime = editingTimeReducer(state.editingTime, action)
|
||||
..editingTime = editingTimeReducer(state.editingTime, action)
|
||||
..selectedId = selectedIdReducer(state.selectedId, action));
|
||||
}
|
||||
|
||||
/*
|
||||
final editingTimeReducer = combineReducers<List<int>([
|
||||
TypedReducer<List<int>, EditTask>(editTaskTime),
|
||||
TypedReducer<List<int>, EditTaskTime>(editTaskTime),
|
||||
final editingTimeReducer = combineReducers<TaskTime>([
|
||||
TypedReducer<TaskTime, EditTask>(editTaskTime),
|
||||
TypedReducer<TaskTime, EditTaskTime>(editTaskTime),
|
||||
]);
|
||||
|
||||
List<int> editTaskTime(
|
||||
List<int> taskTime, dynamic action) {
|
||||
return action.taskTime ?? [];
|
||||
TaskTime editTaskTime(
|
||||
TaskTime taskTime, dynamic action) {
|
||||
return action.taskTime ?? TaskTime();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
Reducer<int> selectedIdReducer = combineReducers([
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@ class TimePicker extends StatefulWidget {
|
|||
const TimePicker({
|
||||
@required this.labelText,
|
||||
@required this.onSelected,
|
||||
@required this.selectedDate,
|
||||
@required this.timeOfDay,
|
||||
this.validator,
|
||||
this.autoValidate = false,
|
||||
});
|
||||
|
||||
final String labelText;
|
||||
final DateTime selectedDate;
|
||||
final Function(int) onSelected;
|
||||
final TimeOfDay timeOfDay;
|
||||
final Function(TimeOfDay) onSelected;
|
||||
final Function validator;
|
||||
final bool autoValidate;
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ class _TimePickerState extends State<TimePicker> {
|
|||
@override
|
||||
void didChangeDependencies() {
|
||||
_textController.text = formatDate(
|
||||
widget.selectedDate.toIso8601String(), context,
|
||||
_convertToDate(widget.timeOfDay).toIso8601String(), context,
|
||||
showDate: false, showTime: true);
|
||||
|
||||
super.didChangeDependencies();
|
||||
|
|
@ -47,19 +47,17 @@ class _TimePickerState extends State<TimePicker> {
|
|||
}
|
||||
|
||||
void _showDatePicker() async {
|
||||
final selectedDate = widget.selectedDate;
|
||||
final selectedDate = widget.timeOfDay;
|
||||
final hour = selectedDate.hour;
|
||||
final minute = selectedDate.minute;
|
||||
|
||||
final TimeOfDay selectedTime = await showTimePicker(
|
||||
context: context, initialTime: TimeOfDay(hour: hour, minute: minute));
|
||||
|
||||
final date = DateTime(selectedDate.year, selectedDate.month,
|
||||
selectedDate.day, selectedTime.hour, selectedTime.minute);
|
||||
//final date = convertDateTimeToSqlDate(selectedDate);
|
||||
_textController.text = formatDate(date.toIso8601String(), context,
|
||||
_textController.text = formatDate(
|
||||
_convertToDate(selectedTime).toIso8601String(), context,
|
||||
showTime: true, showDate: false);
|
||||
widget.onSelected((date.millisecondsSinceEpoch / 1000).floor());
|
||||
widget.onSelected(selectedTime);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
|
|
@ -97,52 +97,9 @@ class TimeEditDetails extends StatefulWidget {
|
|||
}
|
||||
|
||||
class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||
List<TextEditingController> _controllers = [];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
if (_controllers.isNotEmpty) {
|
||||
return;
|
||||
}
|
||||
|
||||
_controllers = [];
|
||||
|
||||
_controllers
|
||||
.forEach((dynamic controller) => controller.addListener(_onChanged));
|
||||
|
||||
super.didChangeDependencies();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_controllers.forEach((dynamic controller) {
|
||||
controller.removeListener(_onChanged);
|
||||
controller.dispose();
|
||||
});
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
void _onChanged() {
|
||||
/*
|
||||
final taskTime = widget.taskTime.rebuild((b) => b
|
||||
..productKey = _productKeyController.text.trim()
|
||||
..notes = _notesController.text.trim()
|
||||
..cost = parseDouble(_costController.text)
|
||||
..qty = parseDouble(_qtyController.text)
|
||||
..discount = parseDouble(_discountController.text)
|
||||
..customValue1 = _custom1Controller.text.trim()
|
||||
..customValue2 = _custom2Controller.text.trim());
|
||||
if (taskTime != widget.taskTime) {
|
||||
widget.viewModel.onChangedTaskTime(taskTime, widget.index);
|
||||
}
|
||||
*/
|
||||
}
|
||||
String _date;
|
||||
TimeOfDay _startTime;
|
||||
TimeOfDay _endTime;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
@ -198,7 +155,15 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
|||
icon: Icons.check_circle,
|
||||
label: localization.done,
|
||||
onPressed: () {
|
||||
//viewModel.onDoneTaskTimePressed();
|
||||
final origTaskTime = widget.taskTime;
|
||||
final date = DateTime.parse(_date);
|
||||
final taskTime = TaskTime(
|
||||
startDate: DateTime(date.year, date.month, date.day,
|
||||
_startTime.hour, _startTime.minute),
|
||||
endDate: DateTime(date.year, date.month, date.day,
|
||||
_endTime.hour, _endTime.minute),
|
||||
);
|
||||
widget.viewModel.onDoneTaskTimePressed(taskTime);
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
|
|
@ -207,17 +172,21 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
|||
DatePicker(
|
||||
labelText: localization.date,
|
||||
selectedDate: convertDateTimeToSqlDate(widget.taskTime.startDate),
|
||||
onSelected: (date) {
|
||||
//viewModel.onChanged(invoice.rebuild((b) => b..dueDate = date));
|
||||
},
|
||||
onSelected: (date) => _date = date,
|
||||
),
|
||||
TimePicker(
|
||||
labelText: localization.startTime,
|
||||
selectedDate: widget.taskTime.startDate,
|
||||
timeOfDay: TimeOfDay(
|
||||
hour: widget.taskTime.startDate.hour,
|
||||
minute: widget.taskTime.startDate.minute),
|
||||
onSelected: (timeOfDay) => _startTime = timeOfDay,
|
||||
),
|
||||
TimePicker(
|
||||
labelText: localization.endTime,
|
||||
selectedDate: widget.taskTime.endDate,
|
||||
timeOfDay: TimeOfDay(
|
||||
hour: widget.taskTime.endDate.hour,
|
||||
minute: widget.taskTime.endDate.minute),
|
||||
onSelected: (timeOfDay) => _endTime = timeOfDay,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ class TaskEditTimesScreen extends StatelessWidget {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class TaskEditTimesVM {
|
||||
TaskEditTimesVM({
|
||||
@required this.company,
|
||||
|
|
@ -33,7 +32,6 @@ class TaskEditTimesVM {
|
|||
@required this.taskTime,
|
||||
@required this.onRemoveTaskTimePressed,
|
||||
@required this.onDoneTaskTimePressed,
|
||||
@required this.onChangedTaskTime,
|
||||
});
|
||||
|
||||
factory TaskEditTimesVM.fromStore(Store<AppState> store) {
|
||||
|
|
@ -41,24 +39,20 @@ class TaskEditTimesVM {
|
|||
final task = state.taskUIState.editing;
|
||||
|
||||
return TaskEditTimesVM(
|
||||
company: state.selectedCompany,
|
||||
task: task,
|
||||
taskTime: state.taskUIState.editingTime,
|
||||
onRemoveTaskTimePressed: (index) =>
|
||||
store.dispatch(DeleteTaskTime(index)),
|
||||
onDoneTaskTimePressed: () => store.dispatch(EditTaskTime()),
|
||||
onChangedTaskTime: (taskTime, index) {
|
||||
/*
|
||||
store.dispatch(
|
||||
UpdateTaskTime(taskTime: taskTime, index: index));
|
||||
*/
|
||||
});
|
||||
company: state.selectedCompany,
|
||||
task: task,
|
||||
taskTime: state.taskUIState.editingTime,
|
||||
onRemoveTaskTimePressed: (index) => store.dispatch(DeleteTaskTime(index)),
|
||||
onDoneTaskTimePressed: (taskTime) {
|
||||
store.dispatch(UpdateTaskTime(taskTime: taskTime));
|
||||
store.dispatch(EditTaskTime());
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
final CompanyEntity company;
|
||||
final TaskEntity task;
|
||||
final TaskTime taskTime;
|
||||
final Function(int) onRemoveTaskTimePressed;
|
||||
final Function onDoneTaskTimePressed;
|
||||
final Function(TaskTime, int) onChangedTaskTime;
|
||||
final Function(TaskTime) onDoneTaskTimePressed;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue