service.js 3.75 KB
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(titulo, initValue){
                    return $uibModal.open({
                        templateUrl: 'modal-prompt.html',
                        controller: 'focaModalPromptController',
                        size: 'md',
                        resolve: {
                            titulo: function() {return titulo;},
                            initValue: function() {return initValue;}
                        }
                    })
                    .result.then(
                        function(resultado) {
                            return resultado;
                        }
                    );
                }
            };
        }
    ]);