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

continue jquery removal

This commit is contained in:
Luke Pulverenti 2016-06-24 11:12:13 -04:00
parent 443878a501
commit ba14c457e8
7 changed files with 216 additions and 152 deletions

View file

@ -396,8 +396,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
}
},
_listenKeyEventListeners: function() {
Object.keys(this._keyBindings).forEach(function(eventName) {
_listenKeyEventListeners: function () {
if (this.keyEventTarget) {
Object.keys(this._keyBindings).forEach(function (eventName) {
var keyBindings = this._keyBindings[eventName];
var boundKeyHandler = this._onKeyBindingEvent.bind(this, keyBindings);
@ -405,6 +407,8 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
this.keyEventTarget.addEventListener(eventName, boundKeyHandler);
}, this);
}
},
_unlistenKeyEventListeners: function() {

View file

@ -6,21 +6,26 @@
function getWeek(date) {
var onejan = new Date(date.getFullYear(), 0, 1);
return Math.ceil((((date - onejan) / 86400000) + onejan.getDay() + 1) / 4);
return Math.ceil((((date - onejan) / 86400000) + onejan.getDay() + 1) / 7);
}
function onPageShow() {
var expectedValue;
var msg;
if (navigator.userAgent.toLowerCase().indexOf('windows nt 10.') != -1) {
var expectedValue = getWeek(new Date()) + "_7";
expectedValue = new Date().toDateString() + "1";
if (appStorage.getItem(browserSwitchKey) == expectedValue) {
return;
}
if (!appStorage.getItem(browserSwitchKey)) {
appStorage.setItem(browserSwitchKey, expectedValue);
return;
}
if (navigator.userAgent.toLowerCase().indexOf('windows nt 10.') != -1) {
msg = Globalize.translate('MessageTryMicrosoftEdge');
msg += "<br/><br/>";
@ -33,17 +38,6 @@
} else if (!browser.mobile) {
expectedValue = getWeek(new Date()) + "_7";
if (appStorage.getItem(browserSwitchKey) == expectedValue) {
return;
}
if (!appStorage.getItem(browserSwitchKey)) {
appStorage.setItem(browserSwitchKey, expectedValue);
return;
}
msg = Globalize.translate('MessageTryModernBrowser');
msg += "<br/><br/>";

View file

@ -90,7 +90,7 @@
</h1>
<div id="additionalPartsContent" class="smallItemsContainer"></div>
</div>
<div id="castCollapsible" style="display: none;" class="detailSection">
<div id="castCollapsible" class="detailSection hide">
<h1 id="peopleHeader">
${HeaderCastCrew}
</h1>
@ -118,7 +118,7 @@
</h1>
<div id="musicVideosContent" class="smallItemsContainer"></div>
</div>
<div id="similarCollapsible" style="display: none;" class="detailSection">
<div id="similarCollapsible" class="detailSection hide">
<h1 class="similiarHeader"></h1>
<div id="similarContent"></div>
</div>
@ -142,10 +142,10 @@
</div>
</div>
<div id="scenesCollapsible" style="display: none;" class="detailSection">
<div id="scenesCollapsible" class="detailSection hide">
<h1>
${HeaderScenes}
<a class="detailSectionHeaderButton chapterSettingsButton clearLink" style="margin-top: -8px; display: inline-block;" href="metadataadvanced.html" title="${ButtonSettings}" style="display: none;">
<a class="detailSectionHeaderButton chapterSettingsButton clearLink hide" style="margin-top: -8px; display: inline-block;" href="metadataadvanced.html" title="${ButtonSettings}">
<button is="paper-icon-button-light" class="autoSize"><i class="md-icon">settings</i></button>
</a>
</h1>

View file

@ -74,12 +74,12 @@
// For these types, make the backdrop a little smaller so that the items are more quickly accessible
if (item.Type == 'MusicArtist' || item.Type == "MusicAlbum" || item.Type == "Playlist" || item.Type == "BoxSet" || item.MediaType == "Audio" || !layoutManager.mobile) {
$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
var itemBackdropElement = page.querySelector('#itemBackdrop');
itemBackdropElement.classList.add('noBackdrop');
itemBackdropElement.style.backgroundImage = 'none';
backdrop.setBackdrops([item]);
}
else {
//$('#itemBackdrop', page).addClass('noBackdrop').css('background-image', 'none');
//Backdrops.setBackdrops(page, [item]);
hasBackdrop = LibraryBrowser.renderDetailPageBackdrop(page, item);
backdrop.clear();
}
@ -155,9 +155,9 @@
});
if (user.Policy.IsAdministrator && groupedVersions.length) {
$('.splitVersionContainer', page).show();
page.querySelector('.splitVersionContainer').classList.remove('hide');
} else {
$('.splitVersionContainer', page).hide();
page.querySelector('.splitVersionContainer').classList.add('hide');
}
if (LibraryBrowser.getMoreCommands(item, user).length > 0) {
@ -167,55 +167,61 @@
}
if (user.Policy.IsAdministrator) {
$('.chapterSettingsButton', page).show();
page.querySelector('.chapterSettingsButton').classList.remove('hide');
} else {
$('.chapterSettingsButton', page).hide();
page.querySelector('.chapterSettingsButton').classList.add('hide');
}
var itemBirthday = page.querySelector('#itemBirthday');
if (item.Type == "Person" && item.PremiereDate) {
try {
var birthday = datetime.parseISO8601Date(item.PremiereDate, true).toDateString();
$('#itemBirthday', page).show().html(Globalize.translate('BirthDateValue').replace('{0}', birthday));
itemBirthday.classList.remove('hide');
itemBirthday.innerHTML = Globalize.translate('BirthDateValue').replace('{0}', birthday);
}
catch (err) {
$('#itemBirthday', page).hide();
itemBirthday.classList.add('hide');
}
} else {
$('#itemBirthday', page).hide();
itemBirthday.classList.add('hide');
}
var itemDeathDate = page.querySelector('#itemBirthday');
if (item.Type == "Person" && item.EndDate) {
try {
var deathday = datetime.parseISO8601Date(item.EndDate, true).toDateString();
$('#itemDeathDate', page).show().html(Globalize.translate('DeathDateValue').replace('{0}', deathday));
itemDeathDate.classList.remove('hide');
itemDeathDate.innerHTML = Globalize.translate('DeathDateValue').replace('{0}', deathday);
}
catch (err) {
$('#itemBirthday', page).hide();
itemDeathDate.classList.add('hide');
}
} else {
}
var itemBirthLocation = page.querySelector('#itemBirthLocation');
if (item.Type == "Person" && item.ProductionLocations && item.ProductionLocations.length) {
var gmap = '<a class="textlink" target="_blank" href="https://maps.google.com/maps?q=' + item.ProductionLocations[0] + '">' + item.ProductionLocations[0] + '</a>';
$('#itemBirthLocation', page).show().html(Globalize.translate('BirthPlaceValue').replace('{0}', gmap));
itemBirthLocation.classList.remove('hide');
itemBirthLocation.innerHTML = Globalize.translate('BirthPlaceValue').replace('{0}', gmap);
} else {
$('#itemBirthLocation', page).hide();
itemBirthLocation.classList.add('hide');
}
});
if (item.LocationType == "Offline") {
//if (item.LocationType == "Offline") {
$('.offlineIndicator', page).show();
}
else {
$('.offlineIndicator', page).hide();
}
// page.querySelector('.offlineIndicator').classList.remove('hide');
//}
//else {
// page.querySelector('.offlineIndicator').classList.add('hide');
//}
var isMissingEpisode = false;
@ -229,13 +235,13 @@
}
}
if (isMissingEpisode) {
//if (isMissingEpisode) {
$('.missingIndicator', page).show();
}
else {
$('.missingIndicator', page).hide();
}
// page.querySelector('.missingIndicator').classList.remove('hide');
//}
//else {
// page.querySelector('.missingIndicator').classList.add('hide');
//}
setPeopleHeader(page, item);
@ -263,9 +269,9 @@
function setPeopleHeader(page, item) {
if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.MediaType == "Book" || item.MediaType == "Photo") {
$('#peopleHeader', page).html(Globalize.translate('HeaderPeople'));
page.querySelector('#peopleHeader').innerHTML = Globalize.translate('HeaderPeople');
} else {
$('#peopleHeader', page).html(Globalize.translate('HeaderCastAndCrew'));
page.querySelector('#peopleHeader').innerHTML = Globalize.translate('HeaderCastAndCrew');
}
}
@ -314,34 +320,34 @@
function setInitialCollapsibleState(page, item, context, user) {
$('.collectionItems', page).empty();
page.querySelector('.collectionItems').innerHTML = '';
if (item.Type == 'TvChannel') {
$('#childrenCollapsible', page).removeClass('hide');
page.querySelector('#childrenCollapsible').classList.remove('hide');
renderChannelGuide(page, item, user);
}
else if (item.Type == 'Playlist') {
$('#childrenCollapsible', page).removeClass('hide');
page.querySelector('#childrenCollapsible').classList.remove('hide');
renderPlaylistItems(page, item, user);
}
else if (item.Type == 'Studio' || item.Type == 'Person' || item.Type == 'Genre' || item.Type == 'MusicGenre' || item.Type == 'GameGenre' || item.Type == 'MusicArtist') {
$('#childrenCollapsible', page).removeClass('hide');
page.querySelector('#childrenCollapsible').classList.remove('hide');
renderItemsByName(page, item, user);
}
else if (item.IsFolder) {
if (item.Type == "BoxSet") {
$('#childrenCollapsible', page).addClass('hide');
page.querySelector('#childrenCollapsible').classList.add('hide');
} else {
$('#childrenCollapsible', page).removeClass('hide');
page.querySelector('#childrenCollapsible').classList.remove('hide');
}
renderChildren(page, item);
}
else {
$('#childrenCollapsible', page).addClass('hide');
page.querySelector('#childrenCollapsible').classList.add('hide');
}
if (item.Type == 'Series') {
@ -358,30 +364,30 @@
var chapters = item.Chapters || [];
if (!chapters.length || !AppInfo.enableDetailPageChapters) {
$('#scenesCollapsible', page).hide();
page.querySelector('#scenesCollapsible').classList.add('hide');
} else {
$('#scenesCollapsible', page).show();
page.querySelector('#scenesCollapsible').classList.remove('hide');
renderScenes(page, item, user, 3);
}
if (!item.SpecialFeatureCount || item.SpecialFeatureCount == 0 || item.Type == "Series") {
$('#specialsCollapsible', page).addClass('hide');
page.querySelector('#scenesCollapsible').classList.add('hide');
} else {
$('#specialsCollapsible', page).removeClass('hide');
page.querySelector('#scenesCollapsible').classList.remove('hide');
renderSpecials(page, item, user, 6);
}
if (!item.People || !item.People.length) {
$('#castCollapsible', page).hide();
page.querySelector('#castCollapsible').classList.add('hide');
} else {
$('#castCollapsible', page).show();
page.querySelector('#castCollapsible').classList.remove('hide');
renderCast(page, item, context, enableScrollX() ? null : 6);
}
if (item.PartCount && item.PartCount > 1) {
$('#additionalPartsCollapsible', page).removeClass('hide');
page.querySelector('#additionalPartsCollapsible').classList.remove('hide');
renderAdditionalParts(page, item, user);
} else {
$('#additionalPartsCollapsible', page).addClass('hide');
page.querySelector('#additionalPartsCollapsible').classList.add('hide');
}
page.querySelector('#themeSongsCollapsible').classList.add('hide');
@ -390,7 +396,7 @@
if (item.Type == "MusicAlbum") {
renderMusicVideos(page, item, user);
} else {
$('#musicVideosCollapsible', page).hide();
page.querySelector('#musicVideosCollapsible').classList.add('hide');
}
renderThemeMedia(page, item, user);
@ -410,10 +416,13 @@
renderSiblingLinks(page, item, context);
}
var taglineElement = page.querySelector('.tagline');
if (item.Taglines && item.Taglines.length) {
$('.tagline', page).html(item.Taglines[0]).show();
taglineElement.classList.remove('hide');
taglineElement.innerHTML = item.Taglines[0];
} else {
$('.tagline', page).hide();
taglineElement.classList.add('hide');
}
var topOverview = page.querySelector('.topOverview');
@ -431,7 +440,7 @@
bottomOverview.classList.add('hide');
}
LibraryBrowser.renderAwardSummary($('#awardSummary', page), item);
LibraryBrowser.renderAwardSummary(page.querySelector('#awardSummary'), item);
$('.itemMiscInfo', page).each(function () {
mediaInfo.fillPrimaryMediaInfo(this, item, {
@ -442,28 +451,31 @@
$('.itemGenres', page).each(function () {
LibraryBrowser.renderGenres(this, item, null, isStatic);
});
LibraryBrowser.renderStudios($('.itemStudios', page), item, isStatic);
LibraryBrowser.renderStudios(page.querySelector('.itemStudios'), item, isStatic);
renderUserDataIcons(page, item);
LibraryBrowser.renderLinks(page.querySelector('.itemExternalLinks'), item);
$('.criticRatingScore', page).html((item.CriticRating || '0') + '%');
page.querySelector('.criticRatingScore').innerHTML = (item.CriticRating || '0') + '%';
if (item.CriticRatingSummary) {
$('#criticRatingSummary', page).show();
$('.criticRatingSummaryText', page).html(item.CriticRatingSummary);
page.querySelector('#criticRatingSummary').classList.remove('hide');
page.querySelector('.criticRatingSummaryText').innerHTML = item.CriticRatingSummary;
} else {
$('#criticRatingSummary', page).hide();
page.querySelector('#criticRatingSummary').classList.add('hide');
}
renderTags(page, item);
renderSeriesAirTime(page, item, isStatic);
var playersElement = page.querySelector('#players');
if (item.Players) {
$('#players', page).show().html(item.Players + ' Player');
playersElement.classList.remove('hide');
playersElement.innerHTML = item.Players + ' Player';
} else {
$('#players', page).hide();
playersElement.classList.add('hide');
}
if (item.ArtistItems && item.ArtistItems.length && item.Type != "MusicAlbum") {
@ -473,16 +485,16 @@
}
if (item.MediaSources && item.MediaSources.length && item.Path) {
$('.audioVideoMediaInfo', page).removeClass('hide');
page.querySelector('.audioVideoMediaInfo').classList.remove('hide');
} else {
$('.audioVideoMediaInfo', page).addClass('hide');
page.querySelector('.audioVideoMediaInfo').classList.add('hide');
}
if (item.MediaType == 'Photo') {
$('.photoInfo', page).removeClass('hide');
page.querySelector('.photoInfo').classList.remove('hide');
renderPhotoInfo(page, item);
} else {
$('.photoInfo', page).addClass('hide');
page.querySelector('.photoInfo').classList.add('hide');
}
renderTabButtons(page, item);
@ -547,20 +559,20 @@
html += attributes.join('<br/>');
$('.photoInfoContent', page).html(html);
page.querySelector('.photoInfoContent').innerHTML = html;
}
function renderTabButtons(page, item) {
var elem = $('.tabDetails', page)[0];
var elem = page.querySelector('.tabDetails');
var text = elem.textContent || elem.innerText || '';
if (text.trim()) {
$('.detailsSection', page).removeClass('hide');
page.querySelector('.detailsSection').classList.remove('hide');
} else {
$('.detailsSection', page).addClass('hide');
page.querySelector('.detailsSection').classList.add('hide');
}
}
@ -590,9 +602,13 @@
function renderSiblingLinks(page, item, context) {
$('.lnkSibling', page).addClass('hide');
var lnkPreviousItem = page.querySelector('.lnkPreviousItem');
var lnkNextItem = page.querySelector('.lnkNextItem');
if ((item.Type != "Episode" && item.Type != "Season" && item.Type != "Audio" && item.Type != "Photo")) {
lnkNextItem.classList.add('hide');
lnkPreviousItem.classList.add('hide');
return;
}
@ -639,11 +655,13 @@
}
else if (!foundExisting) {
$('.lnkPreviousItem', page).removeClass('hide').attr('href', 'itemdetails.html?id=' + curr.Id + '&context=' + context);
lnkPreviousItem.classList.remove('hide');
lnkPreviousItem.href = 'itemdetails.html?id=' + curr.Id + '&context=' + context;
}
else {
$('.lnkNextItem', page).removeClass('hide').attr('href', 'itemdetails.html?id=' + curr.Id + '&context=' + context);
lnkNextItem.classList.remove('hide');
lnkNextItem.href = 'itemdetails.html?id=' + curr.Id + '&context=' + context;
}
}
});
@ -667,11 +685,13 @@
function renderSimilarItems(page, item, context) {
var similarCollapsible = page.querySelector('#similarCollapsible');
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "Series" || item.Type == "Program" || item.Type == "Recording" || item.Type == "Game" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "ChannelVideoItem") {
$('#similarCollapsible', page).show();
similarCollapsible.classList.remove('hide');
}
else {
$('#similarCollapsible', page).hide();
similarCollapsible.classList.add('hide');
return;
}
@ -695,15 +715,16 @@
ApiClient.getSimilarItems(item.Id, options).then(function (result) {
var similarCollapsible = page.querySelector('#similarCollapsible');
if (!result.Items.length) {
$('#similarCollapsible', page).hide();
similarCollapsible.classList.add('hide');
return;
}
var elem = $('#similarCollapsible', page).show();
$('.similiarHeader', elem).html(Globalize.translate('HeaderIfYouLikeCheckTheseOut', item.Name));
similarCollapsible.classList.remove('hide');
similarCollapsible.querySelector('.similiarHeader').innerHTML = Globalize.translate('HeaderIfYouLikeCheckTheseOut', item.Name);
var html = '';
@ -982,9 +1003,9 @@
}
if (item.Type == "MusicAlbum") {
$('.childrenSectionHeader', page).hide();
page.querySelector('.childrenSectionHeader', page).classList.add('hide');
} else {
$('.childrenSectionHeader', page).show();
page.querySelector('.childrenSectionHeader', page).classList.remove('hide');
}
}
@ -1130,7 +1151,14 @@
}
function renderUserDataIcons(page, item) {
$('.userDataIcons', page).html(LibraryBrowser.getUserDataIconsHtml(item, true, 'icon-button'));
var userDataIcons = page.querySelectorAll('.userDataIcons');
var html = LibraryBrowser.getUserDataIconsHtml(item, true, 'icon-button');
for (var i = 0, length = userDataIcons.length; i < length; i++) {
userDataIcons[i].innerHTML = html;
}
}
function renderCriticReviews(page, item, limit) {
@ -2008,32 +2036,38 @@
window.ItemDetailPage = new itemDetailPage();
return function (view, params) {
function parentWithClass(elem, className) {
$('.btnPlay', view).on('click', function () {
while (!elem.classList || !elem.classList.contains(className)) {
elem = elem.parentNode;
if (!elem) {
return null;
}
}
return elem;
}
function onPlayClick() {
playCurrentItem(this);
});
$('.btnPlayTrailer', view).on('click', function () {
playTrailer(view);
});
$('.btnSplitVersions', view).on('click', function () {
splitVersions(view, params);
});
$('.btnSync', view).on('click', function () {
}
function onSyncClick() {
require(['syncDialog'], function (syncDialog) {
syncDialog.showMenu({
items: [currentItem]
});
});
});
}
$('.btnRecord,.btnFloatingRecord', view).on('click', function () {
return function (view, params) {
function onPlayTrailerClick() {
playTrailer(view);
}
function onRecordClick() {
var id = params.id;
Dashboard.showLoadingMsg();
@ -2042,24 +2076,57 @@
reload(view, params);
});
});
}
});
$('.btnCancelRecording', view).on('click', function () {
function onCancelRecordingClick() {
deleteTimer(view, params, currentItem.TimerId);
});
$('.btnMoreCommands', view).on('click', function () {
}
function onMoreCommandsClick() {
var button = this;
Dashboard.getCurrentUser().then(function (user) {
LibraryBrowser.showMoreCommands(button, currentItem.Id, currentItem.Type, LibraryBrowser.getMoreCommands(currentItem, user));
});
}
var elems = view.querySelectorAll('.btnPlay');
var i, length;
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onPlayClick);
}
elems = view.querySelectorAll('.btnPlayTrailer');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onPlayTrailerClick);
}
view.querySelector('.btnSplitVersions').addEventListener('click', function () {
splitVersions(view, params);
});
elems = view.querySelectorAll('.btnSync');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onSyncClick);
}
elems = view.querySelectorAll('.btnRecord,.btnFloatingRecord');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onRecordClick);
}
elems = view.querySelectorAll('.btnCancelRecording');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onCancelRecordingClick);
}
elems = view.querySelectorAll('.btnMoreCommands');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onMoreCommandsClick);
}
$('.childrenItemsContainer', view).on('playallfromhere', function (e, index) {
LibraryBrowser.playAllFromHere(_childrenItemsFunction, index);
@ -2070,25 +2137,24 @@
});
$(view).on("click", ".moreScenes", function () {
view.addEventListener('click', function (e) {
if (parentWithClass(e.target, 'moreScenes')) {
Dashboard.getCurrentUser().then(function (user) {
renderScenes(view, currentItem, user);
});
}).on("click", ".morePeople", function () {
}
else if (parentWithClass(e.target, 'morePeople')) {
renderCast(view, currentItem, params.context);
}).on("click", ".moreSpecials", function () {
}
else if (parentWithClass(e.target, 'moreSpecials')) {
Dashboard.getCurrentUser().then(function (user) {
renderSpecials(view, currentItem, user);
});
}).on("click", ".moreCriticReviews", function () {
}
else if (parentWithClass(e.target, 'moreCriticReviews')) {
renderCriticReviews(view, currentItem);
}
});
view.querySelector('.collectionItems').addEventListener('removefromcollection', function (e) {

View file

@ -3298,11 +3298,11 @@
html = Globalize.translate(translationKey, html);
elem.show().html(html).trigger('create');
elem.innerHTML = html;
elem.classList.remove('hide');
} else {
elem.hide();
elem.classList.add('hide');
}
},
@ -3358,9 +3358,10 @@
renderAwardSummary: function (elem, item) {
if (item.AwardSummary) {
elem.show().html(Globalize.translate('ValueAwards', item.AwardSummary));
elem.classList.remove('hide');
elem.innerHTML = Globalize.translate('ValueAwards', item.AwardSummary);
} else {
elem.hide();
elem.classList.add('hide');
}
},

View file

@ -1,4 +1,4 @@
define(['jQuery'], function ($) {
define(['jQuery', 'emby-icons'], function ($) {
function changeCollectionType(page, virtualFolder) {

View file

@ -3263,7 +3263,6 @@ var AppInfo = {};
}
onWebComponentsReady();
})();
function pageClassOn(eventName, className, fn) {