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