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

update filter and sorting menus

This commit is contained in:
Luke Pulverenti 2016-02-26 14:02:53 -05:00
parent c65749da5a
commit 1044d68ba6
14 changed files with 265 additions and 211 deletions

View file

@ -2,8 +2,8 @@
var data = {};
function getPageData() {
var key = getSavedQueryKey();
function getPageData(context) {
var key = getSavedQueryKey(context);
var pageData = data[key];
if (!pageData) {
@ -22,19 +22,35 @@
return pageData;
}
function getQuery() {
function getQuery(context) {
return getPageData().query;
return getPageData(context).query;
}
function getSavedQueryKey() {
function getSavedQueryKey(context) {
return LibraryBrowser.getSavedQueryKey('movies');
if (!context.savedQueryKey) {
context.savedQueryKey = LibraryBrowser.getSavedQueryKey('channelitems');
}
return context.savedQueryKey;
}
function getParam(context, name) {
if (!context.pageParams) {
context.pageParams = {};
}
if (!context.pageParams[name]) {
context.pageParams[name] = getParameterByName(name);
}
return context.pageParams[name];
}
function reloadFeatures(page) {
var channelId = getParameterByName('id');
var channelId = getParam(page, 'id');
ApiClient.getJSON(ApiClient.getUrl("Channels/" + channelId + "/Features")).then(function (features) {
@ -55,12 +71,12 @@
var maxPageSize = features.MaxPageSize;
var query = getQuery();
var query = getQuery(page);
if (maxPageSize) {
query.Limit = Math.min(maxPageSize, query.Limit || maxPageSize);
}
getPageData().sortFields = features.DefaultSortFields;
getPageData(page).sortFields = features.DefaultSortFields;
reloadItems(page);
});
@ -70,10 +86,10 @@
Dashboard.showLoadingMsg();
var channelId = getParameterByName('id');
var folderId = getParameterByName('folderId');
var channelId = getParam(page, 'id');
var folderId = getParam(page, 'folderId');
var query = getQuery();
var query = getQuery(page);
query.UserId = Dashboard.getCurrentUserId();
if (folderId) {
@ -161,7 +177,7 @@
require(['components/filterdialog/filterdialog'], function (filterDialogFactory) {
var filterDialog = new filterDialogFactory({
query: getQuery()
query: getQuery(page)
});
Events.on(filterDialog, 'filterchange', function () {
@ -174,7 +190,7 @@
function showSortMenu(page) {
var sortFields = getPageData().sortFields;
var sortFields = getPageData(page).sortFields;
var items = [];
@ -225,13 +241,13 @@
callback: function () {
reloadItems(page);
},
query: getQuery()
query: getQuery(page)
});
}
function updateFilterControls(page) {
var query = getQuery();
var query = getQuery(page);
$('.alphabetPicker', page).alphaValue(query.NameStartsWith);
}
@ -241,7 +257,7 @@
$('.alphabetPicker', this).on('alphaselect', function (e, character) {
var query = getQuery();
var query = getQuery(page);
query.NameStartsWithOrGreater = character;
query.StartIndex = 0;
@ -249,7 +265,7 @@
}).on('alphaclear', function (e) {
var query = getQuery();
var query = getQuery(page);
query.NameStartsWithOrGreater = '';
reloadItems(page);