提交 20e12c38 authored 作者: yueweilu's avatar yueweilu

add

上级 cb6f92a7
...@@ -75,6 +75,63 @@ class BookDetailController extends GetxController with GetSingleTickerProviderSt ...@@ -75,6 +75,63 @@ class BookDetailController extends GetxController with GetSingleTickerProviderSt
} }
} }
void testWriteCurrentReadChapterIdToData(List<ChapterModel> data) {
for(ChapterModel cModel in data){
cModel.currentRead = false;
if(cModel.id == currentChapterId){
cModel.currentRead = true;
cModel.selected = true;
}
else{
testWriteCurrentReadChapterIdToData(cModel.children!);
}
}
ChapterModel? tModel = findChapterById(chapters, currentChapterId);
if(tModel == null){
updateParentsStatus(chapters, tModel!);
}
}
ChapterModel? findChapterById(List<ChapterModel> data,num id){
for (ChapterModel cModel in data){
if(cModel.id == id){
return cModel;
}
ChapterModel? tModel = findChapterById(cModel.children!, id);
if(tModel !=null){
return tModel;
}
}
return null;
}
void updateParentsStatus(List<ChapterModel> data, ChapterModel model) {
ChapterModel? parentNode = findParentNode(data, model);
while (parentNode != null) {
parentNode.selected = true;
parentNode = findParentNode(data, parentNode);
}
}
ChapterModel? findParentNode(List<ChapterModel> nodes, ChapterModel node) {
for (var n in nodes) {
for (var child in n.children!) {
if (child == node) {
return n;
}
var parent = findParentNode(child.children!, node);
if (parent != null) {
return parent;
}
}
}
return null;
}
/// 写入特定数据 /// 写入特定数据
void writeData(List<ChapterModel> listA, List<ChapterModel> listB){ void writeData(List<ChapterModel> listA, List<ChapterModel> listB){
...@@ -95,6 +152,7 @@ class BookDetailController extends GetxController with GetSingleTickerProviderSt ...@@ -95,6 +152,7 @@ class BookDetailController extends GetxController with GetSingleTickerProviderSt
chapters = result; chapters = result;
setCurrentReadChapterId(); setCurrentReadChapterId();
// testWriteCurrentReadChapterIdToData(chapters)
update(); update();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论