Started adding label task

This commit is contained in:
kolaente 2019-03-20 08:25:52 +01:00
parent a400d7cf88
commit 009c303460
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 73 additions and 35 deletions

View File

@ -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) {

View File

@ -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"

View File

@ -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: