add dependency

This commit is contained in:
jyuesong
2022-01-18 14:26:56 +08:00
parent 8aa41e577b
commit b9767339ec
15 changed files with 790 additions and 216 deletions

View File

@@ -1,10 +1,10 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/theme.dart';
import 'package:qinglong_app/module/others/task_log/task_log_bean.dart';
import 'package:qinglong_app/base/ui/lazy_load_state.dart';
import 'package:qinglong_app/utils/extension.dart';
/// @author NewTab
@@ -20,15 +20,9 @@ class TaskLogDetailPage extends ConsumerStatefulWidget {
_TaskLogDetailPageState createState() => _TaskLogDetailPageState();
}
class _TaskLogDetailPageState extends ConsumerState<TaskLogDetailPage> {
class _TaskLogDetailPageState extends ConsumerState<TaskLogDetailPage> with LazyLoadState<TaskLogDetailPage> {
String? content;
@override
void initState() {
super.initState();
loadData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -39,14 +33,16 @@ class _TaskLogDetailPageState extends ConsumerState<TaskLogDetailPage> {
},
title: "任务日志详情",
),
body: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 15,
),
child: SelectableText(
(content == null || content!.isEmpty) ? "暂无数据" : content!,
),
),
body: content == null
? const Center(child: CupertinoActivityIndicator())
: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 15,
),
child: SelectableText(
(content == null || content!.isEmpty) ? "暂无数据" : content!,
),
),
);
}
@@ -62,4 +58,9 @@ class _TaskLogDetailPageState extends ConsumerState<TaskLogDetailPage> {
response.message?.toast();
}
}
@override
void onLazyLoad() {
loadData();
}
}

View File

@@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:qinglong_app/base/http/api.dart';
@@ -5,6 +6,7 @@ import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/routes.dart';
import 'package:qinglong_app/base/theme.dart';
import 'package:qinglong_app/base/ui/lazy_load_state.dart';
import 'package:qinglong_app/module/others/task_log/task_log_bean.dart';
import 'package:qinglong_app/utils/extension.dart';
@@ -16,15 +18,9 @@ class TaskLogPage extends ConsumerStatefulWidget {
_TaskLogPageState createState() => _TaskLogPageState();
}
class _TaskLogPageState extends ConsumerState<TaskLogPage> {
class _TaskLogPageState extends ConsumerState<TaskLogPage> with LazyLoadState<TaskLogPage> {
List<TaskLogBean> list = [];
@override
void initState() {
super.initState();
loadData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -35,64 +31,56 @@ class _TaskLogPageState extends ConsumerState<TaskLogPage> {
},
title: "任务日志",
),
body: ListView.builder(
itemBuilder: (context, index) {
TaskLogBean item = list[index];
body: list.isEmpty
? const Center(
child: CupertinoActivityIndicator(),
)
: ListView.builder(
itemBuilder: (context, index) {
TaskLogBean item = list[index];
return ColoredBox(
color: ref.watch(themeProvider).themeColor.settingBgColor(),
child: (item.isDir ?? false)
? ExpansionTile(
title: Text(
item.name ?? "",
style: TextStyle(
color: ref
.watch(themeProvider)
.themeColor
.taskTitleColor(),
fontSize: 16,
),
),
children: item.files!
.map((e) => ListTile(
onTap: () {
Navigator.of(context).pushNamed(
Routes.routeTaskLogDetail,
arguments: e);
},
title: Text(
e,
style: TextStyle(
color: ref
.watch(themeProvider)
.themeColor
.taskTitleColor(),
fontSize: 14,
),
),
))
.toList(),
)
: ListTile(
onTap: () {
Navigator.of(context).pushNamed(Routes.routeTaskLogDetail,
arguments: item.name);
},
title: Text(
item.name ?? "",
style: TextStyle(
color: ref
.watch(themeProvider)
.themeColor
.taskTitleColor(),
fontSize: 16,
),
),
),
);
},
itemCount: list.length,
),
return ColoredBox(
color: ref.watch(themeProvider).themeColor.settingBgColor(),
child: (item.isDir ?? false)
? ExpansionTile(
title: Text(
item.name ?? "",
style: TextStyle(
color: ref.watch(themeProvider).themeColor.taskTitleColor(),
fontSize: 16,
),
),
children: item.files!
.map((e) => ListTile(
onTap: () {
Navigator.of(context).pushNamed(Routes.routeTaskLogDetail, arguments: item.name! + "/" + e);
},
title: Text(
e,
style: TextStyle(
color: ref.watch(themeProvider).themeColor.taskTitleColor(),
fontSize: 14,
),
),
))
.toList(),
)
: ListTile(
onTap: () {
Navigator.of(context).pushNamed(Routes.routeTaskLogDetail, arguments: item.name);
},
title: Text(
item.name ?? "",
style: TextStyle(
color: ref.watch(themeProvider).themeColor.taskTitleColor(),
fontSize: 16,
),
),
),
);
},
itemCount: list.length,
),
);
}
@@ -107,4 +95,9 @@ class _TaskLogPageState extends ConsumerState<TaskLogPage> {
response.message?.toast();
}
}
@override
void onLazyLoad() {
loadData();
}
}