Merge pull request #1962 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-07-22 01:17:39 -04:00 committed by GitHub
commit 30fa9e7884
10 changed files with 150 additions and 35 deletions

View file

@ -182,7 +182,7 @@
}
.visualCardBox .outerCardFooter {
padding: 3px;
padding: .5em .3em;
position: relative;
}
@ -230,7 +230,7 @@
}
.outerCardFooter .cardText + .cardText {
opacity: .8;
opacity: .6;
}
.outerCardFooter .cardText:first-child {

View file

@ -57,6 +57,24 @@
contain: style;
}
.textActionButton {
border: 0 !important;
background: transparent;
border: 0 !important;
padding: 0 !important;
cursor: pointer;
outline: none !important;
color: inherit;
vertical-align: middle;
font-family: inherit;
font-size: inherit;
}
.textActionButton:hover {
text-decoration: underline;
opacity: 1;
}
.pageWithAbsoluteTabs .pageTabContent, .libraryPage > .ui-content {
padding-top: 10px;
}

View file

@ -90,10 +90,6 @@
font-size: 28px;
}
.nowPlayingDoubleText {
top: -3px;
}
.nowPlayingImage {
display: inline-block;
vertical-align: middle;
@ -168,8 +164,8 @@
/* Need this to make sure it's on top of nowPlayingBarPositionContainer so that buttons are fully clickable */
z-index: 2;
position: absolute;
left: 0;
right: 0;
left: 200px;
right: 200px;
top: 0;
}

View file

@ -115,7 +115,8 @@
showDetailsMenu: true,
centerText: true,
context: 'home-upcoming',
overlayMoreButton: true
overlayMoreButton: true,
showParentTitle: true
});
html += '</div>';

View file

@ -1447,7 +1447,7 @@
var footerCssClass = progressHtml ? 'cardFooter fullCardFooter' : 'cardFooter';
html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, footerCssClass, progressHtml);
html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, footerCssClass, progressHtml, false);
footerOverlayed = true;
}
else if (progressHtml) {
@ -1475,7 +1475,7 @@
html += '</div>';
if (!options.overlayText && !footerOverlayed) {
html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, 'cardFooter outerCardFooter', progressHtml);
html += LibraryBrowser.getCardFooterText(item, options, showTitle, imgUrl, forceName, 'cardFooter outerCardFooter', progressHtml, true);
}
// cardBox
@ -1487,7 +1487,20 @@
return html;
},
getCardFooterText: function (item, options, showTitle, imgUrl, forceName, footerClass, progressHtml) {
getTextActionButton: function (item, text) {
if (!text) {
text = itemHelper.getDisplayName(item);
}
var html = '<button data-id="' + item.Id + '" data-type="' + item.Type + '" data-mediatype="' + item.MediaType + '" data-isfolder="' + item.IsFolder + '" type="button" class="itemAction textActionButton" data-action="link">';
html += text;
html += '</button>';
return html;
},
getCardFooterText: function (item, options, showTitle, imgUrl, forceName, footerClass, progressHtml, isOuterFooter) {
var html = '';
@ -1509,16 +1522,40 @@
var lines = [];
if (options.showParentTitle) {
var parentTitleUnderneath = item.Type == 'MusicAlbum' || item.Type == 'Audio' || item.Type == 'MusicVideo';
if (options.showParentTitle && !parentTitleUnderneath) {
if (isOuterFooter && item.Type == 'Episode' && item.SeriesName && item.SeriesId) {
lines.push(LibraryBrowser.getTextActionButton({
Id: item.SeriesId,
Name: item.SeriesName,
Type: 'Series',
IsFolder: true
}));
}
else {
lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || ""));
}
}
if (showTitle || forceName) {
lines.push(htmlEncode(name));
}
if (options.showParentTitle && parentTitleUnderneath) {
if (isOuterFooter && item.AlbumArtists && item.AlbumArtists.length) {
item.AlbumArtists[0].Type = 'MusicArtist';
item.AlbumArtists[0].IsFolder = true;
lines.push(LibraryBrowser.getTextActionButton(item.AlbumArtists[0]));
} else {
lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || ""));
}
}
if (options.showItemCounts) {
var itemCountHtml = LibraryBrowser.getItemCountsHtml(options, item);

View file

@ -813,10 +813,21 @@
};
// TOOD: This doesn't really belong here
self.getNowPlayingNameHtml = function (nowPlayingItem, includeNonNameInfo) {
self.getNowPlayingNames = function (nowPlayingItem, includeNonNameInfo) {
var topItem = nowPlayingItem;
var bottomItem = null;
var topText = nowPlayingItem.Name;
if (nowPlayingItem.AlbumId && nowPlayingItem.MediaType == 'Audio') {
topItem = {
Id: nowPlayingItem.AlbumId,
Name: nowPlayingItem.Album,
Type: 'MusicAlbum',
IsFolder: true
};
}
if (nowPlayingItem.MediaType == 'Video') {
if (nowPlayingItem.IndexNumber != null) {
topText = nowPlayingItem.IndexNumber + " - " + topText;
@ -829,18 +840,69 @@
var bottomText = '';
if (nowPlayingItem.Artists && nowPlayingItem.Artists.length) {
bottomText = topText;
topText = nowPlayingItem.Artists[0];
if (nowPlayingItem.ArtistItems && nowPlayingItem.ArtistItems.length) {
bottomItem = {
Id: nowPlayingItem.ArtistItems[0].Id,
Name: nowPlayingItem.ArtistItems[0].Name,
Type: 'MusicArtist',
IsFolder: true
};
bottomText = bottomItem.Name;
} else {
bottomText = nowPlayingItem.Artists[0];
}
}
else if (nowPlayingItem.SeriesName || nowPlayingItem.Album) {
bottomText = topText;
topText = nowPlayingItem.SeriesName || nowPlayingItem.Album;
bottomItem = topItem;
if (nowPlayingItem.SeriesId) {
topItem = {
Id: nowPlayingItem.SeriesId,
Name: nowPlayingItem.SeriesName,
Type: 'Series',
IsFolder: true
};
} else {
topItem = null;
}
}
else if (nowPlayingItem.ProductionYear && includeNonNameInfo !== false) {
bottomText = nowPlayingItem.ProductionYear;
}
return bottomText ? topText + '<br/>' + bottomText : topText;
var list = [];
list.push({
text: topText,
item: topItem
});
if (bottomText) {
list.push({
text: bottomText,
item: bottomItem
});
}
return list;
};
// TOOD: This doesn't really belong here
self.getNowPlayingNameHtml = function (nowPlayingItem, includeNonNameInfo) {
var names = self.getNowPlayingNames(nowPlayingItem, includeNonNameInfo);
return names.map(function (i) {
return i.text;
}).join('<br/>');
};
self.showPlaybackInfoErrorMessage = function (errorCode) {

View file

@ -1260,7 +1260,9 @@ define(['appSettings', 'userSettings', 'appStorage', 'datetime'], function (appS
nowPlayingItem.PremiereDate = item.PremiereDate;
nowPlayingItem.SeriesName = item.SeriesName;
nowPlayingItem.Album = item.Album;
nowPlayingItem.AlbumId = item.AlbumId;
nowPlayingItem.Artists = item.Artists;
nowPlayingItem.ArtistItems = item.ArtistItems;
var imageTags = item.ImageTags || {};

View file

@ -205,6 +205,7 @@
var alphaPickerElement = tabContent.querySelector('.alphaPicker');
alphaPickerElement.addEventListener('alphavaluechanged', function (e) {
var newValue = e.detail.value;
alert(newValue);
var query = getQuery(tabContent);
query.NameStartsWithOrGreater = newValue;
query.StartIndex = 0;

View file

@ -288,14 +288,13 @@
var nowPlayingBarElement;
function getNowPlayingBar() {
return new Promise(function (resolve, reject) {
if (nowPlayingBarElement) {
resolve(nowPlayingBarElement);
return;
return Promise.resolve(nowPlayingBarElement);
}
require(['css!css/nowplayingbar.css', 'emby-slider'], function () {
return new Promise(function (resolve, reject) {
require(['itemShortcuts', 'css!css/nowplayingbar.css', 'emby-slider'], function (itemShortcuts) {
nowPlayingBarElement = document.querySelector('.nowPlayingBar');
@ -312,6 +311,8 @@
nowPlayingBarElement.classList.add('noMediaProgress');
}
itemShortcuts.on(nowPlayingBarElement);
bindEvents(nowPlayingBarElement);
resolve(nowPlayingBarElement);
});
@ -507,19 +508,15 @@
var currentImgUrl;
function updateNowPlayingInfo(state) {
var nameHtml = MediaController.getNowPlayingNameHtml(state.NowPlayingItem) || '';
nowPlayingTextElement.innerHTML = MediaController.getNowPlayingNames(state.NowPlayingItem).map(function (nowPlayingName) {
if (nameHtml.indexOf('<br/>') != -1) {
nowPlayingTextElement.classList.add('nowPlayingDoubleText');
} else {
nowPlayingTextElement.classList.remove('nowPlayingDoubleText');
if (nowPlayingName.item) {
return '<div>' + LibraryBrowser.getTextActionButton(nowPlayingName.item, nowPlayingName.text) + '</div>';
}
if (state.NowPlayingItem.Id) {
nameHtml = '<a style="color:inherit;text-decoration:none;" href="' + LibraryBrowser.getHref(state.NowPlayingItem) + '">' + nameHtml + '</a>';
}
return '<div>' + nowPlayingName.text + '</div>';
nowPlayingTextElement.innerHTML = nameHtml;
}).join('');
var url;
var imgHeight = 80;

View file

@ -116,7 +116,8 @@
lazy: true,
showDetailsMenu: true,
centerText: true,
overlayMoreButton: true
overlayMoreButton: true,
showParentTitle: true
});
html += '</div>';