';
@@ -1569,7 +1569,7 @@ import 'programStyles';
if (itemHelper.canMarkPlayed(item)) {
require(['emby-playstatebutton']);
- html += '';
+ html += '';
}
if (itemHelper.canRate(item)) {
@@ -1577,10 +1577,10 @@ import 'programStyles';
const likes = userData.Likes == null ? '' : userData.Likes;
require(['emby-ratingbutton']);
- html += '';
+ html += '';
}
- html += '';
+ html += '';
html += '
';
html += '';
@@ -1596,27 +1596,27 @@ import 'programStyles';
*/
export function getDefaultText(item, options) {
if (item.CollectionType) {
- return '';
html += items.map(function (filter) {
- var itemHtml = "";
- var checkedHtml = isCheckedFn(filter) ? " checked" : "";
- itemHtml += "';
return itemHtml;
- }).join("");
- html += "
";
- elem.querySelector(".filterOptions").innerHTML = html;
+ }).join('');
+ html += '';
+ elem.querySelector('.filterOptions').innerHTML = html;
}
function renderFilters(context, result, query) {
- if (result.Tags) {
- result.Tags.length = Math.min(result.Tags.length, 50);
- }
- renderOptions(context, ".genreFilters", "chkGenreFilter", result.Genres, function (i) {
- var delimeter = "|";
- return (delimeter + (query.Genres || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
+ renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) {
+ var delimeter = '|';
+ return (delimeter + (query.Genres || '') + delimeter).indexOf(delimeter + i + delimeter) != -1;
});
- renderOptions(context, ".officialRatingFilters", "chkOfficialRatingFilter", result.OfficialRatings, function (i) {
- var delimeter = "|";
- return (delimeter + (query.OfficialRatings || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
+ renderOptions(context, '.officialRatingFilters', 'chkOfficialRatingFilter', result.OfficialRatings, function (i) {
+ var delimeter = '|';
+ return (delimeter + (query.OfficialRatings || '') + delimeter).indexOf(delimeter + i + delimeter) != -1;
});
- renderOptions(context, ".tagFilters", "chkTagFilter", result.Tags, function (i) {
- var delimeter = "|";
- return (delimeter + (query.Tags || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
+ renderOptions(context, '.tagFilters', 'chkTagFilter', result.Tags, function (i) {
+ var delimeter = '|';
+ return (delimeter + (query.Tags || '') + delimeter).indexOf(delimeter + i + delimeter) != -1;
});
- renderOptions(context, ".yearFilters", "chkYearFilter", result.Years, function (i) {
- var delimeter = ",";
- return (delimeter + (query.Years || "") + delimeter).indexOf(delimeter + i + delimeter) != -1;
+ renderOptions(context, '.yearFilters', 'chkYearFilter', result.Years, function (i) {
+ var delimeter = ',';
+ return (delimeter + (query.Years || '') + delimeter).indexOf(delimeter + i + delimeter) != -1;
});
}
function loadDynamicFilters(context, apiClient, userId, itemQuery) {
- return apiClient.getJSON(apiClient.getUrl("Items/Filters", {
+ return apiClient.getJSON(apiClient.getUrl('Items/Filters', {
UserId: userId,
ParentId: itemQuery.ParentId,
IncludeItemTypes: itemQuery.IncludeItemTypes
@@ -61,98 +58,98 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
var length;
var query = options.query;
- if (options.mode == "livetvchannels") {
- context.querySelector(".chkFavorite").checked = query.IsFavorite == true;
- context.querySelector(".chkLikes").checked = query.IsLiked == true;
- context.querySelector(".chkDislikes").checked = query.IsDisliked == true;
+ if (options.mode == 'livetvchannels') {
+ context.querySelector('.chkFavorite').checked = query.IsFavorite == true;
+ context.querySelector('.chkLikes').checked = query.IsLiked == true;
+ context.querySelector('.chkDislikes').checked = query.IsDisliked == true;
} else {
- elems = context.querySelectorAll(".chkStandardFilter");
+ elems = context.querySelectorAll('.chkStandardFilter');
for (i = 0, length = elems.length; i < length; i++) {
var chkStandardFilter = elems[i];
- var filters = "," + (query.Filters || "");
- var filterName = chkStandardFilter.getAttribute("data-filter");
- chkStandardFilter.checked = filters.indexOf("," + filterName) != -1;
+ var filters = ',' + (query.Filters || '');
+ var filterName = chkStandardFilter.getAttribute('data-filter');
+ chkStandardFilter.checked = filters.indexOf(',' + filterName) != -1;
}
}
- elems = context.querySelectorAll(".chkVideoTypeFilter");
+ elems = context.querySelectorAll('.chkVideoTypeFilter');
for (i = 0, length = elems.length; i < length; i++) {
var chkVideoTypeFilter = elems[i];
- var filters = "," + (query.VideoTypes || "");
- var filterName = chkVideoTypeFilter.getAttribute("data-filter");
- chkVideoTypeFilter.checked = filters.indexOf("," + filterName) != -1;
+ var filters = ',' + (query.VideoTypes || '');
+ var filterName = chkVideoTypeFilter.getAttribute('data-filter');
+ chkVideoTypeFilter.checked = filters.indexOf(',' + filterName) != -1;
}
- context.querySelector(".chk3DFilter").checked = query.Is3D == true;
- context.querySelector(".chkHDFilter").checked = query.IsHD == true;
- context.querySelector(".chk4KFilter").checked = query.Is4K == true;
- context.querySelector(".chkSDFilter").checked = query.IsHD == true;
- context.querySelector("#chkSubtitle").checked = query.HasSubtitles == true;
- context.querySelector("#chkTrailer").checked = query.HasTrailer == true;
- context.querySelector("#chkThemeSong").checked = query.HasThemeSong == true;
- context.querySelector("#chkThemeVideo").checked = query.HasThemeVideo == true;
- context.querySelector("#chkSpecialFeature").checked = query.HasSpecialFeature == true;
- context.querySelector("#chkSpecialEpisode").checked = query.ParentIndexNumber == 0;
- context.querySelector("#chkMissingEpisode").checked = query.IsMissing == true;
- context.querySelector("#chkFutureEpisode").checked = query.IsUnaired == true;
+ context.querySelector('.chk3DFilter').checked = query.Is3D == true;
+ context.querySelector('.chkHDFilter').checked = query.IsHD == true;
+ context.querySelector('.chk4KFilter').checked = query.Is4K == true;
+ context.querySelector('.chkSDFilter').checked = query.IsHD == true;
+ context.querySelector('#chkSubtitle').checked = query.HasSubtitles == true;
+ context.querySelector('#chkTrailer').checked = query.HasTrailer == true;
+ context.querySelector('#chkThemeSong').checked = query.HasThemeSong == true;
+ context.querySelector('#chkThemeVideo').checked = query.HasThemeVideo == true;
+ context.querySelector('#chkSpecialFeature').checked = query.HasSpecialFeature == true;
+ context.querySelector('#chkSpecialEpisode').checked = query.ParentIndexNumber == 0;
+ context.querySelector('#chkMissingEpisode').checked = query.IsMissing == true;
+ context.querySelector('#chkFutureEpisode').checked = query.IsUnaired == true;
for (i = 0, length = elems.length; i < length; i++) {
var chkStatus = elems[i];
- var filters = "," + (query.SeriesStatus || "");
- var filterName = chkStatus.getAttribute("data-filter");
- chkStatus.checked = filters.indexOf("," + filterName) != -1;
+ var filters = ',' + (query.SeriesStatus || '');
+ var filterName = chkStatus.getAttribute('data-filter');
+ chkStatus.checked = filters.indexOf(',' + filterName) != -1;
}
}
function triggerChange(instance) {
- events.trigger(instance, "filterchange");
+ events.trigger(instance, 'filterchange');
}
function setVisibility(context, options) {
- if (options.mode == "livetvchannels" || options.mode == "albums" || options.mode == "artists" || options.mode == "albumartists" || options.mode == "songs") {
- hideByClass(context, "videoStandard");
+ if (options.mode == 'livetvchannels' || options.mode == 'albums' || options.mode == 'artists' || options.mode == 'albumartists' || options.mode == 'songs') {
+ hideByClass(context, 'videoStandard');
}
if (enableDynamicFilters(options.mode)) {
- context.querySelector(".genreFilters").classList.remove("hide");
- context.querySelector(".officialRatingFilters").classList.remove("hide");
- context.querySelector(".tagFilters").classList.remove("hide");
- context.querySelector(".yearFilters").classList.remove("hide");
+ context.querySelector('.genreFilters').classList.remove('hide');
+ context.querySelector('.officialRatingFilters').classList.remove('hide');
+ context.querySelector('.tagFilters').classList.remove('hide');
+ context.querySelector('.yearFilters').classList.remove('hide');
}
- if (options.mode == "movies" || options.mode == "episodes") {
- context.querySelector(".videoTypeFilters").classList.remove("hide");
+ if (options.mode == 'movies' || options.mode == 'episodes') {
+ context.querySelector('.videoTypeFilters').classList.remove('hide');
}
- if (options.mode == "movies" || options.mode == "series" || options.mode == "episodes") {
- context.querySelector(".features").classList.remove("hide");
+ if (options.mode == 'movies' || options.mode == 'series' || options.mode == 'episodes') {
+ context.querySelector('.features').classList.remove('hide');
}
- if (options.mode == "series") {
- context.querySelector(".seriesStatus").classList.remove("hide");
+ if (options.mode == 'series') {
+ context.querySelector('.seriesStatus').classList.remove('hide');
}
- if (options.mode == "episodes") {
- showByClass(context, "episodeFilter");
+ if (options.mode == 'episodes') {
+ showByClass(context, 'episodeFilter');
}
}
function showByClass(context, className) {
- var elems = context.querySelectorAll("." + className);
+ var elems = context.querySelectorAll('.' + className);
for (var i = 0, length = elems.length; i < length; i++) {
- elems[i].classList.remove("hide");
+ elems[i].classList.remove('hide');
}
}
function hideByClass(context, className) {
- var elems = context.querySelectorAll("." + className);
+ var elems = context.querySelectorAll('.' + className);
for (var i = 0, length = elems.length; i < length; i++) {
- elems[i].classList.add("hide");
+ elems[i].classList.add('hide');
}
}
function enableDynamicFilters(mode) {
- return mode == "movies" || mode == "series" || mode == "albums" || mode == "albumartists" || mode == "artists" || mode == "songs" || mode == "episodes";
+ return mode == 'movies' || mode == 'series' || mode == 'albums' || mode == 'albumartists' || mode == 'artists' || mode == 'songs' || mode == 'episodes';
}
return function (options) {
@@ -165,12 +162,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
function onStandardFilterChange() {
var query = options.query;
- var filterName = this.getAttribute("data-filter");
- var filters = query.Filters || "";
- filters = ("," + filters).replace("," + filterName, "").substring(1);
+ var filterName = this.getAttribute('data-filter');
+ var filters = query.Filters || '';
+ filters = (',' + filters).replace(',' + filterName, '').substring(1);
if (this.checked) {
- filters = filters ? filters + "," + filterName : filterName;
+ filters = filters ? filters + ',' + filterName : filterName;
}
query.StartIndex = 0;
@@ -180,12 +177,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
function onVideoTypeFilterChange() {
var query = options.query;
- var filterName = this.getAttribute("data-filter");
- var filters = query.VideoTypes || "";
- filters = ("," + filters).replace("," + filterName, "").substring(1);
+ var filterName = this.getAttribute('data-filter');
+ var filters = query.VideoTypes || '';
+ filters = (',' + filters).replace(',' + filterName, '').substring(1);
if (this.checked) {
- filters = filters ? filters + "," + filterName : filterName;
+ filters = filters ? filters + ',' + filterName : filterName;
}
query.StartIndex = 0;
@@ -195,12 +192,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
function onStatusChange() {
var query = options.query;
- var filterName = this.getAttribute("data-filter");
- var filters = query.SeriesStatus || "";
- filters = ("," + filters).replace("," + filterName, "").substring(1);
+ var filterName = this.getAttribute('data-filter');
+ var filters = query.SeriesStatus || '';
+ filters = (',' + filters).replace(',' + filterName, '').substring(1);
if (this.checked) {
- filters = filters ? filters + "," + filterName : filterName;
+ filters = filters ? filters + ',' + filterName : filterName;
}
query.SeriesStatus = filters;
@@ -214,86 +211,86 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
var length;
var query = options.query;
- if (options.mode == "livetvchannels") {
- elems = context.querySelectorAll(".chkFavorite");
+ if (options.mode == 'livetvchannels') {
+ elems = context.querySelectorAll('.chkFavorite');
for (i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener("change", onFavoriteChange);
+ elems[i].addEventListener('change', onFavoriteChange);
}
- context.querySelector(".chkLikes").addEventListener("change", function () {
+ context.querySelector('.chkLikes').addEventListener('change', function () {
query.StartIndex = 0;
query.IsLiked = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector(".chkDislikes").addEventListener("change", function () {
+ context.querySelector('.chkDislikes').addEventListener('change', function () {
query.StartIndex = 0;
query.IsDisliked = this.checked ? true : null;
triggerChange(self);
});
} else {
- elems = context.querySelectorAll(".chkStandardFilter");
+ elems = context.querySelectorAll('.chkStandardFilter');
for (i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener("change", onStandardFilterChange);
+ elems[i].addEventListener('change', onStandardFilterChange);
}
}
- elems = context.querySelectorAll(".chkVideoTypeFilter");
+ elems = context.querySelectorAll('.chkVideoTypeFilter');
for (i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener("change", onVideoTypeFilterChange);
+ elems[i].addEventListener('change', onVideoTypeFilterChange);
}
- context.querySelector(".chk3DFilter").addEventListener("change", function () {
+ context.querySelector('.chk3DFilter').addEventListener('change', function () {
query.StartIndex = 0;
query.Is3D = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector(".chk4KFilter").addEventListener("change", function () {
+ context.querySelector('.chk4KFilter').addEventListener('change', function () {
query.StartIndex = 0;
query.Is4K = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector(".chkHDFilter").addEventListener("change", function () {
+ context.querySelector('.chkHDFilter').addEventListener('change', function () {
query.StartIndex = 0;
query.IsHD = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector(".chkSDFilter").addEventListener("change", function () {
+ context.querySelector('.chkSDFilter').addEventListener('change', function () {
query.StartIndex = 0;
query.IsHD = this.checked ? false : null;
triggerChange(self);
});
- elems = context.querySelectorAll(".chkStatus");
+ elems = context.querySelectorAll('.chkStatus');
for (i = 0, length = elems.length; i < length; i++) {
- elems[i].addEventListener("change", onStatusChange);
+ elems[i].addEventListener('change', onStatusChange);
}
- context.querySelector("#chkTrailer").addEventListener("change", function () {
+ context.querySelector('#chkTrailer').addEventListener('change', function () {
query.StartIndex = 0;
query.HasTrailer = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector("#chkThemeSong").addEventListener("change", function () {
+ context.querySelector('#chkThemeSong').addEventListener('change', function () {
query.StartIndex = 0;
query.HasThemeSong = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector("#chkSpecialFeature").addEventListener("change", function () {
+ context.querySelector('#chkSpecialFeature').addEventListener('change', function () {
query.StartIndex = 0;
query.HasSpecialFeature = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector("#chkThemeVideo").addEventListener("change", function () {
+ context.querySelector('#chkThemeVideo').addEventListener('change', function () {
query.StartIndex = 0;
query.HasThemeVideo = this.checked ? true : null;
triggerChange(self);
});
- context.querySelector("#chkMissingEpisode").addEventListener("change", function () {
+ context.querySelector('#chkMissingEpisode').addEventListener('change', function () {
query.StartIndex = 0;
query.IsMissing = this.checked ? true : false;
triggerChange(self);
});
- context.querySelector("#chkSpecialEpisode").addEventListener("change", function () {
+ context.querySelector('#chkSpecialEpisode').addEventListener('change', function () {
query.StartIndex = 0;
query.ParentIndexNumber = this.checked ? 0 : null;
triggerChange(self);
});
- context.querySelector("#chkFutureEpisode").addEventListener("change", function () {
+ context.querySelector('#chkFutureEpisode').addEventListener('change', function () {
query.StartIndex = 0;
if (this.checked) {
query.IsUnaired = true;
@@ -304,18 +301,18 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
}
triggerChange(self);
});
- context.querySelector("#chkSubtitle").addEventListener("change", function () {
+ context.querySelector('#chkSubtitle').addEventListener('change', function () {
query.StartIndex = 0;
query.HasSubtitles = this.checked ? true : null;
triggerChange(self);
});
- context.addEventListener("change", function (e) {
- var chkGenreFilter = dom.parentWithClass(e.target, "chkGenreFilter");
+ context.addEventListener('change', function (e) {
+ var chkGenreFilter = dom.parentWithClass(e.target, 'chkGenreFilter');
if (chkGenreFilter) {
- var filterName = chkGenreFilter.getAttribute("data-filter");
- var filters = query.Genres || "";
- var delimiter = "|";
- filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
+ var filterName = chkGenreFilter.getAttribute('data-filter');
+ var filters = query.Genres || '';
+ var delimiter = '|';
+ filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkGenreFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
@@ -324,12 +321,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
triggerChange(self);
return;
}
- var chkTagFilter = dom.parentWithClass(e.target, "chkTagFilter");
+ var chkTagFilter = dom.parentWithClass(e.target, 'chkTagFilter');
if (chkTagFilter) {
- var filterName = chkTagFilter.getAttribute("data-filter");
- var filters = query.Tags || "";
- var delimiter = "|";
- filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
+ var filterName = chkTagFilter.getAttribute('data-filter');
+ var filters = query.Tags || '';
+ var delimiter = '|';
+ filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkTagFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
@@ -338,12 +335,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
triggerChange(self);
return;
}
- var chkYearFilter = dom.parentWithClass(e.target, "chkYearFilter");
+ var chkYearFilter = dom.parentWithClass(e.target, 'chkYearFilter');
if (chkYearFilter) {
- var filterName = chkYearFilter.getAttribute("data-filter");
- var filters = query.Years || "";
- var delimiter = ",";
- filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
+ var filterName = chkYearFilter.getAttribute('data-filter');
+ var filters = query.Years || '';
+ var delimiter = ',';
+ filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkYearFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
@@ -352,12 +349,12 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
triggerChange(self);
return;
}
- var chkOfficialRatingFilter = dom.parentWithClass(e.target, "chkOfficialRatingFilter");
+ var chkOfficialRatingFilter = dom.parentWithClass(e.target, 'chkOfficialRatingFilter');
if (chkOfficialRatingFilter) {
- var filterName = chkOfficialRatingFilter.getAttribute("data-filter");
- var filters = query.OfficialRatings || "";
- var delimiter = "|";
- filters = (delimiter + filters).replace(delimiter + filterName, "").substring(1);
+ var filterName = chkOfficialRatingFilter.getAttribute('data-filter');
+ var filters = query.OfficialRatings || '';
+ var delimiter = '|';
+ filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1);
if (chkOfficialRatingFilter.checked) {
filters = filters ? (filters + delimiter + filterName) : filterName;
}
@@ -373,23 +370,23 @@ define(["dom", "dialogHelper", "globalize", "connectionManager", "events", "brow
self.show = function () {
return new Promise(function (resolve, reject) {
- require(["text!./filterdialog.template.html"], function (template) {
+ require(['text!./filterdialog.template.html'], function (template) {
var dlg = dialogHelper.createDialog({
removeOnClose: true,
modal: false
});
- dlg.classList.add("ui-body-a");
- dlg.classList.add("background-theme-a");
- dlg.classList.add("formDialog");
- dlg.classList.add("filterDialog");
+ dlg.classList.add('ui-body-a');
+ dlg.classList.add('background-theme-a');
+ dlg.classList.add('formDialog');
+ dlg.classList.add('filterDialog');
dlg.innerHTML = globalize.translateDocument(template);
setVisibility(dlg, options);
dialogHelper.open(dlg);
- dlg.addEventListener("close", resolve);
+ dlg.addEventListener('close', resolve);
updateFilterControls(dlg, options);
bindEvents(dlg);
if (enableDynamicFilters(options.mode)) {
- dlg.classList.add("dynamicFilterDialog");
+ dlg.classList.add('dynamicFilterDialog');
var apiClient = connectionManager.getApiClient(options.serverId);
loadDynamicFilters(dlg, apiClient, apiClient.getCurrentUserId(), options.query);
}
diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js
index 6b08ddab1..c189856e7 100644
--- a/src/components/filtermenu/filtermenu.js
+++ b/src/components/filtermenu/filtermenu.js
@@ -279,7 +279,7 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost',
var html = '';
html += '';
diff --git a/src/components/focusManager.js b/src/components/focusManager.js
index 1da58d75c..f2022cc44 100644
--- a/src/components/focusManager.js
+++ b/src/components/focusManager.js
@@ -117,7 +117,7 @@ define(['dom', 'scrollManager'], function (dom, scrollManager) {
return false;
}
- if (elem.getAttribute('tabindex') === "-1") {
+ if (elem.getAttribute('tabindex') === '-1') {
return false;
}
diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js
index ad638ecdd..602c4310f 100644
--- a/src/components/groupedcards.js
+++ b/src/components/groupedcards.js
@@ -1,28 +1,28 @@
-define(["dom", "appRouter", "connectionManager"], function (dom, appRouter, connectionManager) {
- "use strict";
+define(['dom', 'appRouter', 'connectionManager'], function (dom, appRouter, connectionManager) {
+ 'use strict';
function onGroupedCardClick(e, card) {
- var itemId = card.getAttribute("data-id");
- var serverId = card.getAttribute("data-serverid");
+ var itemId = card.getAttribute('data-id');
+ var serverId = card.getAttribute('data-serverid');
var apiClient = connectionManager.getApiClient(serverId);
var userId = apiClient.getCurrentUserId();
- var playedIndicator = card.querySelector(".playedIndicator");
+ var playedIndicator = card.querySelector('.playedIndicator');
var playedIndicatorHtml = playedIndicator ? playedIndicator.innerHTML : null;
var options = {
- Limit: parseInt(playedIndicatorHtml || "10"),
- Fields: "PrimaryImageAspectRatio,DateCreated",
+ Limit: parseInt(playedIndicatorHtml || '10'),
+ Fields: 'PrimaryImageAspectRatio,DateCreated',
ParentId: itemId,
GroupItems: false
};
- var actionableParent = dom.parentWithTag(e.target, ["A", "BUTTON", "INPUT"]);
+ var actionableParent = dom.parentWithTag(e.target, ['A', 'BUTTON', 'INPUT']);
- if (!actionableParent || actionableParent.classList.contains("cardContent")) {
- apiClient.getJSON(apiClient.getUrl("Users/" + userId + "/Items/Latest", options)).then(function (items) {
+ if (!actionableParent || actionableParent.classList.contains('cardContent')) {
+ apiClient.getJSON(apiClient.getUrl('Users/' + userId + '/Items/Latest', options)).then(function (items) {
if (1 === items.length) {
return void appRouter.showItem(items[0]);
}
- var url = "itemdetails.html?id=" + itemId + "&serverId=" + serverId;
+ var url = 'itemdetails.html?id=' + itemId + '&serverId=' + serverId;
Dashboard.navigate(url);
});
e.stopPropagation();
@@ -32,7 +32,7 @@ define(["dom", "appRouter", "connectionManager"], function (dom, appRouter, conn
}
function onItemsContainerClick(e) {
- var groupedCard = dom.parentWithClass(e.target, "groupedCard");
+ var groupedCard = dom.parentWithClass(e.target, 'groupedCard');
if (groupedCard) {
onGroupedCardClick(e, groupedCard);
diff --git a/src/components/guide/guide-settings.template.html b/src/components/guide/guide-settings.template.html
index 02701db3d..edb2ffa8d 100644
--- a/src/components/guide/guide-settings.template.html
+++ b/src/components/guide/guide-settings.template.html
@@ -1,5 +1,7 @@
';
+ html += '';
for (var i = 0; i < metadataSavers.length; i++) {
var plugin = metadataSavers[i];
- html += '" + plugin.Name + "";
+ html += '' + plugin.Name + '';
}
- html += "
";
- html += '';
- var moreIcon = '';
+ const moreIcon = 'more_horiz';
html += getTextLinesHtml(textlines, isLargeStyle);
@@ -475,15 +475,15 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan
if (!clickEntireItem) {
if (options.addToListButton) {
- html += '
';
+ html += '
';
}
if (options.moreButton !== false) {
- html += '
';
+ html += '
';
}
if (options.infoButton) {
- html += '
';
+ html += '
';
}
if (options.rightButtons) {
@@ -496,11 +496,11 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan
var likes = userData.Likes == null ? '' : userData.Likes;
if (itemHelper.canMarkPlayed(item)) {
- html += '
';
+ html += '
';
}
if (itemHelper.canRate(item)) {
- html += '
';
+ html += '
';
}
}
}
diff --git a/src/components/loading/loading.js b/src/components/loading/loading.js
index d6c00347c..9a9aa3ca7 100644
--- a/src/components/loading/loading.js
+++ b/src/components/loading/loading.js
@@ -19,7 +19,7 @@ define(['components/loading/loadingLegacy', 'browser', 'css!./loading'], functio
if (!elem) {
- elem = document.createElement("div");
+ elem = document.createElement('div');
loadingElem = elem;
elem.classList.add('docspinner');
diff --git a/src/components/loading/loadingLegacy.js b/src/components/loading/loadingLegacy.js
index 757cea016..d766a4aca 100644
--- a/src/components/loading/loadingLegacy.js
+++ b/src/components/loading/loadingLegacy.js
@@ -7,7 +7,7 @@ define(['require', 'css!./loadingLegacy'], function (require) {
show: function () {
var elem = loadingElem;
if (!elem) {
- elem = document.createElement("img");
+ elem = document.createElement('img');
elem.src = require.toUrl('.').split('?')[0] + '/loader.gif';
loadingElem = elem;
diff --git a/src/components/logoscreensaver/plugin.js b/src/components/logoscreensaver/plugin.js
index 2becfad0c..f9dd90198 100644
--- a/src/components/logoscreensaver/plugin.js
+++ b/src/components/logoscreensaver/plugin.js
@@ -1,12 +1,12 @@
-define(["pluginManager"], function (pluginManager) {
+define(['pluginManager'], function (pluginManager) {
return function () {
var self = this;
- self.name = "Logo ScreenSaver";
- self.type = "screensaver";
- self.id = "logoscreensaver";
+ self.name = 'Logo ScreenSaver';
+ self.type = 'screensaver';
+ self.id = 'logoscreensaver';
self.supportsAnonymous = true;
var interval;
@@ -24,7 +24,7 @@ define(["pluginManager"], function (pluginManager) {
rotateOut
];
- var elem = document.querySelector(".logoScreenSaverImage");
+ var elem = document.querySelector('.logoScreenSaverImage');
if (elem && elem.animate) {
var random = getRandomInt(0, animations.length - 1);
@@ -39,96 +39,96 @@ define(["pluginManager"], function (pluginManager) {
function bounceInLeft(elem, iterations) {
var keyframes = [
- { transform: "translate3d(-3000px, 0, 0)", opacity: "0", offset: 0 },
- { transform: "translate3d(25px, 0, 0)", opacity: "1", offset: 0.6 },
- { transform: "translate3d(-100px, 0, 0)", offset: 0.75 },
- { transform: "translate3d(5px, 0, 0)", offset: 0.9 },
- { transform: "none", opacity: "1", offset: 1 }];
- var timing = { duration: 900, iterations: iterations, easing: "cubic-bezier(0.215, 0.610, 0.355, 1.000)" };
+ { transform: 'translate3d(-3000px, 0, 0)', opacity: '0', offset: 0 },
+ { transform: 'translate3d(25px, 0, 0)', opacity: '1', offset: 0.6 },
+ { transform: 'translate3d(-100px, 0, 0)', offset: 0.75 },
+ { transform: 'translate3d(5px, 0, 0)', offset: 0.9 },
+ { transform: 'none', opacity: '1', offset: 1 }];
+ var timing = { duration: 900, iterations: iterations, easing: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)' };
return elem.animate(keyframes, timing);
}
function bounceInRight(elem, iterations) {
var keyframes = [
- { transform: "translate3d(3000px, 0, 0)", opacity: "0", offset: 0 },
- { transform: "translate3d(-25px, 0, 0)", opacity: "1", offset: 0.6 },
- { transform: "translate3d(100px, 0, 0)", offset: 0.75 },
- { transform: "translate3d(-5px, 0, 0)", offset: 0.9 },
- { transform: "none", opacity: "1", offset: 1 }];
- var timing = { duration: 900, iterations: iterations, easing: "cubic-bezier(0.215, 0.610, 0.355, 1.000)" };
+ { transform: 'translate3d(3000px, 0, 0)', opacity: '0', offset: 0 },
+ { transform: 'translate3d(-25px, 0, 0)', opacity: '1', offset: 0.6 },
+ { transform: 'translate3d(100px, 0, 0)', offset: 0.75 },
+ { transform: 'translate3d(-5px, 0, 0)', offset: 0.9 },
+ { transform: 'none', opacity: '1', offset: 1 }];
+ var timing = { duration: 900, iterations: iterations, easing: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)' };
return elem.animate(keyframes, timing);
}
function shake(elem, iterations) {
var keyframes = [
- { transform: "translate3d(0, 0, 0)", offset: 0 },
- { transform: "translate3d(-10px, 0, 0)", offset: 0.1 },
- { transform: "translate3d(10px, 0, 0)", offset: 0.2 },
- { transform: "translate3d(-10px, 0, 0)", offset: 0.3 },
- { transform: "translate3d(10px, 0, 0)", offset: 0.4 },
- { transform: "translate3d(-10px, 0, 0)", offset: 0.5 },
- { transform: "translate3d(10px, 0, 0)", offset: 0.6 },
- { transform: "translate3d(-10px, 0, 0)", offset: 0.7 },
- { transform: "translate3d(10px, 0, 0)", offset: 0.8 },
- { transform: "translate3d(-10px, 0, 0)", offset: 0.9 },
- { transform: "translate3d(0, 0, 0)", offset: 1 }];
+ { transform: 'translate3d(0, 0, 0)', offset: 0 },
+ { transform: 'translate3d(-10px, 0, 0)', offset: 0.1 },
+ { transform: 'translate3d(10px, 0, 0)', offset: 0.2 },
+ { transform: 'translate3d(-10px, 0, 0)', offset: 0.3 },
+ { transform: 'translate3d(10px, 0, 0)', offset: 0.4 },
+ { transform: 'translate3d(-10px, 0, 0)', offset: 0.5 },
+ { transform: 'translate3d(10px, 0, 0)', offset: 0.6 },
+ { transform: 'translate3d(-10px, 0, 0)', offset: 0.7 },
+ { transform: 'translate3d(10px, 0, 0)', offset: 0.8 },
+ { transform: 'translate3d(-10px, 0, 0)', offset: 0.9 },
+ { transform: 'translate3d(0, 0, 0)', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
}
function swing(elem, iterations) {
var keyframes = [
- { transform: "translate(0%)", offset: 0 },
- { transform: "rotate3d(0, 0, 1, 15deg)", offset: 0.2 },
- { transform: "rotate3d(0, 0, 1, -10deg)", offset: 0.4 },
- { transform: "rotate3d(0, 0, 1, 5deg)", offset: 0.6 },
- { transform: "rotate3d(0, 0, 1, -5deg)", offset: 0.8 },
- { transform: "rotate3d(0, 0, 1, 0deg)", offset: 1 }];
+ { transform: 'translate(0%)', offset: 0 },
+ { transform: 'rotate3d(0, 0, 1, 15deg)', offset: 0.2 },
+ { transform: 'rotate3d(0, 0, 1, -10deg)', offset: 0.4 },
+ { transform: 'rotate3d(0, 0, 1, 5deg)', offset: 0.6 },
+ { transform: 'rotate3d(0, 0, 1, -5deg)', offset: 0.8 },
+ { transform: 'rotate3d(0, 0, 1, 0deg)', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
}
function tada(elem, iterations) {
var keyframes = [
- { transform: "scale3d(1, 1, 1)", offset: 0 },
- { transform: "scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)", offset: 0.1 },
- { transform: "scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)", offset: 0.2 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.3 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.4 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.5 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.6 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.7 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.8 },
- { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.9 },
- { transform: "scale3d(1, 1, 1)", offset: 1 }];
+ { transform: 'scale3d(1, 1, 1)', offset: 0 },
+ { transform: 'scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)', offset: 0.1 },
+ { transform: 'scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)', offset: 0.2 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.3 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.4 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.5 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.6 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.7 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.8 },
+ { transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.9 },
+ { transform: 'scale3d(1, 1, 1)', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
}
function wobble(elem, iterations) {
var keyframes = [
- { transform: "translate(0%)", offset: 0 },
- { transform: "translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)", offset: 0.15 },
- { transform: "translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)", offset: 0.45 },
- { transform: "translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)", offset: 0.6 },
- { transform: "translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)", offset: 0.75 },
- { transform: "translateX(0%)", offset: 1 }];
+ { transform: 'translate(0%)', offset: 0 },
+ { transform: 'translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)', offset: 0.15 },
+ { transform: 'translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)', offset: 0.45 },
+ { transform: 'translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)', offset: 0.6 },
+ { transform: 'translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)', offset: 0.75 },
+ { transform: 'translateX(0%)', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
}
function rotateIn(elem, iterations) {
- var transformOrigin = elem.style["transform-origin"];
- var keyframes = [{ transform: "rotate3d(0, 0, 1, -200deg)", opacity: "0", transformOrigin: "center", offset: 0 },
- { transform: "none", opacity: "1", transformOrigin: "center", offset: 1 }];
+ var transformOrigin = elem.style['transform-origin'];
+ var keyframes = [{ transform: 'rotate3d(0, 0, 1, -200deg)', opacity: '0', transformOrigin: 'center', offset: 0 },
+ { transform: 'none', opacity: '1', transformOrigin: 'center', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
}
function rotateOut(elem, iterations) {
- var transformOrigin = elem.style["transform-origin"];
- var keyframes = [{ transform: "none", opacity: "1", transformOrigin: "center", offset: 0 },
- { transform: "rotate3d(0, 0, 1, 200deg)", opacity: "0", transformOrigin: "center", offset: 1 }];
+ var transformOrigin = elem.style['transform-origin'];
+ var keyframes = [{ transform: 'none', opacity: '1', transformOrigin: 'center', offset: 0 },
+ { transform: 'rotate3d(0, 0, 1, 200deg)', opacity: '0', transformOrigin: 'center', offset: 1 }];
var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing);
@@ -136,8 +136,8 @@ define(["pluginManager"], function (pluginManager) {
function fadeOut(elem, iterations) {
var keyframes = [
- { opacity: "1", offset: 0 },
- { opacity: "0", offset: 1 }];
+ { opacity: '1', offset: 0 },
+ { opacity: '0', offset: 1 }];
var timing = { duration: 400, iterations: iterations };
return elem.animate(keyframes, timing);
}
@@ -151,13 +151,13 @@ define(["pluginManager"], function (pluginManager) {
self.show = function () {
- require(["css!" + pluginManager.mapPath(self, "style.css")], function () {
+ require(['css!' + pluginManager.mapPath(self, 'style.css')], function () {
- var elem = document.querySelector(".logoScreenSaver");
+ var elem = document.querySelector('.logoScreenSaver');
if (!elem) {
- elem = document.createElement("div");
- elem.classList.add("logoScreenSaver");
+ elem = document.createElement('div');
+ elem.classList.add('logoScreenSaver');
document.body.appendChild(elem);
elem.innerHTML = '

';
@@ -172,7 +172,7 @@ define(["pluginManager"], function (pluginManager) {
stopInterval();
- var elem = document.querySelector(".logoScreenSaver");
+ var elem = document.querySelector('.logoScreenSaver');
if (elem) {
diff --git a/src/components/maintabsmanager.js b/src/components/maintabsmanager.js
index 257147001..e1c543436 100644
--- a/src/components/maintabsmanager.js
+++ b/src/components/maintabsmanager.js
@@ -166,6 +166,7 @@ define(['dom', 'browser', 'events', 'emby-tabs', 'emby-button'], function (dom,
}).join('') + '
';
tabsContainerElem.innerHTML = tabsHtml;
+ window.CustomElements.upgradeSubtree(tabsContainerElem);
document.body.classList.add('withSectionTabs');
tabOwnerView = view;
diff --git a/src/components/mediainfo/mediainfo.js b/src/components/mediainfo/mediainfo.js
index 188ea9a07..c569a7c78 100644
--- a/src/components/mediainfo/mediainfo.js
+++ b/src/components/mediainfo/mediainfo.js
@@ -6,7 +6,7 @@ define(['datetime', 'globalize', 'appRouter', 'itemHelper', 'indicators', 'mater
var status;
if (item.Type === 'SeriesTimer') {
- return '