'use strict'; Application.Services.factory('dialogs', ['$uibModal', function ($uibModal) { return ({ confirm (options, success, error) { const defaultOpts = { templateUrl: '<%= asset_path "shared/confirm_modal.html" %>', size: 'sm', resolve: { object () { return { title: 'Titre de confirmation', msg: 'Message de confirmation' }; } }, controller: ['$scope', '$uibModalInstance', '$state', 'object', function ($scope, $uibModalInstance, $state, object) { $scope.object = object; $scope.ok = function (info) { $uibModalInstance.close(info); }; $scope.cancel = function () { $uibModalInstance.dismiss('cancel'); }; }] }; if (angular.isObject(options)) { angular.extend(defaultOpts, options); } return $uibModal.open(defaultOpts) .result['finally'](null).then(function (info) { if (angular.isFunction(success)) { return success(info); } } , function (reason) { if (angular.isFunction(error)) { return error(reason); } }); } }); }]);