| window.angular && (function(angular) { |
| 'use strict'; |
| |
| angular |
| .module('app.common.directives') |
| .directive('toggleFlag', function($document) { |
| return { |
| restrict: 'A', |
| link: function(scope, element, attrs) { |
| |
| function elementClick(e) { |
| e.stopPropagation(); |
| } |
| |
| function documentClick(e) { |
| scope[attrs.toggleFlag] = false; |
| scope.$apply(); |
| } |
| |
| element.on('click', elementClick); |
| $document.on('click', documentClick); |
| |
| // remove event handlers when directive is destroyed |
| scope.$on('$destroy', function() { |
| element.off('click', elementClick); |
| $document.off('click', documentClick); |
| }); |
| } |
| }; |
| }); |
| })(window.angular); |