service.js 5.03 KB
angular.module('focaBotoneraLateral')
    .service('focaBotoneraLateralService', ['$localStorage',
        function ($localStorage) {

        this.botones = {
            teclado: true,
            salir: false,
            cancelar: false,
            pausar: false,
            guardar: false,
            pagar: false,
            guardando: false,
            funcionGuardar: undefined,
            pathCancelar: undefined,
            custom: []
        };
            this.botones = {
                teclado: true,
                salir: false,
                cancelar: false,
                pausar: false,
                guardar: false,
                guardando: false,
                funcionGuardar: undefined,
                pathCancelar: undefined,
                custom: []
            };

            this.pausarData = {
                label: '',
                val: ''
            };

        this.showTeclado = function(value) {
            this.botones.teclado = value;
        };
        this.showSalir = function(value) {
            this.botones.custom = [];
            this.botones.salir = value;
        };
        this.showPausar = function(value) {
            this.botones.custom = [];
            this.botones.pausar = value;
        };
        this.setPausarData = function(obj) {
            this.pausarData = obj;
        };
        this.showCancelar = function(value, path) {
            this.botones.custom = [];
            this.botones.cancelar = value;
            this.botones.pathCancelar = (path) ? path : undefined;
        };
        this.showGuardar = function(value, funcion) {
            angular.element('#guardar').removeClass('guardado');
            this.botones.custom = [];
            this.botones.guardar = value;
            if (value) this.botones.funcionGuardar = funcion;
        };
        this.showPagar = function(value, funcion) {
            angular.element('#pagar').removeClass('guardado');
            this.botones.custom = [];
            this.botones.pagar = value;
            if (value) this.botones.funcionGuardar = funcion;
        };
        this.addCustomButton = function(title, funcion) {
            this.botones.custom.push({
                title: title,
                funcion: funcion
            });
        };
        this.startGuardar = function() {
            this.botones.guardando = true;
        };
        this.endGuardar = function(guardado) {
            this.botones.guardando = false;
            if (guardado) angular.element('#guardar').addClass('guardado');
        };
            this.rutasPausadas = {
                label: 'rutas',
                val: []
            };

            this.showTeclado = function (value) {
                this.botones.teclado = value;
            };
            this.showSalir = function (value) {
                this.botones.custom = [];
                this.botones.salir = value;
            };
            this.showPausar = function (value) {
                this.botones.custom = [];
                this.botones.pausar = value;
            };
            this.setPausarData = function (obj) {
                this.pausarData = obj;
            };
            this.setRutasPausadas = function (obj) {
                var auxArray = [];
                this.rutasPausadas.val.push(obj.val);
                angular.forEach(this.rutasPausadas.val, function (ruta) {
                    var exists = false;
                    angular.forEach(auxArray, function (val2) {
                        if (angular.equals(ruta, val2)) { exists = true };
                    });
                    if (exists == false && ruta !== "") { auxArray.push(ruta); }
                });

                this.rutasPausadas.val = auxArray;
            };
            this.showCancelar = function (value, path) {
                this.botones.custom = [];
                this.botones.cancelar = value;
                this.botones.pathCancelar = (path) ? path : undefined;
            };
            this.showGuardar = function (value, funcion) {
                angular.element('#guardar').removeClass('guardado');
                this.botones.custom = [];
                this.botones.guardar = value;
                if (value) this.botones.funcionGuardar = funcion;
            };
            this.addCustomButton = function (title, funcion) {
                this.botones.custom.push({
                    title: title,
                    funcion: funcion
                });
            };
            this.startGuardar = function () {
                this.botones.guardando = true;
            };
            this.endGuardar = function (guardado) {
                this.botones.guardando = false;
                if (guardado) angular.element('#guardar').addClass('guardado');
            };

            this.setLSItem = function () {
                $localStorage[this.pausarData.label] = JSON.stringify(this.pausarData.val);
            };

            this.setLSRuta = function () {
                $localStorage[this.rutasPausadas.label] = JSON.stringify(this.rutasPausadas.val);
            };
        }]);