U4-10597 Add attention to clickable element If it isn't clicked
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
function link(scope, el, attr, ctrl) {
|
||||
|
||||
var popover;
|
||||
var pulseElement;
|
||||
var pulseTimer;
|
||||
|
||||
scope.loadingStep = false;
|
||||
scope.elementNotFound = false;
|
||||
@@ -28,7 +30,8 @@
|
||||
|
||||
function onInit() {
|
||||
popover = el.find(".umb-tour__popover");
|
||||
popover.hide();
|
||||
pulseElement = el.find(".umb-tour__pulse");
|
||||
popover.hide();
|
||||
scope.model.currentStepIndex = 0;
|
||||
backdropService.open({disableEventsOnClick: true});
|
||||
startStep();
|
||||
@@ -52,8 +55,12 @@
|
||||
}
|
||||
|
||||
function nextStep() {
|
||||
popover.hide();
|
||||
|
||||
popover.hide();
|
||||
pulseElement.hide();
|
||||
$timeout.cancel(pulseTimer);
|
||||
scope.model.currentStepIndex++;
|
||||
|
||||
// make sure we don't go too far
|
||||
if(scope.model.currentStepIndex !== scope.model.steps.length) {
|
||||
startStep();
|
||||
@@ -128,10 +135,12 @@
|
||||
}, function () {
|
||||
// Animation complete.
|
||||
setPopoverPosition(element);
|
||||
setPulsePosition();
|
||||
backdropService.setHighlight(scope.model.currentStep.element, scope.model.currentStep.elementPreventClick);
|
||||
});
|
||||
} else {
|
||||
setPopoverPosition(element);
|
||||
setPulsePosition();
|
||||
backdropService.setHighlight(scope.model.currentStep.element, scope.model.currentStep.elementPreventClick);
|
||||
}
|
||||
|
||||
@@ -223,6 +232,25 @@
|
||||
|
||||
}
|
||||
|
||||
function setPulsePosition() {
|
||||
if(scope.model.currentStep.event) {
|
||||
|
||||
pulseTimer = $timeout(function(){
|
||||
|
||||
var clickElementSelector = scope.model.currentStep.eventElement ? scope.model.currentStep.eventElement : scope.model.currentStep.element;
|
||||
var clickElement = $(clickElementSelector);
|
||||
|
||||
var offset = clickElement.offset();
|
||||
var width = clickElement.outerWidth();
|
||||
var height = clickElement.outerHeight();
|
||||
|
||||
pulseElement.css({ "width": width, "height": height, "left": offset.left, "top": offset.top });
|
||||
pulseElement.fadeIn();
|
||||
|
||||
}, 5000);
|
||||
}
|
||||
}
|
||||
|
||||
function waitForPendingRerequests() {
|
||||
var deferred = $q.defer();
|
||||
var timer = window.setInterval(function(){
|
||||
@@ -305,6 +333,7 @@
|
||||
scope.$on('$destroy', function () {
|
||||
$(window).off('resize.umbTour');
|
||||
unbindEvent();
|
||||
$timeout.cancel(pulseTimer);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,28 @@
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.umb-tour__pulse {
|
||||
position: fixed;
|
||||
z-index: 10000;
|
||||
display: none;
|
||||
background: transparent;
|
||||
box-shadow: 0 0 0 @green inset;
|
||||
animation: pulse 2s infinite;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
box-shadow: 0 0 0 0 @green inset;
|
||||
}
|
||||
70% {
|
||||
box-shadow: 0 0 0 5px fade(@green, 80%) inset;
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0 0 0 0 @green inset;
|
||||
}
|
||||
}
|
||||
|
||||
.umb-tour__popover {
|
||||
position: fixed;
|
||||
background: @white;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<div class="umb-tour">
|
||||
|
||||
<div class="umb-loader umb-tour__loader" ng-if="loadingStep"></div>
|
||||
<div class="umb-tour__pulse"></div>
|
||||
|
||||
<div class="umb-tour__popover shadow-depth-2" ng-class="{'umb-tour__popover--l': model.currentStep.type === 'intro' || model.currentStepIndex === model.steps.length}">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user