Commit 2898e6720b9ce107d9a1d6a2ebd11b26648998b8
Exists in
master
Merge branch 'develop' into 'master'
Develop See merge request !8
Showing
2 changed files
Show diff stats
src/js/controller.js
| ... | ... | @@ -5,26 +5,59 @@ angular.module('focaCabeceraFacturador') |
| 5 | 5 | function($scope, $filter) { |
| 6 | 6 | |
| 7 | 7 | $scope.showCabecera = true; |
| 8 | - $scope.cabecera = []; | |
| 8 | + $scope.cabeceras = [ | |
| 9 | + cabecera = { | |
| 10 | + cabeceras: [] | |
| 11 | + } | |
| 12 | + ]; | |
| 9 | 13 | |
| 10 | 14 | $scope.$on('addCabecera', function(event, data) { |
| 11 | - var propiedad = $filter('filter')($scope.cabecera, {label: data.label}, true); | |
| 12 | - if(propiedad.length === 1) { | |
| 15 | + | |
| 16 | + var seccion = $scope.cabeceras[0]; | |
| 17 | + | |
| 18 | + if (data.seccion) { | |
| 19 | + seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; | |
| 20 | + | |
| 21 | + if (!seccion) { | |
| 22 | + seccion = {} | |
| 23 | + seccion.seccion = data.seccion; | |
| 24 | + seccion.cabeceras = []; | |
| 25 | + $scope.cabeceras.push(seccion); | |
| 26 | + } | |
| 27 | + } | |
| 28 | + | |
| 29 | + var propiedad = $filter('filter')(seccion.cabeceras, { label: data.label }, true); | |
| 30 | + | |
| 31 | + if (propiedad.length === 1) { | |
| 13 | 32 | propiedad[0].valor = data.valor; |
| 14 | - }else { | |
| 15 | - $scope.cabecera.push({label: data.label, valor: data.valor}); | |
| 33 | + } else { | |
| 34 | + seccion.cabeceras.push({label: data.label, valor: data.valor}); | |
| 16 | 35 | } |
| 17 | 36 | }); |
| 18 | 37 | |
| 19 | 38 | $scope.$on('removeCabecera', function(event, data) { |
| 20 | - var propiedad = $filter('filter')($scope.cabecera, {label: data}, true); | |
| 21 | - if(propiedad.length === 1) { | |
| 22 | - $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); | |
| 39 | + | |
| 40 | + var seccion = $scope.cabeceras[0]; | |
| 41 | + if (data.seccion) { | |
| 42 | + seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; | |
| 43 | + } | |
| 44 | + var propiedad = $filter('filter')(seccion.cabeceras, {label: data}, true); | |
| 45 | + if (propiedad.length === 1) { | |
| 46 | + seccion.cabeceras.splice(seccion.cabeceras.indexOf(propiedad[0]), 1); | |
| 23 | 47 | } |
| 24 | 48 | }); |
| 25 | 49 | |
| 26 | - $scope.$on('cleanCabecera', function() { | |
| 27 | - $scope.cabecera = []; | |
| 50 | + $scope.$on('cleanCabecera', function(event, data) { | |
| 51 | + if (!data) { | |
| 52 | + $scope.cabeceras = [ | |
| 53 | + cabecera = { | |
| 54 | + cabeceras: [] | |
| 55 | + } | |
| 56 | + ]; | |
| 57 | + } else { | |
| 58 | + var seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; | |
| 59 | + $scope.cabeceras.splice($scope.cabeceras.indexOf(seccion), 1) | |
| 60 | + } | |
| 28 | 61 | }); |
| 29 | 62 | |
| 30 | 63 | }]); |
src/views/cabecera.html
| ... | ... | @@ -41,6 +41,12 @@ |
| 41 | 41 | on-open-focus="false" |
| 42 | 42 | ng-focus="datepickerOpen = true" |
| 43 | 43 | /> |
| 44 | + <button | |
| 45 | + class="btn btn-xs btn-outline-light" | |
| 46 | + ng-click="datepickerAbierto = true" | |
| 47 | + > | |
| 48 | + <i class="fa fa-calendar"></i> | |
| 49 | + </button> | |
| 44 | 50 | </div> |
| 45 | 51 | <div class="col-5 col-sm border border-white border-right-0 align-middle"> |
| 46 | 52 | Hora: |
| ... | ... | @@ -52,29 +58,30 @@ |
| 52 | 58 | </span> |
| 53 | 59 | </div> |
| 54 | 60 | </div> |
| 55 | - <div class="row py-2"> | |
| 56 | - <div class="col-auto" ng-repeat="cab in cabecera" ng-show="showCabecera"> | |
| 61 | + <div class="row py-2" ng-repeat="seccion in cabeceras" ng-show="showCabecera"> | |
| 62 | + <strong ng-bind="seccion.seccion"></strong> | |
| 63 | + <div class="col-auto" ng-repeat="cab in seccion.cabeceras" ng-show="showCabecera"> | |
| 57 | 64 | <span class="label" ng-bind="cab.label"></span> |
| 58 | 65 | <span class="valor" ng-bind="cab.valor"></span> |
| 59 | 66 | </div> |
| 60 | - <a | |
| 61 | - class="btn col-12 btn-secondary d-sm-none" | |
| 62 | - ng-show="cabecera.length > 0" | |
| 63 | - ng-click="showCabecera = !showCabecera" | |
| 64 | - > | |
| 65 | - <i | |
| 66 | - class="fa fa-chevron-down" | |
| 67 | - ng-hide="showCabecera" | |
| 68 | - aria-hidden="true" | |
| 69 | - > | |
| 70 | - </i> | |
| 71 | - <i | |
| 72 | - class="fa fa-chevron-up" | |
| 73 | - ng-show="showCabecera" | |
| 74 | - aria-hidden="true"> | |
| 75 | - </i> | |
| 76 | - </a> | |
| 77 | 67 | </div> |
| 68 | + <a | |
| 69 | + class="btn col-12 btn-secondary" | |
| 70 | + ng-show="cabeceras.length > 1" | |
| 71 | + ng-click="showCabecera = !showCabecera" | |
| 72 | + > | |
| 73 | + <i | |
| 74 | + class="fa fa-chevron-down" | |
| 75 | + ng-hide="showCabecera" | |
| 76 | + aria-hidden="true" | |
| 77 | + > | |
| 78 | + </i> | |
| 79 | + <i | |
| 80 | + class="fa fa-chevron-up" | |
| 81 | + ng-show="showCabecera" | |
| 82 | + aria-hidden="true"> | |
| 83 | + </i> | |
| 84 | + </a> | |
| 78 | 85 | </div> |
| 79 | 86 | </div> |
| 80 | 87 | </div> |