controller.js 2.37 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', 'parametros',
    function($uibModalInstance, $scope, parametros) {
        $scope.parametros = parametros;
        $scope.fecha = new Date();
        $scope.options = {};
        
        if (parametros.minDate) $scope.options.minDate = parametros.minDate;
        
        $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(',');
            var result = true;

            arr.forEach(function(email) {
                var val = String(email).trim().toLowerCase();

                if (!re.test(val)) result = false;
            });

            return result;
        }
    }
]);