TF-1063 Change color style when select filter message option
This commit is contained in:
@@ -370,6 +370,7 @@ class MailboxController extends BaseMailboxController {
|
|||||||
|
|
||||||
mailboxDashBoardController.setSelectedMailbox(presentationMailboxSelected);
|
mailboxDashBoardController.setSelectedMailbox(presentationMailboxSelected);
|
||||||
mailboxDashBoardController.clearSelectedEmail();
|
mailboxDashBoardController.clearSelectedEmail();
|
||||||
|
mailboxDashBoardController.clearFilterMessageOption();
|
||||||
|
|
||||||
_disableAllSearchEmail();
|
_disableAllSearchEmail();
|
||||||
|
|
||||||
|
|||||||
+3
-10
@@ -406,6 +406,7 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
bool isSelectionEnabled() => currentSelectMode.value == SelectMode.ACTIVE;
|
bool isSelectionEnabled() => currentSelectMode.value == SelectMode.ACTIVE;
|
||||||
|
|
||||||
void searchEmail(BuildContext context, String value) {
|
void searchEmail(BuildContext context, String value) {
|
||||||
|
clearFilterMessageOption();
|
||||||
searchController.updateFilterEmail(text: SearchQuery(value));
|
searchController.updateFilterEmail(text: SearchQuery(value));
|
||||||
dispatchAction(StartSearchEmailAction());
|
dispatchAction(StartSearchEmailAction());
|
||||||
FocusScope.of(context).unfocus();
|
FocusScope.of(context).unfocus();
|
||||||
@@ -1039,16 +1040,8 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool filterMessageWithAttachmentIsActive () {
|
void clearFilterMessageOption() {
|
||||||
return filterMessageOption.value == FilterMessageOption.attachments;
|
filterMessageOption.value = FilterMessageOption.all;
|
||||||
}
|
|
||||||
|
|
||||||
bool filterMessageUnreadIsActive () {
|
|
||||||
return filterMessageOption.value == FilterMessageOption.unread;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool filterMessageStarredIsActive () {
|
|
||||||
return filterMessageOption.value == FilterMessageOption.starred;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void markAsReadMailboxAction() {
|
void markAsReadMailboxAction() {
|
||||||
|
|||||||
@@ -366,24 +366,17 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
|
|||||||
.build(),
|
.build(),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 16),
|
const SizedBox(width: 16),
|
||||||
Obx(() => (ButtonBuilder(imagePaths.icFilterAdvanced)
|
Obx(() => (ButtonBuilder(controller.filterMessageOption.value.getIconSelected(imagePaths))
|
||||||
..key(const Key('button_filter_messages'))
|
..key(const Key('button_filter_messages'))
|
||||||
..context(context)
|
..context(context)
|
||||||
..decoration(const BoxDecoration(
|
..decoration(BoxDecoration(
|
||||||
borderRadius: BorderRadius.all(Radius.circular(10)),
|
borderRadius: const BorderRadius.all(Radius.circular(10)),
|
||||||
color: AppColor.colorButtonHeaderThread))
|
color: controller.filterMessageOption.value.getBackgroundColor()))
|
||||||
..paddingIcon(const EdgeInsets.only(right: 8))
|
..paddingIcon(const EdgeInsets.only(right: 8))
|
||||||
..size(16)
|
..size(16)
|
||||||
..padding(const EdgeInsets.symmetric(horizontal: 12, vertical: 8))
|
..padding(const EdgeInsets.symmetric(horizontal: 12, vertical: 8))
|
||||||
..radiusSplash(10)
|
..radiusSplash(10)
|
||||||
..textStyle(TextStyle(
|
..textStyle(controller.filterMessageOption.value.getTextStyle())
|
||||||
fontSize: 12,
|
|
||||||
color: controller.filterMessageOption.value == FilterMessageOption.all
|
|
||||||
? AppColor.colorTextButtonHeaderThread
|
|
||||||
: AppColor.colorNameEmail,
|
|
||||||
fontWeight: controller.filterMessageOption.value == FilterMessageOption.all
|
|
||||||
? FontWeight.normal
|
|
||||||
: FontWeight.w500))
|
|
||||||
..addIconAction(Padding(
|
..addIconAction(Padding(
|
||||||
padding: const EdgeInsets.only(left: 8),
|
padding: const EdgeInsets.only(left: 8),
|
||||||
child: SvgPicture.asset(imagePaths.icArrowDown, fit: BoxFit.fill)))
|
child: SvgPicture.asset(imagePaths.icArrowDown, fit: BoxFit.fill)))
|
||||||
|
|||||||
@@ -104,4 +104,43 @@ extension FilterMessageOptionExtension on FilterMessageOption {
|
|||||||
return imagePaths.icStar;
|
return imagePaths.icStar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getIconSelected(ImagePaths imagePaths) {
|
||||||
|
switch(this) {
|
||||||
|
case FilterMessageOption.all:
|
||||||
|
return imagePaths.icFilterAdvanced;
|
||||||
|
case FilterMessageOption.unread:
|
||||||
|
case FilterMessageOption.attachments:
|
||||||
|
case FilterMessageOption.starred:
|
||||||
|
return imagePaths.icSelectedSB;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Color getBackgroundColor() {
|
||||||
|
switch(this) {
|
||||||
|
case FilterMessageOption.all:
|
||||||
|
return AppColor.colorButtonHeaderThread;
|
||||||
|
case FilterMessageOption.unread:
|
||||||
|
case FilterMessageOption.attachments:
|
||||||
|
case FilterMessageOption.starred:
|
||||||
|
return AppColor.colorItemEmailSelectedDesktop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TextStyle getTextStyle() {
|
||||||
|
switch(this) {
|
||||||
|
case FilterMessageOption.all:
|
||||||
|
return const TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.normal,
|
||||||
|
color: AppColor.colorTextButtonHeaderThread);
|
||||||
|
case FilterMessageOption.unread:
|
||||||
|
case FilterMessageOption.attachments:
|
||||||
|
case FilterMessageOption.starred:
|
||||||
|
return const TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
color: AppColor.colorTextButton);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -635,7 +635,7 @@ class ThreadController extends BaseController {
|
|||||||
icon: newFilterOption.getIconToast(_imagePaths));
|
icon: newFilterOption.getIconToast(_imagePaths));
|
||||||
|
|
||||||
if (isSearchActive() || searchController.advancedSearchIsActivated.isTrue) {
|
if (isSearchActive() || searchController.advancedSearchIsActivated.isTrue) {
|
||||||
_searchEmail(filterMessageOption: _getFilterCondition());
|
_searchEmail(filterCondition: _getFilterCondition());
|
||||||
} else {
|
} else {
|
||||||
refreshAllEmail();
|
refreshAllEmail();
|
||||||
}
|
}
|
||||||
@@ -928,21 +928,21 @@ class ThreadController extends BaseController {
|
|||||||
searchController.clearTextSearch();
|
searchController.clearTextSearch();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _searchEmail({UnsignedInt? limit, EmailFilterCondition? filterMessageOption}) {
|
void _searchEmail({UnsignedInt? limit, EmailFilterCondition? filterCondition}) {
|
||||||
if (_accountId != null && searchQuery != null) {
|
if (_accountId != null && searchQuery != null) {
|
||||||
searchController.activateSimpleSearch();
|
searchController.activateSimpleSearch();
|
||||||
|
|
||||||
filterMessageOption = EmailFilterCondition(
|
filterCondition = EmailFilterCondition(
|
||||||
notKeyword: filterMessageOption?.notKeyword,
|
notKeyword: filterCondition?.notKeyword,
|
||||||
hasKeyword: filterMessageOption?.hasKeyword,
|
hasKeyword: filterCondition?.hasKeyword,
|
||||||
hasAttachment: filterMessageOption?.hasAttachment,
|
hasAttachment: filterCondition?.hasAttachment,
|
||||||
);
|
);
|
||||||
|
|
||||||
consumeState(_searchEmailInteractor.execute(
|
consumeState(_searchEmailInteractor.execute(
|
||||||
_accountId!,
|
_accountId!,
|
||||||
limit: limit ?? ThreadConstants.defaultLimit,
|
limit: limit ?? ThreadConstants.defaultLimit,
|
||||||
sort: _sortOrder,
|
sort: _sortOrder,
|
||||||
filter: _searchEmailFilter.mappingToEmailFilterCondition(moreFilterCondition: filterMessageOption),
|
filter: _searchEmailFilter.mappingToEmailFilterCondition(moreFilterCondition: filterCondition),
|
||||||
properties: ThreadConstants.propertiesDefault,
|
properties: ThreadConstants.propertiesDefault,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user