diff options
Diffstat (limited to 'MediaBrowser.WebDashboard')
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/dashboard.html | 11 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js | 41 |
2 files changed, 43 insertions, 9 deletions
diff --git a/MediaBrowser.WebDashboard/Html/dashboard.html b/MediaBrowser.WebDashboard/Html/dashboard.html index deec12a36c..693af7d261 100644 --- a/MediaBrowser.WebDashboard/Html/dashboard.html +++ b/MediaBrowser.WebDashboard/Html/dashboard.html @@ -24,12 +24,17 @@ <p id="newVersionNumber"></p> <button id="btnUpdateApplication" type="button" data-icon="download" data-theme="b" onclick="DashboardPage.updateApplication();">Update Now</button> </div> + <div id="pPluginUpdates"></div> </div> </div> - <div data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em; display: none;" id="collapsiblePluginUpdates"> - <h3>Plugin Information</h3> - <div id="pPluginUpdates"></div> + <div id="collapsiblePendingInstallations" data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em; display: none;"> + <h3>Pending Installations</h3> + <p>The following components have been installed or updated:</p> + <div id="pendingInstallations"> + </div> + <p>Please restart the server to finish applying updates.</p> + <button type="button" data-icon="refresh" data-theme="b" onclick="Dashboard.restartServer();">Restart Now</button> </div> <div data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em;"> diff --git a/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js b/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js index e61febb263..5b06851478 100644 --- a/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js +++ b/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js @@ -293,6 +293,7 @@ DashboardPage.renderApplicationUpdateInfo(dashboardInfo); DashboardPage.renderPluginUpdateInfo(dashboardInfo); + DashboardPage.renderPendingInstallations(dashboardInfo.SystemInfo); }, renderApplicationUpdateInfo: function (dashboardInfo) { @@ -330,17 +331,43 @@ }); } else { - + if (dashboardInfo.SystemInfo.HasPendingRestart) { $('#pUpToDate', page).hide(); } else { $('#pUpToDate', page).show(); } - + $('#pUpdateNow', page).hide(); } }, + renderPendingInstallations: function (systemInfo) { + + var page = $.mobile.activePage; + + if (systemInfo.CompletedInstallations.length) { + + $('#collapsiblePendingInstallations', page).show(); + + } else { + $('#collapsiblePendingInstallations', page).hide(); + + return; + } + + var html = ''; + + for (var i = 0, length = systemInfo.CompletedInstallations.length; i < length; i++) { + + var update = systemInfo.CompletedInstallations[i]; + + html += '<div><strong>' + update.Name + '</strong> (' + update.Version + ')</div>'; + } + + $('#pendingInstallations', page).html(html); + }, + renderPluginUpdateInfo: function (dashboardInfo) { // Only check once every 10 mins @@ -354,12 +381,14 @@ ApiClient.getAvailablePluginUpdates().done(function (updates) { + var elem = $('#pPluginUpdates', page); + if (updates.length) { - $('#collapsiblePluginUpdates', page).show(); + elem.show(); } else { - $('#collapsiblePluginUpdates', page).hide(); + elem.hide(); return; } @@ -374,8 +403,8 @@ html += '<button type="button" data-icon="download" data-theme="b" onclick="DashboardPage.installPluginUpdate(this);" data-name="' + update.name + '" data-version="' + update.versionStr + '" data-classification="' + update.classification + '">Update Now</button>'; } - $('#pPluginUpdates', page).html(html).trigger('create'); - + elem.html(html).trigger('create'); + }).fail(function () { Dashboard.showFooterNotification({ html: '<img src="css/images/notifications/error.png" class="notificationIcon" />There was an error connecting to the remote Media Browser repository.', id: "MB3ConnectionError" }); |
