forked from vikunja/app
Fixed the reminder list
This commit is contained in:
parent
078c756fb6
commit
b6b113c106
|
@ -31,6 +31,18 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext ctx) {
|
||||
// This builds the initial list of reminder inputs only once.
|
||||
if (_reminderDates == null) {
|
||||
_reminderDates = widget.task.reminderDates ?? new List();
|
||||
|
||||
_reminderDates?.asMap()?.forEach((i, time) =>
|
||||
setState(() => _reminderInputs?.add(VikunjaDateTimePicker(
|
||||
initialValue: time,
|
||||
label: 'Reminder',
|
||||
onSaved: (reminder) => _reminderDates[i] = reminder,
|
||||
))));
|
||||
}
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('Edit Task'),
|
||||
|
@ -146,35 +158,47 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.0),
|
||||
padding: EdgeInsets.only(top: 10),
|
||||
child: Column(
|
||||
children: _reminderInputs ?? _reminderDatesInput(),
|
||||
children: _reminderInputs,
|
||||
)),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.0),
|
||||
child: RaisedButton(onPressed: () {
|
||||
//_reminderInputs = _reminderInputs ?? new List();
|
||||
_reminderDates = _reminderDates ?? new List();
|
||||
_reminderDates.add(
|
||||
null); // We add a new entry every time we add a new input, to make sure all inputs have a place where they can put their value.
|
||||
var currentIndex = _reminderDates.length - 1;
|
||||
padding: EdgeInsets.only(bottom: 10),
|
||||
child: GestureDetector(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding:
|
||||
EdgeInsets.only(right: 15, left: 2),
|
||||
child: Icon(
|
||||
Icons.alarm_add,
|
||||
color: Colors.grey,
|
||||
)),
|
||||
Text(
|
||||
'Add a reminder',
|
||||
style: TextStyle(
|
||||
color: Colors.grey,
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
onTap: () {
|
||||
// We add a new entry every time we add a new input, to make sure all inputs have a place where they can put their value.
|
||||
_reminderDates.add(null);
|
||||
var currentIndex = _reminderDates.length - 1;
|
||||
|
||||
setState(() =>
|
||||
_reminderInputs.add(VikunjaDateTimePicker(
|
||||
label: 'Reminder',
|
||||
onSaved: (reminder) =>
|
||||
_reminderDates[currentIndex] = reminder,
|
||||
)));
|
||||
|
||||
/*_reminderInputs.add(VikunjaDateTimePicker(
|
||||
icon: Icon(Icons.add_alarm),
|
||||
label: 'Add a reminder',
|
||||
onChanged: (reminder) {
|
||||
_reminderDates.add(reminder);
|
||||
//_reminderDatesInput();
|
||||
|
||||
}));*/
|
||||
})),
|
||||
setState(() =>
|
||||
_reminderInputs.add(VikunjaDateTimePicker(
|
||||
label: 'Reminder',
|
||||
onSaved: (reminder) =>
|
||||
_reminderDates[currentIndex] =
|
||||
reminder,
|
||||
)));
|
||||
})),
|
||||
Builder(
|
||||
builder: (context) => Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 10.0),
|
||||
|
|
Loading…
Reference in New Issue