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

Merge pull request #1039 from MrTimscampi/sonarqube-fixes-1

Sonarqube bug fixin' - Part 1: Phantom Bugs
This commit is contained in:
dkanada 2020-04-11 21:34:49 +09:00 committed by GitHub
commit a9c9957160
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 231 additions and 264 deletions

View file

@ -62,7 +62,7 @@ function serve() {
port: 8080
});
let events = ['add', 'change'];
const events = ['add', 'change'];
watch(options.javascript.query).on('all', function (event, path) {
if (events.includes(event)) {
@ -105,7 +105,7 @@ function clean() {
return del(['dist/']);
}
let pipelineJavascript = lazypipe()
const pipelineJavascript = lazypipe()
.pipe(function () {
return mode.development(sourcemaps.init({ loadMaps: true }));
})
@ -140,7 +140,7 @@ function apploader(standalone) {
.pipe(pipelineJavascript())
.pipe(dest('dist/'))
.pipe(browserSync.stream());
};
}
task.displayName = 'apploader';

View file

@ -92,13 +92,14 @@
"src/components/filedownloader.js",
"src/components/filesystem.js",
"src/components/input/keyboardnavigation.js",
"src/components/scrollManager.js",
"src/components/sanatizefilename.js",
"src/scripts/settings/webSettings.js",
"src/components/scrollManager.js",
"src/scripts/settings/appSettings.js",
"src/scripts/settings/userSettings.js",
"src/scripts/settings/webSettings.js",
"src/scripts/dfnshelper.js",
"src/scripts/imagehelper.js",
"src/scripts/dfnshelper.js"
"src/scripts/inputManager.js"
],
"plugins": [
"@babel/plugin-transform-modules-amd"

View file

@ -85,15 +85,15 @@ _define("webcomponents", function() {
});
// libass-wasm
var libass_wasm = require("libass-wasm");
var libassWasm = require("libass-wasm");
_define("JavascriptSubtitlesOctopus", function() {
return libass_wasm;
return libassWasm;
});
// material-icons
var material_icons = require("material-design-icons-iconfont/dist/material-design-icons.css");
var materialIcons = require("material-design-icons-iconfont/dist/material-design-icons.css");
_define("material-icons", function() {
return material_icons;
return materialIcons;
});
// noto font
@ -120,14 +120,14 @@ _define("classlist-polyfill", function () {
});
// Date-FNS
var date_fns = require("date-fns");
var dateFns = require("date-fns");
_define("date-fns", function () {
return date_fns;
return dateFns;
});
var date_fns_locale = require("date-fns/locale");
var dateFnsLocale = require("date-fns/locale");
_define("date-fns/locale", function () {
return date_fns_locale;
return dateFnsLocale;
});
var fast_text_encoding = require("fast-text-encoding");

View file

@ -579,7 +579,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
function showDirect(path) {
return new Promise(function(resolve, reject) {
resolveOnNextShow = resolve, page.show(baseUrl()+path);
resolveOnNextShow = resolve;
page.show(baseUrl() + path);
});
}

View file

@ -131,7 +131,7 @@ define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'la
} else if (section === 'librarytiles' || section === 'smalllibrarytiles' || section === 'smalllibrarytiles-automobile' || section === 'librarytiles-automobile') {
loadLibraryTiles(elem, apiClient, user, userSettings, 'smallBackdrop', userViews, allSections);
} else if (section === 'librarybuttons') {
loadlibraryButtons(elem, apiClient, user, userSettings, userViews, allSections);
loadlibraryButtons(elem, apiClient, user, userSettings, userViews);
} else if (section === 'resume') {
loadResumeVideo(elem, apiClient, userId);
} else if (section === 'resumeaudio') {

View file

@ -101,7 +101,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
self._timeUpdated = false;
self._currentTime = null;
var elem = createMediaElement(options);
var elem = createMediaElement();
return setCurrentSrc(elem, options);
};

View file

@ -241,7 +241,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
elem.addEventListener('click', function (e) {
if (!dom.parentWithTag(e.target, ['BUTTON', 'INPUT', 'A'])) {
showRemoteControl(0);
showRemoteControl();
}
});
}

View file

@ -3140,7 +3140,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
AllowVideoStreamCopy: false,
AllowAudioStreamCopy: currentlyPreventsAudioStreamCopy || currentlyPreventsVideoStreamCopy ? false : null
}, true);
});
return;
}

View file

