TF-3478 Use ComposerManager to open & close single composer

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-12 02:30:21 +07:00
committed by Dat H. Pham
parent 9a25d3c258
commit 49fe89a949
13 changed files with 435 additions and 170 deletions
@@ -155,6 +155,8 @@ class ComposerController extends BaseController
final CreateNewAndSendEmailInteractor _createNewAndSendEmailInteractor;
final CreateNewAndSaveEmailToDraftsInteractor _createNewAndSaveEmailToDraftsInteractor;
final PrintEmailInteractor printEmailInteractor;
final String? composerId;
final ComposerArguments? composerArgs;
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
@@ -222,7 +224,7 @@ class ComposerController extends BaseController
int? _savedEmailDraftHash;
bool _restoringSignatureButton = false;
GlobalKey? responsiveContainerKey;
@visibleForTesting
bool get restoringSignatureButton => _restoringSignatureButton;
@@ -247,6 +249,10 @@ class ComposerController extends BaseController
this._createNewAndSendEmailInteractor,
this._createNewAndSaveEmailToDraftsInteractor,
this.printEmailInteractor,
{
this.composerId,
this.composerArgs,
}
);
@override
@@ -254,11 +260,11 @@ class ComposerController extends BaseController
super.onInit();
if (PlatformInfo.isWeb) {
responsiveContainerKey = GlobalKey();
richTextWebController = getBinding<RichTextWebController>();
richTextWebController = getBinding<RichTextWebController>(tag: composerId);
responsiveContainerKey = GlobalKey();
menuMoreOptionController = CustomPopupMenuController();
} else {
richTextMobileTabletController = getBinding<RichTextMobileTabletController>();
richTextMobileTabletController = getBinding<RichTextMobileTabletController>(tag: composerId);
}
createFocusNodeInput();
scrollControllerEmailAddress.addListener(_scrollControllerEmailAddressListener);
@@ -609,7 +615,7 @@ class ComposerController extends BaseController
void _initEmail() {
_isEmailBodyLoaded = false;
final arguments = PlatformInfo.isWeb
? mailboxDashBoardController.composerArguments
? composerArgs
: Get.arguments;
if (arguments is ComposerArguments) {
composerArguments.value = arguments;
@@ -1599,7 +1605,10 @@ class ComposerController extends BaseController
if (closeOverlays) {
popBack();
}
mailboxDashBoardController.closeComposerOverlay(result: result);
mailboxDashBoardController.closeComposerOnWeb(
composerId: composerId,
result: result,
);
} else {
popBack(result: result, closeOverlays: closeOverlays);
}