/* * @ngdoc fbNyheterDialog * @name fasit.directives.#fbNyheterDialog * @fbNyheterDialog * * @description * Directive som visar en karusell med nyheter för nuvarande version */ angular.module('fasit') .directive('fbNyheterDialog', [ 'fasitSupportService', '$rootScope', function ( fasitSupportService: fb.IFasitSupportService, $rootScope: fb.IRootScope ) { 'use strict'; function link(scope: fb.IFbNyheterDialogScope, element: fb.IRootElementService, attrs: any) { scope.dontShowAgain = new fb.ChangeTrack(false); scope.close = function () { if (scope.dontShowAgain.value) { fasitSupportService.setPersonHarLaestNewsResource(); } $('#nyheterModal').modal('hide'); }; scope.next = function () { $('#nyheterModal').carousel('next'); $('#nyheterModal').carousel('pause'); } scope.prev = function () { $('#nyheterModal').carousel('prev'); $('#nyheterModal').carousel('pause'); } $('#nyheterModal').modal('show'); var closedByPincode = false; var changeShowHide = function () { if (($rootScope.requirePincode || $rootScope.setPincode || $rootScope.InloggadAnvaendare.requireInitialer ) && $('#nyheterModal').is(':visible')) { $('#nyheterModal').modal('hide'); closedByPincode = true; } else if ($rootScope.requirePincode === false && $rootScope.setPincode === false && $rootScope.InloggadAnvaendare.requireInitialer === false && closedByPincode) { $('#nyheterModal').modal('show'); closedByPincode = false; } }; scope.$watch('$root.requirePincode', function (newVal: boolean, oldVal: boolean) { changeShowHide(); }); scope.$watch('$root.setPincode', function (newVal: boolean, oldVal: boolean) { changeShowHide(); }); scope.$watch('$root.InloggadAnvaendare.requireInitialer', function (newVal: boolean, oldVal: boolean) { changeShowHide(); }); } return { restrict: 'E', scope: { anvaendare: '=' }, link: link, templateUrl: 'app/Directives/fbNyheterDialog/fbNyheterDialog.html', } }])