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:
parent
ba14c457e8
commit
6c9609f234
7 changed files with 120 additions and 80 deletions
|
@ -1,7 +1,8 @@
|
|||
define(['dialogHelper', 'css!css/metadataeditor.css', 'emby-button', 'paper-icon-button-light'], function (dialogHelper) {
|
||||
|
||||
var currentItem;
|
||||
var currentDeferred;
|
||||
var currentResolve;
|
||||
var currentReject;
|
||||
var hasChanges = false;
|
||||
|
||||
function getBaseRemoteOptions() {
|
||||
|
@ -303,19 +304,25 @@
|
|||
function onDialogClosed() {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
currentDeferred.resolveWith(null, [hasChanges]);
|
||||
|
||||
if (hasChanges) {
|
||||
currentResolve();
|
||||
} else {
|
||||
currentReject();
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
show: function (itemId, options) {
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
currentDeferred = deferred;
|
||||
currentResolve = resolve;
|
||||
currentReject = reject;
|
||||
hasChanges = false;
|
||||
|
||||
showEditor(itemId, options);
|
||||
return deferred.promise();
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
|
@ -107,30 +107,36 @@
|
|||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@media all and (max-width: 600px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 220px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 440px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 240px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 400px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 350px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 180px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 320px) {
|
||||
@media all and (max-width: 400px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 350px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 320px) {
|
||||
.videoPositionSliderContainer {
|
||||
width: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
.nowPlayingTabButtons {
|
||||
margin-bottom: 1.25em;
|
||||
}
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
$('.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');
|
||||
}
|
||||
|
||||
var artist = page.querySelectorAll('.artist');
|
||||
for (i = 0, length = itemMiscInfo.length; i < length; i++) {
|
||||
if (item.ArtistItems && item.ArtistItems.length && item.Type != "MusicAlbum") {
|
||||
$('.artist', page).show().html(getArtistLinksHtml(item.ArtistItems, context));
|
||||
artist[i].classList.remove('hide');
|
||||
artist[i].innerHTML = getArtistLinksHtml(item.ArtistItems, context);
|
||||
} else {
|
||||
$('.artist', page).hide();
|
||||
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) {
|
||||
|
|
|
@ -2706,9 +2706,9 @@
|
|||
Dashboard.setPageTitle(name);
|
||||
|
||||
if (linkToElement) {
|
||||
nameElem.html('<a class="detailPageParentLink" href="' + LibraryBrowser.getHref(item, context) + '">' + name + '</a>');
|
||||
nameElem.innerHTML = '<a class="detailPageParentLink" href="' + LibraryBrowser.getHref(item, context) + '">' + name + '</a>';
|
||||
} else {
|
||||
nameElem.html(name);
|
||||
nameElem.innerHTML = name;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -2748,9 +2748,10 @@
|
|||
}
|
||||
|
||||
if (html.length) {
|
||||
parentNameElem.show().html(html.join(' - '));
|
||||
parentNameElem.classList.remove('hide');
|
||||
parentNameElem.innerHTML = html.join(' - ');
|
||||
} else {
|
||||
parentNameElem.hide();
|
||||
parentNameElem.classList.add('hide');
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -227,10 +227,8 @@
|
|||
|
||||
ImageEditor.show(virtualFolder.ItemId, {
|
||||
theme: 'a'
|
||||
}).then(function (hasChanged) {
|
||||
if (hasChanged) {
|
||||
}).then(function () {
|
||||
reloadLibrary(page);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
var muteButton = null;
|
||||
var unmuteButton = null;
|
||||
var volumeSlider = null;
|
||||
var volumeSliderContainer = null;
|
||||
var positionSlider;
|
||||
var currentTimeElement;
|
||||
|
||||
|
@ -766,7 +767,7 @@
|
|||
html += '<button is="paper-icon-button-light" class="muteButton mediaButton autoSize" onclick="MediaPlayer.mute();"><i class="md-icon">volume_up</i></button>';
|
||||
html += '<button is="paper-icon-button-light" class="unmuteButton mediaButton autoSize" onclick="MediaPlayer.unMute();"><i class="md-icon">volume_off</i></button>';
|
||||
|
||||
html += '<div class="sliderContainer" style="width:100px;vertical-align:middle;;margin-right:2em;display:inline-flex;">';
|
||||
html += '<div class="sliderContainer volumeSliderContainer" style="width:100px;vertical-align:middle;;margin-right:2em;display:inline-flex;">';
|
||||
html += '<input type="range" is="emby-slider" pin step="1" min="0" max="100" value="0" class="videoVolumeSlider"/>';
|
||||
html += '</div>'; // guide
|
||||
|
||||
|
@ -820,6 +821,7 @@
|
|||
};
|
||||
|
||||
volumeSlider = parent.querySelector('.videoVolumeSlider');
|
||||
volumeSliderContainer = parent.querySelector('.volumeSliderContainer');
|
||||
volumeSlider.addEventListener('change', function () {
|
||||
|
||||
var vol = this.value;
|
||||
|
@ -852,6 +854,7 @@
|
|||
|
||||
function updateVolumeButtons(vol) {
|
||||
|
||||
if (!AppInfo.hasPhysicalVolumeButtons) {
|
||||
if (vol) {
|
||||
muteButton.classList.remove('hide');
|
||||
unmuteButton.classList.add('hide');
|
||||
|
@ -860,6 +863,7 @@
|
|||
unmuteButton.classList.remove('hide');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function requestFullScreen(element) {
|
||||
|
||||
|
@ -1130,11 +1134,11 @@
|
|||
}
|
||||
|
||||
if (AppInfo.hasPhysicalVolumeButtons) {
|
||||
volumeSlider.classList.add('hide');
|
||||
volumeSliderContainer.classList.add('hide');
|
||||
videoControls.querySelector('.muteButton').classList.add('hide');
|
||||
videoControls.querySelector('.unmuteButton').classList.add('hide');
|
||||
} else {
|
||||
volumeSlider.classList.remove('hide');
|
||||
volumeSliderContainer.classList.remove('hide');
|
||||
videoControls.querySelector('.muteButton').classList.remove('hide');
|
||||
videoControls.querySelector('.unmuteButton').classList.remove('hide');
|
||||
}
|
||||
|
|
|
@ -1524,6 +1524,7 @@ var AppInfo = {};
|
|||
AppInfo.supportsFileInput = !(AppInfo.isNativeApp && isAndroid);
|
||||
|
||||
AppInfo.hasPhysicalVolumeButtons = isCordova || isMobile;
|
||||
AppInfo.hasPhysicalVolumeButtons = true;
|
||||
AppInfo.enableBackButton = isIOS && (window.navigator.standalone || AppInfo.isNativeApp);
|
||||
|
||||
AppInfo.supportsSyncPathSetting = isCordova && isAndroid;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue