TF-866: Fix Can't pop back on Web when reload Identities
This commit is contained in:
@@ -2,25 +2,31 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:enough_html_editor/enough_html_editor.dart';
|
import 'package:enough_html_editor/enough_html_editor.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:html_editor_enhanced/html_editor.dart';
|
import 'package:html_editor_enhanced/html_editor.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/id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart';
|
|
||||||
import 'package:tmail_ui_user/features/identity_creator/presentation/model/signature_type.dart';
|
import 'package:tmail_ui_user/features/identity_creator/presentation/model/signature_type.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/email_address_validator.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/email_address_validator.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/empty_name_validator.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/domain/model/verification/empty_name_validator.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/domain/state/verify_name_view_state.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/domain/state/verify_name_view_state.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart';
|
||||||
|
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/identity_action_type.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/model/identity_action_type.dart';
|
||||||
|
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/identities_controller.dart';
|
||||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||||
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
class IdentityCreatorController extends BaseController {
|
class IdentityCreatorController extends BaseController {
|
||||||
|
|
||||||
@@ -36,7 +42,9 @@ class IdentityCreatorController extends BaseController {
|
|||||||
final emailOfIdentity = Rxn<EmailAddress>();
|
final emailOfIdentity = Rxn<EmailAddress>();
|
||||||
final replyToOfIdentity = Rxn<EmailAddress>();
|
final replyToOfIdentity = Rxn<EmailAddress>();
|
||||||
final bccOfIdentity = Rxn<EmailAddress>();
|
final bccOfIdentity = Rxn<EmailAddress>();
|
||||||
final actionType = IdentityActionType.create.obs;
|
final _uuid = Get.find<Uuid>();
|
||||||
|
final _identitiesController = Get.find<IdentitiesController>();
|
||||||
|
final _accountDashBoardController = Get.find<ManageAccountDashBoardController>();
|
||||||
|
|
||||||
final HtmlEditorController signatureHtmlEditorController = HtmlEditorController(processNewLineAsBr: true);
|
final HtmlEditorController signatureHtmlEditorController = HtmlEditorController(processNewLineAsBr: true);
|
||||||
final TextEditingController signaturePlainEditorController = TextEditingController();
|
final TextEditingController signaturePlainEditorController = TextEditingController();
|
||||||
@@ -44,10 +52,13 @@ class IdentityCreatorController extends BaseController {
|
|||||||
final TextEditingController inputBccIdentityController = TextEditingController();
|
final TextEditingController inputBccIdentityController = TextEditingController();
|
||||||
final FocusNode inputNameIdentityFocusNode = FocusNode();
|
final FocusNode inputNameIdentityFocusNode = FocusNode();
|
||||||
|
|
||||||
|
late Worker identityCreatorIsActiveWorker;
|
||||||
|
|
||||||
HtmlEditorApi? signatureHtmlEditorMobileController;
|
HtmlEditorApi? signatureHtmlEditorMobileController;
|
||||||
AccountId? accountId;
|
AccountId? get accountId => _identitiesController.identityCreatorArguments.value!.accountId;
|
||||||
UserProfile? userProfile;
|
UserProfile? get userProfile => _identitiesController.identityCreatorArguments.value!.userProfile;
|
||||||
Identity? identity;
|
Identity? get identity => _identitiesController.identityCreatorArguments.value!.identity;
|
||||||
|
IdentityActionType get actionType => _identitiesController.identityCreatorArguments.value!.actionType;
|
||||||
String? _nameIdentity;
|
String? _nameIdentity;
|
||||||
String? _contentHtmlEditor;
|
String? _contentHtmlEditor;
|
||||||
|
|
||||||
@@ -67,14 +78,23 @@ class IdentityCreatorController extends BaseController {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
_getArguments();
|
_setUpValueFromIdentity();
|
||||||
_getAllIdentities();
|
_getAllIdentities();
|
||||||
if (actionType.value == IdentityActionType.edit && identity != null) {
|
_initWorker();
|
||||||
_setUpValueFromIdentity();
|
|
||||||
}
|
|
||||||
super.onReady();
|
super.onReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _initWorker() {
|
||||||
|
identityCreatorIsActiveWorker = ever(_accountDashBoardController.identityCreatorIsActive, (identityCreatorIsActive) {
|
||||||
|
if (identityCreatorIsActive == true) {
|
||||||
|
if (actionType == IdentityActionType.edit && identity != null) {
|
||||||
|
_setUpValueFromIdentity();
|
||||||
|
_setUpAllFieldEmailAddress();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
signaturePlainEditorController.dispose();
|
signaturePlainEditorController.dispose();
|
||||||
@@ -103,16 +123,6 @@ class IdentityCreatorController extends BaseController {
|
|||||||
@override
|
@override
|
||||||
void onError(error) {}
|
void onError(error) {}
|
||||||
|
|
||||||
void _getArguments() {
|
|
||||||
final arguments = Get.arguments;
|
|
||||||
if (arguments is IdentityCreatorArguments) {
|
|
||||||
accountId = arguments.accountId;
|
|
||||||
userProfile = arguments.userProfile;
|
|
||||||
actionType.value = arguments.actionType;
|
|
||||||
identity = arguments.identity;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _setUpValueFromIdentity() {
|
void _setUpValueFromIdentity() {
|
||||||
_nameIdentity = identity?.name ?? '';
|
_nameIdentity = identity?.name ?? '';
|
||||||
inputNameIdentityController.text = identity?.name ?? '';
|
inputNameIdentityController.text = identity?.name ?? '';
|
||||||
@@ -170,7 +180,7 @@ class IdentityCreatorController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _setUpAllFieldEmailAddress() {
|
void _setUpAllFieldEmailAddress() {
|
||||||
if (actionType.value == IdentityActionType.edit && identity != null) {
|
if (actionType == IdentityActionType.edit && identity != null) {
|
||||||
if (identity?.replyTo?.isNotEmpty == true) {
|
if (identity?.replyTo?.isNotEmpty == true) {
|
||||||
try {
|
try {
|
||||||
replyToOfIdentity.value = listEmailAddressOfReplyTo
|
replyToOfIdentity.value = listEmailAddressOfReplyTo
|
||||||
@@ -286,8 +296,28 @@ class IdentityCreatorController extends BaseController {
|
|||||||
|
|
||||||
log('IdentityCreatorController::createNewIdentity(): $newIdentity');
|
log('IdentityCreatorController::createNewIdentity(): $newIdentity');
|
||||||
|
|
||||||
_clearAll();
|
final generateCreateId = Id(_uuid.v1());
|
||||||
popBack(result: newIdentity);
|
|
||||||
|
if(actionType == IdentityActionType.create) {
|
||||||
|
_identitiesController.createNewIdentityAction(
|
||||||
|
accountId!,
|
||||||
|
CreateNewIdentityRequest(generateCreateId, newIdentity),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
_identitiesController.editIdentityAction(
|
||||||
|
accountId!,
|
||||||
|
EditIdentityRequest(
|
||||||
|
identityId: identity!.id!,
|
||||||
|
identityRequest: newIdentity.toIdentityRequest(),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kIsWeb) {
|
||||||
|
_accountDashBoardController.identityCreatorIsActive.toggle();
|
||||||
|
} else {
|
||||||
|
popBack();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String? _getErrorInputNameString(BuildContext context) {
|
String? _getErrorInputNameString(BuildContext context) {
|
||||||
@@ -359,6 +389,10 @@ class IdentityCreatorController extends BaseController {
|
|||||||
void closeView(BuildContext context) {
|
void closeView(BuildContext context) {
|
||||||
_clearAll();
|
_clearAll();
|
||||||
clearFocusEditor(context);
|
clearFocusEditor(context);
|
||||||
popBack();
|
if(kIsWeb) {
|
||||||
|
_accountDashBoardController.identityCreatorIsActive.toggle();
|
||||||
|
} else {
|
||||||
|
popBack();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -124,7 +124,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(left: 24, top: 24),
|
padding: const EdgeInsets.only(left: 24, top: 24),
|
||||||
child: Obx(() => Text(controller.actionType.value == IdentityActionType.create
|
child: Obx(() => Text(controller.actionType == IdentityActionType.create
|
||||||
? AppLocalizations.of(context).new_identity.inCaps
|
? AppLocalizations.of(context).new_identity.inCaps
|
||||||
: AppLocalizations.of(context).edit_identity.inCaps,
|
: AppLocalizations.of(context).edit_identity.inCaps,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
@@ -148,7 +148,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
.build())),
|
.build())),
|
||||||
const SizedBox(width: 24),
|
const SizedBox(width: 24),
|
||||||
Expanded(child: Obx(() {
|
Expanded(child: Obx(() {
|
||||||
if (controller.actionType.value == IdentityActionType.create) {
|
if (controller.actionType == IdentityActionType.create) {
|
||||||
return (IdentityDropListFieldBuilder(
|
return (IdentityDropListFieldBuilder(
|
||||||
_imagePaths,
|
_imagePaths,
|
||||||
AppLocalizations.of(context).email.inCaps,
|
AppLocalizations.of(context).email.inCaps,
|
||||||
@@ -248,7 +248,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
onTap: () => controller.closeView(context)),
|
onTap: () => controller.closeView(context)),
|
||||||
const SizedBox(width: 12),
|
const SizedBox(width: 12),
|
||||||
Obx(() => buildTextButton(
|
Obx(() => buildTextButton(
|
||||||
controller.actionType.value == IdentityActionType.create
|
controller.actionType == IdentityActionType.create
|
||||||
? AppLocalizations.of(context).create
|
? AppLocalizations.of(context).create
|
||||||
: AppLocalizations.of(context).save,
|
: AppLocalizations.of(context).save,
|
||||||
width: 128,
|
width: 128,
|
||||||
@@ -274,7 +274,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
Column(children: [
|
Column(children: [
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(top: 16),
|
padding: const EdgeInsets.only(top: 16),
|
||||||
child: Text(controller.actionType.value == IdentityActionType.create
|
child: Text(controller.actionType == IdentityActionType.create
|
||||||
? AppLocalizations.of(context).new_identity.inCaps
|
? AppLocalizations.of(context).new_identity.inCaps
|
||||||
: AppLocalizations.of(context).edit_identity.inCaps,
|
: AppLocalizations.of(context).edit_identity.inCaps,
|
||||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 21, color: Colors.black))),
|
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 21, color: Colors.black))),
|
||||||
@@ -295,7 +295,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
.build()),
|
.build()),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
if (controller.actionType.value == IdentityActionType.create) {
|
if (controller.actionType == IdentityActionType.create) {
|
||||||
return (IdentityDropListFieldBuilder(
|
return (IdentityDropListFieldBuilder(
|
||||||
_imagePaths,
|
_imagePaths,
|
||||||
AppLocalizations.of(context).email.inCaps,
|
AppLocalizations.of(context).email.inCaps,
|
||||||
@@ -391,7 +391,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController> {
|
|||||||
const SizedBox(width: 12),
|
const SizedBox(width: 12),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Obx(() => buildTextButton(
|
child: Obx(() => buildTextButton(
|
||||||
controller.actionType.value == IdentityActionType.create
|
controller.actionType == IdentityActionType.create
|
||||||
? AppLocalizations.of(context).create
|
? AppLocalizations.of(context).create
|
||||||
: AppLocalizations.of(context).save,
|
: AppLocalizations.of(context).save,
|
||||||
width: 128,
|
width: 128,
|
||||||
|
|||||||
+25
-28
@@ -1,13 +1,14 @@
|
|||||||
|
|
||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.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/id.dart';
|
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||||
import 'package:model/extensions/identity_extension.dart';
|
|
||||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
|
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart';
|
import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart';
|
import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart';
|
||||||
@@ -25,7 +26,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/model/setting
|
|||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.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';
|
||||||
import 'package:uuid/uuid.dart';
|
|
||||||
|
|
||||||
class IdentitiesController extends BaseController {
|
class IdentitiesController extends BaseController {
|
||||||
|
|
||||||
@@ -33,7 +33,6 @@ class IdentitiesController extends BaseController {
|
|||||||
final _appToast = Get.find<AppToast>();
|
final _appToast = Get.find<AppToast>();
|
||||||
final _imagePaths = Get.find<ImagePaths>();
|
final _imagePaths = Get.find<ImagePaths>();
|
||||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||||
final _uuid = Get.find<Uuid>();
|
|
||||||
|
|
||||||
final GetAllIdentitiesInteractor _getAllIdentitiesInteractor;
|
final GetAllIdentitiesInteractor _getAllIdentitiesInteractor;
|
||||||
final CreateNewIdentityInteractor _createNewIdentityInteractor;
|
final CreateNewIdentityInteractor _createNewIdentityInteractor;
|
||||||
@@ -46,6 +45,8 @@ class IdentitiesController extends BaseController {
|
|||||||
|
|
||||||
final idIdentityAll = IdentityId(Id('all'));
|
final idIdentityAll = IdentityId(Id('all'));
|
||||||
|
|
||||||
|
final identityCreatorArguments = Rxn<IdentityCreatorArguments>();
|
||||||
|
|
||||||
late Worker accountIdWorker;
|
late Worker accountIdWorker;
|
||||||
|
|
||||||
IdentitiesController(
|
IdentitiesController(
|
||||||
@@ -140,6 +141,11 @@ class IdentitiesController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _openIdentityCreatorOverlay() {
|
||||||
|
IdentityCreatorBindings().dependencies();
|
||||||
|
_accountDashBoardController.identityCreatorIsActive.toggle();
|
||||||
|
}
|
||||||
|
|
||||||
void selectIdentity(Identity? newIdentity) {
|
void selectIdentity(Identity? newIdentity) {
|
||||||
identitySelected.value = newIdentity;
|
identitySelected.value = newIdentity;
|
||||||
if (newIdentity != null) {
|
if (newIdentity != null) {
|
||||||
@@ -159,20 +165,16 @@ class IdentitiesController extends BaseController {
|
|||||||
final accountId = _accountDashBoardController.accountId.value;
|
final accountId = _accountDashBoardController.accountId.value;
|
||||||
final userProfile = _accountDashBoardController.userProfile.value;
|
final userProfile = _accountDashBoardController.userProfile.value;
|
||||||
if (accountId != null && userProfile != null) {
|
if (accountId != null && userProfile != null) {
|
||||||
final newIdentity = await push(
|
identityCreatorArguments.value = IdentityCreatorArguments(accountId, userProfile);
|
||||||
AppRoutes.IDENTITY_CREATOR,
|
if (kIsWeb) {
|
||||||
arguments: IdentityCreatorArguments(accountId, userProfile));
|
_openIdentityCreatorOverlay();
|
||||||
|
} else {
|
||||||
if (newIdentity != null && newIdentity is Identity) {
|
push(AppRoutes.IDENTITY_CREATOR);
|
||||||
final generateCreateId = Id(_uuid.v1());
|
|
||||||
_createNewIdentityAction(
|
|
||||||
accountId,
|
|
||||||
CreateNewIdentityRequest(generateCreateId, newIdentity));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _createNewIdentityAction(AccountId accountId, CreateNewIdentityRequest identityRequest) async {
|
void createNewIdentityAction(AccountId accountId, CreateNewIdentityRequest identityRequest) async {
|
||||||
consumeState(_createNewIdentityInteractor.execute(accountId, identityRequest));
|
consumeState(_createNewIdentityInteractor.execute(accountId, identityRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,25 +287,20 @@ class IdentitiesController extends BaseController {
|
|||||||
final accountId = _accountDashBoardController.accountId.value;
|
final accountId = _accountDashBoardController.accountId.value;
|
||||||
final userProfile = _accountDashBoardController.userProfile.value;
|
final userProfile = _accountDashBoardController.userProfile.value;
|
||||||
if (accountId != null && userProfile != null) {
|
if (accountId != null && userProfile != null) {
|
||||||
final newIdentity = await push(
|
identityCreatorArguments.value = IdentityCreatorArguments(
|
||||||
AppRoutes.IDENTITY_CREATOR,
|
accountId,
|
||||||
arguments: IdentityCreatorArguments(
|
userProfile,
|
||||||
accountId,
|
identity: identity,
|
||||||
userProfile,
|
actionType: IdentityActionType.edit);
|
||||||
identity: identity,
|
if (kIsWeb) {
|
||||||
actionType: IdentityActionType.edit));
|
_openIdentityCreatorOverlay();
|
||||||
|
} else {
|
||||||
if (newIdentity is Identity) {
|
push(AppRoutes.IDENTITY_CREATOR);
|
||||||
log('IdentitiesController::goToEditIdentity(): $newIdentity');
|
|
||||||
_editIdentityAction(accountId, EditIdentityRequest(
|
|
||||||
identityId: identity.id!,
|
|
||||||
identityRequest: newIdentity.toIdentityRequest()
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _editIdentityAction(AccountId accountId, EditIdentityRequest editIdentityRequest) async {
|
void editIdentityAction(AccountId accountId, EditIdentityRequest editIdentityRequest) async {
|
||||||
log('IdentitiesController::_editIdentityAction(): $editIdentityRequest');
|
log('IdentitiesController::_editIdentityAction(): $editIdentityRequest');
|
||||||
consumeState(_editIdentityInteractor.execute(accountId, editIdentityRequest));
|
consumeState(_editIdentityInteractor.execute(accountId, editIdentityRequest));
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-10
@@ -25,7 +25,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/e
|
|||||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/creator_action_type.dart';
|
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/creator_action_type.dart';
|
||||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/email_rule_filter_action.dart';
|
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/email_rule_filter_action.dart';
|
||||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/rules_filter_creator_arguments.dart';
|
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.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';
|
||||||
@@ -53,7 +52,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
|||||||
final _accountDashBoardController = Get.find<ManageAccountDashBoardController>();
|
final _accountDashBoardController = Get.find<ManageAccountDashBoardController>();
|
||||||
final _emailRulesController = Get.find<EmailRulesController>();
|
final _emailRulesController = Get.find<EmailRulesController>();
|
||||||
|
|
||||||
late Worker rulesFilterCreatorArgumentsWorker;
|
late Worker rulesFilterCreatorIsActiveWorker;
|
||||||
|
|
||||||
get actionType => _emailRulesController.rulesFilterCreatorArguments.value!.actionType;
|
get actionType => _emailRulesController.rulesFilterCreatorArguments.value!.actionType;
|
||||||
|
|
||||||
@@ -71,21 +70,16 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
|||||||
) : super(treeBuilder);
|
) : super(treeBuilder);
|
||||||
|
|
||||||
void _initWorker() {
|
void _initWorker() {
|
||||||
rulesFilterCreatorArgumentsWorker = ever(_emailRulesController.rulesFilterCreatorArguments, (rulesFilterCreatorArguments) {
|
rulesFilterCreatorIsActiveWorker = ever(_accountDashBoardController.rulesFilterCreatorIsActive, (rulesFilterCreatorIsActive) {
|
||||||
if (rulesFilterCreatorArguments is RulesFilterCreatorArguments) {
|
if (rulesFilterCreatorIsActive == true) {
|
||||||
_setUpDefaultValueRuleFilter();
|
_setUpDefaultValueRuleFilter();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void onInit() {
|
|
||||||
_initWorker();
|
|
||||||
super.onInit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
|
_initWorker();
|
||||||
_setUpDefaultValueRuleFilter();
|
_setUpDefaultValueRuleFilter();
|
||||||
super.onReady();
|
super.onReady();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user