1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Fix suggestions

This commit is contained in:
MrTimscampi 2020-08-01 19:18:03 +02:00
parent 1f3bc8a427
commit 01fd2e056d

View file

@ -1,3 +1,4 @@
import 'css!components/viewManager/viewContainer';
/* eslint-disable indent */ /* eslint-disable indent */
function setControllerClass(view, options) { function setControllerClass(view, options) {
@ -13,7 +14,7 @@
} }
controllerUrl = Dashboard.getConfigurationResourceUrl(controllerUrl); controllerUrl = Dashboard.getConfigurationResourceUrl(controllerUrl);
return getRequirePromise([controllerUrl]).then((ControllerFactory) => { return import(controllerUrl).then((ControllerFactory) => {
options.controllerFactory = ControllerFactory; options.controllerFactory = ControllerFactory;
}); });
} }
@ -21,12 +22,6 @@
return Promise.resolve(); return Promise.resolve();
} }
function getRequirePromise(deps) {
return new Promise((resolve, reject) => {
require(deps, resolve);
});
}
export function loadView(options) { export function loadView(options) {
if (!options.cancel) { if (!options.cancel) {
const selected = selectedPageIndex; const selected = selectedPageIndex;
@ -40,75 +35,72 @@
const isPluginpage = options.url.toLowerCase().indexOf('/configurationpage') !== -1; const isPluginpage = options.url.toLowerCase().indexOf('/configurationpage') !== -1;
const newViewInfo = normalizeNewView(options, isPluginpage); const newViewInfo = normalizeNewView(options, isPluginpage);
const newView = newViewInfo.elem; const newView = newViewInfo.elem;
const modulesToLoad = [];
return new Promise((resolve) => { return new Promise((resolve) => {
require(modulesToLoad, () => { const currentPage = allPages[pageIndex];
const currentPage = allPages[pageIndex];
if (currentPage) { if (currentPage) {
triggerDestroy(currentPage); triggerDestroy(currentPage);
} }
let view = newView; let view = newView;
if (typeof view == 'string') { if (typeof view == 'string') {
view = document.createElement('div'); view = document.createElement('div');
view.innerHTML = newView; view.innerHTML = newView;
} }
view.classList.add('mainAnimatedPage'); view.classList.add('mainAnimatedPage');
if (currentPage) { if (currentPage) {
if (newViewInfo.hasScript && window.$) { if (newViewInfo.hasScript && window.$) {
view = $(view).appendTo(mainAnimatedPages)[0]; view = $(view).appendTo(mainAnimatedPages)[0];
mainAnimatedPages.removeChild(currentPage); mainAnimatedPages.removeChild(currentPage);
} else {
mainAnimatedPages.replaceChild(view, currentPage);
}
} else { } else {
if (newViewInfo.hasScript && window.$) { mainAnimatedPages.replaceChild(view, currentPage);
view = $(view).appendTo(mainAnimatedPages)[0]; }
} else { } else {
mainAnimatedPages.appendChild(view); if (newViewInfo.hasScript && window.$) {
} view = $(view).appendTo(mainAnimatedPages)[0];
} else {
mainAnimatedPages.appendChild(view);
}
}
if (options.type) {
view.setAttribute('data-type', options.type);
}
const properties = [];
if (options.fullscreen) {
properties.push('fullscreen');
}
if (properties.length) {
view.setAttribute('data-properties', properties.join(','));
}
allPages[pageIndex] = view;
setControllerClass(view, options).then(() => {
if (onBeforeChange) {
onBeforeChange(view, false, options);
} }
if (options.type) { beforeAnimate(allPages, pageIndex, selected);
view.setAttribute('data-type', options.type); selectedPageIndex = pageIndex;
currentUrls[pageIndex] = options.url;
if (!options.cancel && previousAnimatable) {
afterAnimate(allPages, pageIndex);
} }
const properties = []; if (window.$) {
$.mobile = $.mobile || {};
if (options.fullscreen) { $.mobile.activePage = view;
properties.push('fullscreen');
} }
if (properties.length) { resolve(view);
view.setAttribute('data-properties', properties.join(','));
}
allPages[pageIndex] = view;
setControllerClass(view, options).then(() => {
if (onBeforeChange) {
onBeforeChange(view, false, options);
}
beforeAnimate(allPages, pageIndex, selected);
selectedPageIndex = pageIndex;
currentUrls[pageIndex] = options.url;
if (!options.cancel && previousAnimatable) {
afterAnimate(allPages, pageIndex);
}
if (window.$) {
$.mobile = $.mobile || {};
$.mobile.activePage = view;
}
resolve(view);
});
}); });
}); });
} }