Tasks
This commit is contained in:
parent
15b9e6ef01
commit
f1e846dfb4
|
|
@ -132,8 +132,7 @@ abstract class TaskEntity extends Object
|
||||||
|
|
||||||
final taskTime = TaskTime(
|
final taskTime = TaskTime(
|
||||||
startDate: convertTimestampToDate(startDate),
|
startDate: convertTimestampToDate(startDate),
|
||||||
endDate:
|
endDate: endDate > 0 ? convertTimestampToDate(endDate) : null);
|
||||||
endDate > 0 ? convertTimestampToDate(endDate) : DateTime.now());
|
|
||||||
|
|
||||||
details.add(taskTime);
|
details.add(taskTime);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -40,16 +40,17 @@ class _TimePickerState extends State<TimePicker> {
|
||||||
|
|
||||||
DateTime _convertToDate(TimeOfDay timeOfDay) {
|
DateTime _convertToDate(TimeOfDay timeOfDay) {
|
||||||
final now = new DateTime.now();
|
final now = new DateTime.now();
|
||||||
final date = DateTime(
|
final date = DateTime(now.year, now.month, now.day, timeOfDay?.hour ?? 0,
|
||||||
now.year, now.month, now.day, timeOfDay.hour, timeOfDay.minute);
|
timeOfDay?.minute ?? 0);
|
||||||
|
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _showDatePicker() async {
|
void _showDatePicker() async {
|
||||||
final selectedDate = widget.timeOfDay;
|
final selectedDate = widget.timeOfDay;
|
||||||
final hour = selectedDate.hour;
|
|
||||||
final minute = selectedDate.minute;
|
final hour = selectedDate?.hour ?? 0;
|
||||||
|
final minute = selectedDate?.minute ?? 0;
|
||||||
|
|
||||||
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));
|
||||||
|
|
|
||||||
|
|
@ -108,9 +108,11 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||||
_startTime = TimeOfDay(
|
_startTime = TimeOfDay(
|
||||||
hour: widget.taskTime.startDate.hour,
|
hour: widget.taskTime.startDate.hour,
|
||||||
minute: widget.taskTime.startDate.minute);
|
minute: widget.taskTime.startDate.minute);
|
||||||
_endTime = TimeOfDay(
|
if (widget.taskTime.endDate != null) {
|
||||||
hour: widget.taskTime.endDate.hour,
|
_endTime = TimeOfDay(
|
||||||
minute: widget.taskTime.endDate.minute);
|
hour: widget.taskTime.endDate.hour,
|
||||||
|
minute: widget.taskTime.endDate.minute);
|
||||||
|
}
|
||||||
|
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
}
|
}
|
||||||
|
|
@ -196,9 +198,9 @@ class TimeEditDetailsState extends State<TimeEditDetails> {
|
||||||
),
|
),
|
||||||
TimePicker(
|
TimePicker(
|
||||||
labelText: localization.endTime,
|
labelText: localization.endTime,
|
||||||
timeOfDay: TimeOfDay(
|
timeOfDay: widget.taskTime.endDate != null ? TimeOfDay(
|
||||||
hour: widget.taskTime.endDate.hour,
|
hour: widget.taskTime.endDate.hour,
|
||||||
minute: widget.taskTime.endDate.minute),
|
minute: widget.taskTime.endDate.minute) : null,
|
||||||
onSelected: (timeOfDay) => _endTime = timeOfDay,
|
onSelected: (timeOfDay) => _endTime = timeOfDay,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import 'package:invoiceninja_flutter/redux/company/company_selectors.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/task_model.dart';
|
import 'package:invoiceninja_flutter/data/models/task_model.dart';
|
||||||
|
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||||
|
|
||||||
class TaskItemListTile extends StatelessWidget {
|
class TaskItemListTile extends StatelessWidget {
|
||||||
const TaskItemListTile({
|
const TaskItemListTile({
|
||||||
|
|
@ -22,9 +23,9 @@ class TaskItemListTile extends StatelessWidget {
|
||||||
final startDateString = formatDate(
|
final startDateString = formatDate(
|
||||||
taskItem.startDate.toIso8601String(), context,
|
taskItem.startDate.toIso8601String(), context,
|
||||||
showTime: true, showDate: false);
|
showTime: true, showDate: false);
|
||||||
final endDateString = formatDate(
|
final endDateString = taskItem.endDate != null ? formatDate(
|
||||||
taskItem.endDate.toIso8601String(), context,
|
taskItem.endDate.toIso8601String(), context,
|
||||||
showTime: true, showDate: false);
|
showTime: true, showDate: false) : AppLocalization.of(context).now;
|
||||||
|
|
||||||
final state = StoreProvider.of<AppState>(context).state;
|
final state = StoreProvider.of<AppState>(context).state;
|
||||||
final title = DateFormat('EEE MMM d, yyy', localeSelector(state))
|
final title = DateFormat('EEE MMM d, yyy', localeSelector(state))
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ class AppLocalization {
|
||||||
|
|
||||||
static final Map<String, Map<String, String>> _localizedValues = {
|
static final Map<String, Map<String, String>> _localizedValues = {
|
||||||
'en': {
|
'en': {
|
||||||
|
'now': 'Now',
|
||||||
'auto_start_tasks': 'Auto Start Tasks',
|
'auto_start_tasks': 'Auto Start Tasks',
|
||||||
'timer': 'Timer',
|
'timer': 'Timer',
|
||||||
'manual': 'Manual',
|
'manual': 'Manual',
|
||||||
|
|
@ -10689,6 +10690,9 @@ class AppLocalization {
|
||||||
String get autoStartTasks =>
|
String get autoStartTasks =>
|
||||||
_localizedValues[locale.toString()]['auto_start_tasks'];
|
_localizedValues[locale.toString()]['auto_start_tasks'];
|
||||||
|
|
||||||
|
String get now =>
|
||||||
|
_localizedValues[locale.toString()]['now'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue