1
0
Fork 0
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:
cvium 2019-01-10 21:13:18 +01:00
parent 4dbb912ff4
commit 8a4d86df62
8 changed files with 13 additions and 182 deletions

View file

@ -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 />

View file

@ -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) {

View file

@ -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
} }

View file

@ -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 {

View file

@ -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">

View file

@ -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,

View file

@ -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)

View file

@ -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">&#xE2C7;</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">&#xE2C7;</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];