Commit f1a4c3b11fea93f5670aeb1d6713343792098858
Exists in
fix_acentos
and in
1 other branch
Merge branch 'develop' of git.focasoftware.com:npm/foca-botonera-facturador
Showing
3 changed files
 
Show diff stats
src/js/controllerTarjetas.js
| 1 | angular.module('focaBotoneraFacturador') | 1 | angular.module('focaBotoneraFacturador') | 
| 2 | .controller('focaBotoneraTarjetasController', [ | 2 | .controller('focaBotoneraTarjetasController', [ | 
| 3 | '$scope', | 3 | '$scope', | 
| 4 | '$window', | 4 | '$window', | 
| 5 | 'APP', | 5 | 'APP', | 
| 6 | function ($scope, $window, APP) { | 6 | function ($scope, $window, APP) { | 
| 7 | this.$onInit = function () { | 7 | this.$onInit = function () { | 
| 8 | $scope.botones = $scope.$ctrl.botones; | 8 | $scope.botones = $scope.$ctrl.botones; | 
| 9 | //TODO: controlar que no se estiren los botones | 9 | //TODO: controlar que no se estiren los botones | 
| 10 | if (APP) return; | 10 | if (APP) return; | 
| 11 | var max = ($scope.$ctrl.max) ? $scope.$ctrl.max : 12; | 11 | var max = ($scope.$ctrl.max) ? $scope.$ctrl.max : 12; | 
| 12 | if ($window.innerWidth > 576) { | 12 | if ($window.innerWidth > 576) { | 
| 13 | while (($scope.botones.length % max) !== 0) { | 13 | while (($scope.botones.length % max) !== 0) { | 
| 14 | $scope.botones.push(''); | 14 | $scope.botones.push(''); | 
| 15 | } | 15 | } | 
| 16 | } else { | 16 | } else { | 
| 17 | while (($scope.botones.length % 4) !== 0) { | 17 | while (($scope.botones.length % 4) !== 0) { | 
| 18 | $scope.botones.push(''); | 18 | $scope.botones.push(''); | 
| 19 | } | 19 | } | 
| 20 | } | 20 | } | 
| 21 | }; | 21 | }; | 
| 22 | 22 | ||
| 23 | function nombreFuncion(string) { | 23 | function nombreFuncion(string) { | 
| 24 | var texto = 'seleccionar'; | 24 | var texto = 'seleccionar'; | 
| 25 | var arr = string.split(' '); | 25 | var arr = string.split(' '); | 
| 26 | arr.forEach(function (palabra) { | 26 | arr.forEach(function (palabra) { | 
| 27 | palabra = palabra.charAt(0).toUpperCase() + palabra.slice(1); | 27 | palabra = palabra.charAt(0).toUpperCase() + palabra.slice(1); | 
| 28 | texto += palabra; | 28 | texto += palabra; | 
| 29 | }); | 29 | }); | 
| 30 | return texto; | 30 | return texto; | 
| 31 | } | 31 | } | 
| 32 | 32 | ||
| 33 | $scope.ejecutarFuncion = function (nombre) { | 33 | $scope.ejecutarFuncion = function (boton) { | 
| 34 | $scope.$parent[nombreFuncion(nombre)](); | 34 | $scope.$parent[nombreFuncion(boton.label)](boton); | 
| 35 | }; | 35 | }; | 
| 36 | 36 | ||
| 37 | $scope.activarBoton = function (boton) { | 37 | $scope.activarBoton = function (boton) { | 
| 38 | $scope.botones.forEach(function (boton) { | 38 | $scope.botones.forEach(function (boton) { | 
| 39 | boton.active = false; | 39 | boton.active = false; | 
| 40 | }); | 40 | }); | 
| 41 | boton.active = true; | 41 | boton.active = true; | 
| 42 | }; | 42 | }; | 
| 43 | }]); | 43 | }]); | 
| 44 | 44 | 
src/views/botonera-forma-pago.html
| 1 | <div | 1 | <div | 
| 2 | class="col-6 col-lg-3 py-2" | 2 | class="col-6 col-lg-3 py-2" | 
| 3 | ng-repeat="boton in botones track by $index" | 3 | ng-repeat="boton in botones track by $index" | 
| 4 | ng-class="{'d-md-grid': boton == ''}"> | 4 | ng-class="{'d-md-grid': boton == ''}"> | 
| 5 | <button | 5 | <button | 
| 6 | type="button" | 6 | type="button" | 
| 7 | class="btn btn-block btn-xs text-center rounded border border-light foca-overflow-hidden" | 7 | class="btn btn-block btn-xs text-center rounded border border-light foca-overflow-hidden" | 
| 8 | ng-disabled="boton.disabled" | 8 | ng-disabled="boton.disabled" | 
| 9 | ng-click=" | 9 | ng-click=" | 
| 10 | (boton != '') ? ejecutarFuncion(boton.label) : null; | 10 | (boton != '') ? ejecutarFuncion(boton) : null; | 
| 11 | activarBoton(boton);" | 11 | activarBoton(boton);" | 
| 12 | > | 12 | > | 
| 13 | <img ng-src="./img/{{boton.image}}" alt=""> | 13 | <img ng-src="./img/{{boton.image}}" alt=""> | 
| 14 | <span>{{ boton.label }}</span> | 14 | <span>{{ boton.label }}</span> | 
| 15 | </button> | 15 | </button> | 
| 16 | </div> | 16 | </div> | 
| 17 | 17 | 
src/views/botonera-tarjetas.html
| 1 | <div | 1 | <div | 
| 2 | class="col-4 col-lg-2 pb-3" | 2 | class="col-4 col-lg-2 pb-3" | 
| 3 | ng-repeat="boton in botones track by $index" | 3 | ng-repeat="boton in botones track by $index" | 
| 4 | ng-class="{'d-md-grid': boton == ''}"> | 4 | ng-class="{'d-md-grid': boton == ''}"> | 
| 5 | <button | 5 | <button | 
| 6 | type="button" | 6 | type="button" | 
| 7 | class="btn btn-block btn-tarjeta rounded border p-1" | 7 | class="btn btn-block btn-tarjeta rounded border p-1" | 
| 8 | ng-click=" | 8 | ng-click=" | 
| 9 | (boton != '') ? ejecutarFuncion(boton.label) : null; | 9 | (boton != '') ? ejecutarFuncion(boton) : null; | 
| 10 | activarBoton(boton);" | 10 | activarBoton(boton);" | 
| 11 | ng-class=" | 11 | ng-class=" | 
| 12 | { | 12 | { | 
| 13 | 'd-sm-block h-100': boton == '', | 13 | 'd-sm-block h-100': boton == '', | 
| 14 | 'border-light': !boton.active, | 14 | 'border-light': !boton.active, | 
| 15 | 'border-warning': boton.active | 15 | 'border-warning': boton.active | 
| 16 | }" | 16 | }" | 
| 17 | ng-disabled="boton.disable" | 17 | ng-disabled="boton.disable" | 
| 18 | > | 18 | > | 
| 19 | <img ng-src="./img/{{boton.image}}" alt=""> | 19 | <img ng-src="./img/{{boton.image || boton.imageDefault}}" alt=""> | 
| 20 | <label ng-if="!boton.image" ng-bind="boton.nombre"></label> | ||
| 20 | </button> | 21 | </button> | 
| 21 | </div> | 22 | </div> | 
| 22 | 23 |