From 2db5bf5346d3539c48c1f330ffa42fb72a7bd6e7 Mon Sep 17 00:00:00 2001 From: kb15bhu <99141096+kb15bhu@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:45:59 +0530 Subject: [PATCH 1/5] Update main.dart --- lib/main.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/main.dart b/lib/main.dart index 30aa948..a634662 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:workshop_task/screen/todo_screen.dart'; void main() { runApp(const MyApp()); @@ -20,4 +21,7 @@ class MyApp extends StatelessWidget { home: Container(), ); } + runApp(const MaterialApp( + home: TodoScreen(), + )); } From 9054ab5dace7da37c94e993374e0857e84075d23 Mon Sep 17 00:00:00 2001 From: kb15bhu <99141096+kb15bhu@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:47:44 +0530 Subject: [PATCH 2/5] Update add_todo_dialogue.dart --- lib/widgets/add_todo_dialogue.dart | 49 +++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/lib/widgets/add_todo_dialogue.dart b/lib/widgets/add_todo_dialogue.dart index 29ccd08..6b81d4b 100644 --- a/lib/widgets/add_todo_dialogue.dart +++ b/lib/widgets/add_todo_dialogue.dart @@ -1,17 +1,22 @@ import 'package:flutter/material.dart'; +import 'package:workshop_task/models/todo_list.dart'; +import 'package:workshop_task/models/todo.dart'; class AddTodoDialogue extends StatefulWidget { const AddTodoDialogue({Key key}) : super(key: key); - - @override - _AddTodoDialogueState createState() => _AddTodoDialogueState(); + class AddTodoDialogue extends StatefulWidget { } class _AddTodoDialogueState extends State { + final TextEditingController titlecontroller = TextEditingController(); + final TextEditingController desccontroller = TextEditingController(); + int i = 0; + TodoList listItem = TodoList(); + List lisWig = []; @override Widget build(BuildContext context) { return Container( - width: 200, + width: 180, padding: const EdgeInsets.all(16), child: Column( mainAxisSize: MainAxisSize.min, @@ -23,5 +28,41 @@ class _AddTodoDialogueState extends State { ], ), ); + return Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(2.0)), +child: SizedBox( + height: 180, +child: Padding( + padding: const EdgeInsets.all(10.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + TextField( + controller: titlecontroller, + decoration: const InputDecoration(labelText: "Title"), + ), + TextField( + controller: desccontroller, + decoration: + const InputDecoration(labelText: "Description"), + ), + TextButton( + onPressed: () { + setState(() { + if (titlecontroller.text.isNotEmpty && + desccontroller.text.isNotEmpty) { + Todo content = Todo( + title: titlecontroller.text, + description: desccontroller.text); + + listItem.addTodo(content); + titlecontroller.clear(); + desccontroller.clear(); + } + }); + }, + child: const Text("Submit")) + ])))); } } From b034603c0df0e3ec9b4de5aa63103d46df675bbe Mon Sep 17 00:00:00 2001 From: kb15bhu <99141096+kb15bhu@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:48:11 +0530 Subject: [PATCH 3/5] Update todo_list_item.dart --- lib/widgets/todo_list_item.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/widgets/todo_list_item.dart b/lib/widgets/todo_list_item.dart index fe8536f..ab52b37 100644 --- a/lib/widgets/todo_list_item.dart +++ b/lib/widgets/todo_list_item.dart @@ -2,13 +2,15 @@ import 'package:flutter/material.dart'; import 'package:workshop_task/models/todo.dart'; class TodoListItem extends StatelessWidget { - final Todo todo; - final int index; - const TodoListItem({Key key, this.todo, this.index}) : super(key: key); @override Widget build(BuildContext context) { //TODO: display title and description of todo. return Container(); + return ListTile( + title: Text(todo.title), + subtitle: Text(todo.description), + ) } } + From 0decd8f3b9c81e14e6c472f138755165f087c7d4 Mon Sep 17 00:00:00 2001 From: kb15bhu <99141096+kb15bhu@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:52:08 +0530 Subject: [PATCH 4/5] Update todo_screen.dart --- lib/screen/todo_screen.dart | 130 ++++++++++++++++++++++++++++++++++-- 1 file changed, 125 insertions(+), 5 deletions(-) diff --git a/lib/screen/todo_screen.dart b/lib/screen/todo_screen.dart index 70caa8b..7bfebee 100644 --- a/lib/screen/todo_screen.dart +++ b/lib/screen/todo_screen.dart @@ -3,13 +3,23 @@ import 'package:workshop_task/models/todo_list.dart'; class TodoScreen extends StatefulWidget { const TodoScreen({Key key}) : super(key: key); - - @override - _TodoScreenState createState() => _TodoScreenState(); + class TodoScreen extends StatefulWidget { } class _TodoScreenState extends State { TodoList todoList = TodoList(); + final TextEditingController titlecontroller = TextEditingController(); + final TextEditingController desccontroller = TextEditingController(); + final GlobalKey _scaffoldKey = GlobalKey(); + Widget wigbody = Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: const [ + Center( + child: Text("No Todos Added"), + ) + ], + ); @override Widget build(BuildContext context) { @@ -17,10 +27,120 @@ class _TodoScreenState extends State { appBar: AppBar( title: const Text("Your Todos"), ), - //TODO: Add todo button with this icon => "+". - floatingActionButton: const FloatingActionButton(), + body: //TODO: Add list view displaying all todo. Container(), ); + key: _scaffoldKey, + appBar: AppBar( + title: const Text("My Todos"), + ), + floatingActionButton: FloatingActionButton( + child: const Icon(Icons.add), + color: Colors.white + backgroundColor: Colors.blue, + onPressed: () { + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(5.0)), + child: SizedBox( + height: 200, + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + TextField( + controller: titlecontroller, + decoration: const InputDecoration( + labelText: "Title", hintText: 'Title'), + ), + TextField( + controller: desccontroller, + decoration: const InputDecoration( + labelText: "Description", + hintText: 'Description')), + SizedBox( + width: 320.0, + child: TextButton( + onPressed: () { + if (titlecontroller.text.isNotEmpty && desccontroller.text.isNotEmpty) { + setState(() { + Navigator.of(context).pop(); + wigbody = ListView( + children: [ + GestureDetector( + child: ListTile( + title: + Text(titlecontroller.text), + subtitle: + Text(desccontroller.text), + leading: const CircleAvatar( + child: Text("1"), + ), + ), + onDoubleTap: () { + showDialog( + context: _scaffoldKey + .currentContext, + builder: (BuildContext + currentcontext) { + return AlertDialog( + content: const Text("Are you sure you want to delete this todo?"), + actions: [ + TextButton( + onPressed: () { + setState(() { + titlecontroller.clear(); + desccontroller.clear(); + Navigator.of(currentcontext).pop(); + wigbody = Row( + mainAxisAlignment: + MainAxisAlignment.center, + crossAxisAlignment:CrossAxisAlignment.center, + children: const [ + Center( + child: Text( "No Todos Added"), + ) + ], + ); + }); + }, + child: const Text( "Yes")), + TextButton( + onPressed: () { + setState(() { + Navigator.of(currentcontext) + .pop(); + }); + }, + child: const Text( "No")) + ], + ); + }); + }, + ) + ], + ); + }); + } + }, + child: const Text("Submit entry"), + style: TextStyle(color: Colors.blue), + ), + ), + ) + ], + ), + ), + ), + ); + }); + }), + body: wigbody); } } From bf05255f7fb4692ad5ecd3d5478695eb63f28aae Mon Sep 17 00:00:00 2001 From: kb15bhu <99141096+kb15bhu@users.noreply.github.com> Date: Fri, 11 Feb 2022 16:53:11 +0530 Subject: [PATCH 5/5] Update todo_list.dart --- lib/models/todo_list.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/models/todo_list.dart b/lib/models/todo_list.dart index c7c3b03..e20c6fb 100644 --- a/lib/models/todo_list.dart +++ b/lib/models/todo_list.dart @@ -2,16 +2,20 @@ import 'package:workshop_task/models/todo.dart'; class TodoList { final List _allTodos = []; + final List _allTodos = []; List allTodos() { - //TODO:Add logic to complete + //to complete + return _allTodos; } void addTodo(Todo todo) { - //TODO:Add logic to add a todo + //to add a todo + _allTodos.add(todo); } void deleteTodo(Todo todo) { - //TODO:Add logic to delete todo + //to delete todo + _allTodos.remove(todo); } }