TF-933 Replace hasKeyword with text in advanced search

This commit is contained in:
dab246
2022-09-16 13:10:01 +07:00
committed by Dat H. Pham
parent 1ce3352a8f
commit b04ccc6ec0
4 changed files with 5 additions and 15 deletions
@@ -16,6 +16,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.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';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -76,9 +77,10 @@ class AdvancedFilterController extends GetxController {
void _updateFilterEmailFromAdvancedSearchView() { void _updateFilterEmailFromAdvancedSearchView() {
if (hasKeyWordFilterInputController.text.isNotEmpty) { if (hasKeyWordFilterInputController.text.isNotEmpty) {
searchController.updateFilterEmail(hasKeyword: hasKeyWordFilterInputController.text.split(',').toSet()); searchController.updateFilterEmail(text: SearchQuery(hasKeyWordFilterInputController.text));
searchController.searchInputController.text = hasKeyWordFilterInputController.text;
} else { } else {
searchController.updateFilterEmail(hasKeyword: {}); searchController.updateFilterEmail(text: SearchQuery(searchController.searchInputController.text));
} }
if (notKeyWordFilterInputController.text.isNotEmpty) { if (notKeyWordFilterInputController.text.isNotEmpty) {
@@ -194,7 +196,7 @@ class AdvancedFilterController extends GetxController {
subjectFilterInputController.text = subjectFilterInputController.text =
StringConvert.writeNullToEmpty(searchEmailFilter.subject); StringConvert.writeNullToEmpty(searchEmailFilter.subject);
hasKeyWordFilterInputController.text = StringConvert.writeNullToEmpty( hasKeyWordFilterInputController.text = StringConvert.writeNullToEmpty(
searchEmailFilter.hasKeyword.firstOrNull); searchEmailFilter.text?.value);
notKeyWordFilterInputController.text = StringConvert.writeNullToEmpty( notKeyWordFilterInputController.text = StringConvert.writeNullToEmpty(
searchEmailFilter.notKeyword.firstOrNull); searchEmailFilter.notKeyword.firstOrNull);
dateFilterInputController.text = StringConvert.writeNullToEmpty( dateFilterInputController.text = StringConvert.writeNullToEmpty(
@@ -124,7 +124,6 @@ class SearchController extends BaseController {
Set<String>? to, Set<String>? to,
SearchQuery? text, SearchQuery? text,
String? subject, String? subject,
Set<String>? hasKeyword,
Set<String>? notKeyword, Set<String>? notKeyword,
PresentationMailbox? mailbox, PresentationMailbox? mailbox,
EmailReceiveTimeType? emailReceiveTimeType, EmailReceiveTimeType? emailReceiveTimeType,
@@ -136,7 +135,6 @@ class SearchController extends BaseController {
to: to, to: to,
text: text, text: text,
subject: subject, subject: subject,
hasKeyword: hasKeyword,
notKeyword: notKeyword, notKeyword: notKeyword,
mailbox: mailbox, mailbox: mailbox,
emailReceiveTimeType: emailReceiveTimeType, emailReceiveTimeType: emailReceiveTimeType,
@@ -12,7 +12,6 @@ class SearchEmailFilter {
final Set<String> to; final Set<String> to;
final SearchQuery? text; final SearchQuery? text;
final String? subject; final String? subject;
final Set<String> hasKeyword;
final Set<String> notKeyword; final Set<String> notKeyword;
final PresentationMailbox? mailbox; final PresentationMailbox? mailbox;
final EmailReceiveTimeType emailReceiveTimeType; final EmailReceiveTimeType emailReceiveTimeType;
@@ -26,13 +25,11 @@ class SearchEmailFilter {
bool? hasAttachment, bool? hasAttachment,
this.text, this.text,
this.subject, this.subject,
Set<String>? hasKeyword,
Set<String>? notKeyword, Set<String>? notKeyword,
this.mailbox, this.mailbox,
this.before, this.before,
}) : from = from ?? <String>{}, }) : from = from ?? <String>{},
to = to ?? <String>{}, to = to ?? <String>{},
hasKeyword = hasKeyword ?? <String>{},
notKeyword = notKeyword ?? <String>{}, notKeyword = notKeyword ?? <String>{},
hasAttachment = hasAttachment ?? false, hasAttachment = hasAttachment ?? false,
emailReceiveTimeType = emailReceiveTimeType =
@@ -43,7 +40,6 @@ class SearchEmailFilter {
Set<String>? to, Set<String>? to,
SearchQuery? text, SearchQuery? text,
String? subject, String? subject,
Set<String>? hasKeyword,
Set<String>? notKeyword, Set<String>? notKeyword,
PresentationMailbox? mailbox, PresentationMailbox? mailbox,
EmailReceiveTimeType? emailReceiveTimeType, EmailReceiveTimeType? emailReceiveTimeType,
@@ -55,7 +51,6 @@ class SearchEmailFilter {
to: to ?? this.to, to: to ?? this.to,
text: text ?? this.text, text: text ?? this.text,
subject: subject ?? this.subject, subject: subject ?? this.subject,
hasKeyword: hasKeyword ?? this.hasKeyword,
notKeyword: notKeyword ?? this.notKeyword, notKeyword: notKeyword ?? this.notKeyword,
mailbox: mailbox ?? this.mailbox, mailbox: mailbox ?? this.mailbox,
emailReceiveTimeType: emailReceiveTimeType ?? this.emailReceiveTimeType, emailReceiveTimeType: emailReceiveTimeType ?? this.emailReceiveTimeType,
@@ -81,8 +76,6 @@ class SearchEmailFilter {
Operator.AND, to.map((e) => EmailFilterCondition(to: e)).toSet()), Operator.AND, to.map((e) => EmailFilterCondition(to: e)).toSet()),
LogicFilterOperator( LogicFilterOperator(
Operator.AND, from.map((e) => EmailFilterCondition(from: e)).toSet()), Operator.AND, from.map((e) => EmailFilterCondition(from: e)).toSet()),
LogicFilterOperator(
Operator.AND, hasKeyword.map((e) => EmailFilterCondition(hasKeyword: e)).toSet()),
LogicFilterOperator( LogicFilterOperator(
Operator.AND, notKeyword.map((e) => EmailFilterCondition(notKeyword: e)).toSet()), Operator.AND, notKeyword.map((e) => EmailFilterCondition(notKeyword: e)).toSet()),
if(moreFilterCondition !=null) moreFilterCondition if(moreFilterCondition !=null) moreFilterCondition
@@ -98,7 +91,6 @@ extension SearchEmailFilterExtension on SearchEmailFilter {
to: to, to: to,
text: text, text: text,
subject: subject, subject: subject,
hasKeyword: hasKeyword,
notKeyword: notKeyword, notKeyword: notKeyword,
mailbox: mailbox, mailbox: mailbox,
emailReceiveTimeType: emailReceiveTimeType, emailReceiveTimeType: emailReceiveTimeType,
@@ -420,7 +420,6 @@ class SearchEmailController extends BaseController
Set<String>? to, Set<String>? to,
SearchQuery? text, SearchQuery? text,
String? subject, String? subject,
Set<String>? hasKeyword,
Set<String>? notKeyword, Set<String>? notKeyword,
PresentationMailbox? mailbox, PresentationMailbox? mailbox,
EmailReceiveTimeType? emailReceiveTimeType, EmailReceiveTimeType? emailReceiveTimeType,
@@ -432,7 +431,6 @@ class SearchEmailController extends BaseController
to: to, to: to,
text: text, text: text,
subject: subject, subject: subject,
hasKeyword: hasKeyword,
notKeyword: notKeyword, notKeyword: notKeyword,
mailbox: mailbox, mailbox: mailbox,
emailReceiveTimeType: emailReceiveTimeType, emailReceiveTimeType: emailReceiveTimeType,