Add trigger scroll for destination picker and mailbox visibility screen

This commit is contained in:
HuyNguyen
2023-02-27 14:17:35 +07:00
committed by Dat Vu
parent 6a49b78e95
commit 6e2f57f69b
7 changed files with 50 additions and 57 deletions
@@ -16,8 +16,6 @@ import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
import 'package:model/mailbox/expand_mode.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
@@ -80,6 +78,8 @@ class DestinationPickerController extends BaseMailboxController {
List<String> listMailboxNameAsStringExist = <String>[];
final destinationListScrollController = ScrollController();
DestinationPickerController(
this._searchMailboxInteractor,
this._createNewMailboxInteractor,
@@ -207,6 +207,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
) {
return SingleChildScrollView(
physics: const ClampingScrollPhysics(),
controller: controller.destinationListScrollController,
child: Column(children: [
if (actions?.canSearch() == true &&
controller.destinationScreenType.value == DestinationScreenType.destinationPicker)
@@ -378,7 +379,8 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
mailboxIdAlreadySelected: mailboxIdSelected,
mailboxDisplayed: MailboxDisplayed.destinationPicker)
..addOnClickOpenMailboxNodeAction((node) => _pickMailboxNode(context, node))
..addOnClickExpandMailboxNodeAction((mailboxNode) => controller.toggleMailboxFolder(mailboxNode))
..addOnClickExpandMailboxNodeAction((mailboxNode) =>
controller.toggleMailboxFolder(mailboxNode, controller.destinationListScrollController))
).build(),
children: _buildListChildTileWidget(
context,