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,15 +229,28 @@ class ThreadController extends BaseController {
} }
void _refreshEmailChanges() { void _refreshEmailChanges() {
if (_accountId != null && _currentEmailState != null) { if (isSearchActive()) {
consumeState(_refreshChangesEmailsInMailboxInteractor.execute( if (_accountId != null && searchQuery != null) {
_accountId!, final limit = emailListSearch.length > 0 ? UnsignedInt(emailListSearch.length) : ThreadConstants.defaultLimit;
_currentEmailState!, consumeState(_searchEmailInteractor.execute(
sort: _sortOrder, _accountId!,
propertiesCreated: ThreadConstants.propertiesDefault, limit: limit,
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault, sort: _sortOrder,
inMailboxId: _currentMailboxId, filter: EmailFilterCondition(text: searchQuery!.value),
)); properties: ThreadConstants.propertiesDefault,
));
}
} else {
if (_accountId != null && _currentEmailState != null) {
consumeState(_refreshChangesEmailsInMailboxInteractor.execute(
_accountId!,
_currentEmailState!,
sort: _sortOrder,
propertiesCreated: ThreadConstants.propertiesDefault,
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
inMailboxId: _currentMailboxId,
));
}
} }
} }