angular.module('EssayApp.directives').directive 'ngOverlay', ['$timeout', ($timeout) -> restrict: 'A' scope: true require: '?ngModel' link: (scope, element, attrs, ngModel) -> # apply value when clicked on overlay $timeout (-> element.on 'click touchstart', (e)-> if element.is(e.target) e?.preventDefault() $timeout (-> scope.$apply(attrs.ngOverlay) ), 0, false return false return true return ), 0, false ]