From 9a1bba988bdbe408daf3f36021f19c9eca29467b Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Sun, 2 Mar 2014 17:00:11 -0500 Subject: [PATCH] VRFS-604 show disconnected devices in FTUE --- web/app/assets/javascripts/accounts.js | 12 ++--------- .../javascripts/accounts_audio_profile.js | 18 ++++------------- .../assets/javascripts/createSession.js.erb | 2 +- web/app/assets/javascripts/ftue.js | 19 +++++++++++++++--- web/app/assets/javascripts/utils.js | 20 ++++++++++++++++++- 5 files changed, 42 insertions(+), 29 deletions(-) diff --git a/web/app/assets/javascripts/accounts.js b/web/app/assets/javascripts/accounts.js index 2cc32f091..c8dc122d9 100644 --- a/web/app/assets/javascripts/accounts.js +++ b/web/app/assets/javascripts/accounts.js @@ -28,15 +28,7 @@ var audioProfiles = prettyPrintAudioProfiles(context.jamClient.TrackGetDevices()); - var badAudioConfigs = []; - var allAudioConfigs = context.jamClient.FTUEGetAllAudioConfigurations(); - var goodAudioConfigs = context.jamClient.FTUEGetGoodAudioConfigurations(); - - for (var i=0; i < allAudioConfigs.length; i++) { - if ($.inArray(allAudioConfigs[i], goodAudioConfigs) === -1) { - badAudioConfigs.push(allAudioConfigs[i]); - } - } + var badAudioConfigs = context.JK.getBadAudioConfigs(); var template = context.JK.fillTemplate($('#template-account-main').html(), { email: userDetail.email, @@ -49,7 +41,7 @@ }); $('#account-content-scroller').html(template); - badAudioConfigs.join(", ") + badAudioConfigs.join(", "); } function prettyPrintAudioProfiles(devices) { diff --git a/web/app/assets/javascripts/accounts_audio_profile.js b/web/app/assets/javascripts/accounts_audio_profile.js index 086d0cc18..853dec0b1 100644 --- a/web/app/assets/javascripts/accounts_audio_profile.js +++ b/web/app/assets/javascripts/accounts_audio_profile.js @@ -32,28 +32,18 @@ $('#account-audio-content-scroller table tbody').html(''); - var badAudioConfigs = []; - var allAudioConfigs = context.jamClient.FTUEGetAllAudioConfigurations(); - var goodAudioConfigs = context.jamClient.FTUEGetGoodAudioConfigurations(); + var badAudioConfigs = context.JK.getBadAudioConfigs(); - for (var i=0; i < allAudioConfigs.length; i++) { - console.log("allAudioConfigs[i]=%o", allAudioConfigs[i]); - if ($.inArray(allAudioConfigs[i], goodAudioConfigs) === -1) { - console.log("pushing %o onto badAudioConfigs", allAudioConfigs[i]); - badAudioConfigs.push(allAudioConfigs[i]); - } - } - - // render CONNECTED device profiles + // render valid device profiles var options = { - configurations: goodAudioConfigs, + configurations: context.JK.getGoodAudioConfigs(), valid: 1 } var template = context._.template($('#template-account-audio').html(), options, {variable: 'data'}); appendAudio(template); - // render DISCONNECTED device profiles + // render invalid device profiles options = { configurations: badAudioConfigs, valid: 0 diff --git a/web/app/assets/javascripts/createSession.js.erb b/web/app/assets/javascripts/createSession.js.erb index 16b8214dd..441585424 100644 --- a/web/app/assets/javascripts/createSession.js.erb +++ b/web/app/assets/javascripts/createSession.js.erb @@ -186,7 +186,7 @@ context.JK.GA.trackSessionMusicians(context.JK.GA.SessionCreationTypes.create); }, error: function() { - app.ajaxError(arguments); + app.notifyServerError(arguments0, "Unable to Create Session"); $('#btn-create-session').removeClass('button-disabled'); $('#btn-create-session').unbind('click', false); } diff --git a/web/app/assets/javascripts/ftue.js b/web/app/assets/javascripts/ftue.js index d090b7f91..86ae14cc8 100644 --- a/web/app/assets/javascripts/ftue.js +++ b/web/app/assets/javascripts/ftue.js @@ -465,9 +465,14 @@ ]; var optionsHtml = ''; var deviceOptionFunc = function (deviceKey, index, list) { - optionsHtml += ''; + optionsHtml += ''; }; + var badDeviceOptionFunc = function(deviceKey, index, list) { + optionsHtml += ''; + }; + + var badAudioConfigs = context.JK.getBadAudioConfigs(); + for (var i = 0; i < funcs.length; i++) { optionsHtml = ''; @@ -476,10 +481,11 @@ $select.empty(); var sortedDeviceKeys = context._.keys(devices).sort(); context._.each(sortedDeviceKeys, deviceOptionFunc); + context._.each(badAudioConfigs, badDeviceOptionFunc); $select.html(optionsHtml); context.JK.dropdown($select); $select.removeAttr("disabled"); - $('[layout-wizard-step="2"] .settings-asio select').removeAttr("disabled").easyDropDown('enable') + $('[layout-wizard-step="2"] .settings-asio select').removeAttr("disabled").easyDropDown('enable'); // Set selects to lowest possible values to start: $('#asio-framesize').val('2.5').change(); $('#asio-input-latency').val('0').change(); @@ -505,6 +511,12 @@ drivers[driverKey] + ''; }; + var badDeviceOptionFunc = function(deviceKey, index, list) { + optionsHtml += ''; + }; + + var badAudioConfigs = context.JK.getBadAudioConfigs(); + var optionsHtml = ''; var selectors = [ '[layout-wizard-step="0"] .settings-2-device select', @@ -513,6 +525,7 @@ ]; var sortedDeviceKeys = context._.keys(drivers).sort(); context._.each(sortedDeviceKeys, driverOptionFunc); + context._.each(badAudioConfigs, badDeviceOptionFunc); $.each(selectors, function (index, selector) { var $select = $(selector); $select.empty(); diff --git a/web/app/assets/javascripts/utils.js b/web/app/assets/javascripts/utils.js index 6ed8f2539..5392abc05 100644 --- a/web/app/assets/javascripts/utils.js +++ b/web/app/assets/javascripts/utils.js @@ -642,7 +642,25 @@ var result = context.jamClient.FTUEGetGoodConfigurationList(); console.log("hasOneConfiguredDevice: ", result); return result.length > 0; - } + }; + + context.JK.getGoodAudioConfigs = function() { + return context.jamClient.FTUEGetGoodAudioConfigurations(); + }; + + context.JK.getBadAudioConfigs = function() { + var badAudioConfigs = []; + var allAudioConfigs = context.jamClient.FTUEGetAllAudioConfigurations(); + var goodAudioConfigs = context.JK.getGoodAudioConfigs(); + + for (var i=0; i < allAudioConfigs.length; i++) { + if ($.inArray(allAudioConfigs[i], goodAudioConfigs) === -1) { + badAudioConfigs.push(allAudioConfigs[i]); + } + } + + return badAudioConfigs; + }; /*