From 7cd503cd67e3ae907a6918d66efe27bf93ebaaa7 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Thu, 23 May 2013 08:46:40 -0400 Subject: [PATCH] VRFS-291 VRFS-292 fix issues with Add New Gear popup / minor refactor --- app/assets/javascripts/addNewGear.js | 30 ++++++++++++++++++++++++ app/assets/javascripts/addTrack.js | 22 +++++------------ app/assets/javascripts/configureTrack.js | 17 ++++++-------- app/assets/javascripts/session.js | 7 ++++-- app/assets/javascripts/sessionModel.js | 2 +- app/assets/javascripts/utils.js | 9 +++++++ app/views/clients/_addNewGear.html.erb | 2 +- app/views/clients/_session.html.erb | 3 +-- 8 files changed, 60 insertions(+), 32 deletions(-) create mode 100644 app/assets/javascripts/addNewGear.js diff --git a/app/assets/javascripts/addNewGear.js b/app/assets/javascripts/addNewGear.js new file mode 100644 index 000000000..6db6d3f70 --- /dev/null +++ b/app/assets/javascripts/addNewGear.js @@ -0,0 +1,30 @@ +(function(context,$) { + + "use strict"; + + context.JK = context.JK || {}; + context.JK.AddNewGearDialog = function(app) { + var logger = context.JK.logger; + + function events() { + $('#btn-leave-session-test').click(function() { + context.JK.hideOverlay(); + context.location = "#/ftue1"; + + // TODO: THIS IS A HACK - THIS DIALOG IS LAYERED + // ON TOP OF OTHER DIALOGS. ANY OTHER DIALOGS THAT + // USE THIS NEED TO BE ADDED TO THE FOLLOWING LIST. + // NEED TO FIGURE OUT A CLEANER WAY TO HANDLE THIS. + $('div[layout-id="add-track"]').hide(); + $('div[layout-id="configure-audio"]').hide(); + }); + } + + this.initialize = function() { + events(); + }; + + return this; + }; + + })(window,jQuery); \ No newline at end of file diff --git a/app/assets/javascripts/addTrack.js b/app/assets/javascripts/addTrack.js index 08cdfb826..a515649ca 100644 --- a/app/assets/javascripts/addTrack.js +++ b/app/assets/javascripts/addTrack.js @@ -58,6 +58,8 @@ function events() { + $('#btn-add-track').unbind("click"); + // Track 2 Add $('#img-add-track2-input-add').click(function() { $('#add-track2-unused > option:selected').remove().appendTo('#add-track2-input'); @@ -68,26 +70,14 @@ $('#add-track2-input > option:selected').remove().appendTo('#add-track2-unused'); }); - $('#btn-cancel-new-audio').click(showOverlay); - $('#btn-error-ok').click(showOverlay); + $('#btn-cancel-new-audio').click(context.JK.showOverlay); + $('#btn-error-ok').click(context.JK.showOverlay); $('#btn-add-track').click(saveSettings); - - $('#btn-leave-session-test').click(function() { - $('div[layout-id="add-track"]').hide(); - }); - } - - // TODO: figure out how to handle this in layout.js for layered popups - function showOverlay() { - $('.dialog-overlay').show(); - } - - function hideOverlay() { - $('.dialog-overlay').hide(); } function showDialog() { + $('#add-track2-unused').empty(); $('#add-track2-input').empty(); $('#add-track2-instrument').empty(); @@ -139,7 +129,7 @@ $('div[layout-id="add-track"]').hide(); - hideOverlay(); + context.JK.hideOverlay(); // refresh Session screen sessionModel.refreshCurrentSession(); diff --git a/app/assets/javascripts/configureTrack.js b/app/assets/javascripts/configureTrack.js index d121060b0..96d1c5867 100644 --- a/app/assets/javascripts/configureTrack.js +++ b/app/assets/javascripts/configureTrack.js @@ -220,14 +220,15 @@ context.jamClient.TrackOpenControlPanel(); }); - $('#btn-cancel-new-audio').click(showOverlay); - $('#btn-error-ok').click(showOverlay); + $('#btn-cancel-new-audio').click(context.JK.showOverlay); + $('#btn-error-ok').click(context.JK.showOverlay); $('#btn-save-settings').click(saveSettings); $('#btn-cancel-settings').click(cancelSettings); - $('#btn-leave-session-test').click(function() { - $('div[layout-id="configure-audio"]').hide(); - }); + // $('#btn-leave-session-test').click(function() { + // hideOverlay(); + // $('div[layout-id="configure-audio"]').hide(); + // }); } function restoreVoiceChatOptions(deviceId) { @@ -284,10 +285,6 @@ $('.dialog-overlay').show(); } - function hideOverlay() { - $('.dialog-overlay').hide(); - } - function audioDriverChanged() { // ensure any channels removed are restored var keys = Object.keys(removedVoiceChatChannels); @@ -539,7 +536,7 @@ originalDeviceId = $('#audio-drivers').val(); $('div[layout-id="configure-audio"]').hide(); - hideOverlay(); + context.JK.hideOverlay(); // refresh Session screen sessionModel.refreshCurrentSession(); diff --git a/app/assets/javascripts/session.js b/app/assets/javascripts/session.js index 610d05285..66ebd48b7 100644 --- a/app/assets/javascripts/session.js +++ b/app/assets/javascripts/session.js @@ -13,6 +13,7 @@ var configureTrackDialog; var addTrackDialog; + var addNewGearDialog; // TODO Consolidate dragged controls and handles var $draggingFaderHandle = null; @@ -114,6 +115,7 @@ function _initDialogs() { configureTrackDialog.initialize(); addTrackDialog.initialize(); + addNewGearDialog.initialize(); } // Get the latest list of underlying audio mixer channels @@ -266,7 +268,7 @@ // Show settings icons only for my tracks if (myTrack) { $('div[mixer-id="' + mixer.id + '"].track-icon-settings').show(); - // myTracks.push(trackData); + //myTracks.push(trackData); } // TODO: FIX THIS myTracks.push(trackData); @@ -275,6 +277,7 @@ configureTrackDialog = new context.JK.ConfigureTrackDialog(app, myTracks, sessionId, sessionModel); addTrackDialog = new context.JK.AddTrackDialog(app, myTracks, sessionId, sessionModel); + addNewGearDialog = new context.JK.AddNewGearDialog(app); // hide "Add Track" link if there are 2 tracks if (myTracks.length === 2) { @@ -450,7 +453,7 @@ function deleteTrack(evt) { var trackId = $(evt.currentTarget).attr("track-id"); - sessionModel.deleteTrack(trackId); + sessionModel.deleteTrack(sessionId, trackId); } function _toggleVisualMuteControl($control, muting) { diff --git a/app/assets/javascripts/sessionModel.js b/app/assets/javascripts/sessionModel.js index 7c6b299ba..7ebd2f2c8 100644 --- a/app/assets/javascripts/sessionModel.js +++ b/app/assets/javascripts/sessionModel.js @@ -243,7 +243,7 @@ }); } - function deleteTrack(trackId) { + function deleteTrack(sessionId, trackId) { if (trackId) { $.ajax({ type: "DELETE", diff --git a/app/assets/javascripts/utils.js b/app/assets/javascripts/utils.js index 8c5f74160..ffc5fca85 100644 --- a/app/assets/javascripts/utils.js +++ b/app/assets/javascripts/utils.js @@ -85,6 +85,15 @@ $('#error-msg', 'div[layout-id="error-dialog"]').html(msg); } + // TODO: figure out how to handle this in layout.js for layered popups + context.JK.showOverlay = function() { + $('.dialog-overlay').show(); + } + + context.JK.hideOverlay = function() { + $('.dialog-overlay').hide(); + } + /* * Loads a listbox or dropdown with the values in input_array, setting the option value * to the id_field and the option text to text_field. It will preselect the option with diff --git a/app/views/clients/_addNewGear.html.erb b/app/views/clients/_addNewGear.html.erb index bc46a8cce..462040b57 100644 --- a/app/views/clients/_addNewGear.html.erb +++ b/app/views/clients/_addNewGear.html.erb @@ -9,7 +9,7 @@

CANCEL  - LEAVE SESSION & START TEST + LEAVE SESSION & START TEST

diff --git a/app/views/clients/_session.html.erb b/app/views/clients/_session.html.erb index da6cc36a4..3602c3d4a 100644 --- a/app/views/clients/_session.html.erb +++ b/app/views/clients/_session.html.erb @@ -59,7 +59,7 @@
-

my tracks

+

my tracks