angular.module('focaModal') .factory('focaModalService', [ '$uibModal', 'API_ENDPOINT', '$http', function($uibModal, API_ENDPOINT, $http) { return { confirm: function(textoModal) { return $uibModal.open({ templateUrl: 'modal-confirm.html', controller: 'focaModalConfirmController', animation: false, backdrop: false, resolve: { textoModal: function() { return textoModal; } } }) .result.then( function(resultado) { return resultado; } ); }, alert: function(textoModal) { return $uibModal.open({ templateUrl: 'modal-alert.html', controller: 'focaModalAlertController', animation: false, backdrop: false, resolve: { textoModal: function() { return textoModal; } } }) .result.then( function(resultado) { return resultado; } ); }, modal: function(parametrosModal) { parametrosModal.size = (typeof parametrosModal.size === 'undefined') ? 'lg' : parametrosModal.size; return $uibModal.open({ templateUrl: 'foca-modal.html', controller: 'focaModalController', size: parametrosModal.size, resolve: { parametrosModal: function() { return parametrosModal; } } }) .result.then( function(resultado) { return resultado; } ); }, getEntidad: function(filters, query, tipo, json) { if (tipo === 'POST') { return $http.post(API_ENDPOINT.URL + query, json); } else { return $http.get(API_ENDPOINT.URL + query, {nombre: filters}); } }, modalFecha: function(titulo) { return $uibModal.open({ templateUrl: 'foca-fecha.html', controller: 'focaModalFechaController', size: 'md', resolve: { titulo: function() {return titulo;} } }) .result.then( function(resultado) { return resultado; } ); }, prompt: function(options) { return $uibModal.open({ templateUrl: 'modal-prompt.html', controller: 'focaModalPromptController', size: 'md', resolve: { options: function() {return options;}, } }) .result.then( function(resultado) { return resultado; } ); } }; } ]);