mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
remove appservices page in favor of plugin catalog
This commit is contained in:
parent
07673d0ae6
commit
579fbe90c8
9 changed files with 7 additions and 125 deletions
|
@ -1,21 +0,0 @@
|
||||||
<div id="appServicesPage" data-role="page" class="page type-interior appServicesPage withTabs fullWidthContent" data-require="scripts/appservices">
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<div class="content-primary">
|
|
||||||
|
|
||||||
<div class="verticalSection">
|
|
||||||
|
|
||||||
<div class="sectionTitleContainer sectionTitleContainer-cards flex align-items-center">
|
|
||||||
<h2 class="sectionTitle sectionTitle-cards">${HeaderInstalledServices}</h2>
|
|
||||||
<a is="emby-linkbutton" class="raised button-alt headerHelpButton" target="_blank" href="https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Plugins">${Help}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="installedPlugins"></div>
|
|
||||||
</div>
|
|
||||||
<div class="verticalSection">
|
|
||||||
<h2 class="sectionTitle sectionTitle-cards">${HeaderAvailableServices}</h2>
|
|
||||||
<div class="catalog"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -74,16 +74,6 @@ define(["globalize", "loading", "libraryMenu", "dom", "emby-input", "emby-button
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTabs() {
|
|
||||||
return [{
|
|
||||||
href: "livetvstatus.html",
|
|
||||||
name: globalize.translate("TabDevices")
|
|
||||||
}, {
|
|
||||||
href: "appservices.html?context=livetv",
|
|
||||||
name: globalize.translate("TabServices")
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
|
|
||||||
function onTypeChange() {
|
function onTypeChange() {
|
||||||
var value = this.value,
|
var value = this.value,
|
||||||
view = dom.parentWithClass(this, "page"),
|
view = dom.parentWithClass(this, "page"),
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
<div id="liveTvStatusPage" data-role="page" class="page type-interior liveTvSettingsPage withTabs" data-require="scripts/livetvstatus,emby-button">
|
<div id="liveTvStatusPage" data-role="page" class="page type-interior liveTvSettingsPage" data-require="scripts/livetvstatus,emby-button">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
|
|
||||||
<div class="verticalSection verticalSection-extrabottompadding">
|
<div class="verticalSection verticalSection-extrabottompadding">
|
||||||
|
|
||||||
<div class="verticalSection verticalSection-extrabottompadding">
|
<div class="verticalSection verticalSection-extrabottompadding">
|
||||||
<div class="sectionTitleContainer sectionTitleContainer-cards">
|
<div class="sectionTitleContainer sectionTitleContainer-cards">
|
||||||
<h2 class="sectionTitle sectionTitle-cards">
|
<h2 class="sectionTitle sectionTitle-cards">
|
||||||
|
@ -31,8 +27,8 @@
|
||||||
|
|
||||||
<div class="providerList">
|
<div class="providerList">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
|
|
||||||
|
<div>
|
||||||
<button is="emby-button" type="button" class="raised btnRefresh block button-cancel">
|
<button is="emby-button" type="button" class="raised btnRefresh block button-cancel">
|
||||||
<span>${ButtonRefreshGuideData}</span>
|
<span>${ButtonRefreshGuideData}</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
<div id="liveTvTunerPage" data-role="page" class="page type-interior liveTvSettingsPage withTabs">
|
<div id="liveTvTunerPage" data-role="page" class="page type-interior liveTvSettingsPage">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<form>
|
<form>
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
|
@ -47,6 +45,7 @@
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription checkboxFieldDescription">${ImportFavoriteChannelsHelp}</div>
|
<div class="fieldDescription checkboxFieldDescription">${ImportFavoriteChannelsHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription fldTranscode hide">
|
<div class="checkboxContainer checkboxContainer-withDescription fldTranscode hide">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" is="emby-checkbox" class="chkTranscode" />
|
<input type="checkbox" is="emby-checkbox" class="chkTranscode" />
|
||||||
|
@ -54,6 +53,7 @@
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription checkboxFieldDescription">${AllowHWTranscodingHelp}</div>
|
<div class="fieldDescription checkboxFieldDescription">${AllowHWTranscodingHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="checkboxContainer checkboxContainer-withDescription fldStreamLoop hide">
|
<div class="checkboxContainer checkboxContainer-withDescription fldStreamLoop hide">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" is="emby-checkbox" class="chkStreamLoop" />
|
<input type="checkbox" is="emby-checkbox" class="chkStreamLoop" />
|
||||||
|
@ -61,6 +61,7 @@
|
||||||
</label>
|
</label>
|
||||||
<div class="fieldDescription checkboxFieldDescription">${EnableStreamLoopingHelp}</div>
|
<div class="fieldDescription checkboxFieldDescription">${EnableStreamLoopingHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="drmMessage hide">${DrmChannelsNotImported}</p>
|
<p class="drmMessage hide">${DrmChannelsNotImported}</p>
|
||||||
<p class="otherOptionsMessage hide" style="margin:2em 0;">${ForAdditionalLiveTvOptions}</p>
|
<p class="otherOptionsMessage hide" style="margin:2em 0;">${ForAdditionalLiveTvOptions}</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -1,13 +1,9 @@
|
||||||
<div id="notificationSettingsPage" data-role="page" class="page type-interior notificationConfigurationPage withTabs">
|
<div id="notificationSettingsPage" data-role="page" class="page type-interior notificationConfigurationPage">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
|
|
||||||
<div class="notificationList">
|
<div class="notificationList">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
define(["loading", "libraryMenu"], function(loading, libraryMenu) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
function reloadList(page) {
|
|
||||||
loading.show();
|
|
||||||
var promise1 = ApiClient.getAvailablePlugins({
|
|
||||||
TargetSystems: "Server"
|
|
||||||
}),
|
|
||||||
promise2 = ApiClient.getInstalledPlugins();
|
|
||||||
Promise.all([promise1, promise2]).then(function(responses) {
|
|
||||||
renderInstalled(page, responses[0], responses[1]), renderCatalog(page, responses[0], responses[1])
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function getCategories() {
|
|
||||||
var context = getParameterByName("context"),
|
|
||||||
categories = [];
|
|
||||||
return "sync" == context ? categories.push("Sync") : "livetv" == context ? categories.push("Live TV") : "notifications" == context && categories.push("Notifications"), categories
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderInstalled(page, availablePlugins, installedPlugins) {
|
|
||||||
requirejs(["scripts/pluginspage"], function() {
|
|
||||||
var category = getCategories()[0];
|
|
||||||
installedPlugins = installedPlugins.filter(function(i) {
|
|
||||||
var catalogEntry = availablePlugins.filter(function(a) {
|
|
||||||
return (a.guid || "").toLowerCase() == (i.Id || "").toLowerCase()
|
|
||||||
})[0];
|
|
||||||
return !!catalogEntry && catalogEntry.category == category
|
|
||||||
}), PluginsPage.renderPlugins(page, installedPlugins)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderCatalog(page, availablePlugins, installedPlugins) {
|
|
||||||
requirejs(["scripts/plugincatalogpage"], function() {
|
|
||||||
var categories = getCategories();
|
|
||||||
PluginCatalog.renderCatalog({
|
|
||||||
catalogElement: page.querySelector(".catalog"),
|
|
||||||
availablePlugins: availablePlugins,
|
|
||||||
installedPlugins: installedPlugins,
|
|
||||||
categories: categories,
|
|
||||||
showCategory: !1,
|
|
||||||
context: getParameterByName("context"),
|
|
||||||
targetSystem: "Server"
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function onPageShow() {
|
|
||||||
var page = this,
|
|
||||||
context = getParameterByName("context");
|
|
||||||
"sync" == context ? (libraryMenu.setTitle(Globalize.translate("TitleSync")), page.querySelector(".headerHelpButton").setAttribute("href", "https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Sync")) : "livetv" == context ? (libraryMenu.setTitle(Globalize.translate("TitleLiveTV")), page.querySelector(".headerHelpButton").setAttribute("href", "https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Live-TV")) : "notifications" == context && (libraryMenu.setTitle(Globalize.translate("TitleNotifications")), page.querySelector(".headerHelpButton").setAttribute("href", "https://web.archive.org/web/20181216120305/https://github.com/MediaBrowser/Wiki/wiki/Notifications"))
|
|
||||||
}
|
|
||||||
pageIdOn("pagebeforeshow", "appServicesPage", onPageShow), pageIdOn("pageshow", "appServicesPage", onPageShow), pageIdOn("pageshow", "appServicesPage", function() {
|
|
||||||
reloadList(this)
|
|
||||||
})
|
|
||||||
});
|
|
|
@ -188,16 +188,6 @@ define(["jQuery", "globalize", "scripts/taskbutton", "dom", "libraryMenu", "layo
|
||||||
Dashboard.navigate("livetvtuner.html")
|
Dashboard.navigate("livetvtuner.html")
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTabs() {
|
|
||||||
return [{
|
|
||||||
href: "livetvstatus.html",
|
|
||||||
name: globalize.translate("TabDevices")
|
|
||||||
}, {
|
|
||||||
href: "appservices.html?context=livetv",
|
|
||||||
name: globalize.translate("TabServices")
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
|
|
||||||
function showDeviceMenu(button, tunerDeviceId) {
|
function showDeviceMenu(button, tunerDeviceId) {
|
||||||
var items = [];
|
var items = [];
|
||||||
items.push({
|
items.push({
|
||||||
|
|
|
@ -13,15 +13,6 @@ define(["loading", "libraryMenu", "globalize", "listViewStyle", "emby-linkbutton
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTabs() {
|
|
||||||
return [{
|
|
||||||
href: "notificationsettings.html",
|
|
||||||
name: globalize.translate("TabNotifications")
|
|
||||||
}, {
|
|
||||||
href: "appservices.html?context=notifications",
|
|
||||||
name: globalize.translate("TabServices")
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
return function(view, params) {
|
return function(view, params) {
|
||||||
view.addEventListener("viewshow", function() {
|
view.addEventListener("viewshow", function() {
|
||||||
libraryMenu.setTabs("notifications", 0, getTabs), reload(view)
|
libraryMenu.setTabs("notifications", 0, getTabs), reload(view)
|
||||||
|
|
|
@ -423,11 +423,6 @@ var Dashboard = {
|
||||||
autoFocus: !1,
|
autoFocus: !1,
|
||||||
roles: "admin",
|
roles: "admin",
|
||||||
controller: "scripts/addpluginpage"
|
controller: "scripts/addpluginpage"
|
||||||
}), defineRoute({
|
|
||||||
path: "/appservices.html",
|
|
||||||
dependencies: [],
|
|
||||||
autoFocus: !1,
|
|
||||||
roles: "admin"
|
|
||||||
}), defineRoute({
|
}), defineRoute({
|
||||||
path: "/autoorganizelog.html",
|
path: "/autoorganizelog.html",
|
||||||
dependencies: [],
|
dependencies: [],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue