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 12:51:13 -04:00
parent ba14c457e8
commit 6c9609f234
7 changed files with 120 additions and 80 deletions

View file

@ -1,4 +1,4 @@
define(['layoutManager', 'datetime', 'jQuery', 'mediaInfo', 'backdrop', 'scrollStyles'], function (layoutManager, datetime, $, mediaInfo, backdrop) {
define(['layoutManager', 'datetime', 'mediaInfo', 'backdrop', 'scrollStyles'], function (layoutManager, datetime, mediaInfo, backdrop) {
var currentItem;
@ -48,6 +48,19 @@
});
}
function hideAll(page, className, show) {
var i, length;
var elems = page.querySelectorAll('.' + className);
for (i = 0, length = elems.length; i < length; i++) {
if (show) {
elems[i].classList.remove('hide');
} else {
elems[i].classList.add('hide');
}
}
}
function reloadFromItem(page, params, item) {
currentItem = item;
@ -57,8 +70,8 @@
LibraryMenu.setBackButtonVisible(true);
LibraryMenu.setMenuButtonVisible(false);
LibraryBrowser.renderName(item, $('.itemName', page), false, context);
LibraryBrowser.renderParentName(item, $('.parentName', page), context);
LibraryBrowser.renderName(item, page.querySelector('.itemName'), false, context);
LibraryBrowser.renderParentName(item, page.querySelector('.parentName'), context);
LibraryMenu.setTitle(item.SeriesName || item.Name);
Dashboard.getCurrentUser().then(function (user) {
@ -95,59 +108,64 @@
var now = new Date();
if (now >= datetime.parseISO8601Date(item.StartDate, true) && now < datetime.parseISO8601Date(item.EndDate, true)) {
$('.btnPlay', page).removeClass('hide');
hideAll(page, 'btnPlay', true);
canPlay = true;
} else {
$('.btnPlay', page).addClass('hide');
hideAll(page, 'btnPlay');
}
}
else if (MediaController.canPlay(item)) {
$('.btnPlay', page).removeClass('hide');
hideAll(page, 'btnPlay', true);
canPlay = true;
}
else {
$('.btnPlay', page).addClass('hide');
hideAll(page, 'btnPlay');
}
if (item.LocalTrailerCount && item.PlayAccess == 'Full') {
$('.btnPlayTrailer', page).removeClass('hide');
hideAll(page, 'btnPlayTrailer', true);
} else {
$('.btnPlayTrailer', page).addClass('hide');
hideAll(page, 'btnPlayTrailer');
}
if (LibraryBrowser.enableSync(item, user)) {
$('.btnSync', page).removeClass('hide');
hideAll(page, 'btnSync', true);
} else {
$('.btnSync', page).addClass('hide');
hideAll(page, 'btnSync');
}
if (item.Type == 'Program' && item.TimerId) {
$('.btnCancelRecording', page).removeClass('hide');
hideAll(page, 'btnCancelRecording', true);
} else {
$('.btnCancelRecording', page).addClass('hide');
hideAll(page, 'btnCancelRecording');
}
if (item.Type == 'Program' && (!item.TimerId && !item.SeriesTimerId)) {
if (canPlay) {
$('.btnRecord', page).removeClass('hide');
$('.btnFloatingRecord', page).addClass('hide');
hideAll(page, 'btnRecord', true);
hideAll(page, 'btnFloatingRecord');
} else {
$('.btnRecord', page).addClass('hide');
$('.btnFloatingRecord', page).removeClass('hide');
hideAll(page, 'btnRecord');
hideAll(page, 'btnFloatingRecord', true);
}
} else {
$('.btnRecord', page).addClass('hide');
$('.btnFloatingRecord', page).addClass('hide');
hideAll(page, 'btnRecord');
hideAll(page, 'btnFloatingRecord');
}
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
var btnPlayExternalTrailer = page.querySelectorAll('.btnPlayExternalTrailer');
for (var i = 0, length = btnPlayExternalTrailer.length; i < length; i++) {
if (!item.LocalTrailerCount && item.RemoteTrailers.length && item.PlayAccess == 'Full') {
$('.btnPlayExternalTrailer', page).removeClass('hide').attr('href', item.RemoteTrailers[0].Url);
btnPlayExternalTrailer[i].classList.remove('hide');
btnPlayExternalTrailer[i].href = item.RemoteTrailers[0].Url;
} else {
} else {
$('.btnPlayExternalTrailer', page).addClass('hide').attr('href', '#');
btnPlayExternalTrailer[i].classList.add('hide');
btnPlayExternalTrailer[i].href = '#';
}
}
var groupedVersions = (item.MediaSources || []).filter(function (g) {
@ -161,9 +179,9 @@
}
if (LibraryBrowser.getMoreCommands(item, user).length > 0) {
$('.btnMoreCommands', page).removeClass('hide');
hideAll(page, 'btnMoreCommands', true);
} else {
$('.btnMoreCommands', page).addClass('hide');
hideAll(page, 'btnMoreCommands');
}
if (user.Policy.IsAdministrator) {
@ -442,15 +460,18 @@
LibraryBrowser.renderAwardSummary(page.querySelector('#awardSummary'), item);
$('.itemMiscInfo', page).each(function () {
mediaInfo.fillPrimaryMediaInfo(this, item, {
var i, length;
var itemMiscInfo = page.querySelectorAll('.itemMiscInfo');
for (i = 0, length = itemMiscInfo.length; i < length; i++) {
mediaInfo.fillPrimaryMediaInfo(itemMiscInfo[i], item, {
interactive: true
});
});
}
var itemGenres = page.querySelectorAll('.itemGenres');
for (i = 0, length = itemMiscInfo.length; i < length; i++) {
LibraryBrowser.renderGenres(itemGenres[i], item, null, isStatic);
}
$('.itemGenres', page).each(function () {
LibraryBrowser.renderGenres(this, item, null, isStatic);
});
LibraryBrowser.renderStudios(page.querySelector('.itemStudios'), item, isStatic);
renderUserDataIcons(page, item);
LibraryBrowser.renderLinks(page.querySelector('.itemExternalLinks'), item);
@ -478,10 +499,14 @@
playersElement.classList.add('hide');
}
if (item.ArtistItems && item.ArtistItems.length && item.Type != "MusicAlbum") {
$('.artist', page).show().html(getArtistLinksHtml(item.ArtistItems, context));
} else {
$('.artist', page).hide();
var artist = page.querySelectorAll('.artist');
for (i = 0, length = itemMiscInfo.length; i < length; i++) {
if (item.ArtistItems && item.ArtistItems.length && item.Type != "MusicAlbum") {
artist[i].classList.remove('hide');
artist[i].innerHTML = getArtistLinksHtml(item.ArtistItems, context);
} else {
artist[i].classList.add('hide');
}
}
if (item.MediaSources && item.MediaSources.length && item.Path) {
@ -2127,14 +2152,12 @@
elems[i].addEventListener('click', onMoreCommandsClick);
}
$('.childrenItemsContainer', view).on('playallfromhere', function (e, index) {
LibraryBrowser.playAllFromHere(_childrenItemsFunction, index);
}).on('queueallfromhere', function (e, index) {
LibraryBrowser.queueAllFromHere(_childrenItemsFunction, index);
var childrenItemsContainer = view.querySelector('.childrenItemsContainer');
childrenItemsContainer.addEventListener('playallfromhere', function (e) {
LibraryBrowser.playAllFromHere(_childrenItemsFunction, e.detail.index);
});
childrenItemsContainer.addEventListener('playallfromhere', function (e) {
LibraryBrowser.playAllFromHere(_childrenItemsFunction, e.detail.index);
});
view.addEventListener('click', function (e) {