commit
6dcded8357
11 changed files with 72 additions and 88 deletions
|
@ -15,12 +15,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.4.97",
|
||||
"_release": "1.4.97",
|
||||
"version": "1.4.98",
|
||||
"_release": "1.4.98",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.4.97",
|
||||
"commit": "8b11aa9b8f073cbcd9eacf3170efce38d43a5526"
|
||||
"tag": "1.4.98",
|
||||
"commit": "6e0ce46f8c48908f94a7f32e95fee78b994c16f5"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "^1.2.0",
|
||||
|
|
|
@ -58,6 +58,10 @@
|
|||
height: 3.8vh;
|
||||
}
|
||||
|
||||
.layout-tv .countIndicator {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.layout-tv .playedIndicator i {
|
||||
width: 2.6vh;
|
||||
height: 2.6vh;
|
||||
|
|
|
@ -120,7 +120,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
|||
});
|
||||
}
|
||||
|
||||
if (options.playAllFromHere) {
|
||||
if (options.playAllFromHere && item.Type != 'Program' && item.Type != 'TvChannel') {
|
||||
commands.push({
|
||||
name: globalize.translate('sharedcomponents#PlayAllFromHere'),
|
||||
id: 'playallfromhere'
|
||||
|
|
|
@ -7,11 +7,14 @@
|
|||
background-color: rgba(0, 0, 0, .85);
|
||||
z-index: 998;
|
||||
line-height: initial;
|
||||
font-size: initial;
|
||||
}
|
||||
|
||||
.cardOverlayInner {
|
||||
padding: 11px 12px 10px;
|
||||
padding: .5em;
|
||||
color: #fff;
|
||||
text-align: left;
|
||||
|
||||
}
|
||||
|
||||
.cardOverlayInner button:last-child {
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
showOverlayTimeout = null;
|
||||
}
|
||||
|
||||
elem = elem.querySelector('.cardOverlayTarget');
|
||||
elem = elem.classList.contains('cardOverlayTarget') ? elem : elem.querySelector('.cardOverlayTarget');
|
||||
|
||||
if (elem) {
|
||||
slideDownToHide(elem);
|
||||
|
@ -47,7 +47,7 @@
|
|||
var keyframes = [
|
||||
{ transform: 'translateY(0)', offset: 0 },
|
||||
{ transform: 'translateY(100%)', offset: 1 }];
|
||||
var timing = { duration: 300, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
var timing = { duration: 180, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
|
||||
elem.animate(keyframes, timing).onfinish = function () {
|
||||
elem.classList.add('hide');
|
||||
|
@ -72,12 +72,12 @@
|
|||
var keyframes = [
|
||||
{ transform: 'translateY(100%)', offset: 0 },
|
||||
{ transform: 'translateY(0)', offset: 1 }];
|
||||
var timing = { duration: 300, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
var timing = { duration: 200, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
elem.animate(keyframes, timing);
|
||||
});
|
||||
}
|
||||
|
||||
function getOverlayHtml(item, currentUser, card) {
|
||||
function getOverlayHtml(apiClient, item, currentUser, card) {
|
||||
|
||||
var html = '';
|
||||
|
||||
|
@ -93,12 +93,12 @@
|
|||
var name = itemHelper.getDisplayName(item);
|
||||
|
||||
html += '<div>';
|
||||
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
||||
var logoHeight = 26;
|
||||
var imgUrl;
|
||||
|
||||
if (parentName && item.ParentLogoItemId) {
|
||||
|
||||
imgUrl = ApiClient.getScaledImageUrl(item.ParentLogoItemId, {
|
||||
imgUrl = apiClient.getScaledImageUrl(item.ParentLogoItemId, {
|
||||
maxHeight: logoHeight,
|
||||
type: 'logo',
|
||||
tag: item.ParentLogoImageTag
|
||||
|
@ -109,7 +109,7 @@
|
|||
}
|
||||
else if (item.ImageTags.Logo) {
|
||||
|
||||
imgUrl = ApiClient.getScaledImageUrl(item.Id, {
|
||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
||||
maxHeight: logoHeight,
|
||||
type: 'logo',
|
||||
tag: item.ImageTags.Logo
|
||||
|
@ -179,15 +179,14 @@
|
|||
|
||||
function onShowTimerExpired(elem) {
|
||||
|
||||
elem = elem.querySelector('a');
|
||||
|
||||
var innerElem = elem.querySelector('.cardOverlayTarget');
|
||||
|
||||
if (!innerElem) {
|
||||
innerElem = document.createElement('div');
|
||||
innerElem.classList.add('hide');
|
||||
innerElem.classList.add('cardOverlayTarget');
|
||||
parentWithClass(elem, 'cardContent').appendChild(innerElem);
|
||||
|
||||
elem.parentNode.appendChild(innerElem);
|
||||
}
|
||||
|
||||
var dataElement = parentWithAttribute(elem, 'data-id');
|
||||
|
@ -210,11 +209,7 @@
|
|||
var item = responses[0];
|
||||
var user = responses[1];
|
||||
|
||||
var card = elem;
|
||||
|
||||
elem = parentWithAttribute(elem, 'data-id');
|
||||
|
||||
innerElem.innerHTML = getOverlayHtml(item, user, card);
|
||||
innerElem.innerHTML = getOverlayHtml(apiClient, item, user, dataElement);
|
||||
});
|
||||
|
||||
slideUpToShow(innerElem);
|
||||
|
@ -223,8 +218,9 @@
|
|||
function onHoverIn(e) {
|
||||
|
||||
var elem = e.target;
|
||||
var card = parentWithClass(elem, 'cardImageContainer') || parentWithClass(elem, 'cardImage');
|
||||
|
||||
if (!elem.classList.contains('cardImage')) {
|
||||
if (!card) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -238,12 +234,10 @@
|
|||
showOverlayTimeout = null;
|
||||
}
|
||||
|
||||
elem = parentWithAttribute(elem, 'data-id');
|
||||
|
||||
showOverlayTimeout = setTimeout(function () {
|
||||
onShowTimerExpired(elem);
|
||||
onShowTimerExpired(card);
|
||||
|
||||
}, 1200);
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function preventTouchHover() {
|
||||
|
|
|
@ -14,10 +14,9 @@
|
|||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 50px;
|
||||
background: #43A047;
|
||||
z-index: 1000;
|
||||
padding: 0 .75em 0 .25em;
|
||||
padding: .5em;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['browser', 'apphost', 'loading', 'connectionManager', 'globalize', 'embyRouter', 'css!./multiselect'], function (browser, appHost, loading, connectionManager, globalize, embyRouter) {
|
||||
define(['browser', 'appStorage', 'apphost', 'loading', 'connectionManager', 'globalize', 'embyRouter', 'css!./multiselect'], function (browser, appStorage, appHost, loading, connectionManager, globalize, embyRouter) {
|
||||
|
||||
var selectedItems = [];
|
||||
var selectedElements = [];
|
||||
|
@ -34,17 +34,17 @@
|
|||
}
|
||||
}
|
||||
|
||||
var initCount = 0;
|
||||
function showTapHoldHelp(element) {
|
||||
|
||||
return;
|
||||
var page = parentWithClass(element, 'page');
|
||||
|
||||
if (!page) {
|
||||
if (initCount >= 15) {
|
||||
// All done
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't do this on the home page
|
||||
if (page.classList.contains('homePage') || page.classList.contains('itemDetailPage') || page.classList.contains('liveTvPage')) {
|
||||
initCount++;
|
||||
|
||||
if (initCount < 15) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -55,9 +55,11 @@
|
|||
|
||||
appStorage.setItem("tapholdhelp", expectedValue);
|
||||
|
||||
Dashboard.alert({
|
||||
message: globalize.translate('TryMultiSelectMessage'),
|
||||
title: globalize.translate('HeaderTryMultiSelect')
|
||||
require(['alert'], function (alert) {
|
||||
alert({
|
||||
text: globalize.translate('sharedcomponents#TryMultiSelectMessage'),
|
||||
title: globalize.translate('sharedcomponents#TryMultiSelect')
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -131,7 +133,7 @@
|
|||
itemSelectionPanel = document.createElement('div');
|
||||
itemSelectionPanel.classList.add('itemSelectionPanel');
|
||||
|
||||
item.querySelector('.cardContent').appendChild(itemSelectionPanel);
|
||||
item.querySelector('.cardContent,.cardBox').appendChild(itemSelectionPanel);
|
||||
|
||||
var cssClass = 'chkItemSelect';
|
||||
if (isChecked && !browser.firefox) {
|
||||
|
@ -416,8 +418,7 @@
|
|||
|
||||
require(['alert'], function (alert) {
|
||||
alert({
|
||||
text: globalize.translate('sharedcomponents#PleaseSelectTwoItems'),
|
||||
title: globalize.translate('sharedcomponents#Error')
|
||||
text: globalize.translate('sharedcomponents#PleaseSelectTwoItems')
|
||||
});
|
||||
});
|
||||
return;
|
||||
|
|
|
@ -974,13 +974,13 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
|||
|
||||
if (!transform) {
|
||||
if (o.horizontal) {
|
||||
if (layoutManager.desktop && o.hiddenScroll === false) {
|
||||
if (layoutManager.desktop) {
|
||||
slideeElement.classList.add('smoothScrollX');
|
||||
} else {
|
||||
slideeElement.classList.add('hiddenScrollX');
|
||||
}
|
||||
} else {
|
||||
if (layoutManager.desktop && o.hiddenScroll === false) {
|
||||
if (layoutManager.desktop) {
|
||||
slideeElement.classList.add('smoothScrollY');
|
||||
} else {
|
||||
slideeElement.classList.add('hiddenScrollY');
|
||||
|
@ -990,9 +990,6 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
|||
slideeElement.style['will-change'] = 'transform';
|
||||
}
|
||||
|
||||
// Scrolling navigation
|
||||
scrollSource.addEventListener(wheelEvent, scrollHandler);
|
||||
|
||||
if (transform) {
|
||||
dragInitEventNames.forEach(function (eventName) {
|
||||
dragSourceElement.addEventListener(eventName, dragInitSlidee);
|
||||
|
@ -1007,6 +1004,16 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
|||
passive: true
|
||||
});
|
||||
}
|
||||
|
||||
// Scrolling navigation
|
||||
scrollSource.addEventListener(wheelEvent, scrollHandler);
|
||||
|
||||
} else if (o.horizontal) {
|
||||
|
||||
// Don't bind to mouse events with vertical scroll since the mouse wheel can handle this natively
|
||||
|
||||
// Scrolling navigation
|
||||
scrollSource.addEventListener(wheelEvent, scrollHandler);
|
||||
}
|
||||
|
||||
// Mark instance as initialized
|
||||
|
|
|
@ -249,6 +249,19 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
|||
editItem(item, serverId);
|
||||
});
|
||||
}
|
||||
|
||||
else if (action == 'playtrailer') {
|
||||
getItem(target).then(playTrailer);
|
||||
}
|
||||
}
|
||||
|
||||
function playTrailer(item) {
|
||||
|
||||
var apiClient = connectionManager.getApiClient(item.ServerId);
|
||||
|
||||
apiClient.getLocalTrailers(apiClient.getCurrentUserId(), item.Id).then(function (trailers) {
|
||||
playbackManager.play({ items: trailers });
|
||||
});
|
||||
}
|
||||
|
||||
function editItem(item, serverId) {
|
||||
|
|
|
@ -15,22 +15,6 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function onCardClick(e) {
|
||||
|
||||
var card = parentWithClass(e.target, 'card');
|
||||
|
||||
if (card) {
|
||||
|
||||
var itemSelectionPanel = card.querySelector('.itemSelectionPanel');
|
||||
if (itemSelectionPanel) {
|
||||
return onItemSelectionPanelClick(e, itemSelectionPanel);
|
||||
}
|
||||
else if (card.classList.contains('groupedCard')) {
|
||||
return onGroupedCardClick(e, card);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onGroupedCardClick(e, card) {
|
||||
|
||||
var itemId = card.getAttribute('data-id');
|
||||
|
@ -73,25 +57,6 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function parentWithClass(elem, className) {
|
||||
|
||||
while (!elem.classList || !elem.classList.contains(className)) {
|
||||
elem = elem.parentNode;
|
||||
|
||||
if (!elem) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return elem;
|
||||
}
|
||||
|
||||
libraryBrowser.createCardMenus = function (curr, options) {
|
||||
|
||||
curr.removeEventListener('click', onCardClick);
|
||||
curr.addEventListener('click', onCardClick);
|
||||
};
|
||||
|
||||
function showSyncButtonsPerUser(page) {
|
||||
|
||||
var apiClient = window.ApiClient;
|
||||
|
|
|
@ -2279,8 +2279,6 @@
|
|||
"TextPleaseEnterYourEmailAddressForSubscription": "Please enter your e-mail address.",
|
||||
"LoginDisclaimer": "Emby is designed to help you manage your personal media library, such as home videos and photos. Please see our terms of use. The use of any Emby software constitutes acceptance of these terms.",
|
||||
"TermsOfUse": "Terms of use",
|
||||
"HeaderTryMultiSelect": "Try Multi-Select",
|
||||
"TryMultiSelectMessage": "To edit multiple media items, just click and hold any poster and select the items you want to manage. Try it!",
|
||||
"NumLocationsValue": "{0} folders",
|
||||
"ButtonAddMediaLibrary": "Add Media Library",
|
||||
"ButtonManageFolders": "Manage folders",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue