mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #4836 from dmitrylyzo/fix-filtermenu
Fix FilterMenu not saving simple filters
This commit is contained in:
commit
fee65687c3
1 changed files with 17 additions and 25 deletions
|
@ -103,37 +103,29 @@ function onInputCommand(e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function saveValues(context, settings, settingsKey, setfilters) {
|
function saveValues(context, settings, settingsKey, setfilters) {
|
||||||
let elems = context.querySelectorAll('.simpleFilter');
|
|
||||||
|
|
||||||
// Video type
|
// Video type
|
||||||
const videoTypes = [];
|
const videoTypes = [];
|
||||||
elems = context.querySelectorAll('.chkVideoTypeFilter');
|
context.querySelectorAll('.chkVideoTypeFilter').forEach(elem => {
|
||||||
|
if (elem.checked) {
|
||||||
for (let i = 0, length = elems.length; i < length; i++) {
|
videoTypes.push(elem.getAttribute('data-filter'));
|
||||||
if (elems[i].checked) {
|
|
||||||
videoTypes.push(elems[i].getAttribute('data-filter'));
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
// Series status
|
// Series status
|
||||||
const seriesStatuses = [];
|
const seriesStatuses = [];
|
||||||
elems = context.querySelectorAll('.chkSeriesStatus');
|
context.querySelectorAll('.chkSeriesStatus').forEach(elem => {
|
||||||
|
if (elem.checked) {
|
||||||
for (let i = 0, length = elems.length; i < length; i++) {
|
seriesStatuses.push(elem.getAttribute('data-filter'));
|
||||||
if (elems[i].checked) {
|
|
||||||
seriesStatuses.push(elems[i].getAttribute('data-filter'));
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
// Genres
|
// Genres
|
||||||
const genres = [];
|
const genres = [];
|
||||||
elems = context.querySelectorAll('.chkGenreFilter');
|
context.querySelectorAll('.chkGenreFilter').forEach(elem => {
|
||||||
|
if (elem.checked) {
|
||||||
for (let i = 0, length = elems.length; i < length; i++) {
|
genres.push(elem.getAttribute('data-filter'));
|
||||||
if (elems[i].checked) {
|
|
||||||
genres.push(elems[i].getAttribute('data-filter'));
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
if (setfilters) {
|
if (setfilters) {
|
||||||
setfilters((prevState) => ({
|
setfilters((prevState) => ({
|
||||||
|
@ -157,13 +149,13 @@ function saveValues(context, settings, settingsKey, setfilters) {
|
||||||
GenreIds: genres.join(',')
|
GenreIds: genres.join(',')
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
for (let i = 0, length = elems.length; i < length; i++) {
|
context.querySelectorAll('.simpleFilter').forEach(elem => {
|
||||||
if (elems[i].tagName === 'INPUT') {
|
if (elem.tagName === 'INPUT') {
|
||||||
setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i]);
|
setBasicFilter(context, settingsKey + '-filter-' + elem.getAttribute('data-settingname'), elem);
|
||||||
} else {
|
} else {
|
||||||
setBasicFilter(context, settingsKey + '-filter-' + elems[i].getAttribute('data-settingname'), elems[i].querySelector('input'));
|
setBasicFilter(context, settingsKey + '-filter-' + elem.getAttribute('data-settingname'), elem.querySelector('input'));
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
userSettings.setFilter(settingsKey + '-filter-GenreIds', genres.join(','));
|
userSettings.setFilter(settingsKey + '-filter-GenreIds', genres.join(','));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue