jam-cloud/web/app/assets/javascripts/accounts_audio_profile.js

127 lines
2.9 KiB
JavaScript

(function (context, $) {
"use strict";
context.JK = context.JK || {};
context.JK.AccountAudioProfile = function (app) {
var self = this;
var logger = context.JK.logger;
var rest = context.JK.Rest();
var userId;
var user = {};
var tmpUploadPath = null;
var userDetail = null;
var avatar;
var selection = null;
var targetCropSize = 88;
var updatingAvatar = false;
function beforeShow(data) {
userId = data.id;
registerFtueSuccess();
}
function afterShow(data) {
resetForm();
renderAudioProfileScreen()
}
function beforeHide() {
unregisterFtueSuccess();
}
function renderAudioProfileScreen() {
populateAccountAudio()
}
function populateAccountAudio() {
// load Audio Driver dropdown
var devices = context.jamClient.TrackGetDevices();
var options = {
devices: devices
}
var template = context._.template($('#template-account-audio').html(), options, {variable: 'data'});
appendAudio(template);
}
function appendAudio(template) {
$('#account-audio-content-scroller table tbody').replaceWith(template);
}
function resetForm() {
}
function handleDeleteAudioProfile(audioProfileId) {
console.log("deleting audio profile: " + audioProfileId);
context.jamClient.TrackDeleteProfile(audioProfileId);
// redraw after deletion of profile
populateAccountAudio();
}
function handleStartAudioQualification() {
var useNewFtue = true;
if(useNewFtue) {
app.layout.startNewFtue();
}
else {
app.setWizardStep(1);
app.layout.showDialog('ftue');
}
}
function registerFtueSuccess() {
$('div[layout-id=ftue]').on("ftue_success", ftueSuccessHandler);
}
function unregisterFtueSuccess() {
$('div[layout-id=ftue]').off("ftue_success", ftueSuccessHandler);
}
function ftueSuccessHandler() {
populateAccountAudio();
}
// events for main screen
function events() {
// wire up main panel clicks
$('#account-audio-content-scroller').on('click', 'a[data-purpose=delete-audio-profile]', function (evt) {
evt.stopPropagation();
handleDeleteAudioProfile($(this).attr('data-id'));
return false;
});
$('#account-audio-content-scroller').on('click', 'a[data-purpose=add-profile]', function (evt) {
evt.stopPropagation();
handleStartAudioQualification();
return false;
});
}
function initialize() {
var screenBindings = {
'beforeShow': beforeShow,
'afterShow': afterShow
};
app.bindScreen('account/audio', screenBindings);
events();
}
this.initialize = initialize;
this.beforeShow = beforeShow;
this.afterShow = afterShow;
this.beforeHide = beforeHide;
return this;
};
})(window, jQuery);