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

web client touchups

This commit is contained in:
Luke Pulverenti 2014-01-02 16:21:06 -05:00
parent bcb4b9da33
commit 1bea110fe6
42 changed files with 190 additions and 239 deletions

View file

@ -62,7 +62,7 @@
selectmenu.val(val).selectmenu('refresh');
}
}
function populateReviews(id, page) {
// Get the latest positive and negative reviews
var promise1 = ApiClient.getPackageReviews(id, 4, null, 3, true);
@ -72,7 +72,7 @@
//positive
var html = '<div data-role="collapsible" data-collapsed="true" style="margin-top: 2em;" >';
html += '<h3>Latest Outstanding Reviews</h3>';
var positive = response1[0];
var hasReviews = false;
if (positive && positive.length > 0) {
@ -130,7 +130,7 @@
}
}
}
if (!hasReviews) {
html += "<p>No Negative Reviews with additional information</p>";
}
@ -153,7 +153,7 @@
populateVersions(pkg, page, installedPlugin);
populateHistory(pkg, page);
if (pkg.totalRatings > 0) populateReviews(pkg.id, page);
Dashboard.setPageTitle(pkg.name);
if (pkg.targetSystem == 'Server') {
@ -208,6 +208,10 @@
if (pluginSecurityInfo.IsMBSupporter) {
$('#regInfo', page).html(pkg.regInfo || "");
$('.premiumDescription', page).hide();
$('.supporterDescription', page).hide();
if (pkg.price > 0) {
// Fill in PayPal info
$('.premiumHasPrice', page).show();
@ -231,16 +235,24 @@
}
} else {
var pluginTypeHtml = pkg.price ? 'This is a <a data-rel="popup" data-position-to="window" href="#premiumPlugins">premium</a> plugin.' : 'This is a <a data-rel="popup" data-position-to="window" href="#supporterPlugins">supporter-only</a> plugin.';
if (pkg.price) {
$('.premiumDescription', page).show();
$('.supporterDescription', page).hide();
$('#regInfo', page).html("");
} else {
$('.premiumDescription', page).hide();
$('.supporterDescription', page).show();
$('#regInfo', page).html("");
}
$('#regInfo', page).html(pluginTypeHtml + '<br/><br/>It will require a <a href="supporter.html">supporter key</a> in order to register after the <strong>14-day free trial</strong>.').trigger('create');
$('#ppButton', page).hide();
}
} else {
$('.premiumPackage', page).hide();
}
//Ratings and Reviews
var ratingHtml = "<strong>Overall </strong>" + Dashboard.getStoreRatingHtml(pkg.avgRating, pkg.id, pkg.name);
ratingHtml += "<span class='storeReviewCount'>";

View file

@ -85,7 +85,7 @@
var table = $('.tblConnections', page);
$('.trSession', table).addClass('deadSession');
var deviceId = ApiClient.deviceId();
for (var i = 0, length = dashboardInfo.ActiveConnections.length; i < length; i++) {
@ -110,7 +110,7 @@
html += '<td>';
html += '<div>';
if (deviceId == connection.DeviceId) {
html += connection.Client;
} else {
@ -323,21 +323,6 @@
$('#divRunningTasks', page).html(html).trigger('create');
},
bookmarkPageIfSupported: function (url) {
if (window.sidebar && window.sidebar.addPanel) { // Mozilla Firefox Bookmark
window.sidebar.addPanel("Media Browser", url, '');
} else if (window.external && window.external.AddFavorite) { // IE Favorite
window.external.AddFavorite(url, "Media Browser");
} else { // webkit - safari/chrome
return false;
}
return true;
},
renderSystemInfo: function (page, dashboardInfo) {
Dashboard.updateSystemInfo(dashboardInfo.SystemInfo);
@ -378,6 +363,15 @@
$('.btnRestartContainer', page).addClass('hide');
}
if (dashboardInfo.SystemInfo.WanAddress) {
var externalUrl = dashboardInfo.SystemInfo.WanAddress + "/mediabrowser";
$('.externalUrl', page).html('External url: <a href="' + externalUrl + '" target="_blank">' + externalUrl + '</a>').show().trigger('create');
} else {
$('.externalUrl', page).hide();
}
DashboardPage.renderApplicationUpdateInfo(dashboardInfo);
DashboardPage.renderPluginUpdateInfo(dashboardInfo);
DashboardPage.renderPendingInstallations(dashboardInfo.SystemInfo);

View file

@ -28,9 +28,13 @@
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "games"
shape: "backdrop",
preferThumb: true,
context: 'games',
showItemCounts: true,
centerText: true
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);

View file

@ -29,9 +29,13 @@
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "games"
shape: "backdrop",
preferThumb: true,
context: 'games',
showItemCounts: true,
centerText: true
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);

View file

