jam-cloud/web/app/assets/javascripts/dialog/gettingStartedDialog.js

100 lines
2.4 KiB
JavaScript

(function (context, $) {
"use strict";
context.JK = context.JK || {};
context.JK.GettingStartedDialog = function (app) {
var logger = context.JK.logger;
var rest = context.JK.Rest();
var invitationDialog = null;
var $dialog = null;
var $dontShowAgain = null;
var $setupGearBtn = null;
function handleStartAudioQualification() {
app.afterFtue = function() {
app.layout.showDialog('join-test-session');
};
app.cancelFtue = function() { };
app.layout.startNewFtue()
}
function registerEvents() {
$setupGearBtn.click(function() {
if (gon.isNativeClient) {
app.layout.closeDialog('getting-started');
// if no profiles, show FTUE in-line, if any, redirect to audio profile line
var profiles = context.jamClient.FTUEGetAllAudioConfigurations();
if(profiles && profile.length > 0) {
window.location = '/client#/account/audio'
}
else
{
handleStartAudioQualification();
}
}
else {
context.JK.guardAgainstBrowser(app, {d1: 'gear'});
}
return false;
})
$('#getting-started-dialog a.facebook-invite').on('click', function (e) {
invitationDialog.showFacebookDialog(e);
});
$('#getting-started-dialog a.google-invite').on('click', function (e) {
invitationDialog.showGoogleDialog();
});
$('#getting-started-dialog a.email-invite').on('click', function (e) {
invitationDialog.showEmailDialog();
});
}
function beforeShow() {
}
function beforeHide() {
if ($dontShowAgain.is(':checked')) {
app.updateUserModel({show_whats_next: false})
}
}
function initializeButtons() {
context.JK.checkbox($dontShowAgain);
}
function initialize(invitationDialogInstance) {
var dialogBindings = {
'beforeShow': beforeShow,
'beforeHide': beforeHide
};
app.bindDialog('getting-started', dialogBindings);
$dialog = $('#getting-started-dialog');
$dontShowAgain = $dialog.find('#show_getting_started');
$setupGearBtn = $dialog.find('.setup-gear-btn')
registerEvents();
invitationDialog = invitationDialogInstance;
initializeButtons();
};
this.initialize = initialize;
}
return this;
})(window, jQuery);