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

update listviews

This commit is contained in:
Luke Pulverenti 2016-07-17 12:59:14 -04:00
parent c87b1304da
commit d9c694f564
13 changed files with 149 additions and 124 deletions

View file

@ -1,4 +1,4 @@
define(['layoutManager', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'scrollStyles'], function (layoutManager, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper) {
define(['layoutManager', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'scrollStyles', 'emby-itemscontainer'], function (layoutManager, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper) {
var currentItem;
@ -1133,7 +1133,7 @@
html += '<button class="btnAddToCollection autoSize" type="button" is="paper-icon-button-light" style="margin-left:1em;"><i class="md-icon" icon="add">add</i></button>';
html += '</div>';
html += '<div class="detailSectionContent itemsContainer">';
html += '<div is="emby-itemscontainer" class="detailSectionContent itemsContainer" data-collectionid="' + parentItem.Id + '">';
var shape = type.type == 'MusicAlbum' ? 'detailPageSquare' : 'detailPagePortrait';
@ -1166,26 +1166,6 @@
});
}
function removeFromCollection(page, parentItem, itemIds) {
Dashboard.showLoadingMsg();
var url = ApiClient.getUrl("Collections/" + parentItem.Id + "/Items", {
Ids: itemIds.join(',')
});
ApiClient.ajax({
type: "DELETE",
url: url
}).then(function () {
renderChildren(page, parentItem);
Dashboard.hideLoadingMsg();
});
}
function renderUserDataIcons(page, item) {
var userDataIcons = page.querySelectorAll('.userDataIcons');
@ -2195,10 +2175,9 @@
}
});
view.querySelector('.collectionItems').addEventListener('removefromcollection', function (e) {
view.querySelector('.collectionItems').addEventListener('needsrefresh', function (e) {
var itemId = e.detail.itemId;
removeFromCollection(view, currentItem, [itemId]);
renderChildren(view, currentItem);
});
view.querySelector('.detailImageContainer').addEventListener('click', function (e) {

View file

@ -1,4 +1,4 @@
define(['scrollHelper', 'viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scroller', 'scrollStyles'], function (scrollHelper, viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo, scroller) {
define(['scrollHelper', 'viewManager', 'appSettings', 'appStorage', 'apphost', 'datetime', 'itemHelper', 'mediaInfo', 'scroller', 'indicators', 'scrollStyles'], function (scrollHelper, viewManager, appSettings, appStorage, appHost, datetime, itemHelper, mediaInfo, scroller, indicators) {
function parentWithClass(elem, className) {
@ -15,7 +15,7 @@
function fadeInRight(elem) {
var pct = browserInfo.mobile ? '2.5%' : '0.5%';
var pct = browserInfo.mobile ? '3%' : '0.5%';
var keyframes = [
{ opacity: '0', transform: 'translate3d(' + pct + ', 0, 0)', offset: 0 },
@ -901,6 +901,16 @@
value: item.Id
});
atts.push({
name: 'serverid',
value: item.ServerId
});
atts.push({
name: 'id',
value: item.Id
});
if (options.context) {
atts.push({
name: 'context',
@ -1553,7 +1563,7 @@
html += LibraryBrowser.getOfflineIndicatorHtml(item);
}
} else if (options.showUnplayedIndicator !== false) {
html += LibraryBrowser.getPlayedIndicatorHtml(item);
html += indicators.getPlayedIndicatorHtml(item);
} else if (options.showChildCountIndicator) {
html += LibraryBrowser.getGroupCountIndicator(item);
}
@ -1597,7 +1607,7 @@
html += '<div class="cardOverlayButtonContainer"><button is="paper-icon-button-light" class="cardOverlayPlayButton autoSize" onclick="return false;"><i class="md-icon">play_arrow</i></button></div>';
}
if (options.overlayMoreButton) {
html += '<div class="cardOverlayButtonContainer"><button is="paper-icon-button-light" class="cardOverlayMoreButton autoSize" onclick="return false;"><i class="md-icon">' + AppInfo.moreIcon.replace('-', '_') + '</i></button></div>';
html += '<div class="cardOverlayButtonContainer"><button is="paper-icon-button-light" class="cardOverlayMoreButton menuButton autoSize" onclick="return false;"><i class="md-icon">' + AppInfo.moreIcon.replace('-', '_') + '</i></button></div>';
}
// cardScalable
@ -1622,7 +1632,7 @@
if (options.cardLayout) {
html += '<div class="cardButtonContainer">';
html += '<button is="paper-icon-button-light" class="listviewMenuButton btnCardOptions autoSize"><i class="md-icon">' + AppInfo.moreIcon.replace('-', '_') + '</i></button>';
html += '<button is="paper-icon-button-light" class="menuButton btnCardOptions autoSize"><i class="md-icon">' + AppInfo.moreIcon.replace('-', '_') + '</i></button>';
html += "</div>";
}
@ -1912,23 +1922,6 @@
return '';
},
getPlayedIndicatorHtml: function (item) {
if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet" || item.MediaType == "Video" || item.MediaType == "Game" || item.MediaType == "Book") {
if (item.UserData.UnplayedItemCount) {
return '<div class="playedIndicator">' + item.UserData.UnplayedItemCount + '</div>';
}
if (item.Type != 'TvChannel') {
if (item.UserData.PlayedPercentage && item.UserData.PlayedPercentage >= 100 || (item.UserData && item.UserData.Played)) {
return '<div class="playedIndicator"><i class="md-icon">check</i></div>';
}
}
}
return '';
},
getGroupCountIndicator: function (item) {
if (item.ChildCount) {

View file

@ -336,22 +336,6 @@
return onListViewPlayButtonClick(e, playButton);
}
var listviewMenuButton = parentWithClass(e.target, 'listviewMenuButton') || parentWithClass(e.target, 'cardOverlayMoreButton');
if (listviewMenuButton) {
showContextMenu(listviewMenuButton, {});
e.stopPropagation();
e.preventDefault();
return false;
}
var button = parentWithClass(e.target, 'btnUserItemRating');
if (button) {
e.stopPropagation();
e.preventDefault();
return false;
}
var card = parentWithClass(e.target, 'card');
if (card) {

View file

@ -1,6 +1,8 @@
define(['appStorage'], function (appStorage) {
var currentDisplayInfo;
var datetime;
function mirrorItem(info) {
var item = info.item;
@ -614,6 +616,13 @@
self.canPlay = function (item) {
if (item.Type == "Program") {
if (new Date().getTime() > datetime.parseISO8601Date(item.EndDate).getTime() || new Date().getTime() < datetime.parseISO8601Date(item.StartDate).getTime()) {
return false;
}
return true;
}
return self.canPlayByAttributes(item.Type, item.MediaType, item.PlayAccess, item.LocationType);
};
@ -1052,6 +1061,10 @@
MediaController.init = function () {
console.log('Beginning MediaController.init');
require(['datetime'], function (datetimeInstance) {
datetime = datetimeInstance;
});
if (window.ApiClient) {
initializeApiClient(window.ApiClient);
}

View file

@ -73,6 +73,7 @@
}
var elem = page.querySelector('#childrenContent .itemsContainer');
elem.setAttribute('data-playlistid', item.Id);
elem.innerHTML = html;
var listParent = elem;
@ -135,23 +136,6 @@
});
}
function removeFromPlaylist(page, item, ids) {
ApiClient.ajax({
url: ApiClient.getUrl('Playlists/' + item.Id + '/Items', {
EntryIds: ids.join(',')
}),
type: 'DELETE'
}).then(function () {
reloadItems(page, item);
});
}
function showDragAndDropHelp() {
if (AppInfo.isTouchPreferred) {
@ -176,12 +160,6 @@
var elem = page.querySelector('#childrenContent .itemsContainer');
elem.addEventListener('removefromplaylist', function (e) {
var playlistItemId = e.detail.playlistItemId;
removeFromPlaylist(page, item, [playlistItemId]);
});
elem.addEventListener('needsrefresh', function () {
reloadItems(page, item);

View file

@ -2032,6 +2032,9 @@ var AppInfo = {};
},
canQueueMediaType: function(mediaType) {
return MediaController.canQueueMediaType(mediaType);
},
canPlay: function (item) {
return MediaController.canPlay(item);
}
};
});