diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/util/delayedMouseLeave.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/util/delayedMouseLeave.directive.js new file mode 100644 index 0000000000..94d5925f2c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/directives/util/delayedMouseLeave.directive.js @@ -0,0 +1,26 @@ +angular.module("umbraco.directives") + .directive('delayedMouseleave', function ($timeout, $parse) { + return { + restrict: 'A', + link: function (scope, element, attrs, ctrl) { + var active = false; + var fn = $parse(attrs.delayedMouseleave); + element.on("mouseleave", function(event) { + var callback = function() { + fn(scope, {$event:event}); + }; + + active = false; + $timeout(function(){ + if(active === false){ + scope.$apply(callback); + } + }, 650); + }); + + element.on("mouseenter", function(event, args){ + active = true; + }); + } + }; + }); diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/canvas/canvas.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/canvas/canvas.html index 816c9f3412..d013b1e022 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/canvas/canvas.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/canvas/canvas.html @@ -184,7 +184,7 @@