controller.js 2.16 KB
angular.module('focaModal')
.controller('focaModalConfirmController', [
    '$uibModalInstance', '$scope', 'textoModal',
    function($uibModalInstance, $scope, textoModal) {
        $scope.textoModal = textoModal;
        $scope.cancelar = function() {
            $uibModalInstance.dismiss(false);
        };
        $scope.aceptar = function() {
            $uibModalInstance.close(true);
        };
    }
])
.controller('focaModalAlertController', [
    '$uibModalInstance', '$scope', 'textoModal',
    function($uibModalInstance, $scope, textoModal) {
        $scope.textoModal = textoModal;
        $scope.aceptar = function() {
            $uibModalInstance.close(true);
        };
    }
])
.controller('focaModalFechaController', [
    '$uibModalInstance', '$scope', 'titulo',
    function($uibModalInstance, $scope, titulo) {
        $scope.titulo = titulo;
        $scope.fecha = new Date();
        $scope.cancelar = function() {
            $uibModalInstance.dismiss();
        };
        $scope.aceptar = function() {
            $uibModalInstance.close($scope.fecha);
        };
    }
])
.controller('focaModalPromptController', [
    '$uibModalInstance', '$scope', 'options', 'focaModalService',
    function($uibModalInstance, $scope, options, focaModalService) {

        $scope.options = options;
        $scope.cancelar = function() {
            $uibModalInstance.dismiss();
        };
        $scope.aceptar = function(key) {
            if (key === 13) {
                if(options.email && !validateEmails($scope.options.value)) {
                    focaModalService.alert('Ingrese email/s válido/s');
                    return;
                }
    
                $uibModalInstance.close($scope.options.value);
            }
        };

        function validateEmails(emails) {
            var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
            var arr = emails.split(',');

            arr.forEach(function(email) {
                if(!re.test(String(email).trim().toLowerCase())) return false;
            });
            return true;
        }
    }
]);