@ -1,4 +1,3 @@
(function ($, document) {
// The base query options
@ -23,17 +22,14 @@
var html = '';
$('.listTopPaging', page).html(LibraryBrowser.getPagingHtml(query, result.TotalRecordCount, true)).trigger('create');
updateFilterControls(page);
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "games",
shape: "backdrop"
shape: "backdrop",
context: 'games',
showTitle: true,
overlayText: true
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
@ -70,60 +66,9 @@
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');
}
$(document).on('pageinit', "#gamesystemsPage", 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);
});
}).on('pagebeforeshow', "#gamesystemsPage", function () {
$(document).on('pagebeforeshow', "#gamesystemsPage", function () {
var limit = LibraryBrowser.getDefaultPageSize();

View file

@ -397,7 +397,6 @@
html += LibraryBrowser.getSongHeaderCellHtml('Runtime', 'tabletColumn', options.enableColumnSorting, 'Runtime,AlbumArtist,Album,SortName', options.sortBy, options.sortOrder);
html += LibraryBrowser.getSongHeaderCellHtml('Plays', 'desktopColumn', options.enableColumnSorting, 'PlayCount,AlbumArtist,Album,SortName', options.sortBy, options.sortOrder);
html += LibraryBrowser.getSongHeaderCellHtml('', 'desktopColumn userDataCell', options.enableColumnSorting);
html += '</tr></thead>';
@ -409,7 +408,7 @@
html += '<tr>';
html += '<td><button class="btnPlay" type="button" data-role="none" onclick="LibraryBrowser.showPlayMenu(this, \'' + item.Id + '\', \'Audio\', \'Audio\');"><img src="css/images/media/playCircle.png" style="height: 20px;"></button></td>';
html += '<td><button class="btnPlay" data-icon="play" type="button" data-iconpos="notext" onclick="LibraryBrowser.showPlayMenu(this, \'' + item.Id + '\', \'Audio\', \'Audio\');">Play</button></td>';
var num = item.IndexNumber;
@ -458,8 +457,6 @@
html += '<td class="desktopColumn">' + (item.UserData ? item.UserData.PlayCount : 0) + '</td>';
html += '<td class="desktopColumn userDataCell">' + LibraryBrowser.getUserDataIconsHtml(item) + '</td>';
html += '</tr>';
}
@ -697,6 +694,15 @@
currentIndexValue = val;
}
}
else if (options.timeline) {
var year = item.ProductionYear || "Unknown Year";
if (year != currentIndexValue) {
html += '<h2 class="timelineHeader detailSectionHeader">' + year + '</h2>';
currentIndexValue = year;
}
}
var imgUrl = null;
var background = null;

View file

@ -157,6 +157,12 @@
});
if (item.CurrentProgram) {
$('.currentProgram', page).html('Now playing:&nbsp;&nbsp;&nbsp;<a href="livetvprogram.html?id=' + item.CurrentProgram.Id + '">' + item.CurrentProgram.Name + '</a>').trigger('create');
} else {
$('.currentProgram', page).html('');
}
loadPrograms(page);
});

View file

@ -28,7 +28,7 @@
var programInfo = item.ProgramInfo || {};
$('.itemName', page).html(programInfo.Name);
$('.itemName', page).html(item.Name);
$('.itemEpisodeName', page).html(programInfo.EpisodeTitle || '');

View file

@ -51,10 +51,12 @@
$('.itemsContainer', page).removeClass('timelineItemsContainer');
}
else if (view == "Timeline") {
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "movies",
shape: "poster",
shape: "portrait",
context: 'movies',
useAverageAspectRatio: true,
showTitle: true,
timeline: true
});
$('.itemsContainer', page).addClass('timelineItemsContainer');
@ -202,6 +204,7 @@
if (view == "Timeline") {
query.SortBy = "PremiereDate";
query.SortOrder = "Descending";
query.StartIndex = 0;
$('#radioPremiereDate', page)[0].click();

View file

@ -29,11 +29,12 @@
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
preferBackdrop: false,
context: "music",
shape: "square"
shape: "square",
context: 'music',
showTitle: true,
overlayText: true
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);

View file

@ -43,10 +43,13 @@
$('.itemsContainer', page).removeClass('timelineItemsContainer');
}
else if (view == "Timeline") {
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "music",
shape: "square",
context: 'music',
useAverageAspectRatio: true,
showTitle: true,
showParentTitle: true,
timeline: true
});
$('.itemsContainer', page).addClass('timelineItemsContainer');
@ -155,6 +158,7 @@
if (view == "Timeline") {
query.SortBy = "PremiereDate";
query.SortOrder = "Descending";
query.StartIndex = 0;
$('#radioPremiereDate', page)[0].click();

View file

@ -28,11 +28,12 @@
var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
preferBackdrop: false,
context: "music",
shape: "square"
shape: "square",
context: 'music',
showTitle: true,
overlayText: true
});
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);

View file

@ -23,12 +23,12 @@
var parentName = item.SeriesName || item.Album || item.ProductionYear || '';
html += '<tr>';
html += '<td><a href="#" data-index="' + i + '" class="lnkPlay"><img src="css/images/media/playcircle.png" style="height: 20px;" /></a></td>';
html += '<td><button type="button" data-index="' + i + '" class="lnkPlay" data-icon="play" data-iconpos="notext">Play</button></td>';
html += '<td>' + name + '</td>';
html += '<td>' + parentName + '</td>';
html += '<td>' + Dashboard.getDisplayTime(item.RunTimeTicks) + '</td>';
html += '<td>' + LibraryBrowser.getUserDataIconsHtml(item) + '</td>';
html += '<td><a href="#" data-index="' + i + '" class="lnkRemove"><img src="css/images/media/remove.png" style="height: 20px;" /></a></td>';
html += '<td><button type="button" data-index="' + i + '" class="lnkRemove" data-icon="delete" data-iconpos="notext">Remove</button></td>';
html += '</tr>';
});

