angular.module('fasit') .directive('fbDokumentTrippleToggleCheckboxes', ['$filter', function ($filter) { var link = function (scope: fb.IFbDokumentTrippleToggleCheckboxesScope, element: ng.IAugmentedJQuery, attrs: ng.IAttributes) { scope.innerDokumentVaerden = { checkBox1: new fb.DokumentVaerde({}), checkBox2: new fb.DokumentVaerde({}), checkBox3: new fb.DokumentVaerde({}) }; if (typeof scope.dokumentVaerde === 'undefined') { // Om dokumentvaerdet inte fanns scope.dokumentVaerde = new fb.DokumentVaerde({}); } else { // Om dokumentvaerde var satt if (scope.dokumentVaerde.Vaerde === '1') { scope.innerDokumentVaerden.checkBox1.Vaerde = true; scope.innerDokumentVaerden.checkBox2.Vaerde = false; scope.innerDokumentVaerden.checkBox3.Vaerde = false; } else if (scope.dokumentVaerde.Vaerde === '2') { scope.innerDokumentVaerden.checkBox1.Vaerde = false; scope.innerDokumentVaerden.checkBox2.Vaerde = true; scope.innerDokumentVaerden.checkBox3.Vaerde = false; } else { scope.innerDokumentVaerden.checkBox1.Vaerde = false; scope.innerDokumentVaerden.checkBox2.Vaerde = false; scope.innerDokumentVaerden.checkBox3.Vaerde = true; } } var parentScope = scope.$parent; if (parentScope.$index !== undefined && attrs['dokumentVaerde'].match(/['+ $]*index*[\]]*/g) !== null) { scope.dokumentVaerdeNamn = attrs['dokumentVaerde'].substring(17, (attrs['dokumentVaerde'].indexOf(attrs['dokumentVaerde'].match(/['+ $]*index*[\]]*/g)[0]))) + '' + parentScope.$index; } else { scope.dokumentVaerdeNamn = attrs['dokumentVaerde'].substr(16); } if (typeof scope.displayElementInline === 'undefined') { scope.displayElementInline = false; } scope.$watch('innerDokumentVaerden.checkBox1.Vaerde', function (newVal, oldVal) { if (newVal) { scope.innerDokumentVaerden.checkBox1.Vaerde = true; scope.innerDokumentVaerden.checkBox2.Vaerde = false; scope.innerDokumentVaerden.checkBox3.Vaerde = false; scope.dokumentVaerde.Vaerde = '1'; } }); scope.$watch('innerDokumentVaerden.checkBox2.Vaerde', function (newVal, oldVal) { if (newVal) { scope.innerDokumentVaerden.checkBox1.Vaerde = false; scope.innerDokumentVaerden.checkBox2.Vaerde = true; scope.innerDokumentVaerden.checkBox3.Vaerde = false; scope.dokumentVaerde.Vaerde = '2'; } }); scope.$watch('innerDokumentVaerden.checkBox3.Vaerde', function (newVal, oldVal) { if (newVal) { scope.innerDokumentVaerden.checkBox1.Vaerde = false; scope.innerDokumentVaerden.checkBox2.Vaerde = false; scope.innerDokumentVaerden.checkBox3.Vaerde = true; scope.dokumentVaerde.Vaerde = '3'; } }); }; return { restrict: 'E', link: link, scope: { granska: '=', dokumentVaerden: '=', pageSplit: '=', splittable: '=', styleObject: '=', dokumentData: '=', dokumentVaerde: '=', labelEtt: '@', labelTvaa: '@', labelTre: '@', lineBreak: '=', displayElementInline: '=' }, templateUrl: 'app/Directives/fbDokumentTrippleToggleCheckboxes/fbDokumentTrippleToggleCheckboxes.html', }; }]);