Line data Source code
1 : import 'package:mvvm_builder/mvvm_builder.dart'; 2 : import 'package:pal/src/services/editor/helper/helper_editor_service.dart'; 3 : 4 : import 'helper_details_model.dart'; 5 : import 'helper_details_view.dart'; 6 : 7 : class HelperDetailsPresenter extends Presenter<HelperDetailsModel, HelperDetailsInterface> { 8 : 9 : final EditorHelperService editorHelperService; 10 : 11 : final HelperDetailsComponentArguments arguments; 12 : 13 1 : HelperDetailsPresenter( 14 : HelperDetailsModel viewModel, 15 : viewInterface, 16 : this.editorHelperService, 17 : this.arguments, 18 1 : ) : super(viewModel, viewInterface) { 19 2 : this.viewModel.isDeleting = false; 20 2 : this.viewModel.isDeleteSuccess = false; 21 : 22 5 : this.viewModel.helperName = arguments?.helper?.name; 23 5 : this.viewModel.helperMinVer = arguments?.helper?.versionMin; 24 5 : this.viewModel.helperMaxVer = arguments?.helper?.versionMax; 25 5 : this.viewModel.helperTriggerType = arguments?.helper?.triggerType; 26 : } 27 : 28 1 : Future deleteHelper() async { 29 2 : this.viewModel.isDeleting = true; 30 2 : this.viewModel.isDeleteSuccess = false; 31 1 : this.refreshView(); 32 : try { 33 2 : await this.editorHelperService 34 6 : .deleteHelper(arguments?.pageId, arguments?.helper?.id); 35 2 : this.viewModel.isDeleteSuccess = true; 36 2 : this.viewInterface.showMessage('Helper successfully deleted 😎', true); 37 3 : await Future.delayed(Duration(milliseconds: 2500)); 38 2 : this.viewInterface.popBackToList(); 39 : } catch (err) { 40 0 : this.viewModel.isDeleteSuccess = false; 41 0 : this.viewInterface.showMessage('Error when removing helper. Please try again.', false); 42 : } 43 2 : this.viewModel.isDeleting = false; 44 1 : this.refreshView(); 45 : } 46 : 47 0 : void callEditHelper() { 48 0 : if(viewModel.isDeleting) { 49 : return; 50 : } 51 0 : this.viewInterface.launchHelperEditor(arguments.pageRouteName); 52 : } 53 : }