mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
cleanup duplicate userSettings from libraryBrowser
This commit is contained in:
parent
d8c25b4594
commit
1825b821af
15 changed files with 147 additions and 196 deletions
|
@ -42,7 +42,7 @@ export default function (view, params, tabContent) {
|
|||
EnableImageTypes: 'Primary,Backdrop,Banner,Thumb',
|
||||
StartIndex: 0
|
||||
},
|
||||
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||
view: userSettings.getSavedView(key) || 'Poster'
|
||||
};
|
||||
|
||||
if (userSettings.libraryPageSize() > 0) {
|
||||
|
@ -50,7 +50,7 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
pageData.query.ParentId = params.topParentId;
|
||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||
userSettings.loadQuerySettings(key, pageData.query);
|
||||
}
|
||||
|
||||
return pageData;
|
||||
|
@ -61,11 +61,7 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
function getSavedQueryKey() {
|
||||
if (!savedQueryKey) {
|
||||
savedQueryKey = libraryBrowser.getSavedQueryKey('musicalbums');
|
||||
}
|
||||
|
||||
return savedQueryKey;
|
||||
return `${params.topParentId}-musicalbums`;
|
||||
}
|
||||
|
||||
const onViewStyleChange = () => {
|
||||
|
@ -174,7 +170,7 @@ export default function (view, params, tabContent) {
|
|||
const itemsContainer = tabContent.querySelector('.itemsContainer');
|
||||
itemsContainer.innerHTML = html;
|
||||
imageLoader.lazyChildren(itemsContainer);
|
||||
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
userSettings.saveQuerySettings(getSavedQueryKey(), query);
|
||||
loading.hide();
|
||||
isLoading = false;
|
||||
|
||||
|
@ -184,7 +180,6 @@ export default function (view, params, tabContent) {
|
|||
});
|
||||
};
|
||||
|
||||
let savedQueryKey;
|
||||
let pageData;
|
||||
let isLoading = false;
|
||||
|
||||
|
@ -280,7 +275,7 @@ export default function (view, params, tabContent) {
|
|||
btnSelectView.addEventListener('layoutchange', function (e) {
|
||||
const viewStyle = e.detail.viewStyle;
|
||||
getPageData().view = viewStyle;
|
||||
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
|
||||
userSettings.saveViewSetting(getSavedQueryKey(), viewStyle);
|
||||
getQuery().StartIndex = 0;
|
||||
onViewStyleChange();
|
||||
reloadItems();
|
||||
|
|
|
@ -10,8 +10,8 @@ import Events from '../../utils/events.ts';
|
|||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||
|
||||
export default function (view, params, tabContent) {
|
||||
function getPageData(context) {
|
||||
const key = getSavedQueryKey(context);
|
||||
function getPageData() {
|
||||
const key = getSavedQueryKey();
|
||||
let pageData = data[key];
|
||||
|
||||
if (!pageData) {
|
||||
|
@ -31,26 +31,22 @@ export default function (view, params, tabContent) {
|
|||
|
||||
pageData = data[key] = {
|
||||
query: queryValues,
|
||||
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||
view: userSettings.getSavedView(key) || 'Poster'
|
||||
};
|
||||
pageData.query.ParentId = params.topParentId;
|
||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||
userSettings.loadQuerySettings(key, pageData.query);
|
||||
}
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
function getQuery(context) {
|
||||
return getPageData(context).query;
|
||||
function getQuery() {
|
||||
return getPageData().query;
|
||||
}
|
||||
|
||||
const getSavedQueryKey = (context) => {
|
||||
if (!context.savedQueryKey) {
|
||||
context.savedQueryKey = libraryBrowser.getSavedQueryKey(this.mode);
|
||||
}
|
||||
|
||||
return context.savedQueryKey;
|
||||
};
|
||||
function getSavedQueryKey() {
|
||||
return `${params.topParentId}-${this.mode}`;
|
||||
}
|
||||
|
||||
const onViewStyleChange = () => {
|
||||
const viewStyle = this.getCurrentViewStyle();
|
||||
|
@ -67,10 +63,10 @@ export default function (view, params, tabContent) {
|
|||
itemsContainer.innerHTML = '';
|
||||
};
|
||||
|
||||
const reloadItems = (page) => {
|
||||
const reloadItems = () => {
|
||||
loading.show();
|
||||
isLoading = true;
|
||||
const query = getQuery(page);
|
||||
const query = getQuery();
|
||||
const promise = this.mode == 'albumartists' ?
|
||||
ApiClient.getAlbumArtists(ApiClient.getCurrentUserId(), query) :
|
||||
ApiClient.getArtists(ApiClient.getCurrentUserId(), query);
|
||||
|
@ -83,7 +79,7 @@ export default function (view, params, tabContent) {
|
|||
if (userSettings.libraryPageSize() > 0) {
|
||||
query.StartIndex += query.Limit;
|
||||
}
|
||||
reloadItems(tabContent);
|
||||
reloadItems();
|
||||
}
|
||||
|
||||
function onPreviousPageClick() {
|
||||
|
@ -94,7 +90,7 @@ export default function (view, params, tabContent) {
|
|||
if (userSettings.libraryPageSize() > 0) {
|
||||
query.StartIndex = Math.max(0, query.StartIndex - query.Limit);
|
||||
}
|
||||
reloadItems(tabContent);
|
||||
reloadItems();
|
||||
}
|
||||
|
||||
window.scrollTo(0, 0);
|
||||
|
@ -156,7 +152,7 @@ export default function (view, params, tabContent) {
|
|||
const itemsContainer = tabContent.querySelector('.itemsContainer');
|
||||
itemsContainer.innerHTML = html;
|
||||
imageLoader.lazyChildren(itemsContainer);
|
||||
libraryBrowser.saveQueryValues(getSavedQueryKey(page), query);
|
||||
userSettings.saveQuerySettings(getSavedQueryKey(), query);
|
||||
loading.hide();
|
||||
isLoading = false;
|
||||
|
||||
|
@ -172,20 +168,20 @@ export default function (view, params, tabContent) {
|
|||
this.showFilterMenu = function () {
|
||||
import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
|
||||
const filterDialog = new FilterDialog({
|
||||
query: getQuery(tabContent),
|
||||
query: getQuery(),
|
||||
mode: this.mode,
|
||||
serverId: ApiClient.serverId()
|
||||
});
|
||||
Events.on(filterDialog, 'filterchange', function () {
|
||||
getQuery(tabContent).StartIndex = 0;
|
||||
reloadItems(tabContent);
|
||||
getQuery().StartIndex = 0;
|
||||
reloadItems();
|
||||
});
|
||||
filterDialog.show();
|
||||
});
|
||||
};
|
||||
|
||||
this.getCurrentViewStyle = function () {
|
||||
return getPageData(tabContent).view;
|
||||
return getPageData().view;
|
||||
};
|
||||
|
||||
const initPage = (tabElement) => {
|
||||
|
@ -194,7 +190,7 @@ export default function (view, params, tabContent) {
|
|||
|
||||
alphaPickerElement.addEventListener('alphavaluechanged', function (e) {
|
||||
const newValue = e.detail.value;
|
||||
const query = getQuery(tabElement);
|
||||
const query = getQuery();
|
||||
if (newValue === '#') {
|
||||
query.NameLessThan = 'A';
|
||||
delete query.NameStartsWith;
|
||||
|
@ -203,7 +199,7 @@ export default function (view, params, tabContent) {
|
|||
delete query.NameLessThan;
|
||||
}
|
||||
query.StartIndex = 0;
|
||||
reloadItems(tabElement);
|
||||
reloadItems();
|
||||
});
|
||||
this.alphaPicker = new AlphaPicker({
|
||||
element: alphaPickerElement,
|
||||
|
@ -223,11 +219,11 @@ export default function (view, params, tabContent) {
|
|||
});
|
||||
btnSelectView.addEventListener('layoutchange', function (e) {
|
||||
const viewStyle = e.detail.viewStyle;
|
||||
getPageData(tabElement).view = viewStyle;
|
||||
libraryBrowser.saveViewSetting(getSavedQueryKey(tabElement), viewStyle);
|
||||
getQuery(tabElement).StartIndex = 0;
|
||||
getPageData().view = viewStyle;
|
||||
userSettings.saveViewSetting(getSavedQueryKey(), viewStyle);
|
||||
getQuery().StartIndex = 0;
|
||||
onViewStyleChange();
|
||||
reloadItems(tabElement);
|
||||
reloadItems();
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -235,8 +231,8 @@ export default function (view, params, tabContent) {
|
|||
onViewStyleChange();
|
||||
|
||||
this.renderTab = () => {
|
||||
reloadItems(tabContent);
|
||||
this.alphaPicker?.updateControls(getQuery(tabContent));
|
||||
reloadItems();
|
||||
this.alphaPicker?.updateControls(getQuery());
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||
import * as userSettings from '../../scripts/settings/userSettings';
|
||||
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||
import imageLoader from '../../components/images/imageLoader';
|
||||
import loading from '../../components/loading/loading';
|
||||
|
@ -17,10 +17,10 @@ export default function (view, params, tabContent) {
|
|||
Fields: 'PrimaryImageAspectRatio,ItemCounts',
|
||||
StartIndex: 0
|
||||
},
|
||||
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||
view: userSettings.getSavedView(key) || 'Poster'
|
||||
};
|
||||
pageData.query.ParentId = params.topParentId;
|
||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||
userSettings.loadQuerySettings(key, pageData.query);
|
||||
}
|
||||
|
||||
return pageData;
|
||||
|
@ -31,7 +31,7 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
function getSavedQueryKey() {
|
||||
return libraryBrowser.getSavedQueryKey('genres');
|
||||
return `${params.topParentId}-genres`;
|
||||
}
|
||||
|
||||
function getPromise() {
|
||||
|
@ -87,7 +87,7 @@ export default function (view, params, tabContent) {
|
|||
const elem = context.querySelector('#items');
|
||||
elem.innerHTML = html;
|
||||
imageLoader.lazyChildren(elem);
|
||||
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
userSettings.saveQuerySettings(getSavedQueryKey(), query);
|
||||
loading.hide();
|
||||
|
||||
import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
|
||||
|
@ -113,7 +113,7 @@ export default function (view, params, tabContent) {
|
|||
|
||||
this.setCurrentViewStyle = function (viewStyle) {
|
||||
getPageData().view = viewStyle;
|
||||
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
|
||||
userSettings.saveViewSetting(getSavedQueryKey(), viewStyle);
|
||||
fullyReload();
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import libraryBrowser from '../../scripts/libraryBrowser';
|
||||
import * as userSettings from '../../scripts/settings/userSettings';
|
||||
import cardBuilder from '../../components/cardbuilder/cardBuilder';
|
||||
import imageLoader from '../../components/images/imageLoader';
|
||||
import loading from '../../components/loading/loading';
|
||||
|
@ -18,10 +18,10 @@ export default function (view, params, tabContent) {
|
|||
Fields: 'PrimaryImageAspectRatio,SortName,CanDelete',
|
||||
StartIndex: 0
|
||||
},
|
||||
view: libraryBrowser.getSavedView(key) || 'Poster'
|
||||
view: userSettings.getSavedView(key) || 'Poster'
|
||||
};
|
||||
pageData.query.ParentId = params.topParentId;
|
||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||
userSettings.loadQuerySettings(key, pageData.query);
|
||||
}
|
||||
|
||||
return pageData;
|
||||
|
@ -32,7 +32,7 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
function getSavedQueryKey() {
|
||||
return libraryBrowser.getSavedQueryKey('genres');
|
||||
return `${params.topParentId}-musicplaylists`;
|
||||
}
|
||||
|
||||
function getPromise() {
|
||||
|
@ -58,7 +58,7 @@ export default function (view, params, tabContent) {
|
|||
const elem = context.querySelector('#items');
|
||||
elem.innerHTML = html;
|
||||
imageLoader.lazyChildren(elem);
|
||||
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||
userSettings.saveQuerySettings(getSavedQueryKey(), query);
|
||||
loading.hide();
|
||||
|
||||
import('../../components/autoFocuser').then(({ default: autoFocuser }) => {
|
||||
|
|
|
@ -12,8 +12,8 @@ import Events from '../../utils/events.ts';
|
|||
import '../../elements/emby-itemscontainer/emby-itemscontainer';
|
||||
|
||||
export default function (view, params, tabContent) {
|
||||
function getPageData(context) {
|
||||
const key = getSavedQueryKey(context);
|
||||
function getPageData() {
|
||||
const key = getSavedQueryKey();
|
||||
let pageData = data[key];
|
||||
|
||||
if (!pageData) {
|
||||
|
@ -35,28 +35,24 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
pageData.query.ParentId = params.topParentId;
|
||||
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||
userSettings.loadQuerySettings(key, pageData.query);
|
||||
}
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
function getQuery(context) {
|
||||
return getPageData(context).query;
|
||||
function getQuery() {
|
||||
return getPageData().query;
|
||||
}
|
||||
|
||||
function getSavedQueryKey(context) {
|
||||
if (!context.savedQueryKey) {
|
||||
context.savedQueryKey = libraryBrowser.getSavedQueryKey('songs');
|
||||
}
|
||||
|
||||
return context.savedQueryKey;
|
||||
function getSavedQueryKey() {
|
||||
return `${params.topParentId}-songs`;
|
||||
}
|
||||
|
||||
function reloadItems(page) {
|
||||
loading.show();
|
||||
isLoading = true;
|
||||
const query = getQuery(page);
|
||||
const query = getQuery();
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), query).then(function (result) {
|
||||
function onNextPageClick() {
|
||||
if (isLoading) {
|
||||
|
@ -117,7 +113,7 @@ export default function (view, params, tabContent) {
|
|||
const itemsContainer = tabContent.querySelector('.itemsContainer');
|
||||
itemsContainer.innerHTML = html;
|
||||
imageLoader.lazyChildren(itemsContainer);
|
||||
libraryBrowser.saveQueryValues(getSavedQueryKey(page), query);
|
||||
userSettings.saveQuerySettings(getSavedQueryKey(), query);
|
||||
|
||||
tabContent.querySelector('.btnShuffle').classList.toggle('hide', result.TotalRecordCount < 1);
|
||||
|
||||
|
@ -137,13 +133,13 @@ export default function (view, params, tabContent) {
|
|||
self.showFilterMenu = function () {
|
||||
import('../../components/filterdialog/filterdialog').then(({ default: FilterDialog }) => {
|
||||
const filterDialog = new FilterDialog({
|
||||
query: getQuery(tabContent),
|
||||
query: getQuery(),
|
||||
mode: 'songs',
|
||||
serverId: ApiClient.serverId()
|
||||
});
|
||||
Events.on(filterDialog, 'filterchange', function () {
|
||||
getQuery(tabContent).StartIndex = 0;
|
||||
reloadItems(tabContent);
|
||||
getQuery().StartIndex = 0;
|
||||
reloadItems();
|
||||
});
|
||||
filterDialog.show();
|
||||
});
|
||||
|
@ -156,7 +152,7 @@ export default function (view, params, tabContent) {
|
|||
}
|
||||
|
||||
self.getCurrentViewStyle = function () {
|
||||
return getPageData(tabContent).view;
|
||||
return getPageData().view;
|
||||
};
|
||||
|
||||
function initPage(tabElement) {
|
||||
|
@ -197,10 +193,10 @@ export default function (view, params, tabContent) {
|
|||
id: 'Random,SortName'
|
||||
}],
|
||||
callback: function () {
|
||||
getQuery(tabElement).StartIndex = 0;
|
||||
reloadItems(tabElement);
|
||||
getQuery().StartIndex = 0;
|
||||
reloadItems();
|
||||
},
|
||||
query: getQuery(tabElement),
|
||||
query: getQuery(),
|
||||
button: e.target
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue