added ability to delete task
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import '../model/callback_models/create_task_request.dart';
|
import '../model/callback_models/create_task_request.dart';
|
||||||
|
import '../model/extensions/controller_context.dart';
|
||||||
import '../model/task.dart';
|
import '../model/task.dart';
|
||||||
|
import '../service/task_controller.dart';
|
||||||
import '../service/tools.dart';
|
import '../service/tools.dart';
|
||||||
import '../service/validators.dart';
|
import '../service/validators.dart';
|
||||||
|
|
||||||
@@ -14,6 +16,7 @@ class TaskEditPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _TaskEditPageState extends State<TaskEditPage> {
|
class _TaskEditPageState extends State<TaskEditPage> {
|
||||||
|
Task? task;
|
||||||
final titleController = TextEditingController();
|
final titleController = TextEditingController();
|
||||||
final descriptionController = TextEditingController();
|
final descriptionController = TextEditingController();
|
||||||
final categoryController = TextEditingController();
|
final categoryController = TextEditingController();
|
||||||
@@ -25,17 +28,17 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
final task = ModalRoute.of(context)!.settings.arguments as Task?;
|
task = ModalRoute.of(context)!.settings.arguments as Task?;
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
titleController.text = task.title;
|
titleController.text = task!.title;
|
||||||
descriptionController.text = task.description;
|
descriptionController.text = task!.description;
|
||||||
categoryController.text = task.category;
|
categoryController.text = task!.category;
|
||||||
urlController.text = task.url;
|
urlController.text = task!.url;
|
||||||
dueDateController.text = task.due != null
|
dueDateController.text = task!.due != null
|
||||||
? getIsoDateString(task.due!)
|
? getIsoDateString(task!.due!)
|
||||||
: '';
|
: '';
|
||||||
dueTimeController.text = task.due != null
|
dueTimeController.text = task!.due != null
|
||||||
? TimeOfDay.fromDateTime(task.due!).format(context)
|
? TimeOfDay.fromDateTime(task!.due!).format(context)
|
||||||
: '';
|
: '';
|
||||||
}
|
}
|
||||||
pageTitle = task?.title ?? 'CreateTask';
|
pageTitle = task?.title ?? 'CreateTask';
|
||||||
@@ -44,7 +47,19 @@ class _TaskEditPageState extends State<TaskEditPage> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(title: Text(pageTitle)),
|
appBar: AppBar(
|
||||||
|
title: Text(pageTitle),
|
||||||
|
actions: [
|
||||||
|
if (task != null)
|
||||||
|
IconButton(
|
||||||
|
onPressed: () {
|
||||||
|
context.controller<TaskController>().deleteTask(task!);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
icon: Icon(Icons.delete),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
body: Form(
|
body: Form(
|
||||||
autovalidateMode: AutovalidateMode.onUnfocus,
|
autovalidateMode: AutovalidateMode.onUnfocus,
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
Reference in New Issue
Block a user