127 lines
3.8 KiB
JavaScript
127 lines
3.8 KiB
JavaScript
(function(context,$) {
|
|
|
|
context.JK = context.JK || {};
|
|
context.JK.SessionSettingsDialog = function(app, sessionScreen) {
|
|
var logger = context.JK.logger;
|
|
var $dialog;
|
|
var rest = new JK.Rest();
|
|
|
|
function beforeShow(data) {
|
|
|
|
context.JK.GenreSelectorHelper.render('#session-settings-genre');
|
|
$dialog = $('[layout-id="session-settings"]');
|
|
|
|
var currentSession = sessionScreen.getCurrentSession();
|
|
|
|
// id
|
|
$('#session-settings-id').val(currentSession.id);
|
|
|
|
// genre
|
|
context.JK.GenreSelectorHelper.setSelectedGenres('#session-settings-genre', currentSession.genres);
|
|
|
|
|
|
// name
|
|
$('#session-settings-name').val(currentSession.name);
|
|
|
|
// description
|
|
$('#session-settings-description').val(currentSession.description);
|
|
|
|
// language
|
|
$('#session-settings-description').val(currentSession.language);
|
|
|
|
// musician access
|
|
if (!currentSession.musician_access && !currentSession.approval_required) {
|
|
$('#session-settings-musician-access').val('only-rsvp');
|
|
}
|
|
|
|
else if (currentSession.musician_access && currentSession.approval_required) {
|
|
$('#session-settings-musician-access').val('musicians-approval');
|
|
}
|
|
|
|
else if (currentSession.musician_access && !currentSession.approval_required) {
|
|
$('#session-settings-musician-access').val('musicians');
|
|
}
|
|
|
|
// fan access
|
|
if (!currentSession.fan_access && !currentSession.fan_chat) {
|
|
$('#session-settings-fan-access').val('no-listen-chat');
|
|
}
|
|
|
|
else if (currentSession.fan_access && !currentSession.fan_chat) {
|
|
$('#session-settings-fan-access').val('listen-chat-each');
|
|
}
|
|
|
|
else if (currentSession.fan_access && currentSession.fan_chat) {
|
|
$('#session-settings-fan-access').val('listen-chat-band');
|
|
}
|
|
|
|
// notation files
|
|
|
|
|
|
context.JK.dropdown($('#session-settings-language'));
|
|
context.JK.dropdown($('#session-settings-musician-access'));
|
|
context.JK.dropdown($('#session-settings-fan-access'));
|
|
}
|
|
|
|
function saveSettings(evt) {
|
|
|
|
var data = {};
|
|
|
|
data.genre = $('#session-settings-genre').val();
|
|
data.name = $('#session-settings-name').val();
|
|
data.description = $('#session-settings-description').val();
|
|
data.language = $('#session-settings-language').val();
|
|
|
|
// musician access
|
|
var musicianAccess = $('#session-settings-musician-access').val();
|
|
if (musicianAccess === 'only-rsvp') {
|
|
data.musician_access = false;
|
|
data.approval_required = false;
|
|
}
|
|
else if (musicianAccess === 'musicians-approval') {
|
|
data.musician_access = true;
|
|
data.approval_required = true;
|
|
}
|
|
else if (musicianAccess === 'musicians') {
|
|
data.musician_access = true;
|
|
data.approval_required = false;
|
|
}
|
|
|
|
// fan access
|
|
var fanAccess = $('#session-settings-fan-access').val();
|
|
if (fanAccess == 'no-listen-chat') {
|
|
data.fan_access = false;
|
|
data.fan_chat = false;
|
|
}
|
|
else if (fanAccess == 'listen-chat-each') {
|
|
data.fan_access = true;
|
|
data.fan_chat = false;
|
|
}
|
|
else if (fanAccess == 'listen-chat-band') {
|
|
data.fan_access = true;
|
|
data.fan_chat = true;
|
|
}
|
|
|
|
rest.updateSession($('#session-settings-id').val(), data).done(settingsSaved);
|
|
}
|
|
|
|
function settingsSaved(response) {
|
|
// No response returned from this call. 204.
|
|
sessionScreen.refreshCurrentSession(true);
|
|
app.layout.closeDialog('session-settings');
|
|
}
|
|
|
|
function events() {
|
|
$('#session-settings-dialog-submit').on('click', saveSettings);
|
|
}
|
|
|
|
this.initialize = function() {
|
|
events();
|
|
var dialogBindings = {
|
|
'beforeShow': beforeShow
|
|
};
|
|
|
|
app.bindDialog('session-settings', dialogBindings);
|
|
};
|
|
};
|
|
})(window,jQuery); |