mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
allow plugin config changes on standalone
This commit is contained in:
parent
692a35c5a4
commit
bf9c8778b0
6 changed files with 14 additions and 25 deletions
|
@ -308,7 +308,9 @@ class AppRouter {
|
||||||
url = route.contentPath || route.path;
|
url = route.contentPath || route.path;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (url.indexOf('://') === -1) {
|
if (url.includes('configurationpage')) {
|
||||||
|
url = ApiClient.getUrl('/web' + url);
|
||||||
|
} else if (url.indexOf('://') === -1) {
|
||||||
// Put a slash at the beginning but make sure to avoid a double slash
|
// Put a slash at the beginning but make sure to avoid a double slash
|
||||||
if (url.indexOf('/') !== 0) {
|
if (url.indexOf('/') !== 0) {
|
||||||
url = '/' + url;
|
url = '/' + url;
|
||||||
|
|
|
@ -13,8 +13,9 @@ import 'css!components/viewManager/viewContainer';
|
||||||
controllerUrl = controllerUrl.substring('__plugin/'.length);
|
controllerUrl = controllerUrl.substring('__plugin/'.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
controllerUrl = Dashboard.getConfigurationResourceUrl(controllerUrl);
|
controllerUrl = Dashboard.getPluginUrl(controllerUrl);
|
||||||
return import(controllerUrl).then((ControllerFactory) => {
|
let apiUrl = ApiClient.getUrl('/web/' + controllerUrl);
|
||||||
|
return import(apiUrl).then((ControllerFactory) => {
|
||||||
options.controllerFactory = ControllerFactory;
|
options.controllerFactory = ControllerFactory;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -32,7 +33,7 @@ import 'css!components/viewManager/viewContainer';
|
||||||
pageIndex = 0;
|
pageIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isPluginpage = options.url.toLowerCase().indexOf('/configurationpage') !== -1;
|
const isPluginpage = options.url.includes('configurationpage');
|
||||||
const newViewInfo = normalizeNewView(options, isPluginpage);
|
const newViewInfo = normalizeNewView(options, isPluginpage);
|
||||||
const newView = newViewInfo.elem;
|
const newView = newViewInfo.elem;
|
||||||
|
|
||||||
|
@ -243,4 +244,3 @@ export default {
|
||||||
reset: reset,
|
reset: reset,
|
||||||
setOnBeforeChange: setOnBeforeChange
|
setOnBeforeChange: setOnBeforeChange
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ function getPluginCardHtml(plugin, pluginConfigurationPages) {
|
||||||
const configPage = pluginConfigurationPages.filter(function (pluginConfigurationPage) {
|
const configPage = pluginConfigurationPages.filter(function (pluginConfigurationPage) {
|
||||||
return pluginConfigurationPage.PluginId == plugin.Id;
|
return pluginConfigurationPage.PluginId == plugin.Id;
|
||||||
})[0];
|
})[0];
|
||||||
const configPageUrl = configPage ? Dashboard.getConfigurationPageUrl(configPage.Name) : null;
|
const configPageUrl = configPage ? Dashboard.getPluginUrl(configPage.Name) : null;
|
||||||
let html = '';
|
let html = '';
|
||||||
html += "<div data-id='" + plugin.Id + "' data-name='" + plugin.Name + "' data-removable='" + plugin.CanUninstall + "' class='card backdropCard'>";
|
html += "<div data-id='" + plugin.Id + "' data-name='" + plugin.Name + "' data-removable='" + plugin.CanUninstall + "' class='card backdropCard'>";
|
||||||
html += '<div class="cardBox visualCardBox">';
|
html += '<div class="cardBox visualCardBox">';
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import connectionManager from 'connectionManager';
|
|
||||||
import loading from 'loading';
|
import loading from 'loading';
|
||||||
import dialogHelper from 'dialogHelper';
|
import dialogHelper from 'dialogHelper';
|
||||||
import keyboardnavigation from 'keyboardnavigation';
|
import keyboardnavigation from 'keyboardnavigation';
|
||||||
|
@ -94,7 +93,7 @@ export class ComicsPlayer {
|
||||||
loading.show();
|
loading.show();
|
||||||
|
|
||||||
let serverId = item.ServerId;
|
let serverId = item.ServerId;
|
||||||
let apiClient = connectionManager.getApiClient(serverId);
|
let apiClient = window.connectionManager.getApiClient(serverId);
|
||||||
|
|
||||||
libarchive.Archive.init({
|
libarchive.Archive.init({
|
||||||
workerUrl: appRouter.baseUrl() + '/libraries/worker-bundle.js'
|
workerUrl: appRouter.baseUrl() + '/libraries/worker-bundle.js'
|
||||||
|
|
|
@ -62,20 +62,10 @@ export function logout() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getConfigurationPageUrl(name) {
|
export function getPluginUrl(name) {
|
||||||
return 'configurationpage?name=' + encodeURIComponent(name);
|
return 'configurationpage?name=' + encodeURIComponent(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getConfigurationResourceUrl(name) {
|
|
||||||
if (AppInfo.isNativeApp) {
|
|
||||||
return ApiClient.getUrl('web/ConfigurationPage', {
|
|
||||||
name: name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return getConfigurationPageUrl(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function navigate(url, preserveQueryString) {
|
export function navigate(url, preserveQueryString) {
|
||||||
if (!url) {
|
if (!url) {
|
||||||
throw new Error('url cannot be null or empty');
|
throw new Error('url cannot be null or empty');
|
||||||
|
@ -196,8 +186,7 @@ window.Dashboard = {
|
||||||
alert,
|
alert,
|
||||||
capabilities,
|
capabilities,
|
||||||
confirm,
|
confirm,
|
||||||
getConfigurationPageUrl,
|
getPluginUrl,
|
||||||
getConfigurationResourceUrl,
|
|
||||||
getCurrentUser,
|
getCurrentUser,
|
||||||
getCurrentUserId,
|
getCurrentUserId,
|
||||||
hideLoadingMsg,
|
hideLoadingMsg,
|
||||||
|
@ -216,8 +205,7 @@ export default {
|
||||||
alert,
|
alert,
|
||||||
capabilities,
|
capabilities,
|
||||||
confirm,
|
confirm,
|
||||||
getConfigurationPageUrl,
|
getPluginUrl,
|
||||||
getConfigurationResourceUrl,
|
|
||||||
getCurrentUser,
|
getCurrentUser,
|
||||||
getCurrentUserId,
|
getCurrentUserId,
|
||||||
hideLoadingMsg,
|
hideLoadingMsg,
|
||||||
|
|
|
@ -484,8 +484,8 @@ import 'flexStyles';
|
||||||
links.push({
|
links.push({
|
||||||
name: pluginItem.DisplayName,
|
name: pluginItem.DisplayName,
|
||||||
icon: pluginItem.MenuIcon || 'folder',
|
icon: pluginItem.MenuIcon || 'folder',
|
||||||
href: Dashboard.getConfigurationPageUrl(pluginItem.Name),
|
href: Dashboard.getPluginUrl(pluginItem.Name),
|
||||||
pageUrls: [Dashboard.getConfigurationPageUrl(pluginItem.Name)]
|
pageUrls: [Dashboard.getPluginUrl(pluginItem.Name)]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue