Started adding label task
This commit is contained in:
parent
a400d7cf88
commit
009c303460
|
@ -1,7 +1,8 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
|
||||
import 'package:vikunja_app/components/datetimePicker.dart';
|
||||
import 'package:vikunja_app/components/label.dart';
|
||||
|
||||
import 'package:vikunja_app/global.dart';
|
||||
import 'package:vikunja_app/models/label.dart';
|
||||
import 'package:vikunja_app/models/task.dart';
|
||||
|
@ -29,7 +30,7 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
Duration _repeatAfter;
|
||||
List<Label> _labels;
|
||||
var _reminderInputs = new List<Widget>();
|
||||
var _labelStrings = new List<String>();
|
||||
var _labelWidgets = new List<LabelComponent>();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext ctx) {
|
||||
|
@ -45,10 +46,8 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
))));
|
||||
}
|
||||
|
||||
if (_labelStrings.length == 0) {
|
||||
_labels = _labels ?? widget.task.labels;
|
||||
|
||||
_labels?.map((label) => _labelStrings.add(label.title));
|
||||
if (_labels == null) {
|
||||
_labels = widget.task.labels ?? new List();
|
||||
}
|
||||
|
||||
return Scaffold(
|
||||
|
@ -230,28 +229,37 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
),
|
||||
),
|
||||
Wrap(
|
||||
spacing: 10,
|
||||
children: <Widget>[
|
||||
LabelComponent(
|
||||
label: Label(
|
||||
id: 12134,
|
||||
title: 'Lorem Ipsum',
|
||||
color: Color(0xFFe8e8e8)),
|
||||
onDelete: () {
|
||||
print('deleted');
|
||||
},
|
||||
),
|
||||
LabelComponent(
|
||||
label: Label(
|
||||
id: 12134, title: 'Lorem Ipsum Dolor sit amet'),
|
||||
),
|
||||
LabelComponent(
|
||||
label: Label(id: 12134, title: 'Ipsum'),
|
||||
),
|
||||
LabelComponent(
|
||||
label: Label(id: 12134, title: 'Dolor'),
|
||||
),
|
||||
],
|
||||
spacing: 10,
|
||||
children: _labels.map((Label label) {
|
||||
return LabelComponent(
|
||||
label: label,
|
||||
onDelete: () {
|
||||
_removeLabel(label);
|
||||
},
|
||||
);
|
||||
}).toList()),
|
||||
TypeAheadFormField(
|
||||
textFieldConfiguration: TextFieldConfiguration(
|
||||
controller: _typeAheadController,
|
||||
decoration: InputDecoration(
|
||||
labelText: 'City'
|
||||
)
|
||||
),
|
||||
suggestionsCallback: (pattern) {
|
||||
return CitiesService.getSuggestions(pattern);
|
||||
},
|
||||
itemBuilder: (context, suggestion) {
|
||||
return ListTile(
|
||||
title: Text(suggestion),
|
||||
);
|
||||
},
|
||||
transitionBuilder: (context, suggestionsBox, controller) {
|
||||
return suggestionsBox;
|
||||
},
|
||||
onSuggestionSelected: (suggestion) {
|
||||
// Here we need to save it
|
||||
print(suggestion);
|
||||
},
|
||||
),
|
||||
Builder(
|
||||
builder: (context) => Padding(
|
||||
|
@ -314,6 +322,14 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||
});
|
||||
}
|
||||
|
||||
_removeLabel(Label label) {
|
||||
|
||||
}
|
||||
|
||||
_searchLabel(String query) {
|
||||
VikunjaGlobal.of(context)
|
||||
}
|
||||
|
||||
// FIXME: Move the following two functions to an extra class or type.
|
||||
_priorityFromString(String priority) {
|
||||
switch (priority) {
|
||||
|
|
35
pubspec.lock
35
pubspec.lock
|
@ -125,6 +125,13 @@ packages:
|
|||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_typeahead:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_typeahead
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.2.1"
|
||||
front_end:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -209,6 +216,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.3.9+1"
|
||||
keyboard_visibility:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: keyboard_visibility
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.5.2"
|
||||
logging:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -272,6 +286,13 @@ packages:
|
|||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.6.2"
|
||||
pedantic:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pedantic
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.4.0"
|
||||
petitparser:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -360,7 +381,7 @@ packages:
|
|||
name: source_span
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.4.1"
|
||||
version: "1.5.4"
|
||||
stack_trace:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -388,28 +409,28 @@ packages:
|
|||
name: term_glyph
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.0.1"
|
||||
version: "1.1.0"
|
||||
test:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: test
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "1.5.1+1"
|
||||
version: "1.5.3"
|
||||
test_api:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_api
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.1"
|
||||
version: "0.2.2"
|
||||
test_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: test_core
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.2.0+1"
|
||||
version: "0.2.1+1"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -467,5 +488,5 @@ packages:
|
|||
source: hosted
|
||||
version: "2.1.15"
|
||||
sdks:
|
||||
dart: ">=2.1.0-dev.5.0 <3.0.0"
|
||||
flutter: ">=0.1.2 <2.0.0"
|
||||
dart: ">=2.1.0 <3.0.0"
|
||||
flutter: ">=0.1.4 <2.0.0"
|
||||
|
|
|
@ -14,6 +14,7 @@ dependencies:
|
|||
http: 0.12.0
|
||||
after_layout: ^1.0.7
|
||||
datetime_picker_formfield: ^0.1.8
|
||||
flutter_typeahead: ^1.2.1
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
Reference in New Issue