This commit is contained in:
root
2023-08-31 15:30:17 +02:00
commit dea16b40a8
833 changed files with 142024 additions and 0 deletions

1
livetv/channels.js Normal file
View File

@@ -0,0 +1 @@
define(["exports","./../modules/tabbedview/itemstab.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/common/usersettings/usersettings.js","./../modules/common/globalize.js"],function(_exports,_itemstab,_embyItemscontainer,_embyButton,_embyScroller,_usersettings,_globalize){function ChannelsTab(view,params,options){_itemstab.default.call(this,view,params,options)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(ChannelsTab.prototype,_itemstab.default.prototype),ChannelsTab.prototype.supportsAlphaPicker=function(){return!0},ChannelsTab.prototype.getItemTypes=function(){return["TvChannel"]},ChannelsTab.prototype.getSettingsKey=function(){return"livetvchannels"},ChannelsTab.prototype.saveSortingOnServer=function(){return!0},ChannelsTab.prototype.getCardOptions=function(items){var options=_itemstab.default.prototype.getCardOptions.apply(this,arguments);return-1!==(this.getSortValues().sortBy||"").toLowerCase().indexOf("channelnumber,sortname")&&(options.channelNumberFirst=!0),options.preferThumb="auto",options.defaultBackground=!0,options.fields.push("CurrentProgramParentName"),options.fields.push("CurrentProgramTime"),options},ChannelsTab.prototype.getListViewOptions=function(items,settings){var options=_itemstab.default.prototype.getListViewOptions.apply(this,arguments);return options.fields.push("CurrentProgramParentName"),options.fields.push("CurrentProgramName"),options},ChannelsTab.prototype.getSortBySettingsKey=function(sortMenuOptions){return _usersettings.default.getLiveTvChannelSortSettingsKey()},ChannelsTab.prototype.getSortMenuOptions=function(){return _usersettings.default.getLiveTvChannelSortOrders(_globalize.default)},ChannelsTab.prototype.getDefaultSorting=function(){var query={};return _usersettings.default.addLiveTvChannelSortingToQuery(query,_globalize.default),{sortBy:query.SortBy,sortOrder:query.SortOrder}},ChannelsTab.prototype.getSortByValue=function(){var query={};return _usersettings.default.addLiveTvChannelSortingToQuery(query,_globalize.default),query.SortBy},ChannelsTab.prototype.loadTemplate=function(){return this.loadItemsTemplate()},_exports.default=ChannelsTab});

1
livetv/guide.css Normal file
View File

@@ -0,0 +1 @@
.liveGuideTab-tv{--extra-padding-top:-.5em}.guideSelectedInfo{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:30%;padding-top:0;padding-bottom:0;margin-top:-1em}.guideSelectedInfo h2{margin:0}.guideOverview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guideImage{-webkit-margin-end:1em;margin-inline-end:1em;background-position:center center;background-size:contain;background-repeat:no-repeat;height:82%;width:22vh;-webkit-flex-shrink:0;flex-shrink:0}.guideSelectedItemPrimaryInfo{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.guideSelectedItemMediaInfo{margin-top:.15em}.guideContainer{-webkit-padding-start:.35em;padding-inline-start:.35em}@media all and (orientation:landscape),(min-width:50em){.guideContainer{-webkit-padding-start:1.5em;padding-inline-start:1.5em}}@media all and (orientation:landscape) and (min-width:60em){.guideContainer{-webkit-padding-start:2.8em;padding-inline-start:2.8em}.guideContainer:not(.guideContainer-tv){margin-top:1em}}.guideContainer-tv{-webkit-padding-start:2.5em;padding-inline-start:2.5em}

1
livetv/guide.js Normal file
View File

@@ -0,0 +1 @@
define(["exports","./../modules/tabbedview/basetab.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/common/datetime.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/emby-apiclient/events.js","./../modules/indicators/indicators.js","./../modules/mediainfo/mediainfo.js","./../modules/appheader/appheader.js","./../modules/layoutmanager.js","./../modules/backdrop/backdrop.js","./../modules/emby-elements/guide/guide.js"],function(_exports,_basetab,_embyItemscontainer,_embyButton,_embyScroller,_datetime,_connectionmanager,_events,_indicators,_mediainfo,_appheader,_layoutmanager,_backdrop,_guide){var focusTimeout,currentItemId,serverId,guideItemDetailsElement,guideImageElement;function getTime(date){return _datetime.default.getDisplayTime(date).toLowerCase()}function setSelectedInfo(item){var html="",secondaryMediaInfoHtml=(html=(html=html+'<div class="guideSelectedItemPrimaryInfo">'+("<h2>"+item.Name+"</h2>"))+_indicators.default.getTimerIndicator(item)+"</div>",_mediainfo.default.getPrimaryMediaInfoHtml(item)),secondaryMediaInfoHtml=(secondaryMediaInfoHtml&&(html=(html+='<div class="guideSelectedItemMediaInfo mediaInfoItems">')+secondaryMediaInfoHtml+"</div>"),item.ShortOverview||item.Overview),secondaryMediaInfoHtml=(secondaryMediaInfoHtml&&(html=(html+='<div class="guideOverview" style="margin-top:.15em;">')+secondaryMediaInfoHtml+"</div>"),"");if(item.StartDate)try{secondaryMediaInfoHtml+=getTime(new Date(Date.parse(item.StartDate)))}catch(e){console.log("Error parsing date: "+item.PremiereDate)}if(item.EndDate)try{secondaryMediaInfoHtml+=" - "+getTime(new Date(Date.parse(item.EndDate)))}catch(e){console.log("Error parsing date: "+item.EndDate)}secondaryMediaInfoHtml&&(html=(html+='<div style="margin-top:.15em;">')+secondaryMediaInfoHtml+"</div>"),guideItemDetailsElement.innerHTML=html;secondaryMediaInfoHtml=function(item,options){return(options=options||{}).type=options.type||"Primary","string"==typeof item?_connectionmanager.default.getApiClient(item.ServerId).getImageUrl(item,options):item.ImageTags&&item.ImageTags[options.type]?(options.tag=item.ImageTags[options.type],_connectionmanager.default.getApiClient(item.ServerId).getImageUrl(item.Id,options)):"Primary"===options.type&&item.AlbumId&&item.AlbumPrimaryImageTag?(options.tag=item.AlbumPrimaryImageTag,_connectionmanager.default.getApiClient(item.ServerId).getImageUrl(item.AlbumId,options)):null}(item);guideImageElement.style.backgroundImage=secondaryMediaInfoHtml?"url('"+secondaryMediaInfoHtml+"')":""}function onFocusTimeout(){var apiClient;serverId&&(apiClient=_connectionmanager.default.getApiClient(serverId)).getItem(apiClient.getCurrentUserId(),currentItemId).then(function(item){setSelectedInfo(item)})}function onGuideFocus(e,detail){focusTimeout&&clearTimeout(focusTimeout),currentItemId=detail.item.Id,focusTimeout=setTimeout(onFocusTimeout,500)}function GuideTab(view,params){_basetab.default.apply(this,arguments),this.apiClient=_connectionmanager.default.getApiClient(params.serverId),this.view=view,this.params=params,serverId=params.serverId,guideItemDetailsElement=view.querySelector(".guideItemDetails"),guideImageElement=view.querySelector(".guideImage"),_layoutmanager.default.tv&&view.querySelector(".guideContainer").classList.add("guideContainer-tv")}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!livetv/guide.css"]),Object.assign(GuideTab.prototype,_basetab.default.prototype),GuideTab.prototype.onResume=function(options){_basetab.default.prototype.onResume.apply(this,arguments),_appheader.default.ensureVisible(),_backdrop.default.clear();var guideInstance=this.guideInstance;return guideInstance||(guideInstance=this.guideInstance=new _guide.default({element:this.view.querySelector(".guideContainer"),serverId:this.params.serverId,condensed:_layoutmanager.default.tv}),_layoutmanager.default.tv&&(_events.default.on(this.guideInstance,"focus",onGuideFocus),this.view.querySelector(".guideSelectedInfo").classList.remove("hide")),(options=options||{}).refresh=!0),_layoutmanager.default.tv?this.view.classList.add("liveGuideTab-tv"):this.view.classList.remove("liveGuideTab-tv"),guideInstance.resume(options)},GuideTab.prototype.onPause=function(){_basetab.default.prototype.onPause.apply(this,arguments);var guideInstance=this.guideInstance;guideInstance&&guideInstance.pause()},GuideTab.prototype.destroy=function(){_basetab.default.prototype.destroy.apply(this,arguments);var guideInstance=this.guideInstance;guideInstance&&(_events.default.off(guideInstance,"focus",onGuideFocus),guideInstance.destroy()),guideImageElement=guideItemDetailsElement=serverId=null,this.view=null,this.params=null,this.guideInstance=null,this.apiClient=null},_exports.default=GuideTab});

134
livetv/livetv.html Normal file
View File

@@ -0,0 +1,134 @@
<div class="view flex flex-direction-column withTabs">
<div class="unlockContainer hide padded-left padded-left-page padded-right padded-top padded-top-page padded-bottom padded-bottom-page">
<div class="padded-left padded-right">
<p class="unlockText" style="text-align:center;margin-top:0;"></p>
<button is="emby-button" type="button" class="raised button-submit block btnUnlock">
<span class="btnUnlockText">${HeaderBecomeProjectSupporter}</span>
</button>
</div>
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="0">
<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" data-navcommands="card" data-forcescrollbar="true" class="scrollFrameY flex flex-grow" data-bindheader="true">
<div class="scrollSlider flex-grow padded-top-page">
<div class="activePrograms hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=OnNow" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${HeaderOnNow}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="tagsSection hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest" style="margin-bottom: 1.5em;">
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x"></div>
</div>
</div>
<div class="upcomingEpisodes hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=Program&IsSeries=true&IsNews=false&IsKids=false&IsSports=false" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${Shows}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="upcomingTvMovies hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=Program&IsMovie=true&IsKids=false" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${Movies}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="upcomingSports hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=Program&IsSports=true" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${Sports}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="upcomingKids hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=Program&IsKids=true" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${HeaderForKids}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="upcomingNews hide verticalSection verticalSection-cards focusable" data-focusabletype="nearest">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left padded-left-page padded-right">
<a href="#" data-href="list/list.html?type=Program&IsNews=true" is="emby-sectiontitle" class="noautofocus button-link button-link-color-inherit sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards">${News}</h2>
</a>
</div>
<div is="emby-scroller" data-mousewheel="false" data-focusscroll="true" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right">
<div is="emby-itemscontainer" class="scrollSlider focuscontainer-x" data-refreshinterval="300000" data-virtualscrolllayout="horizontal-grid"></div>
</div>
</div>
<div class="padded-bottom-page"></div>
</div>
</div>
</div>
<div class="tabContent tabContent-positioned flex flex-direction-column flex-grow padded-top-page" data-index="1" style="box-sizing:border-box;">
<div class="guideSelectedInfo flex-shrink-zero hide padded-left padded-left-page padded-right">
<div class="guideImage" loading="lazy"></div>
<div class="guideItemDetails readOnlyContent">
</div>
</div>
<div class="guideContainer flex-grow">
</div>
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="2">
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="3">
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="4">
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="5">
<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" data-navcommands="card" data-forcescrollbar="true" class="scrollFrameY flex flex-grow" data-bindheader="true">
<div class="scrollSlider flex-grow padded-top-page">
<div class="activeRecordings verticalSection verticalSection-cards hide">
<h2 class="sectionTitle sectionTitle-cards padded-left padded-left-page">${HeaderActiveRecordings}</h2>
<div is="emby-scroller" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-left-page padded-right" data-framesize="matchgrandparent" data-focusscroll="true">
<div is="emby-itemscontainer" class="itemsContainer scrollSlider focuscontainer-x" data-monitor="Timers"></div>
</div>
</div>
<div class="upcomingRecordings padded-bottom-page">
</div>
</div>
</div>
</div>
<div class="tabContent tabContent-positioned flex flex-grow" data-index="6">
</div>
</div>

1
livetv/livetv.js Normal file
View File

@@ -0,0 +1 @@
define(["exports","./../modules/emby-apiclient/connectionmanager.js","./../modules/tabbedview/tabbedview.js","./../modules/common/globalize.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/focusmanager.js","./../modules/registrationservices/registrationservices.js","./../modules/common/usersettings/usersettings.js"],function(_exports,_connectionmanager,_tabbedview,_globalize,_embyItemscontainer,_embyButton,_embyScroller,_focusmanager,_registrationservices,_usersettings){function getDefaultSubviews(){return["recordings","schedule","series"]}function hideShowAll(view,className,hide){for(var elems=view.querySelectorAll("."+className),i=0,length=elems.length;i<length;i++)hide?elems[i].classList.add("hide"):elems[i].classList.remove("hide")}function validateUnlock(view,showDialog){return _registrationservices.default.validateFeature("livetv",{showDialog:showDialog,viewOnly:!0}).then(function(){hideShowAll(view,"tabContent",!1),view.querySelector(".unlockContainer").classList.add("hide")},function(){hideShowAll(view,"tabContent",!0),view.querySelector(".unlockContainer").classList.remove("hide"),_focusmanager.default.focus(view.querySelector(".btnUnlock"))})}function LiveTVView(view,params){_tabbedview.default.call(this,view,params),view.querySelector(".unlockText").innerHTML=_globalize.default.translate("LiveTvRequiresUnlock"),view.querySelector(".btnUnlockText").innerHTML=_globalize.default.translate("HeaderBecomeProjectSupporter"),validateUnlock(view,!1),view.querySelector(".btnUnlock").addEventListener("click",function(){validateUnlock(view,!0)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(LiveTVView.prototype,_tabbedview.default.prototype),LiveTVView.prototype.getTabs=function(){var item=(item=this.item)&&item.Subviews||getDefaultSubviews();return[{name:_globalize.default.translate("Programs"),id:"suggestions"},{name:_globalize.default.translate("Guide"),id:"guide"},{name:_globalize.default.translate("Channels"),id:"channels"},{name:_globalize.default.translate("Tags"),id:"tags",enabled:item.includes("tags")},{name:_globalize.default.translate("Recordings"),id:"recordings"},{name:_globalize.default.translate("Schedule"),id:"schedule"},{name:_globalize.default.translate("Series"),id:"series"}]},LiveTVView.prototype.validateTabLoad=function(index){return validateUnlock(this.view,!1)},LiveTVView.prototype.getDefaultTabUserSettingsValue=function(folderId){return _usersettings.default.get("landing-livetv")},LiveTVView.prototype.loadTabController=function(id){switch(id){case"collections":return Emby.importModule("./modules/tabbedview/collectionstab.js");case"genres":return Emby.importModule("./modules/tabbedview/genrestab.js");case"tags":return Emby.importModule("./modules/tabbedview/tagstab.js");case"suggestions":return Emby.importModule("./livetv/suggestions.js");case"guide":return Emby.importModule("./livetv/guide.js");case"channels":return Emby.importModule("./livetv/channels.js");case"recordings":return Emby.importModule("./livetv/recordings.js");case"schedule":return Emby.importModule("./livetv/schedule.js");case"series":return Emby.importModule("./livetv/series.js");default:throw new Error("tab not found: "+id)}},LiveTVView.prototype.getItem=function(){var params=this.params,params=_connectionmanager.default.getApiClient(params.serverId);return params.getJSON(params.getUrl("LiveTV/Folder"))},LiveTVView.prototype.getTabControllerOptions=function(id){var options=_tabbedview.default.prototype.getTabControllerOptions.apply(this,arguments);return"tags"===id&&(options.tagsApiClientMethod="getLiveTvChannelTags",options.prefixesApiClientMethod="getLiveTvChannelTagPrefixes"),options},_exports.default=LiveTVView});

1
livetv/recordings.js Normal file
View File

@@ -0,0 +1 @@
define(["exports","./../modules/tabbedview/videostab.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/common/globalize.js"],function(_exports,_videostab,_embyItemscontainer,_embyButton,_embyScroller,_globalize){function RecordingsTab(view,params,options){_videostab.default.call(this,view,params,options)}function initElements(instance){instance.view.querySelector(".btnCreateRecording").addEventListener("click",function(e){var instance=this;return require(["channelRecordingCreator"]).then(function(responses){return responses[0].createRecordingForChannel(null,{serverId:instance.apiClient.serverId(),positionTo:e.target.closest("button")})})}.bind(instance))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(RecordingsTab.prototype,_videostab.default.prototype),RecordingsTab.prototype.getApiClientQueryMethodName=function(){return"getLiveTvRecordings"},RecordingsTab.prototype.getCardOptions=function(items){var options=_videostab.default.prototype.getCardOptions.apply(this,arguments);return options.fields.push("ParentName"),options.fields.push("ChannelName"),options.fields.push("AirTime"),options.preferThumb="auto",options.showAirEndTime=!0,options},RecordingsTab.prototype.getListViewOptions=function(items){var options=_videostab.default.prototype.getListViewOptions.apply(this,arguments);return options.fields.unshift("ParentName"),options},RecordingsTab.prototype.getDefaultSorting=function(){return this.getDefaultSortingForField("DateCreated")||_videostab.default.prototype.getDefaultSorting.apply(this,arguments)},RecordingsTab.prototype.getSettingsKey=function(){return"livetvrecordings"},RecordingsTab.prototype.loadTemplate=function(){return this.loadItemsTemplate()},RecordingsTab.prototype.onTemplateLoaded=function(){_videostab.default.prototype.onTemplateLoaded.apply(this,arguments);var elem=this.view.querySelector(".listTotalRecordCount"),html=(html=(html="")+'<button is="emby-button" class="btnCreateRecording raised raised-mini listTextButton-autohide">'+'<i class="md-icon button-icon button-icon-left">&#xE145;</i>')+("<span>"+_globalize.default.translate("HeaderAddRecording")+"</span>");elem.insertAdjacentHTML("afterend",html+="</button>"),initElements(this),this.itemsContainer.setAttribute("data-monitor","RecordingStarted,RecordingEnded")},_exports.default=RecordingsTab});

1
livetv/schedule.js Normal file

File diff suppressed because one or more lines are too long

1
livetv/series.js Normal file
View File

@@ -0,0 +1 @@
define(["exports","./../modules/tabbedview/itemstab.js","./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-scroller/emby-scroller.js"],function(_exports,_itemstab,_embyItemscontainer,_embyButton,_embyScroller){function SeriesTab(view,params,options){this.supportsViewSettings=!1,this.enableTotalRecordCountDisplay=!1,_itemstab.default.apply(this,arguments,options)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(SeriesTab.prototype,_itemstab.default.prototype),SeriesTab.prototype.onTemplateLoaded=function(){_itemstab.default.prototype.onTemplateLoaded.apply(this,arguments),this.itemsContainer.setAttribute("data-monitor","SeriesTimers")},SeriesTab.prototype.getSortMenuOptions=function(){return[]},SeriesTab.prototype.getItemTypes=function(){return["SeriesTimer"]},SeriesTab.prototype.getItems=function(){return this.apiClient.getLiveTvSeriesTimers({SortBy:"SortName",SortOrder:"Ascending"})},SeriesTab.prototype.getBaseListRendererOptions=function(){var options=_itemstab.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.draggable=!1,options.multiSelect=!1,options},SeriesTab.prototype.getCardOptions=function(items){var options=_itemstab.default.prototype.getCardOptions.apply(this,arguments);return options.preferThumb="auto",options.fields.push("SeriesTimerChannel"),options.fields.push("SeriesTimerTime"),options},SeriesTab.prototype.getSettingsKey=function(){return"livetvseries"},SeriesTab.prototype.loadTemplate=function(){return this.loadItemsTemplate()},_exports.default=SeriesTab});

1
livetv/suggestions.js Normal file

File diff suppressed because one or more lines are too long