TF-3007 [SEARCH] Support drag and drop between From & To field (#3154)

This commit is contained in:
Dat Vu
2024-10-08 16:31:43 +07:00
committed by Dat H. Pham
parent 7cdd6d8790
commit e584e61521
6 changed files with 203 additions and 122 deletions
@@ -9,6 +9,7 @@ import 'package:super_tag_editor/tag_editor.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
import 'package:tmail_ui_user/features/composer/presentation/model/draggable_email_address.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
@@ -477,6 +478,24 @@ class AdvancedFilterController extends BaseController {
}
}
void removeDraggableEmailAddress(DraggableEmailAddress draggableEmailAddress) {
log('AdvancedFilterController::removeDraggableEmailAddress:removeDraggableEmailAddress: $draggableEmailAddress');
switch(draggableEmailAddress.prefix) {
case PrefixEmailAddress.to:
listToEmailAddress.remove(draggableEmailAddress.emailAddress);
toAddressExpandMode.value = ExpandMode.EXPAND;
toAddressExpandMode.refresh();
break;
case PrefixEmailAddress.from:
listFromEmailAddress.remove(draggableEmailAddress.emailAddress);
fromAddressExpandMode.value = ExpandMode.EXPAND;
fromAddressExpandMode.refresh();
break;
default:
break;
}
}
@override
void onClose() {
_removeFocusListener();