* VRFS-3089 - kill timer if the screen changes for jamtrack guides

This commit is contained in:
Seth Call 2015-04-24 17:28:59 -05:00
parent 13c3818c42
commit 258c034876
4 changed files with 26 additions and 6 deletions

View File

@ -10,6 +10,7 @@
var rest = new context.JK.Rest();
context.JK.HelpBubbleHelper = helpBubble;
var logger = context.JK.logger;
var jamTrackGuideTimeout = null;
var defaultScoreBreakDownOptions = {positions: ['right', 'top', 'bottom', 'left'], width:'600px', closeWhenOthersOpen: true };
helpBubble.scoreBreakdown = function($element, isCurrentUser, full_score, myAudioLatency, otherAudioLatency, internetScore, options) {
@ -40,11 +41,19 @@
color:'#ed3618'}}
}
function clearJamTrackGuideTimeout() {
if(jamTrackGuideTimeout) {
clearTimeout(jamTrackGuideTimeout);
jamTrackGuideTimeout = null;
}
}
function jamTrackGuide(callback) {
if(gon.isNativeClient) {
context.JK.app.user().done(function(user) {
if(user.show_jamtrack_guide) {
setTimeout(function() {
clearJamTrackGuideTimeout();
jamTrackGuideTimeout = setTimeout(function() {
callback()
}, 1000)
@ -53,6 +62,8 @@
}
}
helpBubble.clearJamTrackGuide = clearJamTrackGuideTimeout;
helpBubble.jamtrackGuideTile = function ($element, $offsetParent) {
jamTrackGuide(function() {
context.JK.prodBubble($element, 'jamtrack-guide-tile', {}, bigHelpOptions({positions:['top'], offsetParent: $offsetParent}))

View File

@ -12,9 +12,11 @@
}
function afterShow(data) {
context.JK.HelpBubbleHelper.jamtrackGuideTile($('.homecard.createsession'), $screen.find('.createsession'));
}
context.JK.HelpBubbleHelper.jamtrackGuideTile($('.homecard.createsession'), $screen);
function beforeHide() {
context.JK.HelpBubbleHelper.clearJamTrackGuide();
}
function mouseenterTile() {
@ -90,7 +92,7 @@
}
this.initialize = function() {
var screenBindings = { 'beforeShow': beforeShow, 'afterShow': afterShow };
var screenBindings = { 'beforeShow': beforeShow, 'afterShow': afterShow, 'beforeHide' : beforeHide };
app.bindScreen('home', screenBindings);
events();
$screen = $('.screen[layout-id="home"]')

View File

@ -999,7 +999,11 @@
}
function afterShow() {
context.JK.HelpBubbleHelper.jamtrackGuidePrivate($screen.find('li[create-type="quick-start"] label'), $screen)
context.JK.HelpBubbleHelper.jamtrackGuidePrivate($screen.find('li[create-type="quick-start"] label'), $screen.find('.content-body-scroller'))
}
function beforeHide() {
context.JK.HelpBubbleHelper.clearJamTrackGuide();
}
function toggleDate(dontRebuildDropdowns) {
@ -1306,7 +1310,7 @@
instrumentSelector = instrumentSelectorInstance;
instrumentRSVP = instrumentRSVPSelectorInstance;
var screenBindings = {'beforeShow': beforeShow, 'afterShow': afterShow};
var screenBindings = {'beforeShow': beforeShow, 'afterShow': afterShow, 'beforeHide' : beforeHide};
app.bindScreen('createSession', screenBindings);
$wizardSteps = $screen.find('.create-session-wizard');

View File

@ -506,6 +506,9 @@
}
function beforeHide(data) {
context.JK.HelpBubbleHelper.clearJamTrackGuide();
if(gon.global.video_available && gon.global.video_available!="none") {
webcamViewer.setVideoOff()
}