@ -307,8 +307,7 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
*/
function getSwiperSlideHtmlFromItem(item) {
return getSwiperSlideHtmlFromSlide({
imageUrl: getImgUrl(item),
originalImage: getImgUrl(item, true),
originalImage: getImgUrl(item),
//title: item.Name,
//description: item.Overview
Id: item.Id,

View file

@ -95,7 +95,7 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu
}
function showServerConnectionFailure() {
alertText(globalize.translate("MessageUnableToConnectToServer"), globalize.translate("HeaderConnectionFailure"));
alertText(globalize.translate("MessageUnableToConnectToServer"));
}
return function (view, params) {

View file

@ -184,12 +184,12 @@ define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader
};
self.getCurrentViewStyle = function () {
return getPageData(tabContent).view;
return getPageData().view;
};
self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload();
};

View file

@ -107,12 +107,12 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
};
self.getCurrentViewStyle = function () {
return getPageData(tabContent).view;
return getPageData().view;
};
self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload();
};

View file

@ -69,7 +69,7 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
var data = {};
self.getCurrentViewStyle = function () {
return getPageData(tabContent).view;
return getPageData().view;
};
var promise;

View file

@ -177,12 +177,12 @@ define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader
};
self.getCurrentViewStyle = function () {
return getPageData(tabContent).view;
return getPageData().view;
};
self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload();
};

View file

