mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
remove premiere stuff and fix lingering js crashes
This commit is contained in:
parent
4dbb912ff4
commit
8a4d86df62
8 changed files with 13 additions and 182 deletions
|
@ -35,44 +35,6 @@
|
||||||
</p>
|
</p>
|
||||||
<p id="nonServerMsg"></p>
|
<p id="nonServerMsg"></p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="premiumPackage" style="display: none; margin-top: 1.5em;">
|
|
||||||
<div>
|
|
||||||
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
|
||||||
<p id="regStatus">
|
|
||||||
</p>
|
|
||||||
<div class="supporterDescription">
|
|
||||||
|
|
||||||
<p>${MessagePluginRequiresSubscription}</p>
|
|
||||||
|
|
||||||
<p><a is="emby-linkbutton" class="button-link" href="https://github.com/jellyfin/jellyfin" target="_blank">${LinkLearnMoreAboutSubscription}</a></p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="premiumDescription">
|
|
||||||
|
|
||||||
<p>${MessagePremiumPluginRequiresMembership}</p>
|
|
||||||
|
|
||||||
<p><a is="emby-linkbutton" class="button-link" href="https://github.com/jellyfin/jellyfin" target="_blank">${LinkLearnMoreAboutSubscription}</a></p>
|
|
||||||
</div>
|
|
||||||
<div class="premiumHasPrice" style="display: none">
|
|
||||||
<p id="regPrice">
|
|
||||||
</p>
|
|
||||||
<input type="hidden" name="cmd" value="_xclick">
|
|
||||||
<input type="hidden" id="payPalEmail" name="business" value="mb_1358534950_biz@reedsplace.com">
|
|
||||||
<input type="hidden" name="currency_code" value="USD">
|
|
||||||
<input type="hidden" id="featureName" name="item_name" value="">
|
|
||||||
<input type="hidden" id="amount" name="amount" value="10">
|
|
||||||
<input type="hidden" id="featureId" name="item_number" value="">
|
|
||||||
<input type="hidden" name="notify_url" value="https://mb3admin.local/admin/service/services/ppipn.php">
|
|
||||||
<input type="hidden" name="return" id="paypalReturnUrl" value="#">
|
|
||||||
<button is="emby-button" type="submit" id="ppButton" class="raised block button-submit" style="background-color: #179BD7;color:#fff;">
|
|
||||||
<span>${RegisterWithPayPal}</span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(["jQuery", "registrationServices", "loading", "emby-checkbox", "emby-input", "listViewStyle", "paper-icon-button-light"], function ($__q, registrationServices, loading) {
|
define(["jQuery", "loading", "emby-checkbox", "emby-input", "listViewStyle", "paper-icon-button-light"], function ($__q, loading) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
return function (page, providerId, options) {
|
return function (page, providerId, options) {
|
||||||
|
|
|
@ -176,8 +176,7 @@ div[data-role=controlgroup] a.ui-btn-active {
|
||||||
flex-grow: 1
|
flex-grow: 1
|
||||||
}
|
}
|
||||||
|
|
||||||
.activeSession:not(.playingSession) .sessionNowPlayingContent,
|
.activeSession:not(.playingSession) .sessionNowPlayingContent {
|
||||||
.supporterMembershipDisabled .tabSupporterMembership {
|
|
||||||
display: none
|
display: none
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,42 +77,12 @@ div[data-role=page] {
|
||||||
padding-bottom: 2em !important
|
padding-bottom: 2em !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.supporterPromotionContainer {
|
|
||||||
margin: 0 0 2em
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (min-width:80em) {
|
|
||||||
.supporterPromotionContainer {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (min-width:50em) {
|
@media all and (min-width:50em) {
|
||||||
|
|
||||||
.readOnlyContent,
|
.readOnlyContent,
|
||||||
form {
|
form {
|
||||||
max-width: 54em
|
max-width: 54em
|
||||||
}
|
}
|
||||||
|
|
||||||
.supporterPromotionContainer {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-orient: horizontal;
|
|
||||||
-webkit-box-direction: reverse;
|
|
||||||
-webkit-flex-direction: row-reverse;
|
|
||||||
flex-direction: row-reverse
|
|
||||||
}
|
|
||||||
|
|
||||||
.supporterPromotion {
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 2em
|
|
||||||
}
|
|
||||||
|
|
||||||
.supporterPromotion button {
|
|
||||||
padding-left: 2em;
|
|
||||||
padding-right: 2em
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.imageDropZone {
|
.imageDropZone {
|
||||||
|
|
|
@ -1,13 +1,6 @@
|
||||||
<div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs withTabs" data-title="${HeaderLiveTv}" data-backdroptype="series,movie">
|
<div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs withTabs" data-title="${HeaderLiveTv}" data-backdroptype="series,movie">
|
||||||
|
|
||||||
<div class="unlockContainer hide padded-left padded-right">
|
<div class="liveTvContainer">
|
||||||
<p class="unlockText" style="text-align:center;"></p>
|
|
||||||
<button is="emby-button" type="button" class="raised button-submit block btnUnlock">
|
|
||||||
<span>${HeaderBecomeProjectSupporter}</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="hide liveTvContainer">
|
|
||||||
|
|
||||||
<div class="pageTabContent" id="suggestionsTab" data-index="0">
|
<div class="pageTabContent" id="suggestionsTab" data-index="0">
|
||||||
<div id="activePrograms" class="verticalSection">
|
<div id="activePrograms" class="verticalSection">
|
||||||
|
|
|
@ -107,21 +107,6 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
|
||||||
return list
|
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) {
|
function refreshActiveRecordings(view, apiClient) {
|
||||||
apiClient.getLiveTvRecordings({
|
apiClient.getLiveTvRecordings({
|
||||||
UserId: Dashboard.getCurrentUserId(),
|
UserId: Dashboard.getCurrentUserId(),
|
||||||
|
@ -158,12 +143,12 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
|
||||||
apiClient.getSystemInfo().then(function(systemInfo) {
|
apiClient.getSystemInfo().then(function(systemInfo) {
|
||||||
view.querySelector(".serverNameHeader").innerHTML = systemInfo.ServerName;
|
view.querySelector(".serverNameHeader").innerHTML = systemInfo.ServerName;
|
||||||
var localizedVersion = globalize.translate("LabelVersionNumber", systemInfo.Version);
|
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 = '<a href="https://github.com/jellyfin/jellyfin/download" target="_blank">' + globalize.translate("PleaseUpdateManually") + "</a>", 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) {
|
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) {
|
function pollForInfo(view, apiClient, forceUpdate) {
|
||||||
|
@ -215,9 +200,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
|
||||||
var html = "";
|
var html = "";
|
||||||
tasks = tasks.filter(function(t) {
|
tasks = tasks.filter(function(t) {
|
||||||
return "Idle" != t.State && !t.IsHidden
|
return "Idle" != t.State && !t.IsHidden
|
||||||
}), tasks.length ? view.querySelector(".runningTasksContainer").classList.remove("hide") : view.querySelector(".runningTasksContainer").classList.add("hide"), tasks.filter(function(t) {
|
}), tasks.length ? view.querySelector(".runningTasksContainer").classList.remove("hide") : view.querySelector(".runningTasksContainer").classList.add("hide");
|
||||||
return t.Key == DashboardPage.systemUpdateTaskKey
|
|
||||||
}).length ? buttonEnabled(view.querySelector("#btnUpdateApplication"), !1) : buttonEnabled(view.querySelector("#btnUpdateApplication"), !0);
|
|
||||||
for (var i = 0, length = tasks.length; i < length; i++) {
|
for (var i = 0, length = tasks.length; i < length; i++) {
|
||||||
var task = tasks[i];
|
var task = tasks[i];
|
||||||
if (html += "<p>", html += task.Name + "<br/>", "Running" == task.State) {
|
if (html += "<p>", html += task.Name + "<br/>", "Running" == task.State) {
|
||||||
|
@ -229,16 +212,9 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
|
||||||
view.querySelector("#divRunningTasks").innerHTML = html
|
view.querySelector("#divRunningTasks").innerHTML = html
|
||||||
}
|
}
|
||||||
return window.DashboardPage = {
|
return window.DashboardPage = {
|
||||||
newsStartIndex: 0,
|
|
||||||
renderPaths: function(page, systemInfo) {
|
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
|
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) {
|
startInterval: function(apiClient) {
|
||||||
apiClient.sendMessage("SessionsStart", "0,1500"), apiClient.sendMessage("ScheduledTasksInfoStart", "0,1000")
|
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")
|
externalUrlElem.innerHTML = remoteAccessHtml + helpButton, externalUrlElem.classList.remove("hide")
|
||||||
} else externalUrlElem.classList.add("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 = '<a is="emby-linkbutton" class="button-link imageLink supporterIcon" href="https://github.com/jellyfin/jellyfin/premiere" target="_blank" title="' + text + '"><img src="' + imgUrl + '" style="height:2em;" /></a>') : 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 += "<div><strong>" + update.Name + "</strong> (" + update.Version + ")</div>"
|
|
||||||
}
|
|
||||||
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 += "<p><strong>" + globalize.translate("NewVersionOfSomethingAvailable").replace("{0}", update.name) + "</strong></p>", html += '<button type="button" is="emby-button" class="raised block" onclick="DashboardPage.installPluginUpdate(this);" data-name="' + update.name + '" data-guid="' + update.guid + '" data-version="' + update.versionStr + '" data-classification="' + update.classification + '">' + globalize.translate("ButtonUpdateNow") + "</button>"
|
|
||||||
}
|
|
||||||
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) {
|
stopTask: function(btn, id) {
|
||||||
var page = dom.parentWithClass(btn, "page");
|
var page = dom.parentWithClass(btn, "page");
|
||||||
ApiClient.stopScheduledTask(id).then(function() {
|
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 = '<div class="supporterPromotionContainer"><div class="supporterPromotion">';
|
|
||||||
html += '<a is="emby-linkbutton" href="https://github.com/jellyfin/jellyfin" target="_blank" class="raised block" style="background-color:#00a4dc;color:#fff;"><div>' + globalize.translate("HeaderSupportTheTeam") + '</div><div style="font-weight:normal;margin-top:5px;">' + globalize.translate("TextEnjoyBonusFeatures") + "</div></a></div></div>", page.querySelector(".content-primary").insertAdjacentHTML("afterbegin", html)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}),
|
|
||||||
function(view, params) {
|
function(view, params) {
|
||||||
function onRestartRequired(e, apiClient) {
|
function onRestartRequired(e, apiClient) {
|
||||||
apiClient.serverId() === serverId && renderHasPendingRestart(view, apiClient, !0)
|
apiClient.serverId() === serverId && renderHasPendingRestart(view, apiClient, !0)
|
||||||
|
@ -502,9 +423,7 @@ define(["datetime", "events", "itemHelper", "serverNotifications", "dom", "globa
|
||||||
apiClient = ApiClient;
|
apiClient = ApiClient;
|
||||||
if (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),
|
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) {
|
events.on(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate), DashboardPage.lastAppUpdateCheck = null, reloadSystemInfo(page, ApiClient), page.userActivityLog || (page.userActivityLog = new ActivityLog({
|
||||||
DashboardPage.renderSupporterIcon(page, pluginSecurityInfo)
|
|
||||||
}), reloadSystemInfo(page, ApiClient), page.userActivityLog || (page.userActivityLog = new ActivityLog({
|
|
||||||
serverId: ApiClient.serverId(),
|
serverId: ApiClient.serverId(),
|
||||||
element: page.querySelector(".userActivityItems")
|
element: page.querySelector(".userActivityItems")
|
||||||
})), ApiClient.isMinServerVersion("3.4.1.25") && (page.serverActivityLog || (page.serverActivityLog = new ActivityLog({
|
})), 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() {
|
}), view.addEventListener("viewbeforehide", function() {
|
||||||
var apiClient = ApiClient;
|
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)
|
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() {
|
}), view.addEventListener("viewdestroy", function() {
|
||||||
var page = this,
|
var page = this,
|
||||||
|
|
|
@ -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";
|
"use strict";
|
||||||
|
|
||||||
function enableScrollX() {
|
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) {
|
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"))
|
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) {
|
[].forEach.call(view.querySelectorAll(".sectionTitleTextButton-programs"), function(link) {
|
||||||
var href = link.href;
|
var href = link.href;
|
||||||
href && (link.href = href + "&serverId=" + ApiClient.serverId())
|
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())
|
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() {
|
}, self.renderTab = function() {
|
||||||
var tabContent = view.querySelector(".pageTabContent[data-index='0']");
|
var tabContent = view.querySelector(".pageTabContent[data-index='0']");
|
||||||
|
@ -256,9 +245,7 @@ define(["layoutManager", "userSettings", "inputManager", "loading", "registratio
|
||||||
};
|
};
|
||||||
var currentTabController, tabControllers = [],
|
var currentTabController, tabControllers = [],
|
||||||
renderedTabs = [];
|
renderedTabs = [];
|
||||||
view.querySelector(".btnUnlock").addEventListener("click", function() {
|
view.addEventListener("viewbeforeshow", function(e) {
|
||||||
validateUnlock(view, !0)
|
|
||||||
}), view.addEventListener("viewbeforeshow", function(e) {
|
|
||||||
isViewRestored = e.detail.isRestored, initTabs()
|
isViewRestored = e.detail.isRestored, initTabs()
|
||||||
}), view.addEventListener("viewshow", function(e) {
|
}), view.addEventListener("viewshow", function(e) {
|
||||||
isViewRestored = e.detail.isRestored, isViewRestored || mainTabsManager.selectedTabIndex(initialTabIndex), inputManager.on(window, onInputCommand)
|
isViewRestored = e.detail.isRestored, isViewRestored || mainTabsManager.selectedTabIndex(initialTabIndex), inputManager.on(window, onInputCommand)
|
||||||
|
|
|
@ -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;
|
href = plugin.externalUrl ? plugin.externalUrl : "addplugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid;
|
||||||
options.context && (href += "&context=" + options.context);
|
options.context && (href += "&context=" + options.context);
|
||||||
var target = plugin.externalUrl ? ' target="_blank"' : "";
|
var target = plugin.externalUrl ? ' target="_blank"' : "";
|
||||||
html += "<div class='card backdropCard'>", html += '<div class="cardBox visualCardBox">', html += '<div class="cardScalable visualCardBox-cardScalable">', html += '<div class="cardPadder cardPadder-backdrop"></div>', html += '<a class="cardContent cardImageContainer" is="emby-linkbutton" href="' + href + '"' + target + ">", plugin.thumbImage ? (html += '<div class="cardImage coveredImage" style="background-image:url(\'' + plugin.thumbImage + "');\">", html += "</div>") : html += '<i class="cardImageIcon md-icon"></i>', plugin.isPremium && (plugin.price > 0 ? html += "<div class='premiumBanner'><img src='css/images/supporter/premiumflag.png' /></div>" : html += "<div class='premiumBanner'><img src='css/images/supporter/supporterflag.png' /></div>"), html += "</a>", html += "</div>", html += '<div class="cardFooter">', html += "<div class='cardText'>", html += plugin.name, html += "</div>";
|
html += "<div class='card backdropCard'>", html += '<div class="cardBox visualCardBox">', html += '<div class="cardScalable visualCardBox-cardScalable">', html += '<div class="cardPadder cardPadder-backdrop"></div>', html += '<a class="cardContent cardImageContainer" is="emby-linkbutton" href="' + href + '"' + target + ">", plugin.thumbImage ? (html += '<div class="cardImage coveredImage" style="background-image:url(\'' + plugin.thumbImage + "');\">", html += "</div>") : html += '<i class="cardImageIcon md-icon"></i>', html += "</a>", html += "</div>", html += '<div class="cardFooter">', html += "<div class='cardText'>", html += plugin.name, html += "</div>";
|
||||||
var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function(ip) {
|
var installedPlugin = plugin.isApp ? null : installedPlugins.filter(function(ip) {
|
||||||
return ip.Id == plugin.guid
|
return ip.Id == plugin.guid
|
||||||
})[0];
|
})[0];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue