TF-138 Implement refresh changes email when make action for email

This commit is contained in:
dab246
2021-10-26 14:28:10 +07:00
committed by Dat H. Pham
parent 17eeefbb39
commit ce941c4852
@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart'; import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart';
@@ -228,6 +229,18 @@ class ThreadController extends BaseController {
} }
void _refreshEmailChanges() { void _refreshEmailChanges() {
if (isSearchActive()) {
if (_accountId != null && searchQuery != null) {
final limit = emailListSearch.length > 0 ? UnsignedInt(emailListSearch.length) : ThreadConstants.defaultLimit;
consumeState(_searchEmailInteractor.execute(
_accountId!,
limit: limit,
sort: _sortOrder,
filter: EmailFilterCondition(text: searchQuery!.value),
properties: ThreadConstants.propertiesDefault,
));
}
} else {
if (_accountId != null && _currentEmailState != null) { if (_accountId != null && _currentEmailState != null) {
consumeState(_refreshChangesEmailsInMailboxInteractor.execute( consumeState(_refreshChangesEmailsInMailboxInteractor.execute(
_accountId!, _accountId!,
@@ -239,6 +252,7 @@ class ThreadController extends BaseController {
)); ));
} }
} }
}
void loadMoreEmails() { void loadMoreEmails() {
if (canLoadMore && _accountId != null) { if (canLoadMore && _accountId != null) {