TF-168 [BUG] Hiding all view components without when login implementation

This commit is contained in:
dab246
2021-10-14 01:11:59 +07:00
committed by Dat H. Pham
parent 7caa2f4898
commit d3bdd9c3e9
11 changed files with 131 additions and 161 deletions
@@ -71,12 +71,12 @@ class ThreadView extends GetWidget<ThreadController> {
padding: EdgeInsets.only(left: 15, right: 12),
child: (AppBarThreadWidgetBuilder(
context,
imagePaths,
// imagePaths,
responsiveUtils,
controller.mailboxDashBoardController.selectedMailbox.value,
controller.mailboxDashBoardController.userProfile.value)
..onOpenUserInformationAction(() => {})
..onOpenSearchMailActionClick(() => {})
// ..onOpenSearchMailActionClick(() => {})
..onOpenListMailboxActionClick(() => controller.openMailboxLeftMenu()))
.build()));
}
@@ -90,7 +90,7 @@ class ThreadView extends GetWidget<ThreadController> {
controller.getListEmailSelected(),
responsiveUtils)
..addCloseActionClick(() => controller.cancelSelectEmail())
..addRemoveEmailActionClick((listEmail) => {})
// ..addRemoveEmailActionClick((listEmail) => {})
..addOnMarkAsEmailReadActionClick((listEmail) => controller.markAsSelectedEmailRead(listEmail))
..addOpenContextMenuActionClick((listEmail) =>
controller.openContextMenuSelectedEmail(context, _contextMenuEmailActionTile(context, listEmail)))
@@ -101,11 +101,11 @@ class ThreadView extends GetWidget<ThreadController> {
List<Widget> _contextMenuEmailActionTile(BuildContext context, List<PresentationEmail> listEmail) {
return [
_moveToTrashAction(context, listEmail),
// _moveToTrashAction(context, listEmail),
_moveToMailboxAction(context, listEmail),
_markAsReadAction(context, listEmail),
_markAsStarAction(context, listEmail),
_moveToSpamAction(context, listEmail),
// _moveToSpamAction(context, listEmail),
SizedBox(height: 20),
];
}
@@ -122,15 +122,15 @@ class ThreadView extends GetWidget<ThreadController> {
.build();
}
Widget _moveToTrashAction(BuildContext context, List<PresentationEmail> listEmail) {
return (EmailContextMenuActionBuilder(
Key('move_to_trash_context_menu_action'),
SvgPicture.asset(imagePaths.icTrash, width: 24, height: 24, fit: BoxFit.fill),
AppLocalizations.of(context).move_to_trash,
listEmail)
..onActionClick((data) => {}))
.build();
}
// Widget _moveToTrashAction(BuildContext context, List<PresentationEmail> listEmail) {
// return (EmailContextMenuActionBuilder(
// Key('move_to_trash_context_menu_action'),
// SvgPicture.asset(imagePaths.icTrash, width: 24, height: 24, fit: BoxFit.fill),
// AppLocalizations.of(context).move_to_trash,
// listEmail)
// ..onActionClick((data) => {}))
// .build();
// }
Widget _moveToMailboxAction(BuildContext context, List<PresentationEmail> listEmail) {
return (EmailContextMenuActionBuilder(
@@ -160,23 +160,23 @@ class ThreadView extends GetWidget<ThreadController> {
.build();
}
Widget _moveToSpamAction(BuildContext context, List<PresentationEmail> listEmail) {
return (EmailContextMenuActionBuilder(
Key('move_to_spam_context_menu_action'),
SvgPicture.asset(imagePaths.icMailboxSpam, width: 24, height: 24, fit: BoxFit.fill),
AppLocalizations.of(context).move_to_spam,
listEmail)
..onActionClick((data) => {}))
.build();
}
// Widget _moveToSpamAction(BuildContext context, List<PresentationEmail> listEmail) {
// return (EmailContextMenuActionBuilder(
// Key('move_to_spam_context_menu_action'),
// SvgPicture.asset(imagePaths.icMailboxSpam, width: 24, height: 24, fit: BoxFit.fill),
// AppLocalizations.of(context).move_to_spam,
// listEmail)
// ..onActionClick((data) => {}))
// .build();
// }
List<PopupMenuItem> _popupMenuEmailActionTile(BuildContext context, List<PresentationEmail> listEmail) {
return [
PopupMenuItem(child: _moveToTrashAction(context, listEmail)),
// PopupMenuItem(child: _moveToTrashAction(context, listEmail)),
PopupMenuItem(child: _moveToMailboxAction(context, listEmail)),
PopupMenuItem(child: _markAsReadAction(context, listEmail)),
PopupMenuItem(child: _markAsStarAction(context, listEmail)),
PopupMenuItem(child: _moveToSpamAction(context, listEmail)),
// PopupMenuItem(child: _moveToSpamAction(context, listEmail)),
];
}
@@ -15,7 +15,7 @@ typedef OnOpenPopupMenuActionClick = void Function(List<PresentationEmail> listE
class AppBarThreadSelectModeActiveBuilder {
OnCloseActionClick? _onCloseActionClick;
OnMarkAsEmailReadActionClick? _onMarkAsEmailReadActionClick;
OnRemoveEmailActionClick? _onRemoveEmailActionClick;
// OnRemoveEmailActionClick? _onRemoveEmailActionClick;
OnOpenContextMenuActionClick? _onOpenContextMenuActionClick;
OnOpenPopupMenuActionClick? _onOpenPopupMenuActionClick;
@@ -34,9 +34,9 @@ class AppBarThreadSelectModeActiveBuilder {
_onMarkAsEmailReadActionClick = onMarkAsEmailReadActionClick;
}
void addRemoveEmailActionClick(OnRemoveEmailActionClick onRemoveEmailActionClick) {
_onRemoveEmailActionClick = onRemoveEmailActionClick;
}
// void addRemoveEmailActionClick(OnRemoveEmailActionClick onRemoveEmailActionClick) {
// _onRemoveEmailActionClick = onRemoveEmailActionClick;
// }
void addOpenContextMenuActionClick(OnOpenContextMenuActionClick onOpenContextMenuActionClick) {
_onOpenContextMenuActionClick = onOpenContextMenuActionClick;
@@ -93,15 +93,15 @@ class AppBarThreadSelectModeActiveBuilder {
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
IconButton(
key: Key('button_remove_email_selected'),
color: AppColor.baseTextColor,
icon: SvgPicture.asset(_imagePaths.icTrash, color: AppColor.baseTextColor, fit: BoxFit.fill),
onPressed: () => {
if (_onRemoveEmailActionClick != null) {
_onRemoveEmailActionClick!(_listEmail)
}
}),
// IconButton(
// key: Key('button_remove_email_selected'),
// color: AppColor.baseTextColor,
// icon: SvgPicture.asset(_imagePaths.icTrash, color: AppColor.baseTextColor, fit: BoxFit.fill),
// onPressed: () => {
// if (_onRemoveEmailActionClick != null) {
// _onRemoveEmailActionClick!(_listEmail)
// }
// }),
IconButton(
key: Key('button_unread_email_selected'),
color: AppColor.baseTextColor,
@@ -3,7 +3,7 @@ import 'dart:ui';
import 'package:core/core.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_svg/flutter_svg.dart';
// import 'package:flutter_svg/flutter_svg.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -13,19 +13,19 @@ typedef OnOpenListMailboxActionClick = void Function();
typedef OnOpenUserInformationActionClick = void Function();
class AppBarThreadWidgetBuilder {
OnOpenSearchMailActionClick? _onOpenSearchMailActionClick;
// OnOpenSearchMailActionClick? _onOpenSearchMailActionClick;
OnOpenListMailboxActionClick? _onOpenListMailboxActionClick;
OnOpenUserInformationActionClick? _onOpenUserInformationActionClick;
final BuildContext _context;
final ImagePaths _imagePaths;
// final ImagePaths _imagePaths;
final ResponsiveUtils _responsiveUtils;
final PresentationMailbox? _presentationMailbox;
final UserProfile? _userProfile;
AppBarThreadWidgetBuilder(
this._context,
this._imagePaths,
// this._imagePaths,
this._responsiveUtils,
this._presentationMailbox,
this._userProfile,
@@ -36,9 +36,9 @@ class AppBarThreadWidgetBuilder {
_onOpenUserInformationActionClick = onOpenUserInformationActionClick;
}
void onOpenSearchMailActionClick(OnOpenSearchMailActionClick onOpenSearchMailActionClick) {
_onOpenSearchMailActionClick = onOpenSearchMailActionClick;
}
// void onOpenSearchMailActionClick(OnOpenSearchMailActionClick onOpenSearchMailActionClick) {
// _onOpenSearchMailActionClick = onOpenSearchMailActionClick;
// }
void onOpenListMailboxActionClick(OnOpenListMailboxActionClick onOpenListMailboxActionClick) {
_onOpenListMailboxActionClick = onOpenListMailboxActionClick;
@@ -48,7 +48,7 @@ class AppBarThreadWidgetBuilder {
return Container(
key: Key('app_bar_thread_widget'),
alignment: Alignment.center,
padding: EdgeInsets.only(top: 8, bottom: 8),
padding: EdgeInsets.only(top: 16, bottom: 8),
child: MediaQuery(
data: MediaQueryData(padding: EdgeInsets.zero),
child: Row(
@@ -57,7 +57,7 @@ class AppBarThreadWidgetBuilder {
children: [
if (_responsiveUtils.isMobile(_context)) _buildIconUser(),
Expanded(child: _buildContentCenterAppBar()),
_buildIconSearch(),
// _buildIconSearch(),
]
)
)
@@ -78,19 +78,19 @@ class AppBarThreadWidgetBuilder {
.build()));
}
Widget _buildIconSearch() {
return Padding(
padding: EdgeInsets.only(left: 16),
child: IconButton(
color: AppColor.baseTextColor,
icon: SvgPicture.asset(_imagePaths.icSearch, color: AppColor.baseTextColor, fit: BoxFit.fill),
onPressed: () => {
if (_onOpenSearchMailActionClick != null) {
_onOpenSearchMailActionClick!()
}
}
));
}
// Widget _buildIconSearch() {
// return Padding(
// padding: EdgeInsets.only(left: 16),
// child: IconButton(
// color: AppColor.baseTextColor,
// icon: SvgPicture.asset(_imagePaths.icSearch, color: AppColor.baseTextColor, fit: BoxFit.fill),
// onPressed: () => {
// if (_onOpenSearchMailActionClick != null) {
// _onOpenSearchMailActionClick!()
// }
// }
// ));
// }
Widget _buildContentCenterAppBar() {
return Row(
@@ -174,7 +174,7 @@ class EmailTileBuilder {
: AvatarBuilder()
.text('${_presentationEmail.getAvatarText()}')
.size(40)
.iconStatus(_imagePaths.icOffline)
// .iconStatus(_imagePaths.icOffline)
.addOnTapActionClick(() {
if (_selectModeAll == SelectMode.ACTIVE && _onSelectEmailActionClick != null) {
_onSelectEmailActionClick!(_presentationEmail);
@@ -185,7 +185,7 @@ class EmailTileBuilder {
return AvatarBuilder()
.text('${_presentationEmail.getAvatarText()}')
.size(40)
.iconStatus(_imagePaths.icOffline)
// .iconStatus(_imagePaths.icOffline)
.build();
}
}