commit
6dcded8357
11 changed files with 72 additions and 88 deletions
|
@ -15,12 +15,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.97",
|
"version": "1.4.98",
|
||||||
"_release": "1.4.97",
|
"_release": "1.4.98",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.97",
|
"tag": "1.4.98",
|
||||||
"commit": "8b11aa9b8f073cbcd9eacf3170efce38d43a5526"
|
"commit": "6e0ce46f8c48908f94a7f32e95fee78b994c16f5"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
|
@ -58,8 +58,12 @@
|
||||||
height: 3.8vh;
|
height: 3.8vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layout-tv .playedIndicator i {
|
.layout-tv .countIndicator {
|
||||||
width: 2.6vh;
|
font-size: 80%;
|
||||||
height: 2.6vh;
|
}
|
||||||
font-size: 2.6vh;
|
|
||||||
}
|
.layout-tv .playedIndicator i {
|
||||||
|
width: 2.6vh;
|
||||||
|
height: 2.6vh;
|
||||||
|
font-size: 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({
|
commands.push({
|
||||||
name: globalize.translate('sharedcomponents#PlayAllFromHere'),
|
name: globalize.translate('sharedcomponents#PlayAllFromHere'),
|
||||||
id: 'playallfromhere'
|
id: 'playallfromhere'
|
||||||
|
|
|
@ -7,11 +7,14 @@
|
||||||
background-color: rgba(0, 0, 0, .85);
|
background-color: rgba(0, 0, 0, .85);
|
||||||
z-index: 998;
|
z-index: 998;
|
||||||
line-height: initial;
|
line-height: initial;
|
||||||
|
font-size: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardOverlayInner {
|
.cardOverlayInner {
|
||||||
padding: 11px 12px 10px;
|
padding: .5em;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardOverlayInner button:last-child {
|
.cardOverlayInner button:last-child {
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
showOverlayTimeout = null;
|
showOverlayTimeout = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
elem = elem.querySelector('.cardOverlayTarget');
|
elem = elem.classList.contains('cardOverlayTarget') ? elem : elem.querySelector('.cardOverlayTarget');
|
||||||
|
|
||||||
if (elem) {
|
if (elem) {
|
||||||
slideDownToHide(elem);
|
slideDownToHide(elem);
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
var keyframes = [
|
var keyframes = [
|
||||||
{ transform: 'translateY(0)', offset: 0 },
|
{ transform: 'translateY(0)', offset: 0 },
|
||||||
{ transform: 'translateY(100%)', offset: 1 }];
|
{ 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.animate(keyframes, timing).onfinish = function () {
|
||||||
elem.classList.add('hide');
|
elem.classList.add('hide');
|
||||||
|
@ -72,12 +72,12 @@
|
||||||
var keyframes = [
|
var keyframes = [
|
||||||
{ transform: 'translateY(100%)', offset: 0 },
|
{ transform: 'translateY(100%)', offset: 0 },
|
||||||
{ transform: 'translateY(0)', offset: 1 }];
|
{ 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);
|
elem.animate(keyframes, timing);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOverlayHtml(item, currentUser, card) {
|
function getOverlayHtml(apiClient, item, currentUser, card) {
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
|
@ -93,12 +93,12 @@
|
||||||
var name = itemHelper.getDisplayName(item);
|
var name = itemHelper.getDisplayName(item);
|
||||||
|
|
||||||
html += '<div>';
|
html += '<div>';
|
||||||
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
var logoHeight = 26;
|
||||||
var imgUrl;
|
var imgUrl;
|
||||||
|
|
||||||
if (parentName && item.ParentLogoItemId) {
|
if (parentName && item.ParentLogoItemId) {
|
||||||
|
|
||||||
imgUrl = ApiClient.getScaledImageUrl(item.ParentLogoItemId, {
|
imgUrl = apiClient.getScaledImageUrl(item.ParentLogoItemId, {
|
||||||
maxHeight: logoHeight,
|
maxHeight: logoHeight,
|
||||||
type: 'logo',
|
type: 'logo',
|
||||||
tag: item.ParentLogoImageTag
|
tag: item.ParentLogoImageTag
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
}
|
}
|
||||||
else if (item.ImageTags.Logo) {
|
else if (item.ImageTags.Logo) {
|
||||||
|
|
||||||
imgUrl = ApiClient.getScaledImageUrl(item.Id, {
|
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
||||||
maxHeight: logoHeight,
|
maxHeight: logoHeight,
|
||||||
type: 'logo',
|
type: 'logo',
|
||||||
tag: item.ImageTags.Logo
|
tag: item.ImageTags.Logo
|
||||||
|
@ -179,15 +179,14 @@
|
||||||
|
|
||||||
function onShowTimerExpired(elem) {
|
function onShowTimerExpired(elem) {
|
||||||
|
|
||||||
elem = elem.querySelector('a');
|
|
||||||
|
|
||||||
var innerElem = elem.querySelector('.cardOverlayTarget');
|
var innerElem = elem.querySelector('.cardOverlayTarget');
|
||||||
|
|
||||||
if (!innerElem) {
|
if (!innerElem) {
|
||||||
innerElem = document.createElement('div');
|
innerElem = document.createElement('div');
|
||||||
innerElem.classList.add('hide');
|
innerElem.classList.add('hide');
|
||||||
innerElem.classList.add('cardOverlayTarget');
|
innerElem.classList.add('cardOverlayTarget');
|
||||||
parentWithClass(elem, 'cardContent').appendChild(innerElem);
|
|
||||||
|
elem.parentNode.appendChild(innerElem);
|
||||||
}
|
}
|
||||||
|
|
||||||
var dataElement = parentWithAttribute(elem, 'data-id');
|
var dataElement = parentWithAttribute(elem, 'data-id');
|
||||||
|
@ -210,11 +209,7 @@
|
||||||
var item = responses[0];
|
var item = responses[0];
|
||||||
var user = responses[1];
|
var user = responses[1];
|
||||||
|
|
||||||
var card = elem;
|
innerElem.innerHTML = getOverlayHtml(apiClient, item, user, dataElement);
|
||||||
|
|
||||||
elem = parentWithAttribute(elem, 'data-id');
|
|
||||||
|
|
||||||
innerElem.innerHTML = getOverlayHtml(item, user, card);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
slideUpToShow(innerElem);
|
slideUpToShow(innerElem);
|
||||||
|
@ -223,8 +218,9 @@
|
||||||
function onHoverIn(e) {
|
function onHoverIn(e) {
|
||||||
|
|
||||||
var elem = e.target;
|
var elem = e.target;
|
||||||
|
var card = parentWithClass(elem, 'cardImageContainer') || parentWithClass(elem, 'cardImage');
|
||||||
|
|
||||||
if (!elem.classList.contains('cardImage')) {
|
if (!card) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,12 +234,10 @@
|
||||||
showOverlayTimeout = null;
|
showOverlayTimeout = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
elem = parentWithAttribute(elem, 'data-id');
|
|
||||||
|
|
||||||
showOverlayTimeout = setTimeout(function () {
|
showOverlayTimeout = setTimeout(function () {
|
||||||
onShowTimerExpired(elem);
|
onShowTimerExpired(card);
|
||||||
|
|
||||||
}, 1200);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function preventTouchHover() {
|
function preventTouchHover() {
|
||||||
|
|
|
@ -14,10 +14,9 @@
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 50px;
|
|
||||||
background: #43A047;
|
background: #43A047;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
padding: 0 .75em 0 .25em;
|
padding: .5em;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: #fff;
|
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 selectedItems = [];
|
||||||
var selectedElements = [];
|
var selectedElements = [];
|
||||||
|
@ -34,17 +34,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var initCount = 0;
|
||||||
function showTapHoldHelp(element) {
|
function showTapHoldHelp(element) {
|
||||||
|
|
||||||
return;
|
if (initCount >= 15) {
|
||||||
var page = parentWithClass(element, 'page');
|
// All done
|
||||||
|
|
||||||
if (!page) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't do this on the home page
|
initCount++;
|
||||||
if (page.classList.contains('homePage') || page.classList.contains('itemDetailPage') || page.classList.contains('liveTvPage')) {
|
|
||||||
|
if (initCount < 15) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,9 +55,11 @@
|
||||||
|
|
||||||
appStorage.setItem("tapholdhelp", expectedValue);
|
appStorage.setItem("tapholdhelp", expectedValue);
|
||||||
|
|
||||||
Dashboard.alert({
|
require(['alert'], function (alert) {
|
||||||
message: globalize.translate('TryMultiSelectMessage'),
|
alert({
|
||||||
title: globalize.translate('HeaderTryMultiSelect')
|
text: globalize.translate('sharedcomponents#TryMultiSelectMessage'),
|
||||||
|
title: globalize.translate('sharedcomponents#TryMultiSelect')
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +133,7 @@
|
||||||
itemSelectionPanel = document.createElement('div');
|
itemSelectionPanel = document.createElement('div');
|
||||||
itemSelectionPanel.classList.add('itemSelectionPanel');
|
itemSelectionPanel.classList.add('itemSelectionPanel');
|
||||||
|
|
||||||
item.querySelector('.cardContent').appendChild(itemSelectionPanel);
|
item.querySelector('.cardContent,.cardBox').appendChild(itemSelectionPanel);
|
||||||
|
|
||||||
var cssClass = 'chkItemSelect';
|
var cssClass = 'chkItemSelect';
|
||||||
if (isChecked && !browser.firefox) {
|
if (isChecked && !browser.firefox) {
|
||||||
|
@ -416,8 +418,7 @@
|
||||||
|
|
||||||
require(['alert'], function (alert) {
|
require(['alert'], function (alert) {
|
||||||
alert({
|
alert({
|
||||||
text: globalize.translate('sharedcomponents#PleaseSelectTwoItems'),
|
text: globalize.translate('sharedcomponents#PleaseSelectTwoItems')
|
||||||
title: globalize.translate('sharedcomponents#Error')
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -974,13 +974,13 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
||||||
|
|
||||||
if (!transform) {
|
if (!transform) {
|
||||||
if (o.horizontal) {
|
if (o.horizontal) {
|
||||||
if (layoutManager.desktop && o.hiddenScroll === false) {
|
if (layoutManager.desktop) {
|
||||||
slideeElement.classList.add('smoothScrollX');
|
slideeElement.classList.add('smoothScrollX');
|
||||||
} else {
|
} else {
|
||||||
slideeElement.classList.add('hiddenScrollX');
|
slideeElement.classList.add('hiddenScrollX');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (layoutManager.desktop && o.hiddenScroll === false) {
|
if (layoutManager.desktop) {
|
||||||
slideeElement.classList.add('smoothScrollY');
|
slideeElement.classList.add('smoothScrollY');
|
||||||
} else {
|
} else {
|
||||||
slideeElement.classList.add('hiddenScrollY');
|
slideeElement.classList.add('hiddenScrollY');
|
||||||
|
@ -990,9 +990,6 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
||||||
slideeElement.style['will-change'] = 'transform';
|
slideeElement.style['will-change'] = 'transform';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scrolling navigation
|
|
||||||
scrollSource.addEventListener(wheelEvent, scrollHandler);
|
|
||||||
|
|
||||||
if (transform) {
|
if (transform) {
|
||||||
dragInitEventNames.forEach(function (eventName) {
|
dragInitEventNames.forEach(function (eventName) {
|
||||||
dragSourceElement.addEventListener(eventName, dragInitSlidee);
|
dragSourceElement.addEventListener(eventName, dragInitSlidee);
|
||||||
|
@ -1007,6 +1004,16 @@ define(['browser', 'layoutManager', 'scrollStyles'], function (browser, layoutMa
|
||||||
passive: true
|
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
|
// Mark instance as initialized
|
||||||
|
|
|
@ -249,6 +249,19 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
||||||
editItem(item, serverId);
|
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) {
|
function editItem(item, serverId) {
|
||||||
|
|
|
@ -15,22 +15,6 @@
|
||||||
return false;
|
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) {
|
function onGroupedCardClick(e, card) {
|
||||||
|
|
||||||
var itemId = card.getAttribute('data-id');
|
var itemId = card.getAttribute('data-id');
|
||||||
|
@ -73,25 +57,6 @@
|
||||||
return false;
|
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) {
|
function showSyncButtonsPerUser(page) {
|
||||||
|
|
||||||
var apiClient = window.ApiClient;
|
var apiClient = window.ApiClient;
|
||||||
|
|
|
@ -2279,8 +2279,6 @@
|
||||||
"TextPleaseEnterYourEmailAddressForSubscription": "Please enter your e-mail address.",
|
"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.",
|
"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",
|
"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",
|
"NumLocationsValue": "{0} folders",
|
||||||
"ButtonAddMediaLibrary": "Add Media Library",
|
"ButtonAddMediaLibrary": "Add Media Library",
|
||||||
"ButtonManageFolders": "Manage folders",
|
"ButtonManageFolders": "Manage folders",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue