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

update multiselect

This commit is contained in:
Luke Pulverenti 2016-07-18 23:57:55 -04:00
parent 3460f6708d
commit cc2cd5731d
28 changed files with 175 additions and 141 deletions

View file

@ -15,12 +15,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.98",
"_release": "1.4.98",
"version": "1.4.101",
"_release": "1.4.101",
"_resolution": {
"type": "version",
"tag": "1.4.98",
"commit": "6e0ce46f8c48908f94a7f32e95fee78b994c16f5"
"tag": "1.4.101",
"commit": "c6aa6b09f9c705ca83e31728ebbf0c4a2cda2454"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.0",

View file

@ -7,7 +7,15 @@
var itemsContainer = this;
var target = e.target;
itemShortcuts.onClick.call(this, e);
var multiSelect = itemsContainer.multiSelect;
if (multiSelect) {
if (multiSelect.onContainerClick.call(itemsContainer, e) === false) {
return;
}
}
itemShortcuts.onClick.call(itemsContainer, e);
}
function disableEvent(e) {
@ -86,7 +94,10 @@
var self = this;
require(['multiSelect'], function (MultiSelect) {
self.multiSelect = new MultiSelect(self);
self.multiSelect = new MultiSelect({
container: self,
bindOnClick: false
});
});
};

View file

@ -458,13 +458,20 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
var method = queue ? 'queue' : 'play';
var startPosition = 0;
if (resume && item.UserData && item.UserData.PlaybackPositionTicks) {
startPosition = item.UserData.PlaybackPositionTicks;
}
if (item.Type == 'Program') {
playbackManager[method]({
ids: [item.ChannelId]
ids: [item.ChannelId],
startPositionTicks: startPosition
});
} else {
playbackManager[method]({
items: [item]
items: [item],
startPositionTicks: startPosition
});
}
}

View file

@ -169,7 +169,9 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan
var playlistItemId = item.PlaylistItemId ? (' data-playlistitemid="' + item.PlaylistItemId + '"') : '';
html += '<' + outerTagName + ' class="' + cssClass + '" data-index="' + index + '"' + playlistItemId + ' data-action="' + action + '" data-isfolder="' + item.IsFolder + '" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-type="' + item.Type + '">';
var positionTicksData = item.UserData && item.UserData.PlaybackPositionTicks ? (' data-positionticks="' + item.UserData.PlaybackPositionTicks + '"') : '';
html += '<' + outerTagName + ' class="' + cssClass + '" data-index="' + index + '"' + playlistItemId + ' data-action="' + action + '" data-isfolder="' + item.IsFolder + '" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-mediatype="' + item.MediaType + '" data-type="' + item.Type + '"' + positionTicksData + '>';
if (!clickEntireItem && options.dragHandle) {
html += '<button is="paper-icon-button-light" class="listViewDragHandle autoSize"><i class="md-icon">&#xE25D;</i></button>';

View file

@ -456,10 +456,12 @@
document.addEventListener('viewbeforehide', hideSelections);
return function (container) {
return function (options) {
var self = this;
var container = options.container;
function onTapHold(e) {
var card = dom.parentWithClass(e.target, 'card');
@ -505,7 +507,11 @@
initTapHold(container);
container.addEventListener('click', onContainerClick);
if (options.bindOnClick !== false) {
container.addEventListener('click', onContainerClick);
}
self.onContainerClick = onContainerClick;
self.destroy = function () {

View file

@ -153,15 +153,23 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
function showPlayMenu(card, target) {
getItem(card).then(function (item) {
var item = {
Type: card.getAttribute('data-type'),
Id: card.getAttribute('data-id'),
ServerId: card.getAttribute('data-serverid'),
MediaType: card.getAttribute('data-mediatype'),
IsFolder: card.getAttribute('data-isfolder') == 'true',
UserData: {
PlaybackPositionTicks: parseInt(card.getAttribute('data-positionticks') || '0')
}
};
require(['playMenu'], function (playMenu) {
require(['playMenu'], function (playMenu) {
playMenu.show({
playMenu.show({
item: item,
positionTo: target
});
item: item,
positionTo: target
});
});
}
@ -196,7 +204,7 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
else if (action == 'play') {
var startPositionTicks = parseInt(card.getAttribute('data-startpositionticks') || '0');
var startPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0');
playbackManager.play({
ids: [id],

View file

@ -120,5 +120,7 @@
"GroupVersions": "Group Versions",
"PleaseSelectTwoItems": "Please select at least two items.",
"TheSelectedItemsWillBeGrouped": "The selected videos will be grouped into one virtual item. Emby apps will automatically choose which version to play based on device and network performance. Are you sure you wish to continue?",
"TryMultiSelect": "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!",
"Error": "Error"
}

View file

@ -46,7 +46,7 @@ define(['connectionManager', 'globalize', 'paper-icon-button-light', 'material-i
}
if (includePlayed !== false) {
var tooltipPlayed = globalize.translate('sharedcomponents#Played');
var tooltipPlayed = globalize.translate('sharedcomponents#MarkPlayed');
if (item.MediaType == 'Video' || item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.Type == 'Playlist') {
if (item.Type != 'TvChannel') {