1
0
Fork 0
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:
dkanada 2019-03-06 17:53:44 +09:00
parent 07673d0ae6
commit 579fbe90c8
9 changed files with 7 additions and 125 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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: [],