TF-1194 Add another Rx variable and function check signature shown to identitiesController

This commit is contained in:
sherlockvn
2022-12-27 14:23:37 +07:00
committed by Dat H. Pham
parent 094752aa9c
commit b60a86fa62
@@ -44,6 +44,7 @@ class IdentitiesController extends BaseController {
final DeleteIdentityInteractor _deleteIdentityInteractor;
final EditIdentityInteractor _editIdentityInteractor;
final selectedIndex = Rxn<int>();
final identitySelected = Rxn<Identity>();
final listAllIdentities = <Identity>[].obs;
final listSelectedIdentities = <Identity>[].obs;
@@ -82,12 +83,11 @@ class IdentitiesController extends BaseController {
(success) {
if (success is GetAllIdentitiesSuccess) {
if (success.identities?.isNotEmpty == true) {
_addNewIdentityAsAll();
final newListIdentities = success.identities!
final newListIdentities = success.identities!
.where((identity) => identity.mayDelete == true)
.toList();
listAllIdentities.addAll(newListIdentities);
selectIdentity(listAllIdentities.first);
selectIdentity(0);
}
} else if (success is CreateNewIdentitySuccess) {
_createNewIdentitySuccess(success);
@@ -121,9 +121,8 @@ class IdentitiesController extends BaseController {
}
void _refreshAllIdentities() {
identitySelected.value = null;
selectedIndex.value = null;
listAllIdentities.clear();
listSelectedIdentities.clear();
final accountId = _accountDashBoardController.accountId.value;
if (accountId != null) {
@@ -131,26 +130,10 @@ class IdentitiesController extends BaseController {
}
}
void _addNewIdentityAsAll() {
if (currentContext != null) {
listAllIdentities.add(Identity(
id: idIdentityAll,
name: AppLocalizations.of(currentContext!).all_identities));
}
}
void selectIdentity(Identity? newIdentity) {
identitySelected.value = newIdentity;
if (newIdentity != null) {
_updateListSelectedIdentities(newIdentity);
}
}
void _updateListSelectedIdentities(Identity newIdentity) {
if (newIdentity.id == idIdentityAll) {
listSelectedIdentities.value = listAllIdentities.sublist(1);
} else {
listSelectedIdentities.value = [newIdentity];
void selectIdentity(int? index) {
selectedIndex.value = index;
if (selectedIndex.value != null) {
identitySelected.value = listAllIdentities[selectedIndex.value!];
}
}
@@ -343,4 +326,10 @@ class IdentitiesController extends BaseController {
_refreshAllIdentities();
}
ImagePaths get imagePaths => _imagePaths;
bool isSignatureShow() {
return selectedIndex.value!= null && selectedIndex.value! >= 0;
}
}