diff --git a/dashboard-ui/scripts/wizardlivetvguide.js b/dashboard-ui/scripts/wizardlivetvguide.js index 7b7dfe0dfd..a53adef59c 100644 --- a/dashboard-ui/scripts/wizardlivetvguide.js +++ b/dashboard-ui/scripts/wizardlivetvguide.js @@ -2,23 +2,42 @@ var guideController; - function init(page, type, providerId) { + function init(page, type) { - var url = 'tvproviders/' + type + '.js'; + Dashboard.showLoadingMsg(); - require([url], function (factory) { + var apiClient = ApiClient; - var instance = new factory(page, providerId, { - showCancelButton: false, - showSubmitButton: false + apiClient.getJSON(apiClient.getUrl('Startup/Configuration')).done(function (config) { + + var providerId = null; + + if (config.LiveTvGuideProviderType.toLowerCase() == type.toLowerCase()) { + if (config.LiveTvGuideProviderId) { + providerId = config.LiveTvGuideProviderId; + } + } + + var url = 'tvproviders/' + type.toLowerCase() + '.js'; + + require([url], function (factory) { + + var instance = new factory(page, providerId, { + showCancelButton: false, + showSubmitButton: false, + showConfirmation: false + }); + + Dashboard.hideLoadingMsg(); + instance.init(); + guideController = instance; + + $(guideController).on('submitted', skip); }); - - instance.init(); - guideController = instance; }); } - function loadTemplate(page, type, providerId) { + function loadTemplate(page, type) { guideController = null; @@ -33,7 +52,7 @@ elem.innerHTML = Globalize.translateDocument(html); $(elem).trigger('create'); - init(page, type, providerId); + init(page, type); }); } @@ -55,6 +74,11 @@ guideController.submit(); } + function reload(page) { + + $('#selectType', page).trigger('change'); + } + $(document).on('pageinitdepends', "#wizardGuidePage", function () { var page = this; @@ -71,7 +95,7 @@ var page = this; - $('#selectType', page).trigger('change'); + reload(page); }); })(jQuery, document, window); diff --git a/dashboard-ui/tvproviders/schedulesdirect.js b/dashboard-ui/tvproviders/schedulesdirect.js index a7d9214c5b..445b5379f8 100644 --- a/dashboard-ui/tvproviders/schedulesdirect.js +++ b/dashboard-ui/tvproviders/schedulesdirect.js @@ -149,9 +149,14 @@ }).done(function (result) { - Dashboard.processServerConfigurationUpdateResult(); + Dashboard.hideLoadingMsg(); + if (options.showConfirmation !== false) { + Dashboard.processServerConfigurationUpdateResult(); + } + $(self).trigger('submitted'); }).fail(function () { + Dashboard.hideLoadingMsg(); Dashboard.alert({ message: Globalize.translate('ErrorSavingTvProvider') }); diff --git a/dashboard-ui/wizardlivetvguide.html b/dashboard-ui/wizardlivetvguide.html index 88b80e3baf..6e75a5638b 100644 --- a/dashboard-ui/wizardlivetvguide.html +++ b/dashboard-ui/wizardlivetvguide.html @@ -21,7 +21,7 @@