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

update people queries

This commit is contained in:
Luke Pulverenti 2015-07-06 22:25:23 -04:00
parent 99768ecffe
commit 17a0f1578d
22 changed files with 215 additions and 123 deletions

View file

@ -1440,7 +1440,6 @@
//$.mobile.urlHistory.ignoreNextHashChange = true;
window.location.hash = 'editItemMetadataPage?id=' + data.id;
alert(window.location.href);
reload(page);
}
});

View file

@ -64,7 +64,7 @@
} else {
elem.empty();
elem.innerHTML = '';
var deferred = DeferredBuilder.Deferred();
deferred.resolve();

View file

@ -494,7 +494,7 @@
var mediaType = card.getAttribute('data-mediatype');
var resumePosition = parseInt(card.getAttribute('data-resumeposition'));
if (type == 'MusicAlbum' || type == 'MusicArtist' || type == 'MusicGenre') {
if (type == 'MusicAlbum' || type == 'MusicArtist' || type == 'MusicGenre' || type == 'Playlist') {
isFolder = true;
}

View file

@ -153,6 +153,15 @@
//});
}
var directPlayVideoContainers = AppInfo.directPlayVideoContainers;
if (directPlayVideoContainers && directPlayVideoContainers.length) {
profile.DirectPlayProfiles.push({
Container: directPlayVideoContainers.join(','),
Type: 'Video'
});
}
profile.DirectPlayProfiles.push({
Container: 'mp3',
Type: 'Audio'
@ -300,23 +309,27 @@
}]
});
profile.CodecProfiles.push({
Type: 'VideoAudio',
Codec: 'aac',
Container: 'mkv,mov',
Conditions: [
{
Condition: 'NotEquals',
Property: 'AudioProfile',
Value: 'HE-AAC'
},
{
Condition: 'NotEquals',
Property: 'AudioProfile',
Value: 'LC'
}
]
});
var isVlc = AppInfo.isNativeApp && $.browser.android;
if (!isVlc) {
profile.CodecProfiles.push({
Type: 'VideoAudio',
Codec: 'aac',
Container: 'mkv,mov',
Conditions: [
{
Condition: 'NotEquals',
Property: 'AudioProfile',
Value: 'HE-AAC'
},
{
Condition: 'NotEquals',
Property: 'AudioProfile',
Value: 'LC'
}
]
});
}
profile.CodecProfiles.push({
Type: 'VideoAudio',
@ -330,49 +343,69 @@
]
});
profile.CodecProfiles.push({
Type: 'Video',
Codec: 'h264',
Conditions: [
{
Condition: 'NotEquals',
Property: 'IsAnamorphic',
Value: 'true',
IsRequired: false
},
{
Condition: 'EqualsAny',
Property: 'VideoProfile',
Value: 'high|main|baseline|constrained baseline'
},
{
Condition: 'LessThanEqual',
Property: 'VideoLevel',
Value: '41'
},
{
Condition: 'LessThanEqual',
Property: 'Height',
Value: maxHeight
}]
});
if (isVlc) {
profile.CodecProfiles.push({
Type: 'Video',
Codec: 'h264',
Conditions: [
{
Condition: 'EqualsAny',
Property: 'VideoProfile',
Value: 'high|main|baseline|constrained baseline'
},
{
Condition: 'LessThanEqual',
Property: 'VideoLevel',
Value: '41'
}]
});
} else {
profile.CodecProfiles.push({
Type: 'Video',
Codec: 'h264',
Conditions: [
{
Condition: 'NotEquals',
Property: 'IsAnamorphic',
Value: 'true',
IsRequired: false
},
{
Condition: 'EqualsAny',
Property: 'VideoProfile',
Value: 'high|main|baseline|constrained baseline'
},
{
Condition: 'LessThanEqual',
Property: 'VideoLevel',
Value: '41'
},
{
Condition: 'LessThanEqual',
Property: 'Height',
Value: maxHeight
}]
});
}
profile.CodecProfiles.push({
Type: 'Video',
Codec: 'vpx',
Conditions: [
{
Condition: 'NotEquals',
Property: 'IsAnamorphic',
Value: 'true',
IsRequired: false
},
{
Condition: 'LessThanEqual',
Property: 'Height',
Value: maxHeight
}]
});
if (!isVlc) {
profile.CodecProfiles.push({
Type: 'Video',
Codec: 'vpx',
Conditions: [
{
Condition: 'NotEquals',
Property: 'IsAnamorphic',
Value: 'true',
IsRequired: false
},
{
Condition: 'LessThanEqual',
Property: 'Height',
Value: maxHeight
}]
});
}
// Subtitle profiles
// External vtt or burn in
@ -483,6 +516,10 @@
// }
//}
if ($.browser.android && AppInfo.isNativeApp) {
return true;
}
var media = document.createElement('video');
// safari
@ -501,7 +538,7 @@
}
if ($.browser.chrome) {
// viblast can help us here
//return true;
//return window.MediaSource != null;
@ -572,13 +609,13 @@
Events.off(mediaRenderer, 'ended', self.onPlaybackStopped);
Events.off(mediaRenderer, 'ended', self.playNextAfterEnded);
$(mediaRenderer).one("play", function () {
self.updateCanClientSeek(this);
Events.on(this, 'ended', self.onPlaybackStopped);
$(this).one('ended', self.playNextAfterEnded);
self.startProgressInterval();
@ -1381,7 +1418,7 @@
Events.off(mediaRenderer, 'ended', self.playNextAfterEnded);
$(mediaRenderer).one("ended", function() {
$(mediaRenderer).one("ended", function () {
$(this).off('.mediaplayerevent');
@ -1392,7 +1429,7 @@
self.currentMediaSource = null;
});
Events.trigger(mediaRenderer, "ended");
} else {
@ -1588,7 +1625,7 @@
var mediaRenderer = this;
Events.off(mediaRenderer, '.mediaplayerevent');
Events.off(mediaRenderer, 'ended', self.onPlaybackStopped);
var item = self.currentItem;
@ -1654,7 +1691,7 @@
self.canPlayWebm = function () {
if (self._canPlayWebm == null) {
self._canPlayWebm = document.createElement('video').canPlayType('video/webm').replace(/no/, '');
self._canPlayWebm = ($.browser.android && AppInfo.isNativeApp) || document.createElement('video').canPlayType('video/webm').replace(/no/, '');
}
return self._canPlayWebm;
};
@ -1705,7 +1742,7 @@
mediaRenderer.setPoster(self.getPosterUrl(item));
mediaRenderer.setCurrentSrc(audioUrl, item, mediaSource);
Events.on(mediaRenderer, "volumechange.mediaplayerevent", function() {
Events.on(mediaRenderer, "volumechange.mediaplayerevent", function () {
Logger.log('audio element event: volumechange');

View file

@ -15,15 +15,45 @@
EnableImageTypes: "Primary,Backdrop,Banner,Thumb"
};
var data = {};
function getQuery() {
var key = getSavedQueryKey();
var pageData = data[key];
if (!pageData) {
pageData = data[key] = {
query: {
SortBy: "AlbumArtist,SortName",
SortOrder: "Ascending",
IncludeItemTypes: "MusicAlbum",
Recursive: true,
Fields: "PrimaryImageAspectRatio,SortName,SyncInfo",
StartIndex: 0,
ImageTypeLimit: 1,
EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
Limit: LibraryBrowser.getDefaultPageSize()
}
};
pageData.query.ParentId = LibraryMenu.getTopParentId();
LibraryBrowser.loadSavedQueryValues(key, pageData.query);
}
return pageData.query;
}
function getSavedQueryKey() {
return 'musicalbums' + (query.ParentId || '');
return getWindowUrl();
}
function reloadItems(page) {
Dashboard.showLoadingMsg();
var query = getQuery();
ApiClient.getItems(Dashboard.getCurrentUserId(), query).done(function (result) {
// Scroll back up so they can see the results from the beginning
@ -109,13 +139,15 @@
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
LibraryBrowser.setLastRefreshed(page);
Dashboard.hideLoadingMsg();
});
}
function updateFilterControls(page) {
var query = getQuery();
$('#selectView', page).val(view).selectmenu('refresh');
// Reset form values using the last used query
@ -142,6 +174,8 @@
filtersLoaded = true;
var query = getQuery();
QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () {
reloadItems(page);
@ -159,6 +193,8 @@
});
$('.radioSortBy', page).on('click', function () {
var query = getQuery();
query.SortBy = this.getAttribute('data-sortby');
query.StartIndex = 0;
@ -171,6 +207,8 @@
});
$('.radioSortOrder', page).on('click', function () {
var query = getQuery();
query.SortOrder = this.getAttribute('data-sortorder');
query.StartIndex = 0;
@ -183,6 +221,7 @@
});
$('.chkStandardFilter', page).on('change', function () {
var query = getQuery();
var filterName = this.getAttribute('data-filter');
var filters = query.Filters || "";
@ -203,6 +242,8 @@
view = this.value;
var query = getQuery();
if (view == "Timeline") {
query.SortBy = "PremiereDate";
@ -218,6 +259,8 @@
$('.alphabetPicker', page).on('alphaselect', function (e, character) {
var query = getQuery();
if (query.SortBy.indexOf('AlbumArtist') == -1) {
query.NameStartsWithOrGreater = character;
query.AlbumArtistStartsWithOrGreater = '';
@ -232,6 +275,8 @@
}).on('alphaclear', function (e) {
var query = getQuery();
query.NameStartsWithOrGreater = '';
query.AlbumArtistStartsWithOrGreater = '';
@ -239,6 +284,8 @@
});
$('#selectPageSize', page).on('change', function () {
var query = getQuery();
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
@ -246,29 +293,22 @@
}).on('pagebeforeshowready', "#musicAlbumsPage", function () {
query.ParentId = LibraryMenu.getTopParentId();
var page = this;
var limit = LibraryBrowser.getDefaultPageSize();
// If the default page size has changed, the start index will have to be reset
if (limit != query.Limit) {
query.Limit = limit;
query.StartIndex = 0;
}
var viewKey = getSavedQueryKey();
LibraryBrowser.loadSavedQueryValues(viewKey, query);
QueryFilters.onPageShow(page, query);
LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) {
if (LibraryBrowser.needsRefresh(page)) {
LibraryBrowser.getSavedViewSetting(viewKey).done(function (val) {
if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
} else {
reloadItems(page);
}
});
if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
} else {
reloadItems(page);
}
});
}
updateFilterControls(this);
});

View file

@ -1,6 +1,6 @@
(function ($, document) {
var view = LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard');
var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster');
// The base query options
var query = {
@ -78,6 +78,19 @@
cardLayout: true
});
}
else if (view == "Poster") {
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "square",
context: 'playlists',
showTitle: true,
lazy: true,
coverImage: true,
showItemCounts: true,
centerText: true,
overlayPlayButton: true
});
}
$('.noItemsMessage', page).hide();

View file

@ -1721,8 +1721,10 @@ var AppInfo = {};
if (isCordova && isAndroid) {
AppInfo.directPlayAudioContainers = ['aac', 'mp3', 'ogg', 'flac', 'wma', 'm4a', 'oga'];
AppInfo.directPlayVideoContainers = ['mkv', 'mp4', 'mov', 'm4v', 'avi', 'flv', 'wmv', 'webm'];
} else {
AppInfo.directPlayAudioContainers = [];
AppInfo.directPlayVideoContainers = [];
}
}
@ -2061,7 +2063,9 @@ var AppInfo = {};
function initCordovaWithDeviceId(deferred, deviceId) {
require(['cordova/imagestore']);
if ($.browser.android) {
require(['cordova/imagestore']);
}
var capablities = Dashboard.capabilities();