TF-2313 Apply scrollbar for search mailbox view
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit 9d6b663fe4a47f7358c13baf0f54498fef02f8c2)
This commit is contained in:
@@ -82,6 +82,7 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
|||||||
final currentSearchQuery = RxString('');
|
final currentSearchQuery = RxString('');
|
||||||
final listMailboxSearched = RxList<PresentationMailbox>();
|
final listMailboxSearched = RxList<PresentationMailbox>();
|
||||||
final textInputSearchController = TextEditingController();
|
final textInputSearchController = TextEditingController();
|
||||||
|
final scrollbarController = ScrollController();
|
||||||
late Debouncer<String> _deBouncerTime;
|
late Debouncer<String> _deBouncerTime;
|
||||||
|
|
||||||
PresentationMailbox? get selectedMailbox => dashboardController.selectedMailbox.value;
|
PresentationMailbox? get selectedMailbox => dashboardController.selectedMailbox.value;
|
||||||
@@ -732,6 +733,7 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
|||||||
void onClose() {
|
void onClose() {
|
||||||
textInputSearchController.dispose();
|
textInputSearchController.dispose();
|
||||||
_deBouncerTime.cancel();
|
_deBouncerTime.cancel();
|
||||||
|
scrollbarController.dispose();
|
||||||
super.onClose();
|
super.onClose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,7 @@ import 'package:get/get.dart';
|
|||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/widget/scrollbar_list_view.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/state/search_mailbox_state.dart';
|
import 'package:tmail_ui_user/features/mailbox/domain/state/search_mailbox_state.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/context_item_mailbox_action.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/context_item_mailbox_action.dart';
|
||||||
@@ -46,6 +47,7 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
Widget _buildSearchBody(BuildContext context) {
|
Widget _buildSearchBody(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
color: backgroundColor ?? Colors.white,
|
color: backgroundColor ?? Colors.white,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 4),
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
Container(
|
Container(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
@@ -55,7 +57,14 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
if (!controller.responsiveUtils.isWebDesktop(context))
|
if (!controller.responsiveUtils.isWebDesktop(context))
|
||||||
const Divider(color: AppColor.colorDividerComposer, height: 1),
|
const Divider(color: AppColor.colorDividerComposer, height: 1),
|
||||||
_buildLoadingView(),
|
_buildLoadingView(),
|
||||||
Expanded(child: _buildMailboxListView(context))
|
Expanded(
|
||||||
|
child: PlatformInfo.isMobile
|
||||||
|
? _buildMailboxListView(context)
|
||||||
|
: ScrollbarListView(
|
||||||
|
scrollController: controller.scrollbarController,
|
||||||
|
child: _buildMailboxListView(context)
|
||||||
|
)
|
||||||
|
)
|
||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -170,6 +179,7 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
padding: SearchMailboxUtils.getPaddingListViewMailboxSearched(context, controller.responsiveUtils),
|
padding: SearchMailboxUtils.getPaddingListViewMailboxSearched(context, controller.responsiveUtils),
|
||||||
key: const Key('list_mailbox_searched'),
|
key: const Key('list_mailbox_searched'),
|
||||||
itemCount: controller.listMailboxSearched.length,
|
itemCount: controller.listMailboxSearched.length,
|
||||||
|
controller: controller.scrollbarController,
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
primary: false,
|
primary: false,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
|
|||||||
Reference in New Issue
Block a user