add enable

This commit is contained in:
jyuesong
2022-01-13 18:50:54 +08:00
parent 6555031948
commit 51b745af19
5 changed files with 53 additions and 4 deletions

View File

@@ -59,4 +59,12 @@ class Api {
static Future<HttpResponse<NullResponse>> unpinTask(String cron) async {
return await Http.put<NullResponse>(Url.UNPIN_TASK, [cron]);
}
static Future<HttpResponse<NullResponse>> enableTask(String cron) async {
return await Http.put<NullResponse>(Url.ENABLE_TASK, [cron]);
}
static Future<HttpResponse<NullResponse>> disableTask(String cron) async {
return await Http.put<NullResponse>(Url.DISABLE_TASK, [cron]);
}
}

View File

@@ -7,6 +7,8 @@ class Url {
static const ADD_TASK = "/api/crons";
static const PIN_TASK = "/api/crons/pin";
static const UNPIN_TASK = "/api/crons/unpin";
static const ENABLE_TASK = "/api/crons/enable";
static const DISABLE_TASK = "/api/crons/disable";
static INTIME_LOG(String cronId) {
return "/api/crons/$cronId/log";

View File

@@ -31,7 +31,10 @@ ThemeData lightTheme = ThemeData.light().copyWith(
abstract class ThemeColors {
Color taskTitleColor();
Color searchBarBg();
Color pinColor();
}
class LightartThemeColors extends ThemeColors {
@@ -40,11 +43,15 @@ class LightartThemeColors extends ThemeColors {
return Color(0xff333333);
}
@override
Color searchBarBg() {
return const Color(0xffF7F7F7);
}
@override
Color pinColor() {
return const Color(0xffF7F7F7);
}
}
class DartThemeColors extends ThemeColors {
@@ -53,10 +60,13 @@ class DartThemeColors extends ThemeColors {
return Colors.white;
}
@override
Color searchBarBg() {
return const Color(0xff2E312E);
}
@override
Color pinColor() {
return Colors.black12;
}
}

View File

@@ -156,7 +156,7 @@ class TaskItemCell extends StatelessWidget {
],
),
child: Container(
color: bean.isPinned == 1 ? ref.watch(themeProvider).themeColor.searchBarBg() : Colors.transparent,
color: bean.isPinned == 1 ? ref.watch(themeProvider).themeColor.pinColor() : Colors.transparent,
padding: const EdgeInsets.symmetric(
horizontal: 15,
vertical: 8,
@@ -310,6 +310,7 @@ class TaskItemCell extends StatelessWidget {
child: Text(bean.isDisabled! == 1 ? "启用" : "禁用"),
onPressed: () {
Navigator.pop(context);
enableTask();
},
),
CupertinoActionSheetAction(
@@ -331,6 +332,10 @@ class TaskItemCell extends StatelessWidget {
);
}
void enableTask() {
ref.read(taskProvider).enableTask(bean.sId!, bean.isDisabled!);
}
void pinTask() {
ref.read(taskProvider).pinTask(bean.sId!, bean.isPinned!);
}

View File

@@ -108,4 +108,28 @@ class TaskViewModel extends BaseViewModel {
}
}
}
void enableTask(String sId, int isDisabled) async {
if (isDisabled == 0) {
HttpResponse<NullResponse> response = await Api.disableTask(sId);
if (response.success) {
list.firstWhere((element) => element.sId == sId).isDisabled = 1;
sortList();
success();
} else {
failToast(response.message, notify: true);
}
} else {
HttpResponse<NullResponse> response = await Api.enableTask(sId);
if (response.success) {
list.firstWhere((element) => element.sId == sId).isDisabled = 0;
sortList();
success();
} else {
failToast(response.message, notify: true);
}
}
}
}