diff --git a/src/js/controller.js b/src/js/controller.js index 0138225..bdc753d 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -5,26 +5,55 @@ angular.module('focaCabeceraFacturador') function($scope, $filter) { $scope.showCabecera = true; - $scope.cabecera = []; + $scope.cabeceras = [ + cabecera = { + cabeceras: [] + } + ]; $scope.$on('addCabecera', function(event, data) { - var propiedad = $filter('filter')($scope.cabecera, {label: data.label}, true); - if(propiedad.length === 1) { + + var seccion = $scope.cabeceras[0]; + + if (data.seccion) { + seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; + + if (!seccion) { + seccion = {} + seccion.seccion = data.seccion; + seccion.cabeceras = []; + $scope.cabeceras.push(seccion); + } + } + + var propiedad = $filter('filter')(seccion.cabeceras, { label: data.label }, true); + + if (propiedad.length === 1) { propiedad[0].valor = data.valor; - }else { - $scope.cabecera.push({label: data.label, valor: data.valor}); + } else { + seccion.cabeceras.push({label: data.label, valor: data.valor}); } }); $scope.$on('removeCabecera', function(event, data) { - var propiedad = $filter('filter')($scope.cabecera, {label: data}, true); - if(propiedad.length === 1) { - $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); + + var seccion = $scope.cabeceras[0]; + if (data.seccion) { + seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; + } + var propiedad = $filter('filter')(seccion.cabeceras, {label: data}, true); + if (propiedad.length === 1) { + seccion.cabeceras.splice(seccion.cabeceras.indexOf(propiedad[0]), 1); } }); - $scope.$on('cleanCabecera', function() { - $scope.cabecera = []; + $scope.$on('cleanCabecera', function(event, data) { + if (!data) { + $scope.cabeceras = []; + } else { + var seccion = $filter('filter')($scope.cabeceras, { seccion: data.seccion }, true)[0]; + $scope.cabeceras.splice($scope.cabeceras.indexOf(seccion), 1) + } }); }]); diff --git a/src/views/cabecera.html b/src/views/cabecera.html index e2e0b6a..501a653 100644 --- a/src/views/cabecera.html +++ b/src/views/cabecera.html @@ -52,29 +52,30 @@ -