1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/scripts/appservices.js
2018-10-23 01:05:09 +03:00

56 lines
No EOL
2.9 KiB
JavaScript

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://github.com/MediaBrowser/Wiki/wiki/Sync")) : "livetv" == context ? (libraryMenu.setTitle(Globalize.translate("TitleLiveTV")), page.querySelector(".headerHelpButton").setAttribute("href", "https://github.com/MediaBrowser/Wiki/wiki/Live%20TV")) : "notifications" == context && (libraryMenu.setTitle(Globalize.translate("TitleNotifications")), page.querySelector(".headerHelpButton").setAttribute("href", "https://github.com/MediaBrowser/Wiki/wiki/Notifications"))
}
pageIdOn("pagebeforeshow", "appServicesPage", onPageShow), pageIdOn("pageshow", "appServicesPage", onPageShow), pageIdOn("pageshow", "appServicesPage", function() {
reloadList(this)
})
});