Skip to content

Commit

Permalink
Implemented Update Task
Browse files Browse the repository at this point in the history
  • Loading branch information
JobinBiju committed Apr 5, 2021
1 parent 9e1d5c1 commit e5f41b9
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 9 deletions.
11 changes: 7 additions & 4 deletions lib/app/global_widgets/bottom_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ import 'package:taskly/app/modules/home/controllers/home_controller.dart';
import 'package:taskly/app/theme/text_theme.dart';

class BottomSheetContent extends GetView<HomeController> {
final Function onSubmit;
final String buttonText;

BottomSheetContent({this.onSubmit, this.buttonText});

@override
Widget build(BuildContext context) {
return Container(
Expand Down Expand Up @@ -153,11 +158,9 @@ class BottomSheetContent extends GetView<HomeController> {
SizedBox(height: Get.height * 0.02),
ProceedButton(
size: Get.size,
title: 'Create Task',
title: buttonText,
buttonColor: Theme.of(context).primaryColor.withOpacity(0.9),
onPress: () {
controller.addTask();
},
onPress: onSubmit,
),
],
),
Expand Down
38 changes: 35 additions & 3 deletions lib/app/modules/home/controllers/home_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -174,14 +174,46 @@ class HomeController extends GetxController {
Get.back();
}

// preUpdates
preUpdateTask(Task task) {
selectedIcon = task.taskImage;
titleController.text = task.taskTitle;
descController.text = task.taskDesc;
selectedTime = timeConvert(task.startTime);
timeController.text = formatDate(
DateTime(2020, 08, 1, selectedTime.hour, selectedTime.minute),
[hh, ':', nn, " ", am]).toString();
selectedDate = task.taskDate;
dateController.text = DateFormat.yMMMd().format(selectedDate);
isRepeat = task.isRepeat;
}

// function to update task
updateTask(Task task) async {
allTasks.forEach((element) {
if (element == task) {}
});
tempTask = Task();
var modDate = DateTime(
selectedDate.year,
selectedDate.month,
selectedDate.day,
selectedTime.hour,
selectedTime.minute,
);
tempTask.taskImage = selectedIcon;
tempTask.taskTitle = titleController.text;
tempTask.taskDesc = descController.text;
tempTask.taskDate = modDate;
tempTask.startTime = formatDate(
DateTime(2020, 08, 1, selectedTime.hour, selectedTime.minute),
[hh, ':', nn, " ", am]).toString();
tempTask.isRepeat = isRepeat;
int index = allTasks.indexOf(task);
allTasks.setAll(index, [tempTask]);
sortAllTasks();
reWriteTasks();
dailyTask();
update([1, true]);
Get.back();
print(index);
}

// function to read task from database
Expand Down
16 changes: 15 additions & 1 deletion lib/app/modules/home/views/all_tasks_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:flutter_slidable/flutter_slidable.dart';

import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:taskly/app/global_widgets/bottom_sheet.dart';
import 'package:taskly/app/global_widgets/expandable_container.dart';
import 'package:taskly/app/modules/home/controllers/home_controller.dart';
import 'package:taskly/app/theme/text_theme.dart';
Expand Down Expand Up @@ -55,7 +56,20 @@ class AllTasksView extends GetView<HomeController> {
onPressed: () {
controller.slideC.activeState?.close();
Slidable.of(context)?.close();
controller.updateTask(task);
controller.preUpdateTask(task);
showModalBottomSheet(
backgroundColor: Colors.transparent,
isScrollControlled: true,
context: context,
builder: (context) {
return BottomSheetContent(
buttonText: 'Update Task',
onSubmit: () {
controller.updateTask(task);
},
);
},
);
}),
),
],
Expand Down
7 changes: 6 additions & 1 deletion lib/app/modules/home/views/home_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ class HomeView extends GetView<HomeController> {
isScrollControlled: true,
context: context,
builder: (context) {
return BottomSheetContent();
return BottomSheetContent(
buttonText: 'Create Task',
onSubmit: () {
controller.addTask();
},
);
},
);
},
Expand Down
15 changes: 15 additions & 0 deletions lib/app/modules/home/views/today_task_view.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:get/get.dart';
import 'package:taskly/app/global_widgets/bottom_sheet.dart';
import 'package:taskly/app/global_widgets/expandable_container.dart';
import 'package:taskly/app/modules/home/controllers/home_controller.dart';
import 'package:taskly/app/theme/text_theme.dart';
Expand Down Expand Up @@ -50,6 +51,20 @@ class TodayTaskView extends GetView<HomeController> {
onPressed: () {
controller.slideC.activeState?.close();
Slidable.of(context)?.close();
controller.preUpdateTask(task);
showModalBottomSheet(
backgroundColor: Colors.transparent,
isScrollControlled: true,
context: context,
builder: (context) {
return BottomSheetContent(
buttonText: 'Update Task',
onSubmit: () {
controller.updateTask(task);
},
);
},
);
}),
),
],
Expand Down

0 comments on commit e5f41b9

Please sign in to comment.