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

add dlna pause fix

This commit is contained in:
Luke Pulverenti 2014-03-15 16:08:06 -04:00
parent a5f1fa7681
commit e3e1ab2db3
6 changed files with 280 additions and 11 deletions

View file

@ -0,0 +1,105 @@
.itemContextMenu {
position: absolute;
background: #fff;
border: 1px solid #ddd;
color: #000;
font-size: 14px;
z-index: 10000;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
text-align: left;
}
.contextMenuInner {
padding: .5em 0;
width: 160px;
}
.contextMenuOption {
display: block;
color: #000;
text-decoration: none;
font-weight: normal;
padding: .35em 1em;
}
.contextMenuOption:hover {
color: #ffffff;
text-decoration: none;
background-color: #0088cc;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
}
.contextMenuHeader {
font-weight: bold;
margin: .5em 0;
padding: 0 1em;
color: #999;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
text-transform: uppercase;
}
.contextMenuDivider {
margin: .75em 0;
height: 1px;
background: #e5e5e5;
}
.itemContextMenu:before, .dropdown-context-up:before {
position: absolute;
top: -7px;
left: 9px;
display: inline-block;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-left: 7px solid transparent;
border-bottom-color: rgba(0, 0, 0, 0.2);
content: '';
}
.dropdown-context:after, .dropdown-context-up:after {
position: absolute;
top: -6px;
left: 10px;
display: inline-block;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
border-left: 6px solid transparent;
content: '';
}
.dropdown-context-up:before, .dropdown-context-up:after {
top: auto;
bottom: -7px;
z-index: 9999;
}
.dropdown-context-up:before {
border-right: 7px solid transparent;
border-top: 7px solid #ccc;
border-bottom: none;
border-left: 7px solid transparent;
}
.dropdown-context-up:after {
border-right: 6px solid transparent;
border-top: 6px solid #ffffff;
border-left: 6px solid transparent;
border-bottom: none;
}

View file

