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

update recordings

This commit is contained in:
Luke Pulverenti 2015-08-15 20:41:55 -04:00
parent 5581539648
commit e97b2577b7
8 changed files with 99 additions and 256 deletions

View file

@ -6,6 +6,8 @@
function reload(page) {
page = $(page)[0];
unbindItemChanged(page);
Dashboard.showLoadingMsg();
@ -123,20 +125,16 @@
var buttonId = "btnOpen1" + idInfo.Key;
var formatString = idInfo.UrlFormatString || '';
html += '<div data-role="fieldcontain">';
var idLabel = Globalize.translate('LabelDynamicExternalId').replace('{0}', idInfo.Name);
html += '<label for="' + id + '">' + idLabel + '</label>';
var labelText = Globalize.translate('LabelDynamicExternalId').replace('{0}', idInfo.Name);
html += '<div style="display: inline-block; width: 80%;">';
html += '<div>';
var value = providerIds[idInfo.Key] || '';
html += '<input class="txtExternalId" value="' + value + '" data-providerkey="' + idInfo.Key + '" data-formatstring="' + formatString + '" data-buttonclass="' + buttonId + '" id="' + id + '" />';
html += '</div>';
html += '<paper-input style="display:inline-block;width:80%;" class="txtExternalId" value="' + value + '" data-providerkey="' + idInfo.Key + '" data-formatstring="' + formatString + '" data-buttonclass="' + buttonId + '" id="' + id + '" label="' + labelText + '"></paper-input>';
if (formatString) {
html += '<a class="' + buttonId + '" href="#" target="_blank" data-icon="arrow-r" data-inline="true" data-iconpos="notext" data-role="button" style="float: none; width: 1.75em"></a>';
html += '<a class="clearLink ' + buttonId + '" href="#" target="_blank" data-role="none" style="float: none; width: 1.75em"><paper-icon-button icon="open-in-browser"></paper-icon-button></a>';
}
html += '</div>';
@ -433,8 +431,9 @@
populateListView($('#listKeywords', page), item.Keywords);
var lockData = (item.LockData || false);
var chkLockData = $("#chkLockData", page).attr('checked', lockData).checkboxradio('refresh');
if (chkLockData.checked()) {
var chkLockData = page.querySelector("#chkLockData");
chkLockData.checked = lockData;
if (chkLockData.checked) {
$('#providerSettingsContainer', page).hide();
} else {
$('#providerSettingsContainer', page).show();
@ -708,20 +707,16 @@
return list.find('a.data').map(function () { return $(this).text(); }).get();
}
function generateSliders(fields, type) {
function generateSliders(fields, currentFields) {
var html = '';
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
var name = field.name;
var value = field.value || field.name;
html += '<div data-role="fieldcontain">';
html += '<label for="lock' + value + '">' + name + '</label>';
html += '<select class="selectLockedField" id="lock' + value + '" data-role="slider" data-mini="true">';
html += '<option value="' + value + '">' + Globalize.translate('OptionOff') + '</option>';
html += '<option value="" selected="selected">' + Globalize.translate('OptionOn') + '</option>';
html += '</select>';
html += '</div>';
var checkedHtml = currentFields.indexOf(value) == -1 ? ' checked' : '';
html += '<paper-checkbox class="selectLockedField" data-value="' + value + '" style="display:block;margin:1em 0;"' + checkedHtml + '>' + name + '</paper-checkbox>';
}
return html;
}
@ -760,14 +755,10 @@
var html = '';
html += "<h1>" + Globalize.translate('HeaderFields') + "</h1>";
html += "<p>" + Globalize.translate('HeaderFieldsHelp') + "</p>";
html += generateSliders(metadatafields, 'Fields');
container.html(html).trigger('create');
for (var fieldIndex = 0; fieldIndex < lockedFields.length; fieldIndex++) {
var field = lockedFields[fieldIndex];
$('#lock' + field).val(field).slider('refresh');
}
html += "<h1>" + Globalize.translate('HeaderEnabledFields') + "</h1>";
html += "<p>" + Globalize.translate('HeaderEnabledFieldsHelp') + "</p>";
html += generateSliders(metadatafields, lockedFields);
container.html(html);
}
function getSelectedAirDays(form) {
@ -869,11 +860,12 @@
OfficialRating: $('#selectOfficialRating', form).val(),
CustomRating: $('#selectCustomRating', form).val(),
People: currentItem.People,
LockData: $("#chkLockData", form).prop('checked'),
LockedFields: $('.selectLockedField', form).map(function () {
var value = $(this).val();
if (value != '') return value;
}).get()
LockData: form.querySelector("#chkLockData").checked,
LockedFields: $('.selectLockedField', form).get().filter(function (c) {
return !c.checked;
}).map(function (c) {
return c.getAttribute('data-value');
})
};
item.ProviderIds = $.extend({}, currentItem.ProviderIds || {});
@ -1376,7 +1368,7 @@
}
function showMoreMenu(page, elem) {
Dashboard.getCurrentUser().done(function (user) {
var moreCommands = LibraryBrowser.getMoreCommands(currentItem, user);

View file

@ -2359,7 +2359,7 @@
showLayoutMenu: function (button, currentLayout) {
// Add banner and list once all screens support them
var views = ['Poster', 'PosterCard', 'Thumb', 'ThumbCard'];
var views = ['List', 'Poster', 'PosterCard', 'Thumb', 'ThumbCard'];
var menuItems = views.map(function (v) {
return {

View file

@ -1,21 +1,38 @@
(function ($, document) {
var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster');
var data = {};
function getPageData() {
var key = getSavedQueryKey();
var pageData = data[key];
// The base query options
var query = {
if (!pageData) {
pageData = data[key] = {
query: {
SortBy: "SortName",
SortOrder: "Ascending",
IncludeItemTypes: "Playlist",
Recursive: true,
Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete,SyncInfo",
StartIndex: 0,
Limit: LibraryBrowser.getDefaultPageSize()
},
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Poster', 'Poster')
};
SortBy: "SortName",
SortOrder: "Ascending",
IncludeItemTypes: "Playlist",
Recursive: true,
Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete,SyncInfo",
StartIndex: 0
};
pageData.query.ParentId = LibraryMenu.getTopParentId();
LibraryBrowser.loadSavedQueryValues(key, pageData.query);
}
return pageData;
}
function getQuery() {
return getPageData().query;
}
function getSavedQueryKey() {
return 'playlists2' + (query.ParentId || '');
return getWindowUrl();
}
function showLoadingMessage(page) {
@ -31,6 +48,7 @@
showLoadingMessage(page);
var query = getQuery();
var promise1 = ApiClient.getItems(Dashboard.getCurrentUserId(), query);
var promise2 = Dashboard.getCurrentUser();
@ -43,16 +61,20 @@
window.scrollTo(0, 0);
var html = '';
var view = getPageData().view;
$('.listTopPaging', page).html(LibraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex,
limit: query.Limit,
totalRecordCount: result.TotalRecordCount,
viewButton: true,
showLimit: false
viewButton: false,
showLimit: false,
updatePageSizeSetting: false,
addLayoutButton: true,
currentLayout: view
})).trigger('create');
updateFilterControls(page);
var trigger = false;
if (result.TotalRecordCount) {
@ -117,116 +139,21 @@
reloadItems(page);
});
$('.btnChangeLayout', page).on('layoutchange', function (e, layout) {
getPageData().view = layout;
reloadItems(page);
});
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
hideLoadingMessage(page);
});
}
function updateFilterControls(page) {
// Reset form values using the last used query
$('.radioSortBy', page).each(function () {
this.checked = (query.SortBy || '').toLowerCase() == this.getAttribute('data-sortby').toLowerCase();
}).checkboxradio('refresh');
$('.radioSortOrder', page).each(function () {
this.checked = (query.SortOrder || '').toLowerCase() == this.getAttribute('data-sortorder').toLowerCase();
}).checkboxradio('refresh');
$('.chkStandardFilter', page).each(function () {
var filters = "," + (query.Filters || "");
var filterName = this.getAttribute('data-filter');
this.checked = filters.indexOf(',' + filterName) != -1;
}).checkboxradio('refresh');
$('#selectView', page).val(view).selectmenu('refresh');
$('#selectPageSize', page).val(query.Limit).selectmenu('refresh');
}
$(document).on('pageinitdepends', "#playlistsPage", function () {
$(document).on('pagebeforeshowready', "#playlistsPage", function () {
var page = this;
$('.radioSortBy', this).on('click', function () {
query.SortBy = this.getAttribute('data-sortby');
reloadItems(page);
});
$('.radioSortOrder', this).on('click', function () {
query.SortOrder = this.getAttribute('data-sortorder');
reloadItems(page);
});
$('.chkStandardFilter', this).on('change', function () {
var filterName = this.getAttribute('data-filter');
var filters = query.Filters || "";
filters = (',' + filters).replace(',' + filterName, '').substring(1);
if (this.checked) {
filters = filters ? (filters + ',' + filterName) : filterName;
}
query.StartIndex = 0;
query.Filters = filters;
reloadItems(page);
});
$('#selectView', this).on('change', function () {
view = this.value;
reloadItems(page);
LibraryBrowser.saveViewSetting(getSavedQueryKey(), view);
});
$('#selectPageSize', page).on('change', function () {
query.Limit = parseInt(this.value);
query.StartIndex = 0;
reloadItems(page);
});
}).on('pagebeforeshowready', "#playlistsPage", function () {
var page = this;
query.ParentId = LibraryMenu.getTopParentId();
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);
LibraryBrowser.getSavedViewSetting(viewkey).done(function (val) {
if (val) {
$('#selectView', page).val(val).selectmenu('refresh').trigger('change');
} else {
reloadItems(page);
}
});
updateFilterControls(this);
reloadItems(page);
});
})(jQuery, document);