1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/bower_components/emby-webcomponents/upnextdialog/upnextdialog.js

1 line
6.6 KiB
JavaScript
Raw Normal View History

2018-09-12 19:26:21 +02:00
define(["dom","playbackManager","connectionManager","events","mediaInfo","layoutManager","focusManager","globalize","itemHelper","css!./upnextdialog","emby-button","flexStyles"],function(dom,playbackManager,connectionManager,events,mediaInfo,layoutManager,focusManager,globalize,itemHelper){"use strict";function seriesImageUrl(item,options){if("Episode"!==item.Type)return null;if(options=options||{},options.type=options.type||"Primary","Primary"===options.type&&item.SeriesPrimaryImageTag)return options.tag=item.SeriesPrimaryImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId,options);if("Thumb"===options.type){if(item.SeriesThumbImageTag)return options.tag=item.SeriesThumbImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.SeriesId,options);if(item.ParentThumbImageTag)return options.tag=item.ParentThumbImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.ParentThumbItemId,options)}return null}function imageUrl(item,options){return options=options||{},options.type=options.type||"Primary",item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.PrimaryImageItemId||item.Id,options)):"Primary"===options.type&&item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,connectionManager.getApiClient(item.ServerId).getScaledImageUrl(item.AlbumId,options)):null}function setPoster(osdPoster,item,secondaryItem){if(item){var imgUrl=seriesImageUrl(item,{type:"Primary"})||seriesImageUrl(item,{type:"Thumb"})||imageUrl(item,{type:"Primary"});if(!imgUrl&&secondaryItem&&(imgUrl=seriesImageUrl(secondaryItem,{type:"Primary"})||seriesImageUrl(secondaryItem,{type:"Thumb"})||imageUrl(secondaryItem,{type:"Primary"})),imgUrl)return void(osdPoster.innerHTML='<img class="upNextDialog-poster-img" src="'+imgUrl+'" />')}osdPoster.innerHTML=""}function getHtml(){var html="";return html+='<div class="upNextDialog-poster">',html+="</div>",html+='<div class="flex flex-direction-column flex-grow">',html+='<h2 class="upNextDialog-nextVideoText" style="margin:.25em 0;">&nbsp;</h2>',html+='<h3 class="upNextDialog-title" style="margin:.25em 0 .5em;"></h3>',html+='<div class="flex flex-direction-row upNextDialog-mediainfo">',html+="</div>",html+='<div class="upNextDialog-overview" style="margin-top:1em;"></div>',html+='<div class="flex flex-direction-row upNextDialog-buttons" style="margin-top:1em;">',html+='<button type="button" is="emby-button" class="raised raised-mini btnStartNow upNextDialog-button">',html+=globalize.translate("sharedcomponents#HeaderStartNow"),html+="</button>",html+='<button type="button" is="emby-button" class="raised raised-mini btnHide upNextDialog-button">',html+=globalize.translate("sharedcomponents#Hide"),html+="</button>",html+="</div>",html+="</div>"}function setNextVideoText(){var instance=this,elem=instance.options.parent,secondsRemaining=Math.max(Math.round(getTimeRemainingMs(instance)/1e3),0);console.log("up next seconds remaining: "+secondsRemaining);var timeText='<span class="upNextDialog-countdownText">'+globalize.translate("sharedcomponents#HeaderSecondsValue",secondsRemaining)+"</span>",nextVideoText="Episode"===instance.itemType?globalize.translate("sharedcomponents#HeaderNextEpisodePlayingInValue",timeText):globalize.translate("sharedcomponents#HeaderNextVideoPlayingInValue",timeText);elem.querySelector(".upNextDialog-nextVideoText").innerHTML=nextVideoText}function fillItem(item){var instance=this,elem=instance.options.parent;setPoster(elem.querySelector(".upNextDialog-poster"),item),elem.querySelector(".upNextDialog-overview").innerHTML=item.Overview||"",elem.querySelector(".upNextDialog-mediainfo").innerHTML=mediaInfo.getPrimaryMediaInfoHtml(item,{});var title=itemHelper.getDisplayName(item);item.SeriesName&&(title=item.SeriesName+" - "+title),elem.querySelector(".upNextDialog-title").innerHTML=title||"",instance.itemType=item.Type,instance.show()}function clearCountdownTextTimeout(instance){instance._countdownTe