/ / Como chamar o controlador de popup restrito do bootstrap do ui do angular js um outro controlador - angularjs, angular-ui-bootstrap

Como chamar o controlador de popup restrito do bootstrap do ui do angular js um outro controlador - angularjs, angular-ui-bootstrap

Como posso chamar pop-up angular bootstrap angular ui de dentro de outro controlador, como a condição é como em vez de chamar de vista eu preciso chamá-lo de dentro de uma função

       App.controller("MailFolderController", ["$scope", "$http", "$timeout", "$stateParams", "$window", "mails", "$interval", function ($scope, $http, $timeout, $stateParams, $window, mails, $interval) {


$scope.check = function(){
console.log("call parent ==========>")
// call open method in modal popup here
}


App.controller("orderCancellationController", ["$scope", "$modal", function ($scope, $modal) {

$scope.open = function (mail) {
var modalInstance = $modal.open({
templateUrl: "/orderCancellationBox.html",
controller: ModalInstanceCtrl,
resolve: {
mail: function () {
return mail;
}
}
});
};

// Please note that $modalInstance represents a modal window (instance) dependency.
// It is not the same as the $modal service used above.

var ModalInstanceCtrl = function ($scope, $modalInstance, mail) {

$scope.mail = mail;
$scope.submit = function () {
$scope.$parent.check();
$modalInstance.close("closed");
};

$scope.cancel = function () {
$modalInstance.dismiss("cancel");
};
};
ModalInstanceCtrl.$inject = ["$scope", "$modalInstance", "mail"];

}]);


}]);

Então eu quero chamar o método aberto em orderCancellationController de dentro do método de seleção, ajuda !!

Respostas:

2 para resposta № 1

Seguindo o exemplo do meu comentário: Chamada Angular Modal Abra a função de um controlador para outro

Para abrir o modal de outro controller você tem que criar um serviço, eu fiz isso no meu arquivo app.js, assim:

myApp.service("modalProvider",["$modal", function ($modal) {

this.openPopupModal = function () {
var modalInstance = $modal.open({
templateUrl: "/orderCancellationBox.html",
controller: "ModalInstanceCtrl"
});
};
}]);

Então no controller eu desejo abrir meu modal, injeto o serviço "modalProvider", assim:

 App.controller("MailFolderController", ["$scope", "$http", "$timeout", "$stateParams", "$window", "mails", "$interval","modalProvider", function ($scope, $http, $timeout, $stateParams, $window, mails, $interval, modalProvider) {

// function to open modal
$scope.check = function(){
modalProvider.openPopupModal();
}