diff --git a/src/scripts/dashboardpage.js b/src/scripts/dashboardpage.js
index abc32b753b..7c3a88feb2 100644
--- a/src/scripts/dashboardpage.js
+++ b/src/scripts/dashboardpage.js
@@ -107,21 +107,6 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
return list
}
- function getPluginSecurityInfo() {
- var apiClient = window.ApiClient;
- return apiClient ? connectionManager.getRegistrationInfo("themes", apiClient, {
- viewOnly: !0
- }).then(function(result) {
- return {
- IsMBSupporter: !0
- }
- }, function() {
- return {
- IsMBSupporter: !1
- }
- }) : Promise.reject()
- }
-
function refreshActiveRecordings(view, apiClient) {
apiClient.getLiveTvRecordings({
UserId: Dashboard.getCurrentUserId(),
@@ -158,12 +143,12 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
apiClient.getSystemInfo().then(function(systemInfo) {
view.querySelector(".serverNameHeader").innerHTML = systemInfo.ServerName;
var localizedVersion = globalize.translate("LabelVersionNumber", systemInfo.Version);
- systemInfo.SystemUpdateLevel && "Release" != systemInfo.SystemUpdateLevel && (localizedVersion += " " + globalize.translate("Option" + systemInfo.SystemUpdateLevel).toLowerCase()), systemInfo.CanSelfRestart ? view.querySelector("#btnRestartServer").classList.remove("hide") : view.querySelector("#btnRestartServer").classList.add("hide"), view.querySelector("#appVersionNumber").innerHTML = localizedVersion, systemInfo.SupportsHttps ? view.querySelector("#ports").innerHTML = globalize.translate("LabelRunningOnPorts", systemInfo.HttpServerPortNumber, systemInfo.HttpsPortNumber) : view.querySelector("#ports").innerHTML = globalize.translate("LabelRunningOnPort", systemInfo.HttpServerPortNumber), DashboardPage.renderUrls(view, systemInfo), DashboardPage.renderPendingInstallations(view, systemInfo), systemInfo.CanSelfUpdate ? (view.querySelector("#btnUpdateApplicationContainer").classList.remove("hide"), view.querySelector("#btnManualUpdateContainer").classList.add("hide")) : (view.querySelector("#btnUpdateApplicationContainer").classList.add("hide"), view.querySelector("#btnManualUpdateContainer").classList.remove("hide")), "synology" == systemInfo.PackageName ? view.querySelector("#btnManualUpdateContainer").innerHTML = globalize.translate("SynologyUpdateInstructions") : view.querySelector("#btnManualUpdateContainer").innerHTML = '
' + globalize.translate("PleaseUpdateManually") + "", DashboardPage.renderPaths(view, systemInfo), renderHasPendingRestart(view, apiClient, systemInfo.HasPendingRestart)
+ systemInfo.SystemUpdateLevel && "Release" != systemInfo.SystemUpdateLevel && (localizedVersion += " " + globalize.translate("Option" + systemInfo.SystemUpdateLevel).toLowerCase()), systemInfo.CanSelfRestart ? view.querySelector("#btnRestartServer").classList.remove("hide") : view.querySelector("#btnRestartServer").classList.add("hide"), view.querySelector("#appVersionNumber").innerHTML = localizedVersion, systemInfo.SupportsHttps ? view.querySelector("#ports").innerHTML = globalize.translate("LabelRunningOnPorts", systemInfo.HttpServerPortNumber, systemInfo.HttpsPortNumber) : view.querySelector("#ports").innerHTML = globalize.translate("LabelRunningOnPort", systemInfo.HttpServerPortNumber), DashboardPage.renderUrls(view, systemInfo), DashboardPage.renderPaths(view, systemInfo), renderHasPendingRestart(view, apiClient, systemInfo.HasPendingRestart)
})
}
function renderInfo(view, sessions, forceUpdate) {
- sessions = filterSessions(sessions), renderActiveConnections(view, sessions), DashboardPage.renderPluginUpdateInfo(view, forceUpdate), loading.hide()
+ sessions = filterSessions(sessions), renderActiveConnections(view, sessions), loading.hide()
}
function pollForInfo(view, apiClient, forceUpdate) {
@@ -215,9 +200,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
var html = "";
tasks = tasks.filter(function(t) {
return "Idle" != t.State && !t.IsHidden
- }), tasks.length ? view.querySelector(".runningTasksContainer").classList.remove("hide") : view.querySelector(".runningTasksContainer").classList.add("hide"), tasks.filter(function(t) {
- return t.Key == DashboardPage.systemUpdateTaskKey
- }).length ? buttonEnabled(view.querySelector("#btnUpdateApplication"), !1) : buttonEnabled(view.querySelector("#btnUpdateApplication"), !0);
+ }), tasks.length ? view.querySelector(".runningTasksContainer").classList.remove("hide") : view.querySelector(".runningTasksContainer").classList.add("hide");
for (var i = 0, length = tasks.length; i < length; i++) {
var task = tasks[i];
if (html += "
", html += task.Name + "
", "Running" == task.State) {
@@ -229,16 +212,9 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
view.querySelector("#divRunningTasks").innerHTML = html
}
return window.DashboardPage = {
- newsStartIndex: 0,
renderPaths: function(page, systemInfo) {
page.querySelector("#cachePath").innerHTML = systemInfo.CachePath, page.querySelector("#logPath").innerHTML = systemInfo.LogPath, page.querySelector("#transcodingTemporaryPath").innerHTML = systemInfo.TranscodingTempPath, page.querySelector("#metadataPath").innerHTML = systemInfo.InternalMetadataPath
},
- reloadNews: function(page) {
- var query = {
- StartIndex: DashboardPage.newsStartIndex,
- Limit: 4
- };
- },
startInterval: function(apiClient) {
apiClient.sendMessage("SessionsStart", "0,1500"), apiClient.sendMessage("ScheduledTasksInfoStart", "0,1000")
},
@@ -380,52 +356,6 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
externalUrlElem.innerHTML = remoteAccessHtml + helpButton, externalUrlElem.classList.remove("hide")
} else externalUrlElem.classList.add("hide")
},
- renderSupporterIcon: function(page, pluginSecurityInfo) {
- var imgUrl, text, supporterIconContainer = page.querySelector(".supporterIconContainer");
- pluginSecurityInfo.IsMBSupporter ? (supporterIconContainer.classList.remove("hide"), imgUrl = "css/images/supporter/supporterbadge.png", text = globalize.translate("MessageThankYouForSupporting"), supporterIconContainer.innerHTML = '
') : supporterIconContainer.classList.add("hide")
- },
- renderPendingInstallations: function(page, systemInfo) {
- if (!systemInfo.CompletedInstallations.length) return void page.querySelector("#collapsiblePendingInstallations").classList.add("hide");
- page.querySelector("#collapsiblePendingInstallations").classList.remove("hide");
- for (var html = "", i = 0, length = systemInfo.CompletedInstallations.length; i < length; i++) {
- var update = systemInfo.CompletedInstallations[i];
- html += "
" + update.Name + " (" + update.Version + ")
"
- }
- page.querySelector("#pendingInstallations").innerHTML = html
- },
- renderPluginUpdateInfo: function(page, forceUpdate) {
- !forceUpdate && DashboardPage.lastPluginUpdateCheck && (new Date).getTime() - DashboardPage.lastPluginUpdateCheck < 18e5 || (DashboardPage.lastPluginUpdateCheck = (new Date).getTime(), ApiClient.getAvailablePluginUpdates().then(function(updates) {
- var elem = page.querySelector("#pPluginUpdates");
- if (!updates.length) return void elem.classList.add("hide");
- elem.classList.remove("hide");
- for (var html = "", i = 0, length = updates.length; i < length; i++) {
- var update = updates[i];
- html += "
" + globalize.translate("NewVersionOfSomethingAvailable").replace("{0}", update.name) + "
", html += '
"
- }
- elem.innerHTML = html
- }))
- },
- installPluginUpdate: function(button) {
- buttonEnabled(button, !1);
- var name = button.getAttribute("data-name"),
- guid = button.getAttribute("data-guid"),
- version = button.getAttribute("data-version"),
- classification = button.getAttribute("data-classification");
- loading.show(), ApiClient.installPlugin(name, guid, classification, version).then(function() {
- loading.hide()
- })
- },
- updateApplication: function(btn) {
- var page = dom.parentWithClass(btn, "page");
- buttonEnabled(page.querySelector("#btnUpdateApplication"), !1), loading.show(), ApiClient.getScheduledTasks().then(function(tasks) {
- var task = tasks.filter(function(t) {
- return t.Key == DashboardPage.systemUpdateTaskKey
- })[0];
- ApiClient.startScheduledTask(task.Id).then(function() {
- pollForInfo(page, ApiClient), loading.hide()
- })
- })
- },
stopTask: function(btn, id) {
var page = dom.parentWithClass(btn, "page");
ApiClient.stopScheduledTask(id).then(function() {
@@ -458,16 +388,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
})
})
}
- }, pageClassOn("pageshow", "type-interior", function() {
- var page = this;
- page.querySelector(".customSupporterPromotion") || getPluginSecurityInfo().then(function(pluginSecurityInfo) {
- var supporterPromotionElem = page.querySelector(".supporterPromotion");
- if (supporterPromotionElem && supporterPromotionElem.parentNode.removeChild(supporterPromotionElem), !pluginSecurityInfo.IsMBSupporter) {
- var html = '
", page.querySelector(".content-primary").insertAdjacentHTML("afterbegin", html)
- }
- })
- }),
+ },
function(view, params) {
function onRestartRequired(e, apiClient) {
apiClient.serverId() === serverId && renderHasPendingRestart(view, apiClient, !0)
@@ -502,9 +423,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
apiClient = ApiClient;
if (apiClient) {
loading.show(), pollForInfo(page, apiClient), DashboardPage.startInterval(apiClient), events.on(serverNotifications, "RestartRequired", onRestartRequired), events.on(serverNotifications, "ServerShuttingDown", onServerShuttingDown), events.on(serverNotifications, "ServerRestarting", onServerRestarting), events.on(serverNotifications, "PackageInstalling", onPackageInstalling), events.on(serverNotifications, "PackageInstallationCompleted", onPackageInstallationCompleted), events.on(serverNotifications, "Sessions", onSessionsUpdate),
- events.on(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate), DashboardPage.lastAppUpdateCheck = null, DashboardPage.lastPluginUpdateCheck = null, getPluginSecurityInfo().then(function(pluginSecurityInfo) {
- DashboardPage.renderSupporterIcon(page, pluginSecurityInfo)
- }), reloadSystemInfo(page, ApiClient), page.userActivityLog || (page.userActivityLog = new ActivityLog({
+ events.on(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate), DashboardPage.lastAppUpdateCheck = null, reloadSystemInfo(page, ApiClient), page.userActivityLog || (page.userActivityLog = new ActivityLog({
serverId: ApiClient.serverId(),
element: page.querySelector(".userActivityItems")
})), ApiClient.isMinServerVersion("3.4.1.25") && (page.serverActivityLog || (page.serverActivityLog = new ActivityLog({
@@ -515,6 +434,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
}
}), view.addEventListener("viewbeforehide", function() {
var apiClient = ApiClient;
+ // TODO we currently don't support packages and thus these events are useless
events.off(serverNotifications, "RestartRequired", onRestartRequired), events.off(serverNotifications, "ServerShuttingDown", onServerShuttingDown), events.off(serverNotifications, "ServerRestarting", onServerRestarting), events.off(serverNotifications, "PackageInstalling", onPackageInstalling), events.off(serverNotifications, "PackageInstallationCompleted", onPackageInstallationCompleted), events.off(serverNotifications, "Sessions", onSessionsUpdate), events.off(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate), apiClient && DashboardPage.stopInterval(apiClient)
}), view.addEventListener("viewdestroy", function() {
var page = this,
diff --git a/src/scripts/livetvsuggested.js b/src/scripts/livetvsuggested.js
index 4377195338..653097b146 100644
--- a/src/scripts/livetvsuggested.js
+++ b/src/scripts/livetvsuggested.js
@@ -1,4 +1,4 @@
-define(["layoutManager", "userSettings", "inputManager", "loading", "registrationServices", "globalize", "libraryBrowser", "mainTabsManager", "cardBuilder", "apphost", "imageLoader", "scrollStyles", "emby-itemscontainer", "emby-tabs", "emby-button"], function(layoutManager, userSettings, inputManager, loading, registrationServices, globalize, libraryBrowser, mainTabsManager, cardBuilder, appHost, imageLoader) {
+define(["layoutManager", "userSettings", "inputManager", "loading", "globalize", "libraryBrowser", "mainTabsManager", "cardBuilder", "apphost", "imageLoader", "scrollStyles", "emby-itemscontainer", "emby-tabs", "emby-button"], function(layoutManager, userSettings, inputManager, loading, globalize, libraryBrowser, mainTabsManager, cardBuilder, appHost, imageLoader) {
"use strict";
function enableScrollX() {
@@ -145,17 +145,6 @@ define(["layoutManager", "userSettings", "inputManager", "loading", "registratio
}]
}
- function validateUnlock(view, showDialog) {
- registrationServices.validateFeature("livetv", {
- showDialog: showDialog,
- viewOnly: !0
- }).then(function() {
- view.querySelector(".liveTvContainer").classList.remove("hide"), view.querySelector(".unlockContainer").classList.add("hide")
- }, function() {
- view.querySelector(".liveTvContainer").classList.add("hide"), view.querySelector(".unlockContainer").classList.remove("hide")
- })
- }
-
function setScrollClasses(elem, scrollX) {
scrollX ? (elem.classList.add("hiddenScrollX"), layoutManager.tv && elem.classList.add("smoothScrollX"), elem.classList.add("scrollX"), elem.classList.remove("vertical-wrap")) : (elem.classList.remove("hiddenScrollX"), elem.classList.remove("smoothScrollX"), elem.classList.remove("scrollX"), elem.classList.add("vertical-wrap"))
}
@@ -248,7 +237,7 @@ define(["layoutManager", "userSettings", "inputManager", "loading", "registratio
[].forEach.call(view.querySelectorAll(".sectionTitleTextButton-programs"), function(link) {
var href = link.href;
href && (link.href = href + "&serverId=" + ApiClient.serverId())
- }), view.querySelector(".unlockText").innerHTML = globalize.translate("sharedcomponents#LiveTvRequiresUnlock"), validateUnlock(view, !1), self.initTab = function() {
+ }), self.initTab = function() {
for (var tabContent = view.querySelector(".pageTabContent[data-index='0']"), containers = tabContent.querySelectorAll(".itemsContainer"), i = 0, length = containers.length; i < length; i++) setScrollClasses(containers[i], enableScrollX())
}, self.renderTab = function() {
var tabContent = view.querySelector(".pageTabContent[data-index='0']");
@@ -256,9 +245,7 @@ define(["layoutManager", "userSettings", "inputManager", "loading", "registratio
};
var currentTabController, tabControllers = [],
renderedTabs = [];
- view.querySelector(".btnUnlock").addEventListener("click", function() {
- validateUnlock(view, !0)
- }), view.addEventListener("viewbeforeshow", function(e) {
+ view.addEventListener("viewbeforeshow", function(e) {
isViewRestored = e.detail.isRestored, initTabs()
}), view.addEventListener("viewshow", function(e) {
isViewRestored = e.detail.isRestored, isViewRestored || mainTabsManager.selectedTabIndex(initialTabIndex), inputManager.on(window, onInputCommand)
diff --git a/src/scripts/plugincatalogpage.js b/src/scripts/plugincatalogpage.js
index cebbbb08f3..cb26e84431 100644
--- a/src/scripts/plugincatalogpage.js
+++ b/src/scripts/plugincatalogpage.js
@@ -68,7 +68,7 @@ define(["loading", "libraryMenu", "globalize", "cardStyle", "emby-linkbutton", "
href = plugin.externalUrl ? plugin.externalUrl : "addplugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid;
options.context && (href += "&context=" + options.context);
var target = plugin.externalUrl ? ' target="_blank"' : "";
- html += "