Commit e0942d9e30c5ffb761c777566c666081e7590c5c

Authored by Marcelo Puebla
Exists in master

Merge branch 'master' into 'develop'

Master(Macola)

See merge request !18
1 { 1 {
2 "name": "foca-botonera-lateral", 2 "name": "foca-botonera-lateral",
3 "version": "0.0.1", 3 "version": "0.0.1",
4 "description": "Componente de botonera lateral", 4 "description": "Componente de botonera lateral",
5 "main": "index.js", 5 "main": "index.js",
6 "scripts": { 6 "scripts": {
7 "frefresh": "gulp uglify && cp tmp/foca-botonera-principal.js ../wrapper-facturador/node_modules/foca-botonera-principal/dist/foca-botonera-principal.min.js",
7 "refresh": "gulp uglify && cp tmp/foca-botonera-lateral.js ../wrapper-demo/node_modules/foca-botonera-lateral/dist/foca-botonera-lateral.min.js", 8 "refresh": "gulp uglify && cp tmp/foca-botonera-lateral.js ../wrapper-demo/node_modules/foca-botonera-lateral/dist/foca-botonera-lateral.min.js",
8 "test": "echo \"Error: no test specified\" && exit 1", 9 "test": "echo \"Error: no test specified\" && exit 1",
9 "compile": "gulp uglify", 10 "compile": "gulp uglify",
10 "gulp-pre-commit": "gulp pre-commit", 11 "gulp-pre-commit": "gulp pre-commit",
11 "postinstall": "npm run compile && gulp clean-post-install", 12 "postinstall": "npm run compile && gulp clean-post-install",
12 "install-dev": "npm install -D angular bootstrap font-awesome gulp gulp-angular-templatecache gulp-clean gulp-concat gulp-connect gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es jasmine-core jquery jshint pre-commit pump && npm install angular-sanitize" 13 "install-dev": "npm install -D angular bootstrap font-awesome gulp gulp-angular-templatecache gulp-clean gulp-concat gulp-connect gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es jasmine-core jquery jshint pre-commit pump && npm install angular-sanitize"
13 }, 14 },
14 "pre-commit": [ 15 "pre-commit": [
15 "gulp-pre-commit" 16 "gulp-pre-commit"
16 ], 17 ],
17 "repository": { 18 "repository": {
18 "type": "git", 19 "type": "git",
19 "url": "git+ssh://git@debonline.dyndns.org:npm/foca-botonera-lateral.git" 20 "url": "git+ssh://git@debonline.dyndns.org:npm/foca-botonera-lateral.git"
20 }, 21 },
21 "author": "Foca Software", 22 "author": "Foca Software",
22 "license": "ISC", 23 "license": "ISC",
23 "peerDependencies": { 24 "peerDependencies": {
24 "angular": "^1.7.x", 25 "angular": "^1.7.x",
25 "bootstrap": "^4.1.x", 26 "bootstrap": "^4.1.x",
26 "jquery": "^3.3.x", 27 "jquery": "^3.3.x",
27 "font-awesome": "^4.7.x", 28 "font-awesome": "^4.7.x",
28 "gulp": "^3.9.x", 29 "gulp": "^3.9.x",
29 "gulp-concat": "2.6.x", 30 "gulp-concat": "2.6.x",
30 "gulp-jshint": "^2.1.x", 31 "gulp-jshint": "^2.1.x",
31 "gulp-rename": "^1.4.x", 32 "gulp-rename": "^1.4.x",
32 "gulp-replace": "^1.0.x", 33 "gulp-replace": "^1.0.x",
33 "gulp-uglify-es": "^1.0.x", 34 "gulp-uglify-es": "^1.0.x",
34 "jshint": "^2.9.x", 35 "jshint": "^2.9.x",
35 "pump": "^3.0.x" 36 "pump": "^3.0.x"
36 }, 37 },
37 "devDependencies": { 38 "devDependencies": {
38 "angular": "1.7.5", 39 "angular": "1.7.5",
39 "angular-route": "^1.7.5", 40 "angular-route": "^1.7.5",
40 "angular-sanitize": "1.7.5", 41 "angular-sanitize": "1.7.5",
41 "bootstrap": "4.1.3", 42 "bootstrap": "4.1.3",
42 "font-awesome": "4.7.0", 43 "font-awesome": "4.7.0",
43 "gulp": "3.9.1", 44 "gulp": "3.9.1",
44 "gulp-angular-templatecache": "2.2.5", 45 "gulp-angular-templatecache": "2.2.5",
45 "gulp-clean": "0.4.0", 46 "gulp-clean": "0.4.0",
46 "gulp-concat": "2.6.1", 47 "gulp-concat": "2.6.1",
47 "gulp-connect": "5.6.1", 48 "gulp-connect": "5.6.1",
48 "gulp-htmlmin": "5.0.1", 49 "gulp-htmlmin": "5.0.1",
49 "gulp-jshint": "2.1.0", 50 "gulp-jshint": "2.1.0",
50 "gulp-rename": "1.4.0", 51 "gulp-rename": "1.4.0",
51 "gulp-replace": "1.0.0", 52 "gulp-replace": "1.0.0",
52 "gulp-sass": "4.0.2", 53 "gulp-sass": "4.0.2",
53 "gulp-uglify-es": "1.0.4", 54 "gulp-uglify-es": "1.0.4",
54 "jasmine-core": "3.3.0", 55 "jasmine-core": "3.3.0",
55 "jquery": "3.3.1", 56 "jquery": "3.3.1",
56 "jshint": "2.9.6", 57 "jshint": "2.9.6",
57 "pre-commit": "1.2.2", 58 "pre-commit": "1.2.2",
58 "pump": "3.0.0" 59 "pump": "3.0.0"
60 },
61 "dependencies": {
62 "node-sass": "^4.12.0"
59 } 63 }
60 } 64 }
61 65
1 angular.module('focaBotoneraLateral') 1 angular.module('focaBotoneraLateral')
2 .service('focaBotoneraLateralService', ['$localStorage', 2 .service('focaBotoneraLateralService', ['$localStorage',
3 function ($localStorage) { 3 function ($localStorage) {
4 4
5 this.botones = {
6 teclado: true,
7 salir: false,
8 cancelar: false,
9 pausar: false,
10 guardar: false,
11 pagar: false,
12 guardando: false,
13 funcionGuardar: undefined,
14 pathCancelar: undefined,
15 custom: []
16 };
5 this.botones = { 17 this.botones = {
6 teclado: true, 18 teclado: true,
7 salir: false, 19 salir: false,
8 cancelar: false, 20 cancelar: false,
9 pausar: false, 21 pausar: false,
10 guardar: false, 22 guardar: false,
11 guardando: false, 23 guardando: false,
12 funcionGuardar: undefined, 24 funcionGuardar: undefined,
13 pathCancelar: undefined, 25 pathCancelar: undefined,
14 custom: [] 26 custom: []
15 }; 27 };
16 28
17 this.pausarData = { 29 this.pausarData = {
18 label: '', 30 label: '',
19 val: '' 31 val: ''
20 }; 32 };
21 33
34 this.showTeclado = function(value) {
35 this.botones.teclado = value;
36 };
37 this.showSalir = function(value) {
38 this.botones.custom = [];
39 this.botones.salir = value;
40 };
41 this.showPausar = function(value) {
42 this.botones.custom = [];
43 this.botones.pausar = value;
44 };
45 this.setPausarData = function(obj) {
46 this.pausarData = obj;
47 };
48 this.showCancelar = function(value, path) {
49 this.botones.custom = [];
50 this.botones.cancelar = value;
51 this.botones.pathCancelar = (path) ? path : undefined;
52 };
53 this.showGuardar = function(value, funcion) {
54 angular.element('#guardar').removeClass('guardado');
55 this.botones.custom = [];
56 this.botones.guardar = value;
57 if (value) this.botones.funcionGuardar = funcion;
58 };
59 this.showPagar = function(value, funcion) {
60 angular.element('#pagar').removeClass('guardado');
61 this.botones.custom = [];
62 this.botones.pagar = value;
63 if (value) this.botones.funcionGuardar = funcion;
64 };
65 this.addCustomButton = function(title, funcion) {
66 this.botones.custom.push({
67 title: title,
68 funcion: funcion
69 });
70 };
71 this.startGuardar = function() {
72 this.botones.guardando = true;
73 };
74 this.endGuardar = function(guardado) {
75 this.botones.guardando = false;
76 if (guardado) angular.element('#guardar').addClass('guardado');
77 };
22 this.rutasPausadas = { 78 this.rutasPausadas = {
23 label: 'rutas', 79 label: 'rutas',
24 val: [] 80 val: []
25 }; 81 };
26 82
27 this.showTeclado = function (value) { 83 this.showTeclado = function (value) {
28 this.botones.teclado = value; 84 this.botones.teclado = value;
29 }; 85 };
30 this.showSalir = function (value) { 86 this.showSalir = function (value) {
31 this.botones.custom = []; 87 this.botones.custom = [];
32 this.botones.salir = value; 88 this.botones.salir = value;
33 }; 89 };
34 this.showPausar = function (value) { 90 this.showPausar = function (value) {
35 this.botones.custom = []; 91 this.botones.custom = [];
36 this.botones.pausar = value; 92 this.botones.pausar = value;
37 }; 93 };
38 this.setPausarData = function (obj) { 94 this.setPausarData = function (obj) {
39 this.pausarData = obj; 95 this.pausarData = obj;
40 }; 96 };
41 this.setRutasPausadas = function (obj) { 97 this.setRutasPausadas = function (obj) {
42 var auxArray = []; 98 var auxArray = [];
43 this.rutasPausadas.val.push(obj.val); 99 this.rutasPausadas.val.push(obj.val);
44 angular.forEach(this.rutasPausadas.val, function (ruta) { 100 angular.forEach(this.rutasPausadas.val, function (ruta) {
45 var exists = false; 101 var exists = false;
46 angular.forEach(auxArray, function (val2) { 102 angular.forEach(auxArray, function (val2) {
47 if (angular.equals(ruta, val2)) { exists = true }; 103 if (angular.equals(ruta, val2)) { exists = true };
48 }); 104 });
49 if (exists == false && ruta !== "") { auxArray.push(ruta); } 105 if (exists == false && ruta !== "") { auxArray.push(ruta); }
50 }); 106 });
51 107
52 this.rutasPausadas.val = auxArray; 108 this.rutasPausadas.val = auxArray;
53 }; 109 };
54 this.showCancelar = function (value, path) { 110 this.showCancelar = function (value, path) {
55 this.botones.custom = []; 111 this.botones.custom = [];
56 this.botones.cancelar = value; 112 this.botones.cancelar = value;
57 this.botones.pathCancelar = (path) ? path : undefined; 113 this.botones.pathCancelar = (path) ? path : undefined;
58 }; 114 };
59 this.showGuardar = function (value, funcion) { 115 this.showGuardar = function (value, funcion) {
60 angular.element('#guardar').removeClass('guardado'); 116 angular.element('#guardar').removeClass('guardado');
61 this.botones.custom = []; 117 this.botones.custom = [];
62 this.botones.guardar = value; 118 this.botones.guardar = value;
63 if (value) this.botones.funcionGuardar = funcion; 119 if (value) this.botones.funcionGuardar = funcion;
64 }; 120 };
65 this.addCustomButton = function (title, funcion) { 121 this.addCustomButton = function (title, funcion) {
66 this.botones.custom.push({ 122 this.botones.custom.push({
67 title: title, 123 title: title,
68 funcion: funcion 124 funcion: funcion
69 }); 125 });
70 }; 126 };
71 this.startGuardar = function () { 127 this.startGuardar = function () {
72 this.botones.guardando = true; 128 this.botones.guardando = true;
73 }; 129 };
74 this.endGuardar = function (guardado) { 130 this.endGuardar = function (guardado) {
75 this.botones.guardando = false; 131 this.botones.guardando = false;
76 if (guardado) angular.element('#guardar').addClass('guardado'); 132 if (guardado) angular.element('#guardar').addClass('guardado');
77 }; 133 };
78 134
79 this.setLSItem = function () { 135 this.setLSItem = function () {
80 $localStorage[this.pausarData.label] = JSON.stringify(this.pausarData.val); 136 $localStorage[this.pausarData.label] = JSON.stringify(this.pausarData.val);
81 }; 137 };
82 138
83 this.setLSRuta = function () { 139 this.setLSRuta = function () {
84 $localStorage[this.rutasPausadas.label] = JSON.stringify(this.rutasPausadas.val); 140 $localStorage[this.rutasPausadas.label] = JSON.stringify(this.rutasPausadas.val);
85 }; 141 };
86 }]); 142 }]);
87 143
src/views/botonera-lateral.html
1 <div class="container botonera-lateral"> 1 <div class="container botonera-lateral">
2 <div class="row"> 2 <div class="row">
3 <div class="col-auto my-2 col-2 offset-10 d-none d-lg-flex" style="min-height: 176px"> 3 <div class="col-auto my-2 col-2 offset-10 d-none d-lg-flex" style="min-height: 176px">
4 <div class="px-2 mt-auto"> 4 <div class="px-2 mt-auto">
5 <div class="container"> 5 <div class="container">
6 <div class="row"> 6 <div class="row">
7 <div 7 <div
8 ladda="botones.guardando" 8 ladda="botones.guardando"
9 data-spinner-size="30" 9 data-spinner-size="30"
10 data-spinner-color="#000000" 10 data-spinner-color="#000000"
11 class="mb-2 border rounded" 11 class="border rounded"
12 ng-show="botones.pagar"
13 >
14 <button
15 id="pagar"
16 ng-click="botones.funcionGuardar()"
17 ng-disabled="botones.guardando"
18 type="button"
19 title="Pagar"
20 class="btn btn-block">
21 <strong>PAGAR</strong>
22 </button>
23 </div>
24 <div
25 ladda="botones.guardando"
26 data-spinner-size="30"
27 data-spinner-color="#000000"
28 class="border rounded"
29 ng-show="botones.guardar"
12 > 30 >
13 <button 31 <button
14 id="guardar" 32 id="guardar"
15 ng-click="botones.funcionGuardar()" 33 ng-click="botones.funcionGuardar()"
16 ng-show="botones.guardar"
17 ng-disabled="botones.guardando" 34 ng-disabled="botones.guardando"
18 type="button" 35 type="button"
19 title="Guardar" 36 title="Guardar"
20 class="btn btn-block"> 37 class="btn btn-block">
21 <strong>GUARDAR</strong> 38 <strong>GUARDAR</strong>
22 </button> 39 </button>
23 </div> 40 </div>
24 <button 41 <button
25 ng-click="pausar()" 42 ng-click="pausar()"
26 ng-show="botones.pausar" 43 ng-show="botones.pausar"
27 type="button" 44 type="button"
28 title="Pausar" 45 title="Pausar"
29 class="btn btn-block border"> 46 class="btn btn-block mt-2 border">
30 <strong>PAUSAR</strong> 47 <strong>PAUSAR</strong>
31 </button> 48 </button>
32 <button 49 <button
33 ng-click="cancelar()" 50 ng-click="cancelar()"
34 ng-show="botones.cancelar" 51 ng-show="botones.cancelar"
35 type="button" 52 type="button"
36 title="Cancelar" 53 title="Cancelar"
37 class="btn btn-block border border-dark"> 54 class="btn btn-block mt-2 border border-dark">
38 <strong>CANCELAR</strong> 55 <strong>CANCELAR</strong>
39 </button> 56 </button>
40 <button 57 <button
41 ng-click="salir()" 58 ng-click="salir()"
42 ng-show="botones.salir" 59 ng-show="botones.salir"
43 type="button" 60 type="button"
44 title="Salir" 61 title="Salir"
45 class="btn btn-block border"> 62 class="btn btn-block mt-2 border">
46 <strong>SALIR</strong> 63 <strong>SALIR</strong>
47 </button> 64 </button>
48 <button 65 <button
49 ng-repeat="boton in botones.custom" 66 ng-repeat="boton in botones.custom"
50 ng-click="boton.funcion()" 67 ng-click="boton.funcion()"
51 type="button" 68 type="button"
52 title="{{boton.title}}" 69 title="{{boton.title}}"
53 class="btn btn-block border"> 70 class="btn btn-block mt-2 border">
54 <strong 71 <strong
55 class="text-uppercase" 72 class="text-uppercase"
56 ng-bind="boton.title"> 73 ng-bind="boton.title">
57 </strong> 74 </strong>
58 </button> 75 </button>
59 </div> 76 </div>
60 </div> 77 </div>
61 </div> 78 </div>
62 </div> 79 </div>
63 </div> 80 </div>
64 </div> 81 </div>
65 <div class="container botonera-lateral teclado" ng-show="botones.teclado"> 82 <div class="container botonera-lateral teclado" ng-show="botones.teclado">
66 <div class="row"> 83 <div class="row">
67 <div class="col-auto my-2 col-2 offset-10 d-none d-lg-flex" style="min-height: 176px"> 84 <div class="col-auto my-2 col-2 offset-10 d-none d-lg-flex" style="min-height: 176px">
68 <div class="px-2 mt-auto"> 85 <div class="px-2 mt-auto">
69 <div class="container"> 86 <div class="container">
70 <div class="row"> 87 <div class="row">
71 <div 88 <div
72 class="btn-group-toggle btn btn-block border" 89 class="btn-group-toggle btn btn-block mt-2 border"
73 data-toggle="buttons" 90 data-toggle="buttons"
74 ng-click="cambioUsoTeclado()" 91 ng-click="cambioUsoTeclado()"
75 title="Activar/desactivar teclado"> 92 title="Activar/desactivar teclado">
76 <label 93 <label
77 class=" active boton-activar-teclado mb-0" 94 class=" active boton-activar-teclado mb-0"
78 ng-class="{'teclado-activar': usarTeclado}"> 95 ng-class="{'teclado-activar': usarTeclado}">
79 <input 96 <input
80 type="checkbox" 97 type="checkbox"
81 autocomplete="off" 98 autocomplete="off"
82 > 99 >
83 <strong>TECLADO</strong> 100 <strong>TECLADO</strong>
84 </label> 101 </label>
85 </div> 102 </div>
86 </div> 103 </div>
87 </div> 104 </div>
88 </div> 105 </div>
89 </div> 106 </div>
90 </div> 107 </div>
91 </div> 108 </div>