1 line
No EOL
1.5 KiB
JavaScript
1 line
No EOL
1.5 KiB
JavaScript
import globalize from"./../globalize.js";import dialog from"./../../dialog/dialog.js";import playbackManager from"./playbackmanager.js";function PlayQueueConfirmation(){this.name="Play Queue Confirmation",this.type="preplayintercept",this.id="playqueueconfirmation"}function keepPlayQueue(options,player){var currentPlaylistIndex=playbackManager.getCurrentPlaylistIndex(player);return-1===currentPlaylistIndex?Promise.resolve():playbackManager.getPlaylist({StartIndex:currentPlaylistIndex},player).then(function(result){var items=options.items,result=result.Items;if(!result.length)return Promise.resolve();items.push(...result)})}function showConfirmation(playOptions,currentPlaylistLength){let player=playbackManager.getCurrentPlayer();var options={text:globalize.translate("AfterThisPlaysConfirmation")},items=[];return items.push({name:globalize.translate("Keep"),id:"keep",type:"submit"}),items.push({name:globalize.translate("Clear"),id:"clear"}),items.push({name:globalize.translate("Cancel"),id:"cancel",type:"cancel"}),options.buttons=items,dialog(options).then(function(result){return"cancel"===result?Promise.reject():"keep"===result?keepPlayQueue(playOptions,player):Promise.resolve()})}PlayQueueConfirmation.prototype.intercept=function(options){var item=options.item;if(item&&"play"===options.command&&"Audio"===options.mediaType&&playbackManager.isPlayingAudio()&&options.fullscreen){item=playbackManager.getCurrentPlaylistLength();if(1<item)return showConfirmation(options,item)}return Promise.resolve()};export default PlayQueueConfirmation; |