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
|
return state.rebuild((b) => b
|
||||||
..listUIState.replace(taskListReducer(state.listUIState, action))
|
..listUIState.replace(taskListReducer(state.listUIState, action))
|
||||||
..editing.replace(editingReducer(state.editing, action))
|
..editing.replace(editingReducer(state.editing, action))
|
||||||
//..editingTime = editingTimeReducer(state.editingTime, action)
|
..editingTime = editingTimeReducer(state.editingTime, action)
|
||||||
..selectedId = selectedIdReducer(state.selectedId, action));
|
..selectedId = selectedIdReducer(state.selectedId, action));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
final editingTimeReducer = combineReducers<TaskTime>([
|
||||||
final editingTimeReducer = combineReducers<List<int>([
|
TypedReducer<TaskTime, EditTask>(editTaskTime),
|
||||||
TypedReducer<List<int>, EditTask>(editTaskTime),
|
TypedReducer<TaskTime, EditTaskTime>(editTaskTime),
|
||||||
TypedReducer<List<int>, EditTaskTime>(editTaskTime),
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
List<int> editTaskTime(
|
TaskTime editTaskTime(
|
||||||
List<int> taskTime, dynamic action) {
|
TaskTime taskTime, dynamic action) {
|
||||||
return action.taskTime ?? [];
|
return action.taskTime ?? TaskTime();
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
Reducer<int> selectedIdReducer = combineReducers([
|
Reducer<int> selectedIdReducer = combineReducers([
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,14 @@ class TimePicker extends StatefulWidget {
|
||||||
const TimePicker({
|
const TimePicker({
|
||||||
@required this.labelText,
|
@required this.labelText,
|
||||||
@required this.onSelected,
|
@required this.onSelected,
|
||||||
@required this.selectedDate,
|
@required this.timeOfDay,
|
||||||
this.validator,
|
this.validator,
|
||||||
this.autoValidate = false,
|
this.autoValidate = false,
|
||||||
});
|
});
|
||||||
|
|
||||||
final String labelText;
|
final String labelText;
|
||||||
final DateTime selectedDate;
|
final TimeOfDay timeOfDay;
|
||||||
final Function(int) onSelected;
|
final Function(TimeOfDay) onSelected;
|
||||||
final Function validator;
|
final Function validator;
|
||||||
final bool autoValidate;
|
final bool autoValidate;
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@ class _TimePickerState extends State<TimePicker> {
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
_textController.text = formatDate(
|
_textController.text = formatDate(
|
||||||
widget.selectedDate.toIso8601String(), context,
|
_convertToDate(widget.timeOfDay).toIso8601String(), context,
|
||||||
showDate: false, showTime: true);
|
showDate: false, showTime: true);
|
||||||
|
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
|
|
@ -47,19 +47,17 @@ class _TimePickerState extends State<TimePicker> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _showDatePicker() async {
|
void _showDatePicker() async {
|
||||||
final selectedDate = widget.selectedDate;
|
final selectedDate = widget.timeOfDay;
|
||||||
final hour = selectedDate.hour;
|
final hour = selectedDate.hour;
|
||||||
final minute = selectedDate.minute;
|
final minute = selectedDate.minute;
|
||||||
|
|
||||||
final TimeOfDay selectedTime = await showTimePicker(
|
final TimeOfDay selectedTime = await showTimePicker(
|
||||||
context: context, initialTime: TimeOfDay(hour: hour, minute: minute));
|
context: context, initialTime: TimeOfDay(hour: hour, minute: minute));
|
||||||
|
|
||||||
final date = DateTime(selectedDate.year, selectedDate.month,
|
_textController.text = formatDate(
|
||||||
selectedDate.day, selectedTime.hour, selectedTime.minute);
|
_convertToDate(selectedTime).toIso8601String(), context,
|
||||||
//final date = convertDateTimeToSqlDate(selectedDate);
|
|
||||||
_textController.text = formatDate(date.toIso8601String(), context,
|
|
||||||
showTime: true, showDate: false);
|
showTime: true, showDate: false);
|
||||||
widget.onSelected((date.millisecondsSinceEpoch / 1000).floor());
|
widget.onSelected(selectedTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -97,52 +97,9 @@ class TimeEditDetails extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class TimeEditDetailsState extends State<TimeEditDetails> {
|
class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||||
List<TextEditingController> _controllers = [];
|
String _date;
|
||||||
|
TimeOfDay _startTime;
|
||||||
@override
|
TimeOfDay _endTime;
|
||||||
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);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -198,7 +155,15 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||||
icon: Icons.check_circle,
|
icon: Icons.check_circle,
|
||||||
label: localization.done,
|
label: localization.done,
|
||||||
onPressed: () {
|
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();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
@ -207,17 +172,21 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||||
DatePicker(
|
DatePicker(
|
||||||
labelText: localization.date,
|
labelText: localization.date,
|
||||||
selectedDate: convertDateTimeToSqlDate(widget.taskTime.startDate),
|
selectedDate: convertDateTimeToSqlDate(widget.taskTime.startDate),
|
||||||
onSelected: (date) {
|
onSelected: (date) => _date = date,
|
||||||
//viewModel.onChanged(invoice.rebuild((b) => b..dueDate = date));
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
TimePicker(
|
TimePicker(
|
||||||
labelText: localization.startTime,
|
labelText: localization.startTime,
|
||||||
selectedDate: widget.taskTime.startDate,
|
timeOfDay: TimeOfDay(
|
||||||
|
hour: widget.taskTime.startDate.hour,
|
||||||
|
minute: widget.taskTime.startDate.minute),
|
||||||
|
onSelected: (timeOfDay) => _startTime = timeOfDay,
|
||||||
),
|
),
|
||||||
TimePicker(
|
TimePicker(
|
||||||
labelText: localization.endTime,
|
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 {
|
class TaskEditTimesVM {
|
||||||
TaskEditTimesVM({
|
TaskEditTimesVM({
|
||||||
@required this.company,
|
@required this.company,
|
||||||
|
|
@ -33,7 +32,6 @@ class TaskEditTimesVM {
|
||||||
@required this.taskTime,
|
@required this.taskTime,
|
||||||
@required this.onRemoveTaskTimePressed,
|
@required this.onRemoveTaskTimePressed,
|
||||||
@required this.onDoneTaskTimePressed,
|
@required this.onDoneTaskTimePressed,
|
||||||
@required this.onChangedTaskTime,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
factory TaskEditTimesVM.fromStore(Store<AppState> store) {
|
factory TaskEditTimesVM.fromStore(Store<AppState> store) {
|
||||||
|
|
@ -41,24 +39,20 @@ class TaskEditTimesVM {
|
||||||
final task = state.taskUIState.editing;
|
final task = state.taskUIState.editing;
|
||||||
|
|
||||||
return TaskEditTimesVM(
|
return TaskEditTimesVM(
|
||||||
company: state.selectedCompany,
|
company: state.selectedCompany,
|
||||||
task: task,
|
task: task,
|
||||||
taskTime: state.taskUIState.editingTime,
|
taskTime: state.taskUIState.editingTime,
|
||||||
onRemoveTaskTimePressed: (index) =>
|
onRemoveTaskTimePressed: (index) => store.dispatch(DeleteTaskTime(index)),
|
||||||
store.dispatch(DeleteTaskTime(index)),
|
onDoneTaskTimePressed: (taskTime) {
|
||||||
onDoneTaskTimePressed: () => store.dispatch(EditTaskTime()),
|
store.dispatch(UpdateTaskTime(taskTime: taskTime));
|
||||||
onChangedTaskTime: (taskTime, index) {
|
store.dispatch(EditTaskTime());
|
||||||
/*
|
},
|
||||||
store.dispatch(
|
);
|
||||||
UpdateTaskTime(taskTime: taskTime, index: index));
|
|
||||||
*/
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final CompanyEntity company;
|
final CompanyEntity company;
|
||||||
final TaskEntity task;
|
final TaskEntity task;
|
||||||
final TaskTime taskTime;
|
final TaskTime taskTime;
|
||||||
final Function(int) onRemoveTaskTimePressed;
|
final Function(int) onRemoveTaskTimePressed;
|
||||||
final Function onDoneTaskTimePressed;
|
final Function(TaskTime) onDoneTaskTimePressed;
|
||||||
final Function(TaskTime, int) onChangedTaskTime;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue