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> |