TF-3480 Handle reopen multiple composer when reload page or session expired

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-28 01:29:38 +07:00
committed by Dat H. Pham
parent 810d86b100
commit cfc72a6f4f
24 changed files with 318 additions and 101 deletions
@@ -30,6 +30,27 @@ class ComposerManager extends GetxController {
_arrangeComposerIfNeeded();
}
void addListComposer(List<ComposerArguments> listArguments) {
for (var argument in listArguments) {
final composerId = argument.composerId;
if (composerId == null) continue;
ComposerBindings(
composerId: composerId,
composerArguments: argument,
).dependencies();
composers[composerId] = ComposerView(
key: Key(composerId),
composerId: composerId,
);
composerIdsQueue.add(composerId);
}
_syncQueueIfNeeded();
}
void removeComposer(String id) {
log('ComposerManager::removeComposer:Id = $id');
if (!composers.containsKey(id)) return;
@@ -252,6 +273,8 @@ class ComposerManager extends GetxController {
.toList();
}
int getComposerIndex(String id) => composerIdsQueue.toList().indexOf(id);
void showComposerIfHidden(String composerId) {
log('ComposerManager::showComposerIfHidden:Id = $composerId');
if (!composers.containsKey(composerId)) return;