Tasks
This commit is contained in:
parent
705f197f3b
commit
565a0083c3
|
|
@ -27,7 +27,7 @@ class _TimePickerState extends State<TimePicker> {
|
|||
void didChangeDependencies() {
|
||||
if (widget.timeOfDay != null) {
|
||||
_textController.text = formatDate(
|
||||
_convertToDate(widget.timeOfDay).toIso8601String(), context,
|
||||
convertTimeOfDayToDateTime(widget.timeOfDay).toIso8601String(), context,
|
||||
showDate: false, showTime: true);
|
||||
}
|
||||
|
||||
|
|
@ -40,15 +40,6 @@ class _TimePickerState extends State<TimePicker> {
|
|||
super.dispose();
|
||||
}
|
||||
|
||||
DateTime _convertToDate(TimeOfDay timeOfDay) {
|
||||
final now = new DateTime.now();
|
||||
final date = DateTime(now.year, now.month, now.day, timeOfDay?.hour ?? 0,
|
||||
timeOfDay?.minute ?? 0)
|
||||
.toUtc();
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
void _showDatePicker() async {
|
||||
final selectedDate = widget.timeOfDay;
|
||||
final now = DateTime.now();
|
||||
|
|
@ -61,7 +52,7 @@ class _TimePickerState extends State<TimePicker> {
|
|||
|
||||
if (selectedTime != null) {
|
||||
_textController.text = formatDate(
|
||||
_convertToDate(selectedTime).toIso8601String(), context,
|
||||
convertTimeOfDayToDateTime(selectedTime).toIso8601String(), context,
|
||||
showTime: true, showDate: false);
|
||||
|
||||
widget.onSelected(selectedTime);
|
||||
|
|
|
|||
|
|
@ -103,12 +103,12 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
|||
String _date;
|
||||
TimeOfDay _startTime;
|
||||
TimeOfDay _endTime;
|
||||
DurationLength _duration;
|
||||
|
||||
final _durationController = TextEditingController();
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
print('didChangeDependencies...');
|
||||
_date = widget.taskTime.startDate.toIso8601String();
|
||||
_startTime = TimeOfDay(
|
||||
hour: widget.taskTime.startDate.hour,
|
||||
|
|
@ -185,34 +185,35 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
|||
),
|
||||
TimePicker(
|
||||
labelText: localization.startTime,
|
||||
timeOfDay: TimeOfDay(
|
||||
hour: widget.taskTime.startDate.hour,
|
||||
minute: widget.taskTime.startDate.minute),
|
||||
timeOfDay: convertDateTimeToTimeOfDay(widget.taskTime.startDate),
|
||||
onSelected: (timeOfDay) => _startTime = timeOfDay,
|
||||
),
|
||||
TimePicker(
|
||||
labelText: localization.endTime,
|
||||
timeOfDay: widget.taskTime.endDate != null
|
||||
? TimeOfDay(
|
||||
hour: widget.taskTime.endDate.hour,
|
||||
minute: widget.taskTime.endDate.minute)
|
||||
? convertDateTimeToTimeOfDay(widget.taskTime.endDate)
|
||||
: null,
|
||||
onSelected: (timeOfDay) => _endTime = timeOfDay,
|
||||
),
|
||||
PopupMenuButton<int>(
|
||||
padding: EdgeInsets.zero,
|
||||
initialValue: null,
|
||||
itemBuilder: (BuildContext context) => [15, 30].map((minutes) => PopupMenuItem<int>(
|
||||
child: Text(minutes.toString()),
|
||||
value: minutes,
|
||||
)).toList(),
|
||||
onSelected: (paymentTerm) {
|
||||
/*
|
||||
viewModel.onChanged(client
|
||||
.rebuild((b) => b..paymentTerms = paymentTerm.numDays));
|
||||
_paymentTermsController.text =
|
||||
paymentTerm.getPaymentTerm(localization.net);
|
||||
*/
|
||||
itemBuilder: (BuildContext context) =>
|
||||
[15, 30, 45, 60, 75, 90, 105, 120]
|
||||
.map((minutes) => PopupMenuItem<int>(
|
||||
child: Text(formatDuration(
|
||||
Duration(minutes: minutes),
|
||||
showSeconds: false)),
|
||||
value: minutes,
|
||||
))
|
||||
.toList(),
|
||||
onSelected: (duration) {
|
||||
setState(() {
|
||||
_durationController.text = duration.toString();
|
||||
final dateTime = convertTimeOfDayToDateTime(_startTime)
|
||||
.add(Duration(minutes: duration));
|
||||
_endTime = convertDateTimeToTimeOfDay(dateTime);
|
||||
});
|
||||
},
|
||||
child: InkWell(
|
||||
child: IgnorePointer(
|
||||
|
|
@ -232,8 +233,3 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
class DurationLength {
|
||||
DurationLength();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import 'dart:math';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
|
@ -198,7 +199,7 @@ String convertTimestampToDateString(int timestamp) =>
|
|||
|
||||
String formatDuration(Duration duration, {bool showSeconds = true}) {
|
||||
final time = duration.toString().split('.')[0];
|
||||
|
||||
|
||||
if (showSeconds) {
|
||||
return time;
|
||||
} else {
|
||||
|
|
@ -207,6 +208,18 @@ String formatDuration(Duration duration, {bool showSeconds = true}) {
|
|||
}
|
||||
}
|
||||
|
||||
DateTime convertTimeOfDayToDateTime(TimeOfDay timeOfDay) {
|
||||
final now = new DateTime.now();
|
||||
final date = DateTime(now.year, now.month, now.day, timeOfDay?.hour ?? 0,
|
||||
timeOfDay?.minute ?? 0)
|
||||
.toUtc();
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
TimeOfDay convertDateTimeToTimeOfDay(DateTime dateTime) =>
|
||||
TimeOfDay(hour: dateTime?.hour ?? 0, minute: dateTime?.minute ?? 0);
|
||||
|
||||
String formatDateRange(String startDate, String endDate, BuildContext context) {
|
||||
final today = DateTime.now();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue