controller.js 1.78 KB
angular.module('focaBotoneraFacturador')
    .controller('focaBotoneraFacturadorController', [
        '$scope',
        '$window',
        'APP',
        function($scope, $window, APP) {
            this.$onInit = function() {
                ordenarBotones();
            };

            this.$onChanges = function(p) {
                ordenarBotones();
            }

            function nombreFuncion(string) {
                var texto = 'seleccionar';
                var arr = string.split(' ');
                arr.forEach(function(palabra) {
                    palabra = palabra.charAt(0).toUpperCase() + palabra.slice(1);
                    texto += palabra;
                });
                return texto;
            }

            $scope.ejecutarFuncion = function(nombre) {
                $scope.$parent[nombreFuncion(nombre)]();
            };

            $scope.ejecutarFuncionDelete = function(variable) {
                $scope.$parent['clean' + variable]();
            };

            $scope.existeFuncionDelete = function(variable) {
                if ($scope.$parent['clean' + variable]) return true;
                return false;
            }

            function ordenarBotones() {
                $scope.botones = $scope.$ctrl.botones;
                //TODO: controlar que no se estiren los botones
                if(APP) return;
                var max = ($scope.$ctrl.max) ? $scope.$ctrl.max : 12;
                if ($window.innerWidth > 576) {
                    while(($scope.botones.length % max) !== 0) {
                        $scope.botones.push('');
                    }
                } else {
                    while(($scope.botones.length % 4) !== 0) {
                        $scope.botones.push('');
                    }
                }
            }
    }]);