From c779035a75c67c586d03d9b5e345934350a36bed Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Tue, 18 Jun 2024 05:00:20 +0300 Subject: [PATCH 1/5] Add Filter Status Indicator --- .../filterdialog/filterIndicator.js | 50 +++++++++++++++++++ .../filterdialog/filterIndicator.scss | 25 ++++++++++ src/controllers/livetv/livetvchannels.js | 4 ++ src/controllers/movies/movies.js | 4 ++ src/controllers/movies/movietrailers.js | 4 ++ src/controllers/music/musicalbums.js | 4 ++ src/controllers/music/musicartists.js | 4 ++ src/controllers/music/songs.js | 4 ++ src/controllers/shows/episodes.js | 4 ++ src/controllers/shows/tvshows.js | 4 ++ 10 files changed, 107 insertions(+) create mode 100644 src/components/filterdialog/filterIndicator.js create mode 100644 src/components/filterdialog/filterIndicator.scss diff --git a/src/components/filterdialog/filterIndicator.js b/src/components/filterdialog/filterIndicator.js new file mode 100644 index 0000000000..ac70b512d5 --- /dev/null +++ b/src/components/filterdialog/filterIndicator.js @@ -0,0 +1,50 @@ +import './filterIndicator.scss'; + +export function getFilterStatus(query) { + return Boolean( + query.Filters + || query.VideoTypes + || query.SeriesStatus + || query.Is4K + || (query.IsHD !== undefined && query.IsHD !== null) + || query.IsSD + || query.Is3D + || query.HasSubtitles + || query.HasTrailer + || query.HasSpecialFeature + || query.HasThemeSong + || query.HasThemeVideo + || query.IsMissing + || query.ParentIndexNumber + || query.Genres + || query.Tags + || query.Years + || query.OfficialRatings + || query.IsUnaired + ); +} + +export function setFilterStatus(page, hasFilters) { + const btnFilter = page.querySelector('.btnFilter'); + + if (btnFilter) { + let indicatorElem = btnFilter.querySelector('.filterIndicator'); + + if (!indicatorElem && hasFilters) { + btnFilter.insertAdjacentHTML( + 'beforeend', + '
!
' + ); + btnFilter.classList.add('btnFilterWithIndicator'); + indicatorElem = btnFilter.querySelector('.filterIndicator'); + } + + if (indicatorElem) { + if (hasFilters) { + indicatorElem.classList.remove('hide'); + } else { + indicatorElem.classList.add('hide'); + } + } + } +} diff --git a/src/components/filterdialog/filterIndicator.scss b/src/components/filterdialog/filterIndicator.scss new file mode 100644 index 0000000000..922099384e --- /dev/null +++ b/src/components/filterdialog/filterIndicator.scss @@ -0,0 +1,25 @@ +.btnFilterWithIndicator { + position: relative; +} + +.btnFilterWithIndicator > div { + margin-left: 3px; +} + +.filterIndicator { + color: #fff; + position: absolute; + top: -7px; + right: 0; + width: 1.6em; + height: 1.6em; + z-index: 100000000; + display: flex; + align-items: center; + justify-content: center; + font-size: 45%; + border-radius: 100em; + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); + background: #03a9f4; + font-weight: bold; +} diff --git a/src/controllers/livetv/livetvchannels.js b/src/controllers/livetv/livetvchannels.js index 3dc1d04c97..3ad4538cbd 100644 --- a/src/controllers/livetv/livetvchannels.js +++ b/src/controllers/livetv/livetvchannels.js @@ -4,6 +4,7 @@ import libraryBrowser from '../../scripts/libraryBrowser'; import loading from '../../components/loading/loading'; import * as userSettings from '../../scripts/settings/userSettings'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -117,6 +118,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(context, hasFilters); + const apiClient = ApiClient; query.UserId = apiClient.getCurrentUserId(); return apiClient.getLiveTvChannels(query).then(function (result) { diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index 96e7e89c5c..58be2f68c4 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -7,6 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; import { playbackManager } from '../../components/playback/playbackmanager'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -39,6 +40,9 @@ export default function (view, params, tabContent, options) { } const afterRefresh = (result) => { + const hasFilters = getFilterStatus(query); + setFilterStatus(tabContent, hasFilters); + function onNextPageClick() { if (isLoading) { return; diff --git a/src/controllers/movies/movietrailers.js b/src/controllers/movies/movietrailers.js index 1993f07c37..7c12756d65 100644 --- a/src/controllers/movies/movietrailers.js +++ b/src/controllers/movies/movietrailers.js @@ -7,6 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -52,6 +53,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(tabContent, hasFilters); + ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() { if (isLoading) { diff --git a/src/controllers/music/musicalbums.js b/src/controllers/music/musicalbums.js index 42d4ad2dc8..67c4ac3b6a 100644 --- a/src/controllers/music/musicalbums.js +++ b/src/controllers/music/musicalbums.js @@ -8,6 +8,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -83,6 +84,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(tabContent, hasFilters); + ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() { if (isLoading) { diff --git a/src/controllers/music/musicartists.js b/src/controllers/music/musicartists.js index 3ae5d05d3e..9c9856f42c 100644 --- a/src/controllers/music/musicartists.js +++ b/src/controllers/music/musicartists.js @@ -6,6 +6,7 @@ import listView from '../../components/listview/listview'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -67,6 +68,9 @@ export default function (view, params, tabContent, options) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(tabContent, hasFilters); + const promise = options.mode == 'albumartists' ? ApiClient.getAlbumArtists(ApiClient.getCurrentUserId(), query) : ApiClient.getArtists(ApiClient.getCurrentUserId(), query); diff --git a/src/controllers/music/songs.js b/src/controllers/music/songs.js index 277f02a9ce..bbeea5ea60 100644 --- a/src/controllers/music/songs.js +++ b/src/controllers/music/songs.js @@ -8,6 +8,7 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Dashboard from '../../utils/dashboard'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -53,6 +54,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(tabContent, hasFilters); + ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) { function onNextPageClick() { if (isLoading) { diff --git a/src/controllers/shows/episodes.js b/src/controllers/shows/episodes.js index 3cf5779968..6b6b0386c2 100644 --- a/src/controllers/shows/episodes.js +++ b/src/controllers/shows/episodes.js @@ -7,6 +7,7 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Dashboard from '../../utils/dashboard'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -69,6 +70,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(page, hasFilters); + ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) { function onNextPageClick() { if (isLoading) { diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js index cb857dfd75..aa02d8df62 100644 --- a/src/controllers/shows/tvshows.js +++ b/src/controllers/shows/tvshows.js @@ -7,6 +7,7 @@ import AlphaPicker from '../../components/alphaPicker/alphaPicker'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; +import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -68,6 +69,9 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); + const hasFilters = getFilterStatus(query); + setFilterStatus(page, hasFilters); + ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() { if (isLoading) { From 7074d41a56f237418747f094ea9f01779389bd2e Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Tue, 18 Jun 2024 05:30:42 +0300 Subject: [PATCH 2/5] Fix save library filter state --- src/controllers/movies/movies.js | 1 + src/scripts/settings/userSettings.js | 11 +---------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index 58be2f68c4..439e93410a 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -301,6 +301,7 @@ export default function (view, params, tabContent, options) { }); Events.on(filterDialog, 'filterchange', () => { query.StartIndex = 0; + userSettings.saveQuerySettings(savedQueryKey, query); itemsContainer.refreshItems(); }); filterDialog.show(); diff --git a/src/scripts/settings/userSettings.js b/src/scripts/settings/userSettings.js index f83f313415..367566a6c8 100644 --- a/src/scripts/settings/userSettings.js +++ b/src/scripts/settings/userSettings.js @@ -523,16 +523,7 @@ export class UserSettings { * @param {Object} query - Query. */ saveQuerySettings(key, query) { - const values = {}; - if (query.SortBy) { - values.SortBy = query.SortBy; - } - - if (query.SortOrder) { - values.SortOrder = query.SortOrder; - } - - return this.set(key, JSON.stringify(values)); + return this.set(key, JSON.stringify(query)); } /** From f6a29d868a382c9dfcadb7716b90c907bb1bd46e Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sun, 23 Jun 2024 04:00:10 +0300 Subject: [PATCH 3/5] use toggle class --- src/components/filterdialog/filterIndicator.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/components/filterdialog/filterIndicator.js b/src/components/filterdialog/filterIndicator.js index ac70b512d5..dd4f265e4e 100644 --- a/src/components/filterdialog/filterIndicator.js +++ b/src/components/filterdialog/filterIndicator.js @@ -40,11 +40,7 @@ export function setFilterStatus(page, hasFilters) { } if (indicatorElem) { - if (hasFilters) { - indicatorElem.classList.remove('hide'); - } else { - indicatorElem.classList.add('hide'); - } + indicatorElem.classList.toggle('hide', !hasFilters); } } } From 5d2b614865af92980e385f90abe3d04ba46328c1 Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Sat, 17 Aug 2024 01:55:30 +0300 Subject: [PATCH 4/5] Add btnFilter-wrapper to fix hover styling Co-authored-by: Bill Thornton --- src/components/filterdialog/filterIndicator.js | 15 ++++++++------- src/components/filterdialog/filterIndicator.scss | 16 ++++++---------- src/controllers/livetv.html | 4 +++- src/controllers/movies/movies.html | 8 ++++++-- src/controllers/music/music.html | 16 ++++++++++++---- src/controllers/shows/tvrecommended.html | 8 ++++++-- 6 files changed, 41 insertions(+), 26 deletions(-) diff --git a/src/components/filterdialog/filterIndicator.js b/src/components/filterdialog/filterIndicator.js index dd4f265e4e..08aa709223 100644 --- a/src/components/filterdialog/filterIndicator.js +++ b/src/components/filterdialog/filterIndicator.js @@ -3,6 +3,7 @@ import './filterIndicator.scss'; export function getFilterStatus(query) { return Boolean( query.Filters + || query.IsFavorite || query.VideoTypes || query.SeriesStatus || query.Is4K @@ -25,18 +26,18 @@ export function getFilterStatus(query) { } export function setFilterStatus(page, hasFilters) { - const btnFilter = page.querySelector('.btnFilter'); + const btnFilterWrapper = page.querySelector('.btnFilter-wrapper'); - if (btnFilter) { - let indicatorElem = btnFilter.querySelector('.filterIndicator'); + if (btnFilterWrapper) { + let indicatorElem = btnFilterWrapper.querySelector('.filterIndicator'); if (!indicatorElem && hasFilters) { - btnFilter.insertAdjacentHTML( - 'beforeend', + btnFilterWrapper.insertAdjacentHTML( + 'afterbegin', '
!
' ); - btnFilter.classList.add('btnFilterWithIndicator'); - indicatorElem = btnFilter.querySelector('.filterIndicator'); + btnFilterWrapper.classList.add('btnFilterWithIndicator'); + indicatorElem = btnFilterWrapper.querySelector('.filterIndicator'); } if (indicatorElem) { diff --git a/src/components/filterdialog/filterIndicator.scss b/src/components/filterdialog/filterIndicator.scss index 922099384e..fa5c1b9010 100644 --- a/src/components/filterdialog/filterIndicator.scss +++ b/src/components/filterdialog/filterIndicator.scss @@ -2,22 +2,18 @@ position: relative; } -.btnFilterWithIndicator > div { - margin-left: 3px; -} - .filterIndicator { color: #fff; position: absolute; - top: -7px; - right: 0; - width: 1.6em; - height: 1.6em; - z-index: 100000000; + top: 2px; + right: 2px; + width: 1.8em; + height: 1.8em; + z-index: 1; display: flex; align-items: center; justify-content: center; - font-size: 45%; + font-size: 60%; border-radius: 100em; box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); background: #03a9f4; diff --git a/src/controllers/livetv.html b/src/controllers/livetv.html index f60ade03dc..a490b9c3ad 100644 --- a/src/controllers/livetv.html +++ b/src/controllers/livetv.html @@ -61,7 +61,9 @@
- +
+ +
diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html index 7a08694b2a..d2f2cb42bc 100644 --- a/src/controllers/movies/movies.html +++ b/src/controllers/movies/movies.html @@ -6,7 +6,9 @@ - +
+ +
@@ -48,7 +50,9 @@
- +
+ +
diff --git a/src/controllers/music/music.html b/src/controllers/music/music.html index aad1fe545d..5ba1c72d17 100644 --- a/src/controllers/music/music.html +++ b/src/controllers/music/music.html @@ -15,7 +15,9 @@ - +
+ +
@@ -57,7 +59,9 @@
- +
+ +
@@ -73,7 +77,9 @@
- +
+ +
@@ -94,7 +100,9 @@
- +
+ +
diff --git a/src/controllers/shows/tvrecommended.html b/src/controllers/shows/tvrecommended.html index a46d72ae9c..3b0e18255b 100644 --- a/src/controllers/shows/tvrecommended.html +++ b/src/controllers/shows/tvrecommended.html @@ -5,7 +5,9 @@
- +
+ +
@@ -59,7 +61,9 @@
- +
+ +
From f323203012c2aa5a06d52e627e5177ce48ee7bdd Mon Sep 17 00:00:00 2001 From: grafixeyehero Date: Tue, 20 Aug 2024 23:36:42 +0300 Subject: [PATCH 5/5] apply suggestion Co-authored-by: Bill Thornton --- src/components/filterdialog/filterIndicator.js | 6 ++++-- src/controllers/livetv/livetvchannels.js | 5 ++--- src/controllers/movies/movies.js | 5 ++--- src/controllers/movies/movietrailers.js | 5 ++--- src/controllers/music/musicalbums.js | 5 ++--- src/controllers/music/musicartists.js | 5 ++--- src/controllers/music/songs.js | 5 ++--- src/controllers/shows/episodes.js | 5 ++--- src/controllers/shows/tvshows.js | 5 ++--- 9 files changed, 20 insertions(+), 26 deletions(-) diff --git a/src/components/filterdialog/filterIndicator.js b/src/components/filterdialog/filterIndicator.js index 08aa709223..5686aef579 100644 --- a/src/components/filterdialog/filterIndicator.js +++ b/src/components/filterdialog/filterIndicator.js @@ -1,6 +1,6 @@ import './filterIndicator.scss'; -export function getFilterStatus(query) { +function getFilterStatus(query) { return Boolean( query.Filters || query.IsFavorite @@ -25,7 +25,9 @@ export function getFilterStatus(query) { ); } -export function setFilterStatus(page, hasFilters) { +export function setFilterStatus(page, query) { + const hasFilters = getFilterStatus(query); + const btnFilterWrapper = page.querySelector('.btnFilter-wrapper'); if (btnFilterWrapper) { diff --git a/src/controllers/livetv/livetvchannels.js b/src/controllers/livetv/livetvchannels.js index 3ad4538cbd..f0df9b8f05 100644 --- a/src/controllers/livetv/livetvchannels.js +++ b/src/controllers/livetv/livetvchannels.js @@ -4,7 +4,7 @@ import libraryBrowser from '../../scripts/libraryBrowser'; import loading from '../../components/loading/loading'; import * as userSettings from '../../scripts/settings/userSettings'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -118,8 +118,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(context, hasFilters); + setFilterStatus(context, query); const apiClient = ApiClient; query.UserId = apiClient.getCurrentUserId(); diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index 439e93410a..717d197e74 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -7,7 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; import { playbackManager } from '../../components/playback/playbackmanager'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -40,8 +40,7 @@ export default function (view, params, tabContent, options) { } const afterRefresh = (result) => { - const hasFilters = getFilterStatus(query); - setFilterStatus(tabContent, hasFilters); + setFilterStatus(tabContent, query); function onNextPageClick() { if (isLoading) { diff --git a/src/controllers/movies/movietrailers.js b/src/controllers/movies/movietrailers.js index 7c12756d65..9607bbc7c6 100644 --- a/src/controllers/movies/movietrailers.js +++ b/src/controllers/movies/movietrailers.js @@ -7,7 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -53,8 +53,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(tabContent, hasFilters); + setFilterStatus(tabContent, query); ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() { diff --git a/src/controllers/music/musicalbums.js b/src/controllers/music/musicalbums.js index 67c4ac3b6a..6f11aaf10c 100644 --- a/src/controllers/music/musicalbums.js +++ b/src/controllers/music/musicalbums.js @@ -8,7 +8,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -84,8 +84,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(tabContent, hasFilters); + setFilterStatus(tabContent, query); ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() { diff --git a/src/controllers/music/musicartists.js b/src/controllers/music/musicartists.js index 9c9856f42c..f48543ad22 100644 --- a/src/controllers/music/musicartists.js +++ b/src/controllers/music/musicartists.js @@ -6,7 +6,7 @@ import listView from '../../components/listview/listview'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import * as userSettings from '../../scripts/settings/userSettings'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -68,8 +68,7 @@ export default function (view, params, tabContent, options) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(tabContent, hasFilters); + setFilterStatus(tabContent, query); const promise = options.mode == 'albumartists' ? ApiClient.getAlbumArtists(ApiClient.getCurrentUserId(), query) : diff --git a/src/controllers/music/songs.js b/src/controllers/music/songs.js index bbeea5ea60..bd2904ad07 100644 --- a/src/controllers/music/songs.js +++ b/src/controllers/music/songs.js @@ -8,7 +8,7 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Dashboard from '../../utils/dashboard'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -54,8 +54,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(tabContent, hasFilters); + setFilterStatus(tabContent, query); ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) { function onNextPageClick() { diff --git a/src/controllers/shows/episodes.js b/src/controllers/shows/episodes.js index 6b6b0386c2..3fdeefcda8 100644 --- a/src/controllers/shows/episodes.js +++ b/src/controllers/shows/episodes.js @@ -7,7 +7,7 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Dashboard from '../../utils/dashboard'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -70,8 +70,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(page, hasFilters); + setFilterStatus(page, query); ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) { function onNextPageClick() { diff --git a/src/controllers/shows/tvshows.js b/src/controllers/shows/tvshows.js index aa02d8df62..6ffdfa1dfd 100644 --- a/src/controllers/shows/tvshows.js +++ b/src/controllers/shows/tvshows.js @@ -7,7 +7,7 @@ import AlphaPicker from '../../components/alphaPicker/alphaPicker'; import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../lib/globalize'; import Events from '../../utils/events.ts'; -import { getFilterStatus, setFilterStatus } from 'components/filterdialog/filterIndicator'; +import { setFilterStatus } from 'components/filterdialog/filterIndicator'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; @@ -69,8 +69,7 @@ export default function (view, params, tabContent) { loading.show(); isLoading = true; const query = getQuery(); - const hasFilters = getFilterStatus(query); - setFilterStatus(page, hasFilters); + setFilterStatus(page, query); ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => { function onNextPageClick() {