From 5675b0095616673628ca9f47a5b35506f6fb1ce4 Mon Sep 17 00:00:00 2001 From: Matt Strayer Date: Tue, 11 Aug 2020 13:04:34 -0400 Subject: [PATCH 1/5] Rebased to add in list.js (#1675), updated scope injection --- package.json | 3 +- src/components/filtermenu/filtermenu.js | 123 ++++++++++++------------ 2 files changed, 61 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index 34252280c..e1ec7750f 100644 --- a/package.json +++ b/package.json @@ -110,6 +110,7 @@ "src/components/favoriteitems.js", "src/components/fetchhelper.js", "src/components/filterdialog/filterdialog.js", + "src/components/filtermenu/filtermenu.js", "src/components/focusManager.js", "src/components/groupedcards.js", "src/components/guide/guide.js", @@ -374,4 +375,4 @@ "lint": "eslint \".\"", "stylelint": "stylelint \"src/**/*.css\"" } -} +} \ No newline at end of file diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index df74dc2a1..4313f3100 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -1,15 +1,26 @@ -define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', 'inputManager', 'layoutManager', 'connectionManager', 'appRouter', 'globalize', 'userSettings', 'emby-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'material-icons', 'css!./../formdialog', 'emby-button', 'flexStyles'], function (require, dom, focusManager, dialogHelper, loading, appHost, inputManager, layoutManager, connectionManager, appRouter, globalize, userSettings) { - 'use strict'; - focusManager = focusManager.default || focusManager; +import dom from 'dom'; +import focusManager from 'focusManager'; +import dialogHelper from 'dialogHelper'; +import inputManager from 'inputManager'; +import layoutManager from 'layoutManager'; +import connectionManager from 'connectionManager'; +import globalize from 'globalize'; +import * as userSettings from 'userSettings'; +import 'emby-checkbox'; +import 'emby-input'; +import 'paper-icon-button-light'; +import 'emby-select'; +import 'material-icons'; +import 'css!./../formdialog'; +import 'emby-button'; +import 'flexStyles'; - layoutManager = layoutManager.default || layoutManager; - - function onSubmit(e) { +class FilterMenu { + onSubmit(e) { e.preventDefault(); return false; } - - function renderOptions(context, selector, cssClass, items, isCheckedFn) { + renderOptions(context, selector, cssClass, items, isCheckedFn) { var elem = context.querySelector(selector); if (items.length) { @@ -35,15 +46,14 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', elem.querySelector('.filterOptions').innerHTML = html; } - function renderDynamicFilters(context, result, options) { - renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) { + renderDynamicFilters(context, result, options) { + this.renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) { // Switching from | to , var delimeter = (options.settings.GenreIds || '').indexOf('|') === -1 ? ',' : '|'; return (delimeter + (options.settings.GenreIds || '') + delimeter).indexOf(delimeter + i.Id + delimeter) !== -1; }); } - - function loadDynamicFilters(context, options) { + loadDynamicFilters(context, options) { var apiClient = connectionManager.getApiClient(options.serverId); var filterMenuOptions = Object.assign(options.filterMenuOptions, { @@ -53,13 +63,13 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', IncludeItemTypes: options.itemTypes.join(',') }); - apiClient.getFilters(filterMenuOptions).then(function (result) { - renderDynamicFilters(context, result, options); + apiClient.getFilters(filterMenuOptions).then((result) => { + this.renderDynamicFilters(context, result, options); }); } - function initEditor(context, settings) { - context.querySelector('form').addEventListener('submit', onSubmit); + initEditor(context, settings) { + context.querySelector('form').addEventListener('submit', this.onSubmit); var elems = context.querySelectorAll('.simpleFilter'); var i; @@ -100,15 +110,15 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', } } - function saveValues(context, settings, settingsKey) { + saveValues(context, settings, settingsKey) { var elems = context.querySelectorAll('.simpleFilter'); var i; var length; for (i = 0, length = elems.length; i < length; i++) { if (elems[i].tagName === 'INPUT') { - setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]); + this.setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]); } else { - setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i].querySelector('input')); + this.setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i].querySelector('input')); } } @@ -144,22 +154,12 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', } userSettings.setFilter(settingsKey + '-filter-GenreIds', genres.join(',')); } - - function setBasicFilter(context, key, elem) { + setBasicFilter(context, key, elem) { var value = elem.checked; value = value ? value : null; userSettings.setFilter(key, value); } - - function centerFocus(elem, horiz, on) { - require(['scrollHelper'], function (scrollHelper) { - scrollHelper = scrollHelper.default || scrollHelper; - var fn = on ? 'on' : 'off'; - scrollHelper.centerFocus[fn](elem, horiz); - }); - } - - function moveCheckboxFocus(elem, offset) { + moveCheckboxFocus(elem, offset) { var parent = dom.parentWithClass(elem, 'checkboxList-verticalwrap'); var elems = focusManager.getFocusableElements(parent); @@ -181,45 +181,43 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', focusManager.focus(newElem); } } - - function onInputCommand(e) { + centerFocus(elem, horiz, on) { + import('scrollHelper').then(({ default: scrollHelper }) => { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); + } + onInputCommand(e) { switch (e.detail.command) { case 'left': - moveCheckboxFocus(e.target, -1); + this.moveCheckboxFocus(e.target, -1); e.preventDefault(); break; case 'right': - moveCheckboxFocus(e.target, 1); + this.moveCheckboxFocus(e.target, 1); e.preventDefault(); break; default: break; } } - - function FilterMenu() { - - } - - function bindCheckboxInput(context, on) { + bindCheckboxInput(context, on) { var elems = context.querySelectorAll('.checkboxList-verticalwrap'); for (var i = 0, length = elems.length; i < length; i++) { if (on) { - inputManager.on(elems[i], onInputCommand); + inputManager.on(elems[i], this.onInputCommand); } else { - inputManager.off(elems[i], onInputCommand); + inputManager.off(elems[i], this.onInputCommand); } } } - - FilterMenu.prototype.show = function (options) { - return new Promise(function (resolve, reject) { - require(['text!./filtermenu.template.html'], function (template) { + show(options) { + return new Promise( (resolve, reject) => { + import('text!./filtermenu.template.html').then(({ default: template }) => { var dialogOptions = { removeOnClose: true, scrollY: false }; - if (layoutManager.tv) { dialogOptions.size = 'fullscreen'; } else { @@ -251,17 +249,16 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', } } - initEditor(dlg, options.settings); - loadDynamicFilters(dlg, options); - - bindCheckboxInput(dlg, true); + this.initEditor(dlg, options.settings); + this.loadDynamicFilters(dlg, options); + this.bindCheckboxInput(dlg, true); dlg.querySelector('.btnCancel').addEventListener('click', function () { dialogHelper.close(dlg); }); if (layoutManager.tv) { - centerFocus(dlg.querySelector('.formDialogContent'), false, true); + this.centerFocus(dlg.querySelector('.formDialogContent'), false, true); } var submitted; @@ -270,26 +267,24 @@ define(['require', 'dom', 'focusManager', 'dialogHelper', 'loading', 'apphost', submitted = true; }, true); - dialogHelper.open(dlg).then(function () { - bindCheckboxInput(dlg, false); + dialogHelper.open(dlg).then( () => { + this.bindCheckboxInput(dlg, false); if (layoutManager.tv) { - centerFocus(dlg.querySelector('.formDialogContent'), false, false); + this.centerFocus(dlg.querySelector('.formDialogContent'), false, false); } if (submitted) { //if (!options.onChange) { - saveValues(dlg, options.settings, options.settingsKey); - resolve(); + this.saveValues(dlg, options.settings, options.settingsKey); + return resolve(); //} - return; } - - reject(); + return resolve(); }); }); }); - }; + } +} - return FilterMenu; -}); +export default FilterMenu; From fe237698bfa3bf29be3512c63734bd9b4f52c207 Mon Sep 17 00:00:00 2001 From: Matt Strayer Date: Tue, 11 Aug 2020 14:21:19 -0400 Subject: [PATCH 2/5] only export functions previously declared in prototype --- src/components/filtermenu/filtermenu.js | 405 ++++++++++++------------ 1 file changed, 202 insertions(+), 203 deletions(-) diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index 4313f3100..0ed19f85c 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -15,202 +15,201 @@ import 'css!./../formdialog'; import 'emby-button'; import 'flexStyles'; +function onSubmit(e) { + e.preventDefault(); + return false; +} +function renderOptions(context, selector, cssClass, items, isCheckedFn) { + var elem = context.querySelector(selector); + + if (items.length) { + elem.classList.remove('hide'); + } else { + elem.classList.add('hide'); + } + + var html = ''; + + html += items.map(function (filter) { + var itemHtml = ''; + + var checkedHtml = isCheckedFn(filter) ? ' checked' : ''; + itemHtml += ''; + + return itemHtml; + }).join(''); + + elem.querySelector('.filterOptions').innerHTML = html; +} + +function renderDynamicFilters(context, result, options) { + renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) { + // Switching from | to , + var delimeter = (options.settings.GenreIds || '').indexOf('|') === -1 ? ',' : '|'; + return (delimeter + (options.settings.GenreIds || '') + delimeter).indexOf(delimeter + i.Id + delimeter) !== -1; + }); +} + +function setBasicFilter(context, key, elem) { + var value = elem.checked; + value = value ? value : null; + userSettings.setFilter(key, value); +} +function moveCheckboxFocus(elem, offset) { + var parent = dom.parentWithClass(elem, 'checkboxList-verticalwrap'); + var elems = focusManager.getFocusableElements(parent); + + var index = -1; + for (var i = 0, length = elems.length; i < length; i++) { + if (elems[i] === elem) { + index = i; + break; + } + } + + index += offset; + + index = Math.min(elems.length - 1, index); + index = Math.max(0, index); + + var newElem = elems[index]; + if (newElem) { + focusManager.focus(newElem); + } +} +function centerFocus(elem, horiz, on) { + import('scrollHelper').then(({ default: scrollHelper }) => { + var fn = on ? 'on' : 'off'; + scrollHelper.centerFocus[fn](elem, horiz); + }); +} +function onInputCommand(e) { + switch (e.detail.command) { + case 'left': + moveCheckboxFocus(e.target, -1); + e.preventDefault(); + break; + case 'right': + moveCheckboxFocus(e.target, 1); + e.preventDefault(); + break; + default: + break; + } +} +function saveValues(context, settings, settingsKey) { + var elems = context.querySelectorAll('.simpleFilter'); + var i; + var length; + for (i = 0, length = elems.length; i < length; i++) { + if (elems[i].tagName === 'INPUT') { + setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]); + } else { + setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i].querySelector('input')); + } + } + + // Video type + var videoTypes = []; + elems = context.querySelectorAll('.chkVideoTypeFilter'); + + for (i = 0, length = elems.length; i < length; i++) { + if (elems[i].checked) { + videoTypes.push(elems[i].getAttribute('data-filter')); + } + } + userSettings.setFilter(settingsKey + '-filter-VideoTypes', videoTypes.join(',')); + + // Series status + var seriesStatuses = []; + elems = context.querySelectorAll('.chkSeriesStatus'); + + for (i = 0, length = elems.length; i < length; i++) { + if (elems[i].checked) { + seriesStatuses.push(elems[i].getAttribute('data-filter')); + } + } + + // Genres + var genres = []; + elems = context.querySelectorAll('.chkGenreFilter'); + + for (i = 0, length = elems.length; i < length; i++) { + if (elems[i].checked) { + genres.push(elems[i].getAttribute('data-filter')); + } + } + userSettings.setFilter(settingsKey + '-filter-GenreIds', genres.join(',')); +} +function bindCheckboxInput(context, on) { + var elems = context.querySelectorAll('.checkboxList-verticalwrap'); + for (var i = 0, length = elems.length; i < length; i++) { + if (on) { + inputManager.on(elems[i], onInputCommand); + } else { + inputManager.off(elems[i], onInputCommand); + } + } +} +function initEditor(context, settings) { + context.querySelector('form').addEventListener('submit', onSubmit); + + var elems = context.querySelectorAll('.simpleFilter'); + var i; + var length; + + for (i = 0, length = elems.length; i < length; i++) { + if (elems[i].tagName === 'INPUT') { + elems[i].checked = settings[elems[i].getAttribute('data-settingname')] || false; + } else { + elems[i].querySelector('input').checked = settings[elems[i].getAttribute('data-settingname')] || false; + } + } + + var videoTypes = settings.VideoTypes ? settings.VideoTypes.split(',') : []; + elems = context.querySelectorAll('.chkVideoTypeFilter'); + + for (i = 0, length = elems.length; i < length; i++) { + elems[i].checked = videoTypes.indexOf(elems[i].getAttribute('data-filter')) !== -1; + } + + var seriesStatuses = settings.SeriesStatus ? settings.SeriesStatus.split(',') : []; + elems = context.querySelectorAll('.chkSeriesStatus'); + + for (i = 0, length = elems.length; i < length; i++) { + elems[i].checked = seriesStatuses.indexOf(elems[i].getAttribute('data-filter')) !== -1; + } + + if (context.querySelector('.basicFilterSection .viewSetting:not(.hide)')) { + context.querySelector('.basicFilterSection').classList.remove('hide'); + } else { + context.querySelector('.basicFilterSection').classList.add('hide'); + } + + if (context.querySelector('.featureSection .viewSetting:not(.hide)')) { + context.querySelector('.featureSection').classList.remove('hide'); + } else { + context.querySelector('.featureSection').classList.add('hide'); + } +} +function loadDynamicFilters(context, options) { + var apiClient = connectionManager.getApiClient(options.serverId); + + var filterMenuOptions = Object.assign(options.filterMenuOptions, { + + UserId: apiClient.getCurrentUserId(), + ParentId: options.parentId, + IncludeItemTypes: options.itemTypes.join(',') + }); + + apiClient.getFilters(filterMenuOptions).then((result) => { + renderDynamicFilters(context, result, options); + }); +} class FilterMenu { - onSubmit(e) { - e.preventDefault(); - return false; - } - renderOptions(context, selector, cssClass, items, isCheckedFn) { - var elem = context.querySelector(selector); - - if (items.length) { - elem.classList.remove('hide'); - } else { - elem.classList.add('hide'); - } - - var html = ''; - - html += items.map(function (filter) { - var itemHtml = ''; - - var checkedHtml = isCheckedFn(filter) ? ' checked' : ''; - itemHtml += ''; - - return itemHtml; - }).join(''); - - elem.querySelector('.filterOptions').innerHTML = html; - } - - renderDynamicFilters(context, result, options) { - this.renderOptions(context, '.genreFilters', 'chkGenreFilter', result.Genres, function (i) { - // Switching from | to , - var delimeter = (options.settings.GenreIds || '').indexOf('|') === -1 ? ',' : '|'; - return (delimeter + (options.settings.GenreIds || '') + delimeter).indexOf(delimeter + i.Id + delimeter) !== -1; - }); - } - loadDynamicFilters(context, options) { - var apiClient = connectionManager.getApiClient(options.serverId); - - var filterMenuOptions = Object.assign(options.filterMenuOptions, { - - UserId: apiClient.getCurrentUserId(), - ParentId: options.parentId, - IncludeItemTypes: options.itemTypes.join(',') - }); - - apiClient.getFilters(filterMenuOptions).then((result) => { - this.renderDynamicFilters(context, result, options); - }); - } - - initEditor(context, settings) { - context.querySelector('form').addEventListener('submit', this.onSubmit); - - var elems = context.querySelectorAll('.simpleFilter'); - var i; - var length; - - for (i = 0, length = elems.length; i < length; i++) { - if (elems[i].tagName === 'INPUT') { - elems[i].checked = settings[elems[i].getAttribute('data-settingname')] || false; - } else { - elems[i].querySelector('input').checked = settings[elems[i].getAttribute('data-settingname')] || false; - } - } - - var videoTypes = settings.VideoTypes ? settings.VideoTypes.split(',') : []; - elems = context.querySelectorAll('.chkVideoTypeFilter'); - - for (i = 0, length = elems.length; i < length; i++) { - elems[i].checked = videoTypes.indexOf(elems[i].getAttribute('data-filter')) !== -1; - } - - var seriesStatuses = settings.SeriesStatus ? settings.SeriesStatus.split(',') : []; - elems = context.querySelectorAll('.chkSeriesStatus'); - - for (i = 0, length = elems.length; i < length; i++) { - elems[i].checked = seriesStatuses.indexOf(elems[i].getAttribute('data-filter')) !== -1; - } - - if (context.querySelector('.basicFilterSection .viewSetting:not(.hide)')) { - context.querySelector('.basicFilterSection').classList.remove('hide'); - } else { - context.querySelector('.basicFilterSection').classList.add('hide'); - } - - if (context.querySelector('.featureSection .viewSetting:not(.hide)')) { - context.querySelector('.featureSection').classList.remove('hide'); - } else { - context.querySelector('.featureSection').classList.add('hide'); - } - } - - saveValues(context, settings, settingsKey) { - var elems = context.querySelectorAll('.simpleFilter'); - var i; - var length; - for (i = 0, length = elems.length; i < length; i++) { - if (elems[i].tagName === 'INPUT') { - this.setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]); - } else { - this.setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i].querySelector('input')); - } - } - - // Video type - var videoTypes = []; - elems = context.querySelectorAll('.chkVideoTypeFilter'); - - for (i = 0, length = elems.length; i < length; i++) { - if (elems[i].checked) { - videoTypes.push(elems[i].getAttribute('data-filter')); - } - } - userSettings.setFilter(settingsKey + '-filter-VideoTypes', videoTypes.join(',')); - - // Series status - var seriesStatuses = []; - elems = context.querySelectorAll('.chkSeriesStatus'); - - for (i = 0, length = elems.length; i < length; i++) { - if (elems[i].checked) { - seriesStatuses.push(elems[i].getAttribute('data-filter')); - } - } - - // Genres - var genres = []; - elems = context.querySelectorAll('.chkGenreFilter'); - - for (i = 0, length = elems.length; i < length; i++) { - if (elems[i].checked) { - genres.push(elems[i].getAttribute('data-filter')); - } - } - userSettings.setFilter(settingsKey + '-filter-GenreIds', genres.join(',')); - } - setBasicFilter(context, key, elem) { - var value = elem.checked; - value = value ? value : null; - userSettings.setFilter(key, value); - } - moveCheckboxFocus(elem, offset) { - var parent = dom.parentWithClass(elem, 'checkboxList-verticalwrap'); - var elems = focusManager.getFocusableElements(parent); - - var index = -1; - for (var i = 0, length = elems.length; i < length; i++) { - if (elems[i] === elem) { - index = i; - break; - } - } - - index += offset; - - index = Math.min(elems.length - 1, index); - index = Math.max(0, index); - - var newElem = elems[index]; - if (newElem) { - focusManager.focus(newElem); - } - } - centerFocus(elem, horiz, on) { - import('scrollHelper').then(({ default: scrollHelper }) => { - var fn = on ? 'on' : 'off'; - scrollHelper.centerFocus[fn](elem, horiz); - }); - } - onInputCommand(e) { - switch (e.detail.command) { - case 'left': - this.moveCheckboxFocus(e.target, -1); - e.preventDefault(); - break; - case 'right': - this.moveCheckboxFocus(e.target, 1); - e.preventDefault(); - break; - default: - break; - } - } - bindCheckboxInput(context, on) { - var elems = context.querySelectorAll('.checkboxList-verticalwrap'); - for (var i = 0, length = elems.length; i < length; i++) { - if (on) { - inputManager.on(elems[i], this.onInputCommand); - } else { - inputManager.off(elems[i], this.onInputCommand); - } - } - } show(options) { return new Promise( (resolve, reject) => { import('text!./filtermenu.template.html').then(({ default: template }) => { @@ -249,16 +248,16 @@ class FilterMenu { } } - this.initEditor(dlg, options.settings); - this.loadDynamicFilters(dlg, options); + initEditor(dlg, options.settings); + loadDynamicFilters(dlg, options); - this.bindCheckboxInput(dlg, true); + bindCheckboxInput(dlg, true); dlg.querySelector('.btnCancel').addEventListener('click', function () { dialogHelper.close(dlg); }); if (layoutManager.tv) { - this.centerFocus(dlg.querySelector('.formDialogContent'), false, true); + centerFocus(dlg.querySelector('.formDialogContent'), false, true); } var submitted; @@ -267,16 +266,16 @@ class FilterMenu { submitted = true; }, true); - dialogHelper.open(dlg).then( () => { - this.bindCheckboxInput(dlg, false); + dialogHelper.open(dlg).then( function() { + bindCheckboxInput(dlg, false); if (layoutManager.tv) { - this.centerFocus(dlg.querySelector('.formDialogContent'), false, false); + centerFocus(dlg.querySelector('.formDialogContent'), false, false); } if (submitted) { //if (!options.onChange) { - this.saveValues(dlg, options.settings, options.settingsKey); + saveValues(dlg, options.settings, options.settingsKey); return resolve(); //} } From ad8247cda9cb90a2f44f30437efb053a0402ccde Mon Sep 17 00:00:00 2001 From: Matt Strayer Date: Tue, 11 Aug 2020 15:48:40 -0400 Subject: [PATCH 3/5] Update src/components/filtermenu/filtermenu.js Co-authored-by: Cameron --- src/components/filtermenu/filtermenu.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index 0ed19f85c..0e229a804 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -102,9 +102,7 @@ function onInputCommand(e) { } function saveValues(context, settings, settingsKey) { var elems = context.querySelectorAll('.simpleFilter'); - var i; - var length; - for (i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (elems[i].tagName === 'INPUT') { setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]); } else { From 3e8ebe28b96e69be3f3eb3501d6c1ab839523ea1 Mon Sep 17 00:00:00 2001 From: Matt Strayer Date: Tue, 11 Aug 2020 16:51:43 -0400 Subject: [PATCH 4/5] add lets to for loops --- src/components/filtermenu/filtermenu.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index 0e229a804..637214a87 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -63,7 +63,7 @@ function moveCheckboxFocus(elem, offset) { var elems = focusManager.getFocusableElements(parent); var index = -1; - for (var i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (elems[i] === elem) { index = i; break; @@ -114,7 +114,7 @@ function saveValues(context, settings, settingsKey) { var videoTypes = []; elems = context.querySelectorAll('.chkVideoTypeFilter'); - for (i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (elems[i].checked) { videoTypes.push(elems[i].getAttribute('data-filter')); } @@ -125,7 +125,7 @@ function saveValues(context, settings, settingsKey) { var seriesStatuses = []; elems = context.querySelectorAll('.chkSeriesStatus'); - for (i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (elems[i].checked) { seriesStatuses.push(elems[i].getAttribute('data-filter')); } @@ -135,7 +135,7 @@ function saveValues(context, settings, settingsKey) { var genres = []; elems = context.querySelectorAll('.chkGenreFilter'); - for (i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (elems[i].checked) { genres.push(elems[i].getAttribute('data-filter')); } @@ -144,7 +144,7 @@ function saveValues(context, settings, settingsKey) { } function bindCheckboxInput(context, on) { var elems = context.querySelectorAll('.checkboxList-verticalwrap'); - for (var i = 0, length = elems.length; i < length; i++) { + for (let i = 0, length = elems.length; i < length; i++) { if (on) { inputManager.on(elems[i], onInputCommand); } else { @@ -238,7 +238,7 @@ class FilterMenu { dlg.innerHTML = globalize.translateHtml(html, 'core'); var settingElements = dlg.querySelectorAll('.viewSetting'); - for (var i = 0, length = settingElements.length; i < length; i++) { + for (let i = 0, length = settingElements.length; i < length; i++) { if (options.visibleSettings.indexOf(settingElements[i].getAttribute('data-settingname')) === -1) { settingElements[i].classList.add('hide'); } else { From 25b343ac32128968a4d6815f862a7e52e9f40435 Mon Sep 17 00:00:00 2001 From: Matt Strayer Date: Wed, 12 Aug 2020 09:33:15 -0400 Subject: [PATCH 5/5] re-add newline --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e1ec7750f..cbfe99801 100644 --- a/package.json +++ b/package.json @@ -375,4 +375,4 @@ "lint": "eslint \".\"", "stylelint": "stylelint \"src/**/*.css\"" } -} \ No newline at end of file +}