View file

@ -148,9 +148,11 @@
reloadList(page);
});
$('#selectTargetSystem', page).on('change', function () {
$('.radioPackageTypes', page).on('change', function () {
query.TargetSystems = this.value;
var val = $('.radioPackageTypes:checked', page).val();
query.TargetSystems = val;
reloadList(page);
});
@ -158,7 +160,11 @@
var page = this;
$('#selectTargetSystem', page).val(query.TargetSystems).selectmenu('refresh');
$(".radioPackageTypes", page).each(function() {
this.checked = this.value == query.TargetSystems;
}).checkboxradio('refresh');
// Reset form values using the last used query
$('.chkPremiumFilter', page).each(function () {

View file

@ -1,25 +1,18 @@
var SupporterKeyPage = {
onPageShow: function () {
SupporterKeyPage.load();
SupporterKeyPage.load(this);
},
onPageHide: function () {
},
load: function() {
load: function (page) {
Dashboard.showLoadingMsg();
var page = $.mobile.activePage;
ApiClient.getPluginSecurityInfo().done(function (info) {
$('#txtSupporterKey', page).val(info.SupporterKey);
$('#txtLegacyKey', page).val(info.LegacyKey);
if (info.IsMBSupporter) {
$('.supporterOnly', page).show();
} else {
$('.supporterOnly', page).hide();
}
if ((info.LegacyKey || info.SupporterKey) && !info.IsMBSupporter) {
$('#txtSupporterKey', page).addClass("invalidEntry");
$('.notSupporter', page).show();
@ -27,6 +20,7 @@
$('#txtSupporterKey', page).removeClass("invalidEntry");
$('.notSupporter', page).hide();
}
Dashboard.hideLoadingMsg();
});
},
@ -34,10 +28,10 @@
updateSupporterKey: function () {
Dashboard.showLoadingMsg();
var page = $.mobile.activePage;
var form = this;
var key = $('#txtSupporterKey', page).val();
var legacyKey = $('#txtLegacyKey', page).val();
var key = $('#txtSupporterKey', form).val();
var legacyKey = $('#txtLegacyKey', form).val();
var info = {
SupporterKey: key,
@ -48,8 +42,24 @@
Dashboard.resetPluginSecurityInfo();
Dashboard.hideLoadingMsg();
if (key) {
SupporterKeyPage.load();
Dashboard.alert({
message: "Thank you. Your supporter key has been updated.",
title: "Confirmation"
});
} else {
Dashboard.alert({
message: "Thank you. Your supporter key has been removed.",
title: "Confirmation"
});
}
var page = $(form).parents('.page');
SupporterKeyPage.load(page);
});
return false;
@ -58,11 +68,11 @@
linkSupporterKeys: function () {
Dashboard.showLoadingMsg();
var page = $.mobile.activePage;
var email = $('#txtNewEmail', page).val();
var newkey = $('#txtNewKey', page).val();
var oldkey = $('#txtOldKey', page).val();
var form = this;
var email = $('#txtNewEmail', form).val();
var newkey = $('#txtNewKey', form).val();
var oldkey = $('#txtOldKey', form).val();
var info = {
email: email,
@ -90,9 +100,9 @@
retrieveSupporterKey: function () {
Dashboard.showLoadingMsg();
var page = $.mobile.activePage;
var form = this;
var email = $('#txtEmail', page).val();
var email = $('#txtEmail', form).val();
var url = "http://mb3admin.com/admin/service/supporter/retrievekey?email="+email;
console.log(url);
@ -113,5 +123,4 @@
};
$(document).on('pageshow', "#supporterKeyPage", SupporterKeyPage.onPageShow)
.on('pagehide', "#supporterKeyPage", SupporterKeyPage.onPageHide);
$(document).on('pageshow', "#supporterKeyPage", SupporterKeyPage.onPageShow);

View file

@ -48,18 +48,22 @@
items: result.Items,
shape: "portrait",
context: 'tv',
useAverageAspectRatio: true
useAverageAspectRatio: true,
showTitle: true
});
$('.itemsContainer', page).removeClass('timelineItemsContainer');
}
else if (view == "Timeline") {
html += LibraryBrowser.getPosterDetailViewHtml({
html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
context: "tv",
timeline: true
shape: "portrait",
context: 'tv',
useAverageAspectRatio: true,
timeline: true,
showTitle: true
});
$('.itemsContainer', page).addClass('timelineItemsContainer');
}
@ -222,6 +226,7 @@
if (view == "Timeline") {
query.SortBy = "PremiereDate";
query.SortOrder = "Descending";
query.StartIndex = 0;
$('#radioPremiereDate', page)[0].click();