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

Add some linting rules for the CI (#587)

* enable one-var rule

* enable indent rule

* enable no-multiple-empty-lines rule

* enable no-empty rule

* enable no-trailing-spaces rule

* enable no-extra-semi rule

* add eslint rules to fix block spacing

* enable max-statements-per-line rule

* enable brace-style rule

* fix some spacing issues and add future rules

* add code suggestions
This commit is contained in:
dkanada 2019-11-23 00:29:38 +09:00 committed by Vasily
parent 0b0ea7f406
commit 3739741786
101 changed files with 883 additions and 1051 deletions

View file

@ -122,17 +122,17 @@ define(["appRouter", "cardBuilder", "dom", "globalize", "connectionManager", "ap
function getFetchDataFn(section) {
return function() {
var apiClient = this.apiClient,
options = {
SortBy: (section.types, "SeriesName,SortName"),
SortOrder: "Ascending",
Filters: "IsFavorite",
Recursive: !0,
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
CollapseBoxSetItems: !1,
ExcludeLocationTypes: "Virtual",
EnableTotalRecordCount: !1
};
var apiClient = this.apiClient;
var options = {
SortBy: (section.types, "SeriesName,SortName"),
SortOrder: "Ascending",
Filters: "IsFavorite",
Recursive: !0,
Fields: "PrimaryImageAspectRatio,BasicSyncInfo",
CollapseBoxSetItems: !1,
ExcludeLocationTypes: "Virtual",
EnableTotalRecordCount: !1
};
options.Limit = 20;
var userId = apiClient.getCurrentUserId();
return "MusicArtist" === section.types ? apiClient.getArtists(userId, options) : (options.IncludeItemTypes = section.types, apiClient.getItems(userId, options))
@ -149,17 +149,17 @@ define(["appRouter", "cardBuilder", "dom", "globalize", "connectionManager", "ap
function getItemsHtmlFn(section) {
return function(items) {
var supportsImageAnalysis = appHost.supports("imageanalysis"),
cardLayout = (appHost.preferVisualCards || supportsImageAnalysis) && section.autoCardLayout && section.showTitle;
var supportsImageAnalysis = appHost.supports("imageanalysis");
var cardLayout = (appHost.preferVisualCards || supportsImageAnalysis) && section.autoCardLayout && section.showTitle;
cardLayout = !1;
var serverId = this.apiClient.serverId(),
leadingButtons = layoutManager.tv ? [{
name: globalize.translate("All"),
id: "more",
icon: "",
routeUrl: getRouteUrl(section, serverId)
}] : null,
lines = 0;
var serverId = this.apiClient.serverId();
var leadingButtons = layoutManager.tv ? [{
name: globalize.translate("All"),
id: "more",
icon: "",
routeUrl: getRouteUrl(section, serverId)
}] : null;
var lines = 0;
return section.showTitle && lines++, section.showYear && lines++, section.showParentTitle && lines++, cardBuilder.getCardsHtml({
items: items,
preferThumb: section.preferThumb,
@ -187,11 +187,13 @@ define(["appRouter", "cardBuilder", "dom", "globalize", "connectionManager", "ap
}
function createSections(instance, elem, apiClient) {
var i, length, sections = getSections(),
html = "";
var i;
var length;
var sections = getSections();
var html = "";
for (i = 0, length = sections.length; i < length; i++) {
var section = sections[i],
sectionClass = "verticalSection";
var section = sections[i];
var sectionClass = "verticalSection";
section.showTitle || (sectionClass += " verticalSection-extrabottompadding"), html += '<div class="' + sectionClass + ' hide">', html += '<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">', layoutManager.tv ? html += '<h2 class="sectionTitle sectionTitle-cards">' + globalize.translate(section.name) + "</h2>" : (html += '<a is="emby-linkbutton" href="' + getRouteUrl(section, apiClient.serverId()) + '" class="more button-flat button-flat-mini sectionTitleTextButton">', html += '<h2 class="sectionTitle sectionTitle-cards">', html += globalize.translate(section.name), html += "</h2>", html += '<i class="md-icon">&#xE5CC;</i>', html += "</a>"), html += "</div>", html += '<div is="emby-scroller" class="padded-top-focusscale padded-bottom-focusscale" data-mousewheel="false" data-centerfocus="true"><div is="emby-itemscontainer" class="itemsContainer scrollSlider focuscontainer-x padded-left padded-right" data-monitor="markfavorite"></div></div>', html += "</div>"
}
elem.innerHTML = html;

View file

@ -822,7 +822,7 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuild
if (detectRatio && item.PrimaryImageAspectRatio) {
if (item.PrimaryImageAspectRatio >= 1.48) {
shape = "thumb";
} else if (item.PrimaryImageAspectRatio >= .85 && item.PrimaryImageAspectRatio <= 1.34) {
} else if (item.PrimaryImageAspectRatio >= 0.85 && item.PrimaryImageAspectRatio <= 1.34) {
shape = "square";
}
}
@ -858,7 +858,6 @@ define(["loading", "appRouter", "layoutManager", "connectionManager", "cardBuild
elem.classList.remove("squareDetailImageContainer");
}
if (url) {
imageLoader.lazyImage(elem.querySelector("img"), url);
}

View file

@ -60,11 +60,11 @@ define(["globalize", "loading", "libraryMenu", "emby-checkbox", "emby-button", "
libraryMenu.setTabs("librarysetup", 1, getTabs);
loadData();
ApiClient.getSystemInfo().then(function(info) {
if ("Windows" === info.OperatingSystem) {
view.querySelector(".fldSaveMetadataHidden").classList.remove("hide");
} else {
view.querySelector(".fldSaveMetadataHidden").classList.add("hide");
}
if ("Windows" === info.OperatingSystem) {
view.querySelector(".fldSaveMetadataHidden").classList.remove("hide");
} else {
view.querySelector(".fldSaveMetadataHidden").classList.add("hide");
}
});
});
}

View file

@ -61,7 +61,7 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
preferThumb: true,
context: 'music',
cardLayout: true,
showTitle: true,
showTitle: true
});
} else if (viewStyle == "PosterCard") {
html = cardBuilder.getCardsHtml({
@ -69,7 +69,7 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
shape: "auto",
context: 'music',
cardLayout: true,
showTitle: true,
showTitle: true
});
} else if (viewStyle == "Poster") {
html = cardBuilder.getCardsHtml({

View file

@ -72,8 +72,8 @@ define(["loading", "libraryMenu", "globalize", "emby-checkbox", "emby-select"],
}
function validateHttps(form) {
var certPath = form.querySelector("#txtCertificatePath").value || null,
httpsMode = form.querySelector("#selectHttpsMode").value;
var certPath = form.querySelector("#txtCertificatePath").value || null;
var httpsMode = form.querySelector("#selectHttpsMode").value;
return "enabled" !== httpsMode && "required" !== httpsMode || certPath ? Promise.resolve() : new Promise(function(resolve, reject) {
return alertText({
title: globalize.translate("TitleHostingSettings"),

View file

@ -92,13 +92,13 @@ define(["jQuery", "loading", "datetime", "dom", "globalize", "emby-input", "emby
var hours = trigger.IntervalTicks / 36e9;
if (hours == .25) {
if (hours == 0.25) {
return "Every 15 minutes";
}
if (hours == .5) {
if (hours == 0.5) {
return "Every 30 minutes";
}
if (hours == .75) {
if (hours == 0.75) {
return "Every 45 minutes";
}
if (hours == 1) {

View file

@ -137,7 +137,8 @@ define(["jQuery", "loading", "events", "globalize", "serverNotifications", "huma
pollInterval && clearInterval(pollInterval);
}
var pollInterval, serverId = ApiClient.serverId();
var pollInterval;
var serverId = ApiClient.serverId();
$(".divScheduledTasks", view).on("click", ".btnStartTask", function() {
var button = this;

View file

@ -57,7 +57,9 @@ define(["layoutManager", "loading", "datetime", "libraryBrowser", "cardBuilder",
month: "short",
day: "numeric"
});
} catch (err) {}
} catch (err) {
console.log('error parsing timestamp for upcoming tv shows');
}
}
if (dateText != currentGroupName) {

View file

@ -467,34 +467,34 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
switch (e.detail.command) {
case "left":
if ("osd" === currentVisibleMenu) {
showOsd();
} else {
if (!currentVisibleMenu) {
e.preventDefault();
playbackManager.rewind(player);
if ("osd" === currentVisibleMenu) {
showOsd();
} else {
if (!currentVisibleMenu) {
e.preventDefault();
playbackManager.rewind(player);
}
}
}
break;
break;
case "right":
if ("osd" === currentVisibleMenu) {
showOsd();
} else if (!currentVisibleMenu) {
e.preventDefault();
playbackManager.fastForward(player);
}
if ("osd" === currentVisibleMenu) {
showOsd();
} else if (!currentVisibleMenu) {
e.preventDefault();
playbackManager.fastForward(player);
}
break;
break;
case "pageup":
playbackManager.nextChapter(player);
break;
playbackManager.nextChapter(player);
break;
case "pagedown":
playbackManager.previousChapter(player);
break;
playbackManager.previousChapter(player);
break;
case "up":
case "down":
@ -508,16 +508,16 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
case "rewind":
case "next":
case "previous":
showOsd();
break;
showOsd();
break;
case "record":
onRecordingCommand();
showOsd();
break;
onRecordingCommand();
showOsd();
break;
case "togglestats":
toggleStats();
toggleStats();
}
}
@ -852,7 +852,6 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
var volumeSlider = view.querySelector('.osdVolumeSliderContainer');
var progressElement = volumeSlider.querySelector('.mdl-slider-background-lower');
if (-1 === supportedCommands.indexOf("Mute")) {
showMuteButton = false;
}
@ -1062,7 +1061,7 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
var player = currentPlayer;
if (subtitleSyncOverlay) {
subtitleSyncOverlay.toggle(action);
} else if(player){
} else if (player) {
subtitleSyncOverlay = new SubtitleSync(player);
}
});
@ -1096,52 +1095,52 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
case "k":
playbackManager.playPause(currentPlayer);
showOsd();
break;
break;
case "l":
case "ArrowRight":
case "Right":
playbackManager.fastForward(currentPlayer);
showOsd();
break;
break;
case "j":
case "ArrowLeft":
case "Left":
playbackManager.rewind(currentPlayer);
showOsd();
break;
break;
case "f":
if (!e.ctrlKey && !e.metaKey) {
playbackManager.toggleFullscreen(currentPlayer);
showOsd();
}
break;
if (!e.ctrlKey && !e.metaKey) {
playbackManager.toggleFullscreen(currentPlayer);
showOsd();
}
break;
case "m":
playbackManager.toggleMute(currentPlayer);
showOsd();
break;
playbackManager.toggleMute(currentPlayer);
showOsd();
break;
case "NavigationLeft":
case "GamepadDPadLeft":
case "GamepadLeftThumbstickLeft":
// Ignores gamepad events that are always triggered, even when not focused.
if (document.hasFocus()) {
playbackManager.rewind(currentPlayer);
showOsd();
}
break;
if (document.hasFocus()) {
playbackManager.rewind(currentPlayer);
showOsd();
}
break;
case "NavigationRight":
case "GamepadDPadRight":
case "GamepadLeftThumbstickRight":
// Ignores gamepad events that are always triggered, even when not focused.
if (document.hasFocus()) {
playbackManager.fastForward(currentPlayer);
showOsd();
}
if (document.hasFocus()) {
playbackManager.fastForward(currentPlayer);
showOsd();
}
}
}
@ -1275,7 +1274,7 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
dom.addEventListener(window, "keydown", onWindowKeyDown, {
passive: true
});
} catch(e) {
} catch (e) {
require(['appRouter'], function(appRouter) {
appRouter.showDirect('/');
});
@ -1334,24 +1333,24 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
switch (pointerType) {
case "touch":
if (now - lastPointerDown > 300) {
lastPointerDown = now;
toggleOsd();
}
if (now - lastPointerDown > 300) {
lastPointerDown = now;
toggleOsd();
}
break;
break;
case "mouse":
if (!e.button) {
playbackManager.playPause(currentPlayer);
showOsd();
}
if (!e.button) {
playbackManager.playPause(currentPlayer);
showOsd();
}
break;
break;
default:
playbackManager.playPause(currentPlayer);
showOsd();
playbackManager.playPause(currentPlayer);
showOsd();
}
}, {
passive: true
@ -1361,14 +1360,16 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
dom.addEventListener(view, "dblclick", onDoubleClick, {});
} else {
var options = { passive: true };
dom.addEventListener(view, "dblclick", function () { playbackManager.toggleFullscreen(currentPlayer); }, options);
dom.addEventListener(view, "dblclick", function () {
playbackManager.toggleFullscreen(currentPlayer);
}, options);
}
view.querySelector(".buttonMute").addEventListener("click", function () {
playbackManager.toggleMute(currentPlayer);
});
nowPlayingVolumeSlider.addEventListener("change", function () {
if(volumeSliderTimer){
if (volumeSliderTimer) {
// interupt and remove existing timer
clearTimeout(volumeSliderTimer);
volumeSliderTimer = null;
@ -1376,10 +1377,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
playbackManager.setVolume(this.value, currentPlayer);
});
nowPlayingVolumeSlider.addEventListener("mousemove", function () {
if(!volumeSliderTimer){
if (!volumeSliderTimer) {
var that = this;
// register new timer
volumeSliderTimer = setTimeout(function(){
volumeSliderTimer = setTimeout(function() {
playbackManager.setVolume(that.value, currentPlayer);
// delete timer after completion
volumeSliderTimer = null;
@ -1387,10 +1388,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
}
});
nowPlayingVolumeSlider.addEventListener("touchmove", function () {
if(!volumeSliderTimer){
if (!volumeSliderTimer) {
var that = this;
// register new timer
volumeSliderTimer = setTimeout(function(){
volumeSliderTimer = setTimeout(function() {
playbackManager.setVolume(that.value, currentPlayer);
// delete timer after completion
volumeSliderTimer = null;