TF-4229 Add isSelected && condition to non-RTL selectedIconWidget rendering to match RTL behavior.
This commit is contained in:
@@ -23,10 +23,12 @@ mixin ProvisioningLabelScenarioMixin {
|
|||||||
final accountId = dashboardController?.accountId.value;
|
final accountId = dashboardController?.accountId.value;
|
||||||
final labelController = dashboardController?.labelController;
|
final labelController = dashboardController?.labelController;
|
||||||
|
|
||||||
if (createLabelInteractor == null || accountId == null) {
|
if (dashboardController == null ||
|
||||||
|
createLabelInteractor == null ||
|
||||||
|
accountId == null) {
|
||||||
log(
|
log(
|
||||||
'ProvisioningLabelScenarioMixin::provisionLabels '
|
'ProvisioningLabelScenarioMixin::provisionLabels '
|
||||||
'skipped: missing CreateNewLabelInteractor or accountId',
|
'skipped: missing dashboardController, CreateNewLabelInteractor, or accountId',
|
||||||
);
|
);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ class SearchEmailWithTagScenario extends BaseTestScenario
|
|||||||
required String tagDisplayName,
|
required String tagDisplayName,
|
||||||
required int emailCount,
|
required int emailCount,
|
||||||
}) async {
|
}) async {
|
||||||
|
// Emails provisioned by buildEmailsForLabel include the tag name in the subject
|
||||||
final listEmailTileWithTag = $.tester.widgetList<EmailTileBuilder>(
|
final listEmailTileWithTag = $.tester.widgetList<EmailTileBuilder>(
|
||||||
$(EmailTileBuilder).which<EmailTileBuilder>((widget) =>
|
$(EmailTileBuilder).which<EmailTileBuilder>((widget) =>
|
||||||
widget.presentationEmail.subject?.contains(tagDisplayName) == true),
|
widget.presentationEmail.subject?.contains(tagDisplayName) == true),
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ class _PopupMenuItemActionWidgetState extends State<PopupMenuItemActionWidget> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
if (iconWidget != null) iconWidget,
|
if (iconWidget != null) iconWidget,
|
||||||
if (!isArrangeRTL && selectedIconWidget != null)
|
if (!isArrangeRTL && isSelected && selectedIconWidget != null)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsetsDirectional.only(end: 16),
|
padding: const EdgeInsetsDirectional.only(end: 16),
|
||||||
child: selectedIconWidget,
|
child: selectedIconWidget,
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ class CreateEmailRequest with EquatableMixin {
|
|||||||
templateEmailId,
|
templateEmailId,
|
||||||
answerForwardEmailId,
|
answerForwardEmailId,
|
||||||
unsubscribeEmailId,
|
unsubscribeEmailId,
|
||||||
references,
|
messageId,
|
||||||
references,
|
references,
|
||||||
emailSendingQueue,
|
emailSendingQueue,
|
||||||
displayMode,
|
displayMode,
|
||||||
|
|||||||
@@ -262,15 +262,13 @@ class EmailView extends GetWidget<SingleEmailController> {
|
|||||||
final isLabelAvailable = controller
|
final isLabelAvailable = controller
|
||||||
.mailboxDashBoardController.isLabelAvailable;
|
.mailboxDashBoardController.isLabelAvailable;
|
||||||
|
|
||||||
final labelController =
|
final listLabels =
|
||||||
controller.mailboxDashBoardController.labelController;
|
controller.mailboxDashBoardController.labelController.labels;
|
||||||
|
|
||||||
List<Label>? emailLabels;
|
List<Label>? emailLabels;
|
||||||
|
|
||||||
if (isLabelAvailable) {
|
if (isLabelAvailable) {
|
||||||
emailLabels = presentationEmail.getLabelList(
|
emailLabels = presentationEmail.getLabelList(listLabels);
|
||||||
labelController.labels,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return EmailSubjectWidget(
|
return EmailSubjectWidget(
|
||||||
|
|||||||
@@ -349,18 +349,14 @@ abstract class BaseMailboxView extends GetWidget<MailboxController>
|
|||||||
|
|
||||||
Widget buildLabelsBar(BuildContext context, bool isDesktop) {
|
Widget buildLabelsBar(BuildContext context, bool isDesktop) {
|
||||||
return Obx(() {
|
return Obx(() {
|
||||||
final isLabelCapabilitySupported = controller
|
final isLabelAvailable = controller
|
||||||
.mailboxDashBoardController
|
.mailboxDashBoardController
|
||||||
.isLabelCapabilitySupported;
|
.isLabelAvailable;
|
||||||
|
|
||||||
final labelController =
|
final labelController =
|
||||||
controller.mailboxDashBoardController.labelController;
|
controller.mailboxDashBoardController.labelController;
|
||||||
|
|
||||||
final isLabelSettingEnabled = labelController
|
if (isLabelAvailable) {
|
||||||
.isLabelSettingEnabled
|
|
||||||
.isTrue;
|
|
||||||
|
|
||||||
if (isLabelCapabilitySupported && isLabelSettingEnabled) {
|
|
||||||
final accountId = controller.accountId;
|
final accountId = controller.accountId;
|
||||||
final labelListExpandMode = labelController.labelListExpandMode.value;
|
final labelListExpandMode = labelController.labelListExpandMode.value;
|
||||||
final countLabels = labelController.labels.length;
|
final countLabels = labelController.labels.length;
|
||||||
|
|||||||
-4
@@ -2360,11 +2360,7 @@ class MailboxDashBoardController extends ReloadableController
|
|||||||
_deleteFolderSearchFilter();
|
_deleteFolderSearchFilter();
|
||||||
break;
|
break;
|
||||||
case QuickSearchFilter.starred:
|
case QuickSearchFilter.starred:
|
||||||
deleteStarredSearchFilter();
|
|
||||||
break;
|
|
||||||
case QuickSearchFilter.unread:
|
case QuickSearchFilter.unread:
|
||||||
deleteUnreadSearchFilter();
|
|
||||||
break;
|
|
||||||
case QuickSearchFilter.labels:
|
case QuickSearchFilter.labels:
|
||||||
deleteQuickSearchFilter(filter: searchFilter);
|
deleteQuickSearchFilter(filter: searchFilter);
|
||||||
break;
|
break;
|
||||||
|
|||||||
+6
@@ -39,6 +39,12 @@ extension SelectSearchFilterActionExtension on MailboxDashBoardController {
|
|||||||
case QuickSearchFilter.labels:
|
case QuickSearchFilter.labels:
|
||||||
searchController.updateFilterEmail(labelOption: const None());
|
searchController.updateFilterEmail(labelOption: const None());
|
||||||
break;
|
break;
|
||||||
|
case QuickSearchFilter.starred:
|
||||||
|
deleteStarredSearchFilter();
|
||||||
|
break;
|
||||||
|
case QuickSearchFilter.unread:
|
||||||
|
deleteUnreadSearchFilter();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -151,8 +151,8 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
|||||||
Operator.AND,
|
Operator.AND,
|
||||||
hasKeyword.map((e) => EmailFilterCondition(hasKeyword: e)).toSet(),
|
hasKeyword.map((e) => EmailFilterCondition(hasKeyword: e)).toSet(),
|
||||||
),
|
),
|
||||||
if (label != null)
|
if (label?.keyword?.value != null)
|
||||||
EmailFilterCondition(hasKeyword: label!.keyword?.value),
|
EmailFilterCondition(hasKeyword: label!.keyword!.value),
|
||||||
if (moreFilterCondition != null && moreFilterCondition.hasCondition)
|
if (moreFilterCondition != null && moreFilterCondition.hasCondition)
|
||||||
moreFilterCondition
|
moreFilterCondition
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-1
@@ -1,11 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/model/filter_filter.dart';
|
||||||
import 'package:tmail_ui_user/features/base/widget/default_field/default_autocomplete_input_field_widget.dart';
|
import 'package:tmail_ui_user/features/base/widget/default_field/default_autocomplete_input_field_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/base/widget/default_field/default_button_arrow_down_field_with_tab_key_widget.dart';
|
import 'package:tmail_ui_user/features/base/widget/default_field/default_button_arrow_down_field_with_tab_key_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/base/widget/default_field/default_date_drop_down_field_widget.dart';
|
import 'package:tmail_ui_user/features/base/widget/default_field/default_date_drop_down_field_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/base/widget/default_field/default_input_field_with_tab_key_widget.dart';
|
import 'package:tmail_ui_user/features/base/widget/default_field/default_input_field_with_tab_key_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/base/model/filter_filter.dart';
|
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/advanced_search/update_label_in_advanced_search_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/advanced_search/update_label_in_advanced_search_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/labels/handle_logic_label_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/labels/handle_logic_label_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user