2018-10-23 01:05:09 +03:00
|
|
|
define(["actionsheet", "datetime", "playbackManager", "globalize", "appSettings"], function(actionsheet, datetime, playbackManager, globalize, appSettings) {
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
function show(options) {
|
|
|
|
var item = options.item,
|
|
|
|
itemType = item.Type,
|
|
|
|
isFolder = item.IsFolder,
|
|
|
|
itemId = item.Id,
|
|
|
|
channelId = item.ChannelId,
|
|
|
|
serverId = item.ServerId,
|
|
|
|
resumePositionTicks = item.UserData ? item.UserData.PlaybackPositionTicks : null,
|
|
|
|
playableItemId = "Program" === itemType ? channelId : itemId;
|
|
|
|
if (!resumePositionTicks || isFolder) return void playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
|
|
|
serverId: serverId
|
|
|
|
});
|
|
|
|
var menuItems = [];
|
|
|
|
menuItems.push({
|
|
|
|
name: globalize.translate("sharedcomponents#ResumeAt", datetime.getDisplayRunningTime(resumePositionTicks)),
|
|
|
|
id: "resume"
|
|
|
|
}), menuItems.push({
|
|
|
|
name: globalize.translate("sharedcomponents#PlayFromBeginning"),
|
|
|
|
id: "play"
|
|
|
|
}), actionsheet.show({
|
|
|
|
items: menuItems,
|
|
|
|
positionTo: options.positionTo
|
|
|
|
}).then(function(id) {
|
|
|
|
switch (id) {
|
|
|
|
case "play":
|
|
|
|
playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
|
|
|
serverId: serverId
|
|
|
|
});
|
|
|
|
break;
|
|
|
|
case "resume":
|
|
|
|
playbackManager.play({
|
|
|
|
ids: [playableItemId],
|
|
|
|
startPositionTicks: resumePositionTicks,
|
|
|
|
serverId: serverId
|
|
|
|
});
|
|
|
|
break;
|
|
|
|
case "queue":
|
|
|
|
playbackManager.queue({
|
|
|
|
items: [item]
|
|
|
|
});
|
|
|
|
break;
|
|
|
|
case "shuffle":
|
|
|
|
playbackManager.shuffle(item)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
return {
|
|
|
|
show: show
|
|
|
|
}
|
|
|
|
});
|