angular.module('fasit') .directive('fbDokumentParter', [function () { var link = function (scope: fb.IFbDokumentParterScope, element: ng.IAugmentedJQuery, Attrs: ng.IAttributes) { scope.passThrough = { koepareAlias: scope.koepareAlias, saeljareAlias: scope.saeljareAlias, utanAndelar: scope.utanAndelar }; scope.Saeljare = []; scope.Koepare = []; var primaeraSaeljare = []; var primaeraKoepare = []; var oevrigaSaeljare = []; var oevrigaKoepare = []; scope.$watch('dokumentData', function () { if (!scope.dokumentData) { return; } var i = 0; var j = 0; if (scope.dokumentData.Saeljare) { for (i = 0; i < scope.dokumentData.Saeljare.length; i++) { if (scope.dokumentData.Saeljare[i].Persontyp === 'F' && scope.dokumentData.Saeljare[i].PrimaerkontaktId === 0) { primaeraSaeljare.push(scope.dokumentData.Saeljare[i]); } else if (scope.dokumentData.Saeljare[i].Persontyp === 'F' && scope.dokumentData.Saeljare[i].PrimaerkontaktId !== 0) { oevrigaSaeljare.push(scope.dokumentData.Saeljare[i]); } else { scope.Saeljare.push(scope.dokumentData.Saeljare[i]); } } for (i = 0; i < primaeraSaeljare.length; i++) { scope.Saeljare.push(primaeraSaeljare[i]); for (j = oevrigaSaeljare.length-1; j >= 0; j--) { if (oevrigaSaeljare[j].PrimaerkontaktId === primaeraSaeljare[i].PersonId) { scope.Saeljare.push(oevrigaSaeljare[j]); oevrigaSaeljare.splice(j, 1); } } scope.Saeljare = scope.Saeljare.concat(oevrigaSaeljare); } scope.Saeljare = _.uniq(scope.Saeljare); } if (scope.dokumentData.Koepare) { for (i = 0; i < scope.dokumentData.Koepare.length; i++) { if (scope.dokumentData.Koepare[i].Persontyp === 'F' && scope.dokumentData.Koepare[i].PrimaerkontaktId === 0) { primaeraKoepare.push(scope.dokumentData.Koepare[i]); } else if (scope.dokumentData.Koepare[i].Persontyp === 'F' && scope.dokumentData.Koepare[i].PrimaerkontaktId !== 0) { oevrigaKoepare.push(scope.dokumentData.Koepare[i]); } else { scope.Koepare.push(scope.dokumentData.Koepare[i]); } } for (i = 0; i < primaeraKoepare.length; i++) { scope.Koepare.push(primaeraKoepare[i]); for (j = oevrigaKoepare.length-1; j >= 0; j--) { if (oevrigaKoepare[j].PrimaerkontaktId === primaeraKoepare[i].PersonId) { scope.Koepare.push(oevrigaKoepare[j]); oevrigaKoepare.splice(j, 1); } } scope.Koepare = scope.Koepare.concat(oevrigaKoepare); } scope.Koepare = _.uniq(scope.Koepare); } }); }; return { restrict: 'E', scope: { granska: '=', dokumentVaerden: '=', pageSplit: '=', splittable: '=', styleObject: '=', dokumentData: '=', koepareAlias: '@', saeljareAlias: '@', endastKoepare: '@', endastSaeljare: '@', utanAndelar: '@' }, link: link, templateUrl: 'app/Directives/fbDokumentParter/fbDokumentParter.html' }; }]);