@ -1049,7 +1049,7 @@ a.itemTag:hover {
.alphabetPicker {
position: fixed;
right: 2px;
bottom: 30px;
bottom: 10px;
width: 27px;
z-index: 1000;
text-align: center;

View file

@ -171,12 +171,12 @@
margin: 5px;
padding: 8px;
border: 1px solid #444;
background-image: -webkit-gradient(linear,left top,left bottom,from(#444),to(#2d2d2d));
background-image: -webkit-linear-gradient(#444,#2d2d2d);
background-image: -moz-linear-gradient(#444,#2d2d2d);
background-image: -ms-linear-gradient(#444,#2d2d2d);
background-image: -o-linear-gradient(#444,#2d2d2d);
background-image: linear-gradient(#444,#2d2d2d);
background-image: -webkit-gradient(linear,left top,left bottom,from(#333),to(#2d2d2d));
background-image: -webkit-linear-gradient(#333,#2d2d2d);
background-image: -moz-linear-gradient(#333,#2d2d2d);
background-image: -ms-linear-gradient(#333,#2d2d2d);
background-image: -o-linear-gradient(#333,#2d2d2d);
background-image: linear-gradient(#333,#2d2d2d);
}
.imageEditorTile {

View file

@ -0,0 +1,116 @@
(function () {
function onDocumentMouseDown(e) {
var $e = $(e.target);
var isContextMenuOption = $e.is('.contextMenuOption');
if (!isContextMenuOption || $e.is('.contextMenuCommandOption')) {
if ($e.is('.itemContextMenu') || $e.parents('.itemContextMenu').length) {
return;
}
}
if (isContextMenuOption) {
setTimeout(closeContextMenus, 150);
} else {
closeContextMenus();
}
}
function closeContextMenus() {
$('.itemContextMenu').hide().remove();
$('.hasContextMenu').removeClass('hasContextMenu');
}
function getMenuOptionHtml(item) {
var html = '';
if (item.type == 'divider') {
html += '<p class="contextMenuDivider"></p>';
}
if (item.type == 'header') {
html += '<p class="contextMenuHeader">' + item.text + '</p>';
}
if (item.type == 'link') {
html += '<a class="contextMenuOption" href="' + item.url + '">' + item.text + '</a>';
}
if (item.type == 'command') {
html += '<a class="contextMenuOption contextMenuCommandOption" data-command="' + item.name + '" href="#">' + item.text + '</a>';
}
return html;
}
function getMenu(items) {
var html = '';
html += '<div class="itemContextMenu">';
html += '<div class="contextMenuInner">' + items.map(getMenuOptionHtml).join('') + '</div>';
html += '</div>';
return $(html).appendTo(document.body);
}
$.fn.createContextMenu = function (options) {
return this.on('contextmenu', options.selector, function (e) {
var elem = this;
var items = options.getOptions(elem);
if (!items.length) {
return;
}
var menu = getMenu(items);
var autoH = menu.height() + 12;
if ((e.pageY + autoH) > $('html').height()) {
menu.addClass('dropdown-context-up').css({
top: e.pageY - 20 - autoH,
left: e.pageX - 13
}).fadeIn();
} else {
menu.css({
top: e.pageY + 10,
left: e.pageX - 13
}).fadeIn();
}
$(this).addClass('hasContextMenu');
$(document).off('mousedown.closecontextmenu').on('mousedown.closecontextmenu', onDocumentMouseDown);
menu.on('click', '.contextMenuCommandOption', function() {
closeContextMenus();
options.command(this.getAttribute('data-command'), elem);
return false;
});
return false;
});
};
})();

View file

@ -662,7 +662,7 @@
cssClass += ' ' + options.shape + 'PosterItem';
html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" href="' + LibraryBrowser.getHref(item, options.context) + '">';
html += '<a data-itemid="' + item.Id + '" class="' + cssClass + '" data-locationtype="' + item.LocationType + '" data-mediatype="' + (item.MediaType || '') + '" href="' + LibraryBrowser.getHref(item, options.context) + '">';
// Ribbon
if (item.MediaType == "Video" && item.Video3DFormat) {
@ -2100,10 +2100,42 @@
return false;
}
function onMenuCommand(command, elem) {
var id = elem.getAttribute('data-itemid');
}
function getMenuOptions(elem) {
var items = [];
var id = elem.getAttribute('data-itemid');
var mediatype = elem.getAttribute('data-mediatype');
items.push({ type: 'header', text: 'Edit' });
items.push({ type: 'link', text: 'Details', url: 'edititemmetadata.html?id=' + id });
items.push({ type: 'link', text: 'Images', url: 'edititemimages.html?id=' + id });
if (mediatype == 'Video' && elem.getAttribute('data-locationtype') == 'FileSystem') {
items.push({ type: 'divider' });
items.push({ type: 'header', text: 'Manage' });
items.push({ type: 'command', text: 'Alternate Editions', name: 'AlternateEditions' });
}
return items;
}
$.fn.createPosterItemHoverMenu = function () {
function onShowTimerExpired(elem) {
if ($(elem).hasClass('hasContextMenu')) {
return;
}
var innerElem = $('.posterItemOverlayTarget', elem);
var id = elem.getAttribute('data-itemid');
@ -2152,7 +2184,23 @@
return this;
}
return this.on('mouseenter', '.backdropPosterItem,.smallBackdropPosterItem,.portraitPosterItem,.squarePosterItem', onHoverIn).on('mouseleave', '.backdropPosterItem,.smallBackdropPosterItem,.portraitPosterItem,.squarePosterItem', onHoverOut);
var sequence = this;
Dashboard.getCurrentUser().done(function (user) {
if (user.Configuration.IsAdministrator) {
sequence.createContextMenu({
getOptions: getMenuOptions,
command: onMenuCommand,
selector: '.posterItem'
});
}
});
return this.on('mouseenter', '.backdropPosterItem,.smallBackdropPosterItem,.portraitPosterItem,.squarePosterItem', onHoverIn)
.on('mouseleave', '.backdropPosterItem,.smallBackdropPosterItem,.portraitPosterItem,.squarePosterItem', onHoverOut);
};
})(jQuery, document, window);