提交 419f9a10 authored 作者: yueweilu's avatar yueweilu

1、笔记和讨论添加分页记载

2、搜索历史添加分页加载
上级 8555a6c0
......@@ -156,7 +156,7 @@ abstract class LibraryAPI {
'book_id': bookId,
'chapter_id': chapterId
},
showLoading: true
// showLoading: true
);
if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index) {
......@@ -179,7 +179,7 @@ abstract class LibraryAPI {
'book_id': bookId,
'chapter_id': chapterId
},
showLoading: true,
// showLoading: true,
);
if (result.data is! Map && result.data['list'] is! List) return [];
return List.generate(result.data['list'].length, (index) {
......
......@@ -51,3 +51,4 @@ part 'discuss_controller.dart';
part 'widgets/input_discuss.dart';
part 'widgets/item.dart';
part 'widgets/search_all.dart';
part 'search_all_controller.dart';
......@@ -87,14 +87,19 @@ class _ReadCategoryPageState extends State<ReadCategoryPage> {
],
),
widget.controller.showSearch? Expanded(
child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: widget.controller.searchALlResults
,)):
child: CustomPullScrollView(
controller: widget.controller.refreshController,
onRefresh: widget.controller.onRefreshSearch,
onLoading: widget.controller.onLoadingSearch,
child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: widget.controller.searchALlResults
,),
)):
widget.controller.showSearch?const SizedBox():BuildBook(bookDetailModel: widget.controller.bookDetailModel,),
widget.controller.showSearch?const SizedBox():Expanded(
child: ListView.builder(
......
......@@ -88,31 +88,41 @@ class _ReadDiscussPageState extends State<ReadDiscussPage> {
],
),
controller.showSearch? Expanded(
child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: controller.searchALlResults,
child: CustomPullScrollView(
controller: controller.refreshController,
onRefresh: controller.onRefreshSearch,
onLoading: controller.onLoadingSearch,
child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: controller.searchALlResults,
),
)):
controller.showSearch?const SizedBox():BuildBook(bookDetailModel: widget.bookDetailModel,),
controller.showSearch?const SizedBox():Expanded(
child: Stack(
children: [
ListView.builder(
itemBuilder: (BuildContext context,int index){
DiscussModel model = controller.discuss[index];
return BuildDiscuss(
model: model,
controller: controller,
bookId: widget.bookDetailModel.bookId.toString(),
onTapDel: (DiscussModel dModel){
controller.delComment(discussModel: dModel);
},
);
},
itemCount: controller.discuss.length,
CustomPullScrollView(
controller: controller.refreshController,
onRefresh: controller.onRefresh,
onLoading: controller.onLoading,
child: ListView.builder(
itemBuilder: (BuildContext context,int index){
DiscussModel model = controller.discuss[index];
return BuildDiscuss(
model: model,
controller: controller,
bookId: widget.bookDetailModel.bookId.toString(),
onTapDel: (DiscussModel dModel){
controller.delComment(discussModel: dModel);
},
);
},
itemCount: controller.discuss.length,
),
),
Visibility(
visible: controller.showReply,
......
......@@ -85,57 +85,68 @@ class _ReadNotePageState extends State<ReadNotePage> {
):const SizedBox(),
],
),
controller.showSearch? Expanded(child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: controller.searchALlResults
)):
controller.showSearch? Expanded(
child: CustomPullScrollView(
controller: controller.refreshController,
onRefresh: controller.onRefreshSearch,
onLoading: controller.onLoadingSearch,
child: BuildSearchAll(
onTap: (SearchAllModel sModel){
if (widget.onTapSearchItem !=null) {
widget.onTapSearchItem!(sModel);
}
},
searchALlResults: controller.searchALlResults
),
)):
controller.showSearch?const SizedBox():BuildBook(bookDetailModel: widget.bookDetailModel,),
controller.showSearch?const SizedBox():Expanded(
child: MediaQuery.removePadding(
context: context,
removeTop: true,
child:ListView.builder(
itemBuilder: (BuildContext context,int index){
NoteModel model = controller.notes[index];
// 划线
if(model.types == 1){
return BuildLine(
model: model,
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
);
}
// 高亮
else if(model.types == 2){
return BuildHigh(
model: model,
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
);
}
// 笔记
else if(model.types == 3){
return BuildNote(
model: model,
onTapAudio: (MediaModel mediaModel){
controller.playAudio(mediaModel);
},
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
onTapEdit: (){
context.pushNamed(Routes.editNote,extra: model,queryParameters: {'book_id':widget.bookDetailModel.bookId});
},
);
}
},
itemCount: controller.notes.length,
child:CustomPullScrollView(
controller: controller.refreshController,
onRefresh: controller.onRefresh,
onLoading: controller.onLoading,
child: ListView.builder(
itemBuilder: (BuildContext context,int index){
NoteModel model = controller.notes[index];
// 划线
if(model.types == 1){
return BuildLine(
model: model,
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
);
}
// 高亮
else if(model.types == 2){
return BuildHigh(
model: model,
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
);
}
// 笔记
else if(model.types == 3){
return BuildNote(
model: model,
onTapAudio: (MediaModel mediaModel){
controller.playAudio(mediaModel);
},
onTapDel: (){
controller.delNotes(noteModel: model, bookId:widget.bookDetailModel.bookId.toString());
},
onTapEdit: (){
context.pushNamed(Routes.editNote,extra: model,queryParameters: {'book_id':widget.bookDetailModel.bookId});
},
);
}
},
itemCount: controller.notes.length,
),
),
),
),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论