mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #5717 from grafixeyehero/Add-filter-status-Indicator-legacy
Add filter status indicator
This commit is contained in:
commit
31fbc08269
15 changed files with 123 additions and 19 deletions
49
src/components/filterdialog/filterIndicator.js
Normal file
49
src/components/filterdialog/filterIndicator.js
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
import './filterIndicator.scss';
|
||||||
|
|
||||||
|
function getFilterStatus(query) {
|
||||||
|
return Boolean(
|
||||||
|
query.Filters
|
||||||
|
|| query.IsFavorite
|
||||||
|
|| 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, query) {
|
||||||
|
const hasFilters = getFilterStatus(query);
|
||||||
|
|
||||||
|
const btnFilterWrapper = page.querySelector('.btnFilter-wrapper');
|
||||||
|
|
||||||
|
if (btnFilterWrapper) {
|
||||||
|
let indicatorElem = btnFilterWrapper.querySelector('.filterIndicator');
|
||||||
|
|
||||||
|
if (!indicatorElem && hasFilters) {
|
||||||
|
btnFilterWrapper.insertAdjacentHTML(
|
||||||
|
'afterbegin',
|
||||||
|
'<div class="filterIndicator">!</div>'
|
||||||
|
);
|
||||||
|
btnFilterWrapper.classList.add('btnFilterWithIndicator');
|
||||||
|
indicatorElem = btnFilterWrapper.querySelector('.filterIndicator');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (indicatorElem) {
|
||||||
|
indicatorElem.classList.toggle('hide', !hasFilters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
21
src/components/filterdialog/filterIndicator.scss
Normal file
21
src/components/filterdialog/filterIndicator.scss
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
.btnFilterWithIndicator {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.filterIndicator {
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 2px;
|
||||||
|
right: 2px;
|
||||||
|
width: 1.8em;
|
||||||
|
height: 1.8em;
|
||||||
|
z-index: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
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;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
|
@ -61,8 +61,10 @@
|
||||||
<div class="pageTabContent" id="channelsTab" data-index="2">
|
<div class="pageTabContent" id="channelsTab" data-index="2">
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter sectionTitleButton" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter sectionTitleButton" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div is="emby-itemscontainer" id="items" class="itemsContainer vertical-wrap padded-left padded-right"></div>
|
<div is="emby-itemscontainer" id="items" class="itemsContainer vertical-wrap padded-left padded-right"></div>
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
|
|
|
@ -4,6 +4,7 @@ import libraryBrowser from '../../scripts/libraryBrowser';
|
||||||
import loading from '../../components/loading/loading';
|
import loading from '../../components/loading/loading';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -117,6 +118,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(context, query);
|
||||||
|
|
||||||
const apiClient = ApiClient;
|
const apiClient = ApiClient;
|
||||||
query.UserId = apiClient.getCurrentUserId();
|
query.UserId = apiClient.getCurrentUserId();
|
||||||
return apiClient.getLiveTvChannels(query).then(function (result) {
|
return apiClient.getLiveTvChannels(query).then(function (result) {
|
||||||
|
|
|
@ -6,8 +6,10 @@
|
||||||
<button is="paper-icon-button-light" class="btnShuffle autoSize hide" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnShuffle autoSize hide" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
||||||
</div>
|
</div>
|
||||||
|
@ -48,8 +50,10 @@
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-fixed-right alphaPicker-vertical">
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-fixed-right alphaPicker-vertical">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,6 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
import { playbackManager } from '../../components/playback/playbackmanager';
|
import { playbackManager } from '../../components/playback/playbackmanager';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -39,6 +40,8 @@ export default function (view, params, tabContent, options) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const afterRefresh = (result) => {
|
const afterRefresh = (result) => {
|
||||||
|
setFilterStatus(tabContent, query);
|
||||||
|
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
return;
|
return;
|
||||||
|
@ -297,6 +300,7 @@ export default function (view, params, tabContent, options) {
|
||||||
});
|
});
|
||||||
Events.on(filterDialog, 'filterchange', () => {
|
Events.on(filterDialog, 'filterchange', () => {
|
||||||
query.StartIndex = 0;
|
query.StartIndex = 0;
|
||||||
|
userSettings.saveQuerySettings(savedQueryKey, query);
|
||||||
itemsContainer.refreshItems();
|
itemsContainer.refreshItems();
|
||||||
});
|
});
|
||||||
filterDialog.show();
|
filterDialog.show();
|
||||||
|
|
|
@ -7,6 +7,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -52,6 +53,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(tabContent, query);
|
||||||
|
|
||||||
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|
|
@ -15,8 +15,10 @@
|
||||||
<button is="paper-icon-button-light" class="btnShuffle musicglobalButton" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnShuffle musicglobalButton" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
||||||
</div>
|
</div>
|
||||||
|
@ -57,8 +59,10 @@
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
||||||
</div>
|
</div>
|
||||||
|
@ -73,8 +77,10 @@
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical">
|
||||||
</div>
|
</div>
|
||||||
|
@ -94,8 +100,10 @@
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnShuffle autoSize" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnShuffle autoSize" title="${Shuffle}"><span class="material-icons shuffle" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div is="emby-itemscontainer" id="items" class="itemsContainer vertical-list" style="max-width:67.5em;margin: 0 auto;"></div>
|
<div is="emby-itemscontainer" id="items" class="itemsContainer vertical-list" style="max-width:67.5em;margin: 0 auto;"></div>
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -83,6 +84,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(tabContent, query);
|
||||||
|
|
||||||
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import listView from '../../components/listview/listview';
|
||||||
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -67,6 +68,8 @@ export default function (view, params, tabContent, options) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(tabContent, query);
|
||||||
|
|
||||||
const promise = options.mode == 'albumartists' ?
|
const promise = options.mode == 'albumartists' ?
|
||||||
ApiClient.getAlbumArtists(ApiClient.getCurrentUserId(), query) :
|
ApiClient.getAlbumArtists(ApiClient.getCurrentUserId(), query) :
|
||||||
ApiClient.getArtists(ApiClient.getCurrentUserId(), query);
|
ApiClient.getArtists(ApiClient.getCurrentUserId(), query);
|
||||||
|
|
|
@ -8,6 +8,7 @@ import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Dashboard from '../../utils/dashboard';
|
import Dashboard from '../../utils/dashboard';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -53,6 +54,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(tabContent, query);
|
||||||
|
|
||||||
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
|
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Dashboard from '../../utils/dashboard';
|
import Dashboard from '../../utils/dashboard';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -69,6 +70,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(page, query);
|
||||||
|
|
||||||
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
|
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|
|
@ -5,8 +5,10 @@
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div is="emby-itemscontainer" class="itemsContainer padded-left padded-right"></div>
|
<div is="emby-itemscontainer" class="itemsContainer padded-left padded-right"></div>
|
||||||
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical"></div>
|
<div class="alphaPicker alphaPicker-fixed alphaPicker-vertical"></div>
|
||||||
|
@ -59,8 +61,10 @@
|
||||||
<div class="paging"></div>
|
<div class="paging"></div>
|
||||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy" aria-hidden="true"></span></button>
|
||||||
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha" aria-hidden="true"></span></button>
|
||||||
|
<div class="btnFilter-wrapper">
|
||||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list" aria-hidden="true"></span></button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div is="emby-itemscontainer" class="itemsContainer vertical-wrap padded-left padded-right">
|
<div is="emby-itemscontainer" class="itemsContainer vertical-wrap padded-left padded-right">
|
||||||
</div>
|
</div>
|
||||||
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
<div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom focuscontainer-x">
|
||||||
|
|
|
@ -7,6 +7,7 @@ import AlphaPicker from '../../components/alphaPicker/alphaPicker';
|
||||||
import * as userSettings from '../../scripts/settings/userSettings';
|
import * as userSettings from '../../scripts/settings/userSettings';
|
||||||
import globalize from '../../lib/globalize';
|
import globalize from '../../lib/globalize';
|
||||||
import Events from '../../utils/events.ts';
|
import Events from '../../utils/events.ts';
|
||||||
|
import { setFilterStatus } from 'components/filterdialog/filterIndicator';
|
||||||
|
|
||||||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||||
|
|
||||||
|
@ -68,6 +69,8 @@ export default function (view, params, tabContent) {
|
||||||
loading.show();
|
loading.show();
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
const query = getQuery();
|
const query = getQuery();
|
||||||
|
setFilterStatus(page, query);
|
||||||
|
|
||||||
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
ApiClient.getItems(ApiClient.getCurrentUserId(), query).then((result) => {
|
||||||
function onNextPageClick() {
|
function onNextPageClick() {
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|
|
@ -523,16 +523,7 @@ export class UserSettings {
|
||||||
* @param {Object} query - Query.
|
* @param {Object} query - Query.
|
||||||
*/
|
*/
|
||||||
saveQuerySettings(key, query) {
|
saveQuerySettings(key, query) {
|
||||||
const values = {};
|
return this.set(key, JSON.stringify(query));
|
||||||
if (query.SortBy) {
|
|
||||||
values.SortBy = query.SortBy;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (query.SortOrder) {
|
|
||||||
values.SortOrder = query.SortOrder;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.set(key, JSON.stringify(values));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue