Имею сервис:
/*global angular*/
(function () {
angular
.module('App')
.service('modalService', ['$uibModal', modalService]);
modalService.$inject = ['$uibModal'];
function modalService($uibModal) {
var modalDefaults = {
backdrop: true,
keyboard: true,
modalFade: true,
templateUrl: 'routes/modalServiceTemplate.html'
};
var modalOptions = {
closeButtonText: 'Отмена',
actionButtonText: 'OK',
headerText: 'Подтверждение',
bodyText: 'Вы уверены?'
};
this.showModal = function (customModalDefaults, customModalOptions) {
if (!customModalDefaults){
customModalDefaults = {};
}
customModalDefaults.backdrop = 'static';
return this.show(customModalDefaults, customModalOptions);
};
this.show = function (customModalDefaults, customModalOptions) {
var tempModalDefaults = {};
var tempModalOptions = {};
angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);
angular.extend(tempModalOptions, modalOptions, customModalOptions);
if (!tempModalDefaults.controller) {
tempModalDefaults.controller = ['$scope', '$modalInstance', function ($scope, $modalInstance) {
$scope.modalOptions = tempModalOptions;
$scope.modalOptions.ok = function (result) {
$modalInstance.close(result);
};
$scope.modalOptions.close = function (result) {
$modalInstance.dismiss('cancel');
};
}]
tempModalDefaults.controller.$inject = ['$scope', '$modalInstance'];
}
return $uibModal.open(tempModalDefaults).result;
};
}
})();
В методе контроллера вызываю так:
self.submitDelete = function () {
var modalOptions = {
closeButtonText: 'Отмена',
actionButtonText: 'Удалить аккаунт',
headerText: 'Подтверждение',
bodyText: 'Вы уверены, что хотите удалить аккаунт?'
};
modalService.showModal({}, modalOptions).then(function (result) {
console.info(result);
//self.$auth.DeleteAccount();
});
};
Подгружается шаблон
routes/modalServiceTemplate.html и в консоль лезет ошибка:
Error: [$injector:unpr] http://errors.angularjs.org/1.5.3/$injector/unpr?p0=%24modalInstanceProvider%20%3C-%20%24modalInstance
at Error (native)
at https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:6:416
at https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:43:7
at Object.d [as get] (https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:40:270)
at https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:43:69
at d (https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:40:270)
at e (https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:41:1)
at Object.invoke (https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:41:86)
at S.instance (https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular/angular.min.js:88:235)
at https://passwordkeeper-yarkovaleksei.c9users.io/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js:8:25886
Сервис в зависимостях контроллера объявлен, скрипты подключены. Например пагинация от ui.bootstrap работает, а вот окно завести не могу ((
UPD#1: Обновил код сервиса. Теперь другая ошибка (((