EmbyCrackedClient/web/modules/emby-elements/guide/gridrowrenderer.js

1 line
11 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import layoutManager from"./../../layoutmanager.js";import globalize from"./../../common/globalize.js";import userSettings from"./../../common/usersettings/usersettings.js";import itemShortcuts from"./../../shortcuts.js";import connectionManager from"./../../emby-apiclient/connectionmanager.js";import"./../../indicators/indicators.js";import skinManager from"./../../skinmanager.js";import itemManager from"./../../common/itemmanager/itemmanager.js";let supportsCssVariables=CSS.supports("color","var(--fake-var)");function getTimerIndicator(item){let status;if("SeriesTimer"===item.Type)return'<i class="md-icon md-icon-fill programIcon seriesTimerIcon mediaInfoItem">&#xe062;</i>';if(item.TimerId||item.SeriesTimerId)status=item.Status||"Cancelled";else{if("Timer"!==item.Type)return"";status=item.Status}return item.SeriesTimerId?"Cancelled"!==status?'<i class="md-icon md-icon-fill programIcon seriesTimerIcon mediaInfoItem">&#xe062;</i>':'<i class="md-icon md-icon-fill programIcon seriesTimerIcon seriesTimerIcon-inactive mediaInfoItem">&#xe062;</i>':'<i class="md-icon md-icon-fill programIcon timerIcon mediaInfoItem">&#xe061;</i>'}function parseDates(program){if(!program.StartDateLocalMs)try{program.StartDateLocalMs=Date.parse(program.StartDate)}catch(err){}if(!program.EndDateLocalMs)try{program.EndDateLocalMs=Date.parse(program.EndDate)}catch(err){}return null}let insetInlineStartProp=CSS.supports("inset-inline-start","0")?"inset-inline-start":"left";function getShadedMediaInfoItem(text,itemClass){return'<div class="mediaInfoItem '+("mediaInfoItem-shaded "+(itemClass||"")).trim()+'"><span class="mediaInfoItem-shaded-text">'+text+"</span></div>"}function getProgramHtml(program,options,totalGridMs){let html="";var startMs=options.startMs,endMs=options.endMs,startDateLocalMs=(parseDates(program),program.StartDateLocalMs),endDateLocalMs=program.EndDateLocalMs,renderStartMs=Math.max(startDateLocalMs,startMs),startDateLocalMs=(startDateLocalMs-startMs)/totalGridMs,startMs=(startDateLocalMs*=100,startDateLocalMs=Math.max(startDateLocalMs,0),Math.min(endDateLocalMs,endMs)),endDateLocalMs=(startMs-renderStartMs)/totalGridMs;endDateLocalMs*=100;let cssClass="programCell itemAction",accentCssClass=null,displayInnerContent=!0;var endMs=options.displayMovieContent,startMs=options.displaySportsContent,renderStartMs=options.displayNewsContent,totalGridMs=options.displayKidsContent,displaySeriesContent=options.displaySeriesContent,enableColorCodedBackgrounds=options.enableColorCodedBackgrounds;program.IsKids?(displayInnerContent=totalGridMs,accentCssClass="kids"):program.IsSports?(displayInnerContent=startMs,accentCssClass="sports"):program.IsNews?(displayInnerContent=renderStartMs,accentCssClass="news"):program.IsMovie?(displayInnerContent=endMs,accentCssClass="movie"):displayInnerContent=(program.IsSeries||endMs&&renderStartMs&&startMs&&totalGridMs)&&displaySeriesContent,layoutManager.tv&&(cssClass+=" programCell-tv");let timerAttributes="",programCellInnerClass=(program.TimerId&&(timerAttributes+=' data-timerid="'+program.TimerId+'"'),program.Status&&(timerAttributes+=' data-status="'+program.Status+'"'),program.SeriesTimerId&&(timerAttributes+=' data-seriestimerid="'+program.SeriesTimerId+'"'),html+="<button"+(2<=endDateLocalMs?' is="emby-programcell"':"")+" "+itemShortcuts.getShortcutAttributesHtml(program,{})+' data-action="'+options.clickAction+'"'+timerAttributes+' class="'+cssClass+'" style="'+insetInlineStartProp+":"+startDateLocalMs+"%;width:"+endDateLocalMs+'%;">',"programCellInner epgCellInner mediaInfoItems programMediaInfoItems");if(enableColorCodedBackgrounds&&accentCssClass&&(programCellInnerClass+=" programCellInner-"+accentCssClass),html+='<div class="'+programCellInnerClass+'">',displayInnerContent){endMs=program.EpisodeTitle&&options.showEpisodeTitle&&(!options.conditionalEhowTitle||program.IsSports);if(html+='<i class="guideProgramNameCaretIcon secondaryText hide md-icon">&#xe314;</i>',endMs&&(html+='<div><div class="mediaInfoItems programMediaInfoItems">'),html=(html=html+('<div class="guideProgramNameText mediaInfoIt