TF-2684 Use scrollbar theme replace customize scrollbar
This commit is contained in:
@@ -10,7 +10,6 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:model/model.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/email/presentation/widgets/email_action_cupertino_action_sheet_action_builder.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
||||
@@ -497,7 +496,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
searchQuery: controller.searchQuery,
|
||||
isShowingEmailContent: controller.mailboxDashBoardController.selectedEmail.value?.id == currentPresentationEmail.id,
|
||||
isSearchEmailRunning: true,
|
||||
padding: SearchEmailUtils.getPaddingItemListMobile(context, controller.responsiveUtils),
|
||||
padding: SearchEmailUtils.getPaddingSearchResultList(context, controller.responsiveUtils),
|
||||
mailboxContain: currentPresentationEmail.mailboxContain,
|
||||
emailActionClick: (action, email) {
|
||||
controller.pressEmailAction(
|
||||
@@ -533,61 +532,58 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
}
|
||||
},
|
||||
)
|
||||
: ScrollbarListView(
|
||||
scrollController: controller.resultSearchScrollController,
|
||||
child: ListView.separated(
|
||||
controller: controller.resultSearchScrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
key: const PageStorageKey('list_presentation_email_in_search_view'),
|
||||
itemCount: listPresentationEmail.length,
|
||||
itemBuilder: (context, index) {
|
||||
final currentPresentationEmail = listPresentationEmail[index];
|
||||
return Obx(() => EmailTileBuilder(
|
||||
presentationEmail: currentPresentationEmail,
|
||||
selectAllMode: controller.selectionMode.value,
|
||||
searchQuery: controller.searchQuery,
|
||||
isShowingEmailContent: controller.mailboxDashBoardController.selectedEmail.value?.id == currentPresentationEmail.id,
|
||||
isSearchEmailRunning: true,
|
||||
padding: SearchEmailUtils.getPaddingSearchResultList(context, controller.responsiveUtils),
|
||||
mailboxContain: currentPresentationEmail.mailboxContain,
|
||||
emailActionClick: (action, email) {
|
||||
controller.pressEmailAction(
|
||||
context,
|
||||
action,
|
||||
email,
|
||||
mailboxContain: currentPresentationEmail.mailboxContain
|
||||
);
|
||||
},
|
||||
onMoreActionClick: (email, position) {
|
||||
if (controller.responsiveUtils.isScreenWithShortestSide(context)) {
|
||||
controller.openContextMenuAction(
|
||||
context,
|
||||
_contextMenuActionTile(context, email)
|
||||
);
|
||||
} else {
|
||||
controller.openPopupMenuAction(
|
||||
context,
|
||||
position,
|
||||
_popupMenuActionTile(context, email)
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
));
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return Padding(
|
||||
padding: ItemEmailTileStyles.getPaddingDividerWeb(context, controller.responsiveUtils),
|
||||
child: Divider(
|
||||
color: index < listPresentationEmail.length - 1 &&
|
||||
controller.selectionMode.value == SelectMode.INACTIVE
|
||||
? null
|
||||
: Colors.white
|
||||
)
|
||||
: ListView.separated(
|
||||
controller: controller.resultSearchScrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
key: const PageStorageKey('list_presentation_email_in_search_view'),
|
||||
itemCount: listPresentationEmail.length,
|
||||
itemBuilder: (context, index) {
|
||||
final currentPresentationEmail = listPresentationEmail[index];
|
||||
return Obx(() => EmailTileBuilder(
|
||||
presentationEmail: currentPresentationEmail,
|
||||
selectAllMode: controller.selectionMode.value,
|
||||
searchQuery: controller.searchQuery,
|
||||
isShowingEmailContent: controller.mailboxDashBoardController.selectedEmail.value?.id == currentPresentationEmail.id,
|
||||
isSearchEmailRunning: true,
|
||||
padding: SearchEmailUtils.getPaddingSearchResultList(context, controller.responsiveUtils),
|
||||
mailboxContain: currentPresentationEmail.mailboxContain,
|
||||
emailActionClick: (action, email) {
|
||||
controller.pressEmailAction(
|
||||
context,
|
||||
action,
|
||||
email,
|
||||
mailboxContain: currentPresentationEmail.mailboxContain
|
||||
);
|
||||
},
|
||||
)
|
||||
)
|
||||
onMoreActionClick: (email, position) {
|
||||
if (controller.responsiveUtils.isScreenWithShortestSide(context)) {
|
||||
controller.openContextMenuAction(
|
||||
context,
|
||||
_contextMenuActionTile(context, email)
|
||||
);
|
||||
} else {
|
||||
controller.openPopupMenuAction(
|
||||
context,
|
||||
position,
|
||||
_popupMenuActionTile(context, email)
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
));
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return Padding(
|
||||
padding: ItemEmailTileStyles.getPaddingDividerWeb(context, controller.responsiveUtils),
|
||||
child: Divider(
|
||||
color: index < listPresentationEmail.length - 1 &&
|
||||
controller.selectionMode.value == SelectMode.INACTIVE
|
||||
? null
|
||||
: Colors.white
|
||||
)
|
||||
);
|
||||
},
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,6 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
||||
final currentSearchQuery = RxString('');
|
||||
final listMailboxSearched = RxList<PresentationMailbox>();
|
||||
final textInputSearchController = TextEditingController();
|
||||
final scrollbarController = ScrollController();
|
||||
late Debouncer<String> _deBouncerTime;
|
||||
|
||||
PresentationMailbox? get selectedMailbox => dashboardController.selectedMailbox.value;
|
||||
@@ -730,7 +729,6 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
||||
void onClose() {
|
||||
textInputSearchController.dispose();
|
||||
_deBouncerTime.cancel();
|
||||
scrollbarController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import 'package:get/get.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.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/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/presentation/mixin/mailbox_widget_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/context_item_mailbox_action.dart';
|
||||
@@ -58,12 +57,7 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
||||
const Divider(color: AppColor.colorDividerComposer, height: 1),
|
||||
_buildLoadingView(),
|
||||
Expanded(
|
||||
child: PlatformInfo.isMobile
|
||||
? _buildMailboxListView(context)
|
||||
: ScrollbarListView(
|
||||
scrollController: controller.scrollbarController,
|
||||
child: _buildMailboxListView(context)
|
||||
)
|
||||
child: _buildMailboxListView(context)
|
||||
)
|
||||
]),
|
||||
);
|
||||
@@ -179,7 +173,6 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
||||
padding: SearchMailboxUtils.getPaddingListViewMailboxSearched(context, controller.responsiveUtils),
|
||||
key: const Key('list_mailbox_searched'),
|
||||
itemCount: controller.listMailboxSearched.length,
|
||||
controller: controller.scrollbarController,
|
||||
shrinkWrap: true,
|
||||
primary: false,
|
||||
itemBuilder: (context, index) {
|
||||
|
||||
Reference in New Issue
Block a user