@ -3,16 +3,20 @@ Dashboard.confirm = function(message, title, callback) {
require(["confirm"], function(confirm) {
confirm(message, title).then(function() {
callback(!0);
}, function() {
}).catch(function() {
callback(!1);
});
});
}, Dashboard.showLoadingMsg = function() {
};
Dashboard.showLoadingMsg = function() {
"use strict";
require(["loading"], function(loading) {
loading.show();
});
}, Dashboard.hideLoadingMsg = function() {
};
Dashboard.hideLoadingMsg = function() {
"use strict";
require(["loading"], function(loading) {
loading.hide();

View file

@ -4,7 +4,9 @@ define(["jQuery"], function($) {
return !0 === value || !1 === value ? $(this).each(function() {
this.checked = value;
}) : this.length && this[0].checked;
}, $.fn.checkboxradio = function() {
};
$.fn.checkboxradio = function() {
return this;
};
});

View file

@ -8,7 +8,7 @@
var script = document.createElement("script");
if (self.dashboardVersion) {
src += "?v=" + self.dashboardVersion;
src += `?v=${self.dashboardVersion}`;
}
script.src = src;

View file

@ -1,16 +1,18 @@
define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSettings, libraryMenu) {
"use strict";
var cache = {};
function enabled() {
return userSettings.enableBackdrops();
}
function getBackdropItemIds(apiClient, userId, types, parentId) {
var key = "backdrops2_" + userId + (types || "") + (parentId || "");
var key = `backdrops2_${userId + (types || "") + (parentId || "")}`;
var data = cache[key];
if (data) {
console.debug("Found backdrop id list in cache. Key: " + key);
console.debug(`Found backdrop id list in cache. Key: ${key}`);
data = JSON.parse(data);
return Promise.resolve(data);
}
@ -54,7 +56,6 @@ define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSett
}
}
var cache = {};
pageClassOn("pageshow", "page", function () {
var page = this;

View file

@ -1,99 +1,57 @@
import { ar, be, bg, ca, cs, da, de, el, enGB, enUS, es, faIR, fi, fr, frCA, he, hi, hr, hu, id, it, kk, ko, lt, ms, nb, nl, pl, ptBR, pt, ro, ru, sk, sl, sv, tr, uk, vi, zhCN, zhTW } from 'date-fns/locale';
import { ar, be, bg, ca, cs, da, de, el, enGB, enUS, es, faIR, fi, fr, frCA, he, hi, hr, hu, id, it, ja, kk, ko, lt, ms, nb,
nl, pl, ptBR, pt, ro, ru, sk, sl, sv, tr, uk, vi, zhCN, zhTW } from 'date-fns/locale';
import globalize from 'globalize';
const dateLocales = (locale) => ({
'ar': ar,
'be-by': be,
'bg-bg': bg,
'ca': ca,
'cs': cs,
'da': da,
'de': de,
'el': el,
'en-gb': enGB,
'en-us': enUS,
'es': es,
'es-ar': es,
'es-mx': es,
'fa': faIR,
'fi': fi,
'fr': fr,
'fr-ca': frCA,
'gsw': de,
'he': he,
'hi-in': hi,
'hr': hr,
'hu': hu,
'id': id,
'it': it,
'ja': ja,
'kk': kk,
'ko': ko,
'lt-lt': lt,
'ms': ms,
'nb': nb,
'nl': nl,
'pl': pl,
'pt-br': ptBR,
'pt-pt': pt,
'ro': ro,
'ru': ru,
'sk': sk,
'sl-si': sl,
'sv': sv,
'tr': tr,
'uk': uk,
'vi': vi,
'zh-cn': zhCN,
'zh-hk': zhCN,
'zh-tw': zhTW
})[locale];
export function getLocale() {
switch (globalize.getCurrentLocale()) {
case 'ar':
return ar;
case 'be-by':
return be;
case 'bg-bg':
return bg;
case 'ca':
return ca;
case 'cs':
return cs;
case 'da':
return da;
case 'de':
return de;
case 'el':
return el;
case 'en-gb':
return enGB;
case 'en-us':
return enUS;
case 'es':
return es;
case 'es-ar':
return es;
case 'es-mx':
return es;
case 'fa':
return faIR;
case 'fi':
return fi;
case 'fr':
return fr;
case 'fr-ca':
return frCA;
case 'gsw':
return de;
case 'he':
return he;
case 'hi-in':
return hi;
case 'hr':
return hr;
case 'hu':
return hu;
case 'id':
return id;
case 'it':
return it;
case 'kk':
return kk;
case 'ko':
return ko;
case 'lt-lt':
return lt;
case 'ms':
return ms;
case 'nb':
return nb;
case 'nl':
return nl;
case 'pl':
return pl;
case 'pt-br':
return ptBR;
case 'pt-pt':
return pt;
case 'ro':
return ro;
case 'ru':
return ru;
case 'sk':
return sk;
case 'sl-si':
return sl;
case 'sv':
return sv;
case 'tr':
return tr;
case 'uk':
return uk;
case 'vi':
return vi;
case 'zh-cn':
return zhCN;
case 'zh-hk':
return zhCN;
case 'zh-tw':
return zhTW;
default:
return enUS;
}
return dateLocales(globalize.getCurrentLocale()) || enUS;
}
export const localeWithSuffix = { addSuffix: true, locale: getLocale() };

View file

@ -1,44 +1,49 @@
define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], function (playbackManager, focusManager, appRouter, dom, appHost) {
'use strict';
import playbackManager from 'playbackManager';
import focusManager from 'focusManager';
import appRouter from 'appRouter';
import dom from 'dom';
import appHost from 'apphost';
var lastInputTime = new Date().getTime();
/* eslint-disable indent */
function notify() {
let lastInputTime = new Date().getTime();
export function notify() {
lastInputTime = new Date().getTime();
handleCommand('unknown');
}
function notifyMouseMove() {
export function notifyMouseMove() {
lastInputTime = new Date().getTime();
}
function idleTime() {
export function idleTime() {
return new Date().getTime() - lastInputTime;
}
function select(sourceElement) {
export function select(sourceElement) {
sourceElement.click();
}
var eventListenerCount = 0;
function on(scope, fn) {
let eventListenerCount = 0;
export function on(scope, fn) {
eventListenerCount++;
dom.addEventListener(scope, 'command', fn, {});
}
function off(scope, fn) {
export function off(scope, fn) {
if (eventListenerCount) {
eventListenerCount--;
}
dom.removeEventListener(scope, 'command', fn, {});
}
var commandTimes = {};
let commandTimes = {};
function checkCommandTime(command) {
var last = commandTimes[command] || 0;
var now = new Date().getTime();
const last = commandTimes[command] || 0;
const now = new Date().getTime();
if ((now - last) < 1000) {
return false;
@ -48,11 +53,11 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
return true;
}
function handleCommand(name, options) {
export function handleCommand(commandName, options) {
lastInputTime = new Date().getTime();
var sourceElement = (options ? options.sourceElement : null);
let sourceElement = (options ? options.sourceElement : null);
if (sourceElement) {
sourceElement = focusManager.focusableParent(sourceElement);
@ -61,7 +66,7 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
if (!sourceElement) {
sourceElement = document.activeElement || window;
var dlg = document.querySelector('.dialogContainer .dialog.opened');
const dlg = document.querySelector('.dialogContainer .dialog.opened');
if (dlg && (!sourceElement || !dlg.contains(sourceElement))) {
sourceElement = dlg;
@ -69,169 +74,164 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
}
if (eventListenerCount) {
var customEvent = new CustomEvent("command", {
const customEvent = new CustomEvent("command", {
detail: {
command: name
command: commandName
},
bubbles: true,
cancelable: true
});
var eventResult = sourceElement.dispatchEvent(customEvent);
const eventResult = sourceElement.dispatchEvent(customEvent);
if (!eventResult) {
// event cancelled
return;
}
}
switch (name) {
case 'up':
const keyActions = (command) => ({
'up': () => {
focusManager.moveUp(sourceElement);
break;
case 'down':
},
'down': () => {
focusManager.moveDown(sourceElement);
break;
case 'left':
},
'left': () => {
focusManager.moveLeft(sourceElement);
break;
case 'right':
},
'right': () => {
focusManager.moveRight(sourceElement);
break;
case 'home':
},
'home': () => {
appRouter.goHome();
break;
case 'settings':
},
'settings': () => {
appRouter.showSettings();
break;
case 'back':
},
'back': () => {
if (appRouter.canGoBack()) {
appRouter.back();
} else if (appHost.supports('exit')) {
appHost.exit();
}
break;
case 'forward':
break;
case 'select':
},
'select': () => {
select(sourceElement);
break;
case 'pageup':
break;
case 'pagedown':
break;
case 'end':
break;
case 'menu':
break;
case 'info':
break;
case 'nextchapter':
},
'nextchapter': () => {
playbackManager.nextChapter();
break;
case 'next':
case 'nexttrack':
},
'next': () => {
playbackManager.nextTrack();
break;
case 'previous':
case 'previoustrack':
},
'nexttrack': () => {
playbackManager.nextTrack();
},
'previous': () => {
playbackManager.previousTrack();
break;
case 'previouschapter':
},
'previoustrack': () => {
playbackManager.previousTrack();
},
'previouschapter': () => {
playbackManager.previousChapter();
break;
case 'guide':
},
'guide': () => {
appRouter.showGuide();
break;
case 'recordedtv':
},
'recordedtv': () => {
appRouter.showRecordedTV();
break;
case 'record':
break;
case 'livetv':
},
'livetv': () => {
appRouter.showLiveTV();
break;
case 'mute':
},
'mute': () => {
playbackManager.setMute(true);
break;
case 'unmute':
},
'unmute': () => {
playbackManager.setMute(false);
break;
case 'togglemute':
},
'togglemute': () => {
playbackManager.toggleMute();
break;
case 'channelup':
},
'channelup': () => {
playbackManager.channelUp();
break;
case 'channeldown':
},
'channeldown': () => {
playbackManager.channelDown();
break;
case 'volumedown':
},
'volumedown': () => {
playbackManager.volumeDown();
break;
case 'volumeup':
},
'volumeup': () => {
playbackManager.volumeUp();
break;
case 'play':
},
'play': () => {
playbackManager.unpause();
break;
case 'pause':
},
'pause': () => {
playbackManager.pause();
break;
case 'playpause':
},
'playpause': () => {
playbackManager.playPause();
break;
case 'stop':
},
'stop': () => {
if (checkCommandTime('stop')) {
playbackManager.stop();
}
break;
case 'changezoom':
},
'changezoom': () => {
playbackManager.toggleAspectRatio();
break;
case 'changeaudiotrack':
},
'changeaudiotrack': () => {
playbackManager.changeAudioStream();
break;
case 'changesubtitletrack':
},
'changesubtitletrack': () => {
playbackManager.changeSubtitleStream();
break;
case 'search':
},
'search': () => {
appRouter.showSearch();
break;
case 'favorites':
},
'favorites': () => {
appRouter.showFavorites();
break;
case 'fastforward':
},
'fastforward': () => {
playbackManager.fastForward();
break;
case 'rewind':
},
'rewind': () => {
playbackManager.rewind();
break;
case 'togglefullscreen':
},
'togglefullscreen': () => {
playbackManager.toggleFullscreen();
break;
case 'disabledisplaymirror':
},
'disabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(false);
break;
case 'enabledisplaymirror':
},
'enabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(true);
break;
case 'toggledisplaymirror':
},
'toggledisplaymirror': () => {
playbackManager.toggleDisplayMirroring();
break;
case 'nowplaying':
},
'nowplaying': () => {
appRouter.showNowPlaying();
break;
case 'repeatnone':
},
'repeatnone': () => {
playbackManager.setRepeatMode('RepeatNone');
break;
case 'repeatall':
},
'repeatall': () => {
playbackManager.setRepeatMode('RepeatAll');
break;
case 'repeatone':
},
'repeatone': () => {
playbackManager.setRepeatMode('RepeatOne');
break;
default:
break;
}
})[command];
const action = keyActions(commandName);
if (action !== undefined) {
action.call();
} else {
console.debug(`inputManager: tried to process command with no action assigned: ${commandName}`);
}
}
@ -239,13 +239,14 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
passive: true
});
return {
trigger: handleCommand,
handle: handleCommand,
notify: notify,
notifyMouseMove: notifyMouseMove,
idleTime: idleTime,
on: on,
off: off
};
});
/* eslint-enable indent */
export default {
trigger: handleCommand,
handle: handleCommand,
notify: notify,
notifyMouseMove: notifyMouseMove,
idleTime: idleTime,
on: on,
off: off
};

View file

@ -8,7 +8,7 @@ define(["listView"], function (listView) {
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
UserId: ApiClient.getCurrentUserId()
};
return ApiClient.getJSON(ApiClient.getUrl("Playlists/" + itemId + "/Items", query));
return ApiClient.getJSON(ApiClient.getUrl(`Playlists/${itemId}/Items`, query));
};
}