mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update icons
This commit is contained in:
parent
4d603ad38c
commit
07df993238
16 changed files with 199 additions and 75 deletions
|
@ -5,7 +5,7 @@
|
|||
}
|
||||
function show(options) {
|
||||
|
||||
require(['paperbuttonstyle'], function() {
|
||||
require(['paperbuttonstyle'], function () {
|
||||
// items
|
||||
// positionTo
|
||||
// showCancel
|
||||
|
@ -13,7 +13,39 @@
|
|||
var id = 'dlg' + new Date().getTime();
|
||||
var html = '';
|
||||
|
||||
html += '<paper-dialog id="' + id + '" entry-animation="scale-up-animation" exit-animation="fade-out-animation" with-backdrop>';
|
||||
var style = "";
|
||||
|
||||
if (options.positionTo) {
|
||||
|
||||
var pos = $(options.positionTo).offset();
|
||||
|
||||
pos.top += $(options.positionTo).innerHeight() / 2;
|
||||
pos.left += $(options.positionTo).innerWidth() / 2;
|
||||
|
||||
// Account for margins
|
||||
pos.top -= 24;
|
||||
pos.left -= 24;
|
||||
|
||||
// Account for popup size - we can't predict this yet so just estimate
|
||||
pos.top -= 100;
|
||||
pos.left -= 80;
|
||||
|
||||
// Account for scroll position
|
||||
pos.top -= $(window).scrollTop();
|
||||
pos.left -= $(window).scrollLeft();
|
||||
|
||||
// Avoid showing too close to the bottom
|
||||
pos.top = Math.min(pos.top, $(window).height() - 300);
|
||||
pos.left = Math.min(pos.left, $(window).width() - 300);
|
||||
|
||||
// Do some boundary checking
|
||||
pos.top = Math.max(pos.top, 0);
|
||||
pos.left = Math.max(pos.left, 0);
|
||||
|
||||
style += 'position:fixed;top:' + pos.top + 'px;left:' + pos.left + 'px';
|
||||
}
|
||||
|
||||
html += '<paper-dialog id="' + id + '" entry-animation="fade-in-animation" exit-animation="fade-out-animation" with-backdrop style="' + style + '">';
|
||||
|
||||
if (options.title) {
|
||||
html += '<h2>';
|
||||
|
@ -26,8 +58,11 @@
|
|||
|
||||
var option = options.items[i];
|
||||
|
||||
html += '<paper-button class="block blue ripple btnOption" data-id="' + option.id + '" style="margin:0;">';
|
||||
//html += '<iron-icon icon="close"></iron-icon>';
|
||||
html += '<paper-button class="block menuButton ripple btnOption" data-id="' + option.id + '" style="margin:0;">';
|
||||
|
||||
if (option.ironIcon) {
|
||||
html += '<iron-icon icon="' + option.ironIcon + '"></iron-icon>';
|
||||
}
|
||||
html += '<span>' + option.name + '</span>';
|
||||
html += '</paper-button>';
|
||||
}
|
||||
|
@ -53,10 +88,18 @@
|
|||
|
||||
$('.btnOption', dlg).on('click', function () {
|
||||
|
||||
if (options.callback) {
|
||||
options.callback(this.getAttribute('data-id'));
|
||||
}
|
||||
dlg.close();
|
||||
var selectedId = this.getAttribute('data-id');
|
||||
|
||||
// Add a delay here to allow the click animation to finish, for nice effect
|
||||
setTimeout(function () {
|
||||
|
||||
dlg.close();
|
||||
|
||||
if (options.callback) {
|
||||
options.callback(selectedId);
|
||||
}
|
||||
|
||||
}, 100);
|
||||
});
|
||||
}, 100);
|
||||
});
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
}
|
||||
|
||||
function populateVersions(packageInfo, page, installedPlugin) {
|
||||
|
||||
var html = '';
|
||||
|
||||
for (var i = 0, length = packageInfo.versions.length; i < length; i++) {
|
||||
|
@ -109,12 +110,12 @@
|
|||
$('.pluginName', page).html(pkg.name);
|
||||
|
||||
if (pkg.targetSystem == 'Server') {
|
||||
$("#btnInstallDiv", page).show();
|
||||
$("#btnInstallDiv", page).visible(true);
|
||||
$("#nonServerMsg", page).hide();
|
||||
$("#pSelectVersion", page).show();
|
||||
$("#pSelectVersion", page).visible(true);
|
||||
} else {
|
||||
$("#btnInstallDiv", page).hide();
|
||||
$("#pSelectVersion", page).hide();
|
||||
$("#btnInstallDiv", page).visible(false);
|
||||
$("#pSelectVersion", page).visible(false);
|
||||
|
||||
var msg = Globalize.translate('MessageInstallPluginFromApp');
|
||||
$("#nonServerMsg", page).html(msg).show();
|
||||
|
|
|
@ -557,7 +557,7 @@
|
|||
|
||||
$('.btnPlay', page).on('click', function () {
|
||||
var userdata = currentItem.UserData || {};
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, false, "Audio", userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, false, "Audio", userdata.PlaybackPositionTicks);
|
||||
});
|
||||
|
||||
$('.itemsContainer', page).on('playallfromhere', function (e, index) {
|
||||
|
|
|
@ -1588,7 +1588,7 @@
|
|||
mediaType = "Audio";
|
||||
}
|
||||
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||
});
|
||||
|
||||
$('.btnPlayTrailer', page).on('click', function () {
|
||||
|
|
|
@ -237,7 +237,7 @@
|
|||
});
|
||||
},
|
||||
|
||||
showPlayMenu: function (positionTo, itemId, itemType, isFolder, mediaType, resumePositionTicks, showAddToPlaylist) {
|
||||
showPlayMenu: function (positionTo, itemId, itemType, isFolder, mediaType, resumePositionTicks) {
|
||||
|
||||
var externalPlayers = AppSettings.enableExternalPlayers();
|
||||
|
||||
|
@ -249,49 +249,91 @@
|
|||
}
|
||||
}
|
||||
|
||||
$('.playFlyout').popup("close").remove();
|
||||
|
||||
var html = '<div data-role="popup" class="playFlyout" data-history="false" data-theme="a">';
|
||||
|
||||
html += '<ul data-role="listview" style="min-width: 160px;">';
|
||||
|
||||
html += '<li data-icon="false"><a href="#" onclick="MediaController.play(\'' + itemId + '\');LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonPlay') + '</a></li>';
|
||||
|
||||
if (!isFolder && externalPlayers) {
|
||||
html += '<li data-icon="false"><a href="#" onclick="LibraryBrowser.closePlayMenu();LibraryBrowser.playInExternalPlayer(\'' + itemId + '\');">' + Globalize.translate('ButtonPlayExternalPlayer') + '</a></li>';
|
||||
}
|
||||
var menuItems = [];
|
||||
|
||||
if (resumePositionTicks) {
|
||||
html += '<li data-icon="false"><a href="#" onclick="MediaController.play({ids:[\'' + itemId + '\'],startPositionTicks:' + resumePositionTicks + '});LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonResume') + '</a></li>';
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonResume'),
|
||||
id: 'resume',
|
||||
ironIcon: 'play-arrow'
|
||||
});
|
||||
}
|
||||
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonPlay'),
|
||||
id: 'play',
|
||||
ironIcon: 'play-arrow'
|
||||
});
|
||||
|
||||
if (!isFolder && externalPlayers && mediaType != "Audio") {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonPlayExternalPlayer'),
|
||||
id: 'externalplayer',
|
||||
ironIcon: 'airplay'
|
||||
});
|
||||
}
|
||||
|
||||
if (MediaController.canQueueMediaType(mediaType, itemType)) {
|
||||
html += '<li data-icon="false"><a href="#" onclick="MediaController.queue(\'' + itemId + '\');LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonQueue') + '</a></li>';
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonQueue'),
|
||||
id: 'queue',
|
||||
ironIcon: 'playlist-add'
|
||||
});
|
||||
}
|
||||
|
||||
if (itemType == "Audio" || itemType == "MusicAlbum" || itemType == "MusicArtist" || itemType == "MusicGenre") {
|
||||
html += '<li data-icon="false"><a href="#" onclick="MediaController.instantMix(\'' + itemId + '\');LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonInstantMix') + '</a></li>';
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonInstantMix'),
|
||||
id: 'instantmix',
|
||||
ironIcon: 'shuffle'
|
||||
});
|
||||
}
|
||||
|
||||
if (isFolder || itemType == "MusicArtist" || itemType == "MusicGenre") {
|
||||
html += '<li data-icon="false"><a href="#" onclick="MediaController.shuffle(\'' + itemId + '\');LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonShuffle') + '</a></li>';
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonShuffle'),
|
||||
id: 'shuffle',
|
||||
ironIcon: 'shuffle'
|
||||
});
|
||||
}
|
||||
|
||||
if (showAddToPlaylist) {
|
||||
html += '<li data-icon="false"><a href="#" onclick="PlaylistManager.showPanel([\'' + itemId + '\']);LibraryBrowser.closePlayMenu();">' + Globalize.translate('ButtonAddToPlaylist') + '</a></li>';
|
||||
}
|
||||
require(['actionsheet'], function () {
|
||||
|
||||
html += '</ul>';
|
||||
ActionSheetElement.show({
|
||||
items: menuItems,
|
||||
positionTo: positionTo,
|
||||
callback: function (id) {
|
||||
|
||||
html += '</div>';
|
||||
switch (id) {
|
||||
|
||||
$($.mobile.activePage).append(html);
|
||||
case 'play':
|
||||
MediaController.play(itemId);
|
||||
break;
|
||||
case 'externalplayer':
|
||||
LibraryBrowser.playInExternalPlayer(itemId);
|
||||
break;
|
||||
case 'resume':
|
||||
MediaController.play({
|
||||
ids: [itemId],
|
||||
startPositionTicks: resumePositionTicks
|
||||
});
|
||||
break;
|
||||
case 'queue':
|
||||
MediaController.queue(itemId);
|
||||
break;
|
||||
case 'instantmix':
|
||||
MediaController.instantMix(itemId);
|
||||
break;
|
||||
case 'shuffle':
|
||||
MediaController.shuffle(itemId);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('.playFlyout').popup({ positionTo: positionTo || "window" }).trigger('create').popup("open").on("popupafterclose", function () {
|
||||
|
||||
$(this).off("popupafterclose").remove();
|
||||
|
||||
}).parents(".ui-popup-container");
|
||||
});
|
||||
},
|
||||
|
||||
closePlayMenu: function () {
|
||||
|
@ -357,7 +399,7 @@
|
|||
// The timeout allows the flyout to close
|
||||
setTimeout(function () {
|
||||
|
||||
var msg = "<p>" + Globalize.translate('ConfirmDeleteItem') + "</p>";
|
||||
var msg = Globalize.translate('ConfirmDeleteItem');
|
||||
|
||||
Dashboard.confirm(msg, Globalize.translate('HeaderDeleteItem'), function (result) {
|
||||
|
||||
|
@ -426,10 +468,10 @@
|
|||
switch (id) {
|
||||
|
||||
case 'addtocollection':
|
||||
BoxSetEditor.showPanel(itemId);
|
||||
BoxSetEditor.showPanel([itemId]);
|
||||
break;
|
||||
case 'icon':
|
||||
PlaylistManager.showPanel(itemId);
|
||||
case 'playlist':
|
||||
PlaylistManager.showPanel([itemId]);
|
||||
break;
|
||||
case 'delete':
|
||||
LibraryBrowser.deleteItem(itemId);
|
||||
|
|
|
@ -1006,7 +1006,7 @@
|
|||
|
||||
msg += "<br/><br/>" + Globalize.translate('MessageConfirmItemGrouping');
|
||||
|
||||
Dashboard.confirm(msg, "Group Versions", function (confirmResult) {
|
||||
Dashboard.confirm(msg, Globalize.translate('HeaderGroupVersions'), function (confirmResult) {
|
||||
|
||||
if (confirmResult) {
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
|
||||
$('#btnPlay', page).on('click', function () {
|
||||
var userdata = currentItem.UserData || {};
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, false, currentItem.MediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, false, currentItem.MediaType, userdata.PlaybackPositionTicks);
|
||||
});
|
||||
|
||||
$('#btnEdit', page).on('click', function () {
|
||||
|
|
|
@ -378,7 +378,8 @@
|
|||
|
||||
dateOptions.push({
|
||||
name: LibraryBrowser.getFutureDateText(start),
|
||||
id: start.getTime()
|
||||
id: start.getTime(),
|
||||
ironIcon: 'today'
|
||||
});
|
||||
|
||||
start.setDate(start.getDate() + 1);
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
|
||||
var userdata = channel.UserData || {};
|
||||
|
||||
LibraryBrowser.showPlayMenu(this, channel.Id, channel.Type, false, channel.MediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, userdata.PlaybackPositionTicks);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
var mediaType = currentItem.MediaType;
|
||||
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, false, mediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, false, mediaType, userdata.PlaybackPositionTicks);
|
||||
}
|
||||
|
||||
function renderRecording(page, item) {
|
||||
|
|
|
@ -187,7 +187,7 @@
|
|||
mediaType = "Audio";
|
||||
}
|
||||
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(null, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||
});
|
||||
|
||||
$('.itemsContainer', page).on('needsrefresh', function () {
|
||||
|
|
|
@ -50,7 +50,9 @@ var Dashboard = {
|
|||
|
||||
$.event.special.swipe.verticalDistanceThreshold = 40;
|
||||
$.mobile.loader.prototype.options.disabled = true;
|
||||
//$.mobile.page.prototype.options.domCache = true;
|
||||
|
||||
|
||||
$.mobile.page.prototype.options.domCache = true;
|
||||
|
||||
$.mobile.loadingMessage = false;
|
||||
$.mobile.loader.prototype.options.html = "";
|
||||
|
@ -570,7 +572,7 @@ var Dashboard = {
|
|||
confirm: function (message, title, callback) {
|
||||
|
||||
// Cordova
|
||||
if (navigator.notification && navigator.notification.alert && message.indexOf('<') == -1) {
|
||||
if (navigator.notification && navigator.notification.confirm && message.indexOf('<') == -1) {
|
||||
|
||||
var buttonLabels = [Globalize.translate('ButtonOk'), Globalize.translate('ButtonCancel')];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue