diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js index 4366cb3f10..128f54f3af 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbbackdrop.directive.js @@ -7,6 +7,13 @@ var events = []; + scope.clickBackdrop = function(event) { + if(scope.disableEventsOnClick === true) { + event.preventDefault(); + event.stopPropagation(); + } + }; + function onInit() { if (scope.element) { @@ -77,7 +84,8 @@ templateUrl: "views/components/application/umb-backdrop.html", link: link, scope: { - element: "=" + element: "=", + disableEventsOnClick: "=" } }; diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js index 8301f51757..7c3407a219 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js @@ -32,6 +32,7 @@ popover = el.find(".umb-tour__popover"); scope.totalSteps = scope.steps.length; scope.currentStepIndex = 0; + backdropService.open({disableEventsOnClick: true}); startStep(); } @@ -61,8 +62,6 @@ function startStep() { - backdropService.open(); - // we need to make sure that all requests are done var timer = window.setInterval(function(){ diff --git a/src/Umbraco.Web.UI.Client/src/common/services/backdrop.service.js b/src/Umbraco.Web.UI.Client/src/common/services/backdrop.service.js index 8e25ced53f..3cdd1f2b21 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/backdrop.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/backdrop.service.js @@ -5,13 +5,18 @@ var args = { element: null, + disableEventsOnClick: false, show: false }; - function open(backdrop) { + function open(options) { - if(backdrop && backdrop.element) { - args.element = backdrop.element; + if(options && options.element) { + args.element = options.element; + } + + if(options && options.disableEventsOnClick) { + args.disableEventsOnClick = options.disableEventsOnClick; } args.show = true; diff --git a/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js b/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js index 49db6d6e23..4b115bee3f 100644 --- a/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js +++ b/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js @@ -147,7 +147,6 @@ function MainController($scope, $rootScope, $location, $routeParams, $timeout, $ })); evts.push(eventsService.on("appState.backdrop", function (name, args) { - console.log("BAAAACKDROP", args); $scope.backdrop = args; })); diff --git a/src/Umbraco.Web.UI.Client/src/views/components/application/umb-backdrop.html b/src/Umbraco.Web.UI.Client/src/views/components/application/umb-backdrop.html index 220a4daa2f..13d2105922 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/application/umb-backdrop.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/application/umb-backdrop.html @@ -1,4 +1,4 @@ -