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

Fix changing filters not resetting multiselected media cards

This commit is contained in:
Connor Smith 2024-04-07 11:13:51 -04:00
parent 674b0b118f
commit 84e7b59e03
5 changed files with 11 additions and 2 deletions

View file

@ -88,6 +88,7 @@
- [David Angel](https://github.com/davidangel) - [David Angel](https://github.com/davidangel)
- [Pithaya](https://github.com/Pithaya) - [Pithaya](https://github.com/Pithaya)
- [Chaitanya Shahare](https://github.com/Chaitanya-Shahare) - [Chaitanya Shahare](https://github.com/Chaitanya-Shahare)
- [Connor Smith](https://github.com/ConnorS1110)
## Emby Contributors ## Emby Contributors

View file

@ -7,6 +7,7 @@ import '../../elements/emby-collapse/emby-collapse';
import './style.scss'; import './style.scss';
import ServerConnections from '../ServerConnections'; import ServerConnections from '../ServerConnections';
import template from './filterdialog.template.html'; import template from './filterdialog.template.html';
import { stopMultiSelect } from '../../components/multiSelect/multiSelect';
function renderOptions(context, selector, cssClass, items, isCheckedFn) { function renderOptions(context, selector, cssClass, items, isCheckedFn) {
const elem = context.querySelector(selector); const elem = context.querySelector(selector);
@ -104,6 +105,7 @@ function updateFilterControls(context, options) {
* @param instance {FilterDialog} An instance of FilterDialog * @param instance {FilterDialog} An instance of FilterDialog
*/ */
function triggerChange(instance) { function triggerChange(instance) {
stopMultiSelect();
Events.trigger(instance, 'filterchange'); Events.trigger(instance, 'filterchange');
} }

View file

@ -571,3 +571,7 @@ export default function (options) {
export const startMultiSelect = (card) => { export const startMultiSelect = (card) => {
showSelections(card); showSelections(card);
}; };
export const stopMultiSelect = () => {
hideSelections();
};

View file

@ -14,6 +14,7 @@ import ServerConnections from '../components/ServerConnections';
import LibraryMenu from '../scripts/libraryMenu'; import LibraryMenu from '../scripts/libraryMenu';
import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collection-type'; import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collection-type';
import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by'; import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by';
import { stopMultiSelect } from 'components/multiSelect/multiSelect';
function getInitialLiveTvQuery(instance, params, startIndex = 0, limit = 300) { function getInitialLiveTvQuery(instance, params, startIndex = 0, limit = 300) {
const query = { const query = {
@ -1139,6 +1140,9 @@ class ItemsView {
setFilterStatus(hasFilters) { setFilterStatus(hasFilters) {
this.hasFilters = hasFilters; this.hasFilters = hasFilters;
if (this.hasFilters) {
stopMultiSelect();
}
const filterButtons = this.filterButtons; const filterButtons = this.filterButtons;
if (filterButtons.length) { if (filterButtons.length) {
@ -1301,4 +1305,3 @@ class ItemsView {
} }
export default ItemsView; export default ItemsView;

View file

@ -321,4 +321,3 @@ export default function (view, params, tabContent, options) {
itemsContainer = null; itemsContainer = null;
}; };
} }