feat: fold dyn

Closes #1153

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-28 16:07:32 +08:00
parent 7a5662c6ca
commit ac26022da1
4 changed files with 82 additions and 3 deletions

View File

@@ -74,4 +74,17 @@ class DynamicsTabController
..refresh();
}
}
void onUnfold(DynamicItemModel item, int index) {
try {
final list = loadingState.value.data!;
final ids = item.modules.moduleFold!.ids!;
final flag = index + ids.length + 1;
for (int i = index + 1; i < flag; i++) {
list[i].visible = true;
}
item.modules.moduleFold = null;
loadingState.refresh();
} catch (_) {}
}
}

View File

@@ -112,12 +112,14 @@ class _DynamicsTabPageState
if (index == response.length - 1) {
controller.onLoadMore();
}
final item = response[index];
return DynamicPanel(
item: response[index],
item: item,
onRemove: (idStr) =>
controller.onRemove(index, idStr),
onBlock: () => controller.onBlock(index),
maxWidth: maxWidth,
onUnfold: () => controller.onUnfold(item, index),
);
},
childCount: response!.length,
@@ -135,6 +137,7 @@ class _DynamicsTabPageState
controller.onRemove(index, idStr),
onBlock: () => controller.onBlock(index),
maxWidth: maxWidth,
onUnfold: () => controller.onUnfold(item, index),
);
},
itemCount: response!.length,