define(["exports","./../dom.js","./../layoutmanager.js","./../backdrop/backdrop.js","./../shortcuts.js","./../common/usersettings/usersettings.js","./../common/itemmanager/itemmanager.js","./../mediainfo/mediainfo.js","./../skinmanager.js","./../emby-apiclient/connectionmanager.js","./../common/globalize.js","./../focusmanager.js","./../maintabsmanager.js"],function(_exports,_dom,_layoutmanager,_backdrop,_shortcuts,_usersettings,_itemmanager,_mediainfo,_skinmanager,_connectionmanager,_globalize,_focusmanager,_maintabsmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var decodingAttribute=_dom.default.supportsAsyncDecodedImages()?' decoding="async"':"";function BaseTab(view,params){this.scroller=view.querySelector(".scrollFrameY"),this.view=view,this.params=params,this.requestedItemFields="BasicSyncInfo,CanDelete"}function clearSelectedInfoTimer(instance){var selectedItemInfoTimeout=instance.selectedItemInfoTimeout;selectedItemInfoTimeout&&(clearTimeout(selectedItemInfoTimeout),instance.selectedItemInfoTimeout=null)}function startSelectedInfoTimer(instance){clearSelectedInfoTimer(instance),instance.selectedItemInfoTimeout=setTimeout(function(){var focused;this.paused||(focused=this._focusedElement)&&(focused=_shortcuts.default.getItemFromChildNode(focused,!0),this.onItemFocused(focused),focused)&&focused.ServerId&&this._enableBackdrops&&_backdrop.default.setBackdrop(focused)}.bind(instance),500)}var backgroundContainer=document.querySelector(".backgroundContainer");function fillFocusPreview(instance,elem,item){item=item.CurrentProgram||item,_backdrop.default.setBackdrop(item);var focusPreviewTitle=elem.querySelector(".focusPreviewTitle"),focusPreviewSecondaryTitle=elem.querySelector(".focusPreviewSecondaryTitle"),names=[],apiClient=_connectionmanager.default.getApiClient(item),itemForTitle="Timer"===item.Type&&item.ProgramInfo||item,itemForTitle="title"!==function(item){return"TvChannel"===item.Type?null:("MusicAlbum"!==item.Type&&"Audio"!==item.Type&&"MusicVideo"!==item.Type||item.ImageTags&&item.ImageTags.Logo)&&_usersettings.default.getEnableLogoAsTitle(_globalize.default.getCurrentLocale())?"title":"float"}(itemForTitle)?null:function(item,apiClient,options){options=options||{};var logoTypes=_skinmanager.default.getPreferredLogoImageTypes();return apiClient.getLogoImageUrl(item,options,logoTypes)}(itemForTitle,apiClient,{maxHeight:120}),itemForTitle=(item.SeriesName&&(apiClient=item.SeriesName,itemForTitle&&(apiClient='
',itemForTitle=null),names.push(apiClient)),item.Name&&(item.EpisodeTitle||item.IsSeries)&&(apiClient=item.Name,itemForTitle&&(apiClient='
',itemForTitle=null),names.push(apiClient)),item.Name&&(apiClient=_itemmanager.default.getDisplayName(item,{}),itemForTitle&&(apiClient='
',itemForTitle=null),names.push(apiClient)),focusPreviewTitle.innerHTML=names[0]||"",1\n \n'),this._focusPreviewElement=elem=this.view.querySelector(".focusPreviewContainer")),elem},BaseTab.prototype.autoFocus=function(options){options=Object.assign({skipIfNotEnabled:!0},options);var elem,view=this.view;return view&&(elem=_focusmanager.default.autoFocus(view,options))?elem:(!options.skipIfNotEnabled||_focusmanager.default.isAutoFocusEnabled())&&(elem=_maintabsmanager.default.focus())||null},BaseTab.prototype.showFocusPreview=function(item){var elem=this.getFocusPreviewElement(item);if(item)switch(item.Type){case"Channel":case"CollectionFolder":fillWithRandomItem(this,elem,item);break;default:fillFocusPreview(0,elem,item)}else elem.classList.add("hide")},BaseTab.prototype.onItemFocused=function(item){this.enableFocusPreview()&&this.showFocusPreview(item)},BaseTab.prototype.onFocusOut=function(){},BaseTab.prototype.fillFocusPreviewIfNeeded=function(){if(this.enableFocusPreview()){var elem=document.activeElement||document.body;if(this.view.contains(elem)){var itemsContainer=elem.closest(".itemsContainer");if(itemsContainer&&elem.matches(itemsContainer.getItemSelector()))return}(elem=this.view.querySelector(".card"))&&(itemsContainer=elem.closest(".itemsContainer"))&&(itemsContainer=itemsContainer.getItemFromElement(elem),this.showFocusPreview(itemsContainer))}},BaseTab.prototype.getRequestedItemFields=function(){var fields=this.requestedItemFields;return(this.enableFocusPreview()||this.hasSelectedItemDisplay())&&(fields+=",Overview,CommunityRating,CriticRating,OfficialRating,PremiereDate,ProductionYear,Container"),fields},BaseTab.prototype.getRequestedImageTypes=function(){var fields="Primary,Backdrop,Thumb";return(this.enableFocusPreview()||this.hasSelectedItemDisplay())&&(fields+=",Logo"),fields},BaseTab.prototype.enableBackdropsOnFocus=function(){return!!this.enableFocusPreview()||_usersettings.default.enableBackdrops()},BaseTab.prototype.addFocusBehavior=function(element){this._enableBackdrops=_layoutmanager.default.tv&&this.enableBackdropsOnFocus(),(this._enableBackdrops||_layoutmanager.default.tv&&this.hasSelectedItemDisplay())&&(this.boundonItemsContainerFocusIn||(this.boundonItemsContainerFocusIn=function(e){e=e.target,(this._focusedElement=e)&&startSelectedInfoTimer(this)}.bind(this)),this.boundonItemsContainerFocusOut||(this.boundonItemsContainerFocusOut=function(e){clearSelectedInfoTimer(this),this.onFocusOut()}.bind(this)),_dom.default.addEventListener(element,"focus",this.boundonItemsContainerFocusIn,{capture:!0,passive:!0}),_dom.default.addEventListener(element,"focusout",this.boundonItemsContainerFocusOut,{passive:!0}))},BaseTab.prototype.hasSelectedItemDisplay=function(){return!1},BaseTab.prototype.hasFocus=function(){var activeElement=document.activeElement,view=this.view;return activeElement&&view&&view.contains(activeElement)},BaseTab.prototype.scrollToBeginning=function(){var scroller=this.scroller;scroller&&scroller.scrollToBeginning()},BaseTab.prototype.loadTemplate=function(){return Promise.resolve()},BaseTab.prototype.onTemplateLoaded=function(){this.scroller||(this.scroller=this.view.querySelector(".scrollFrameY")),this.view.classList.add("focuscontainer-x"),this.scroller&&(this.scroller.classList.add("focuscontainer-y","navout-up"),this.scroller.getNavOutDestination=getScrollerNavOutDestination)},BaseTab.prototype.onBeginResume=function(options){this.paused=!1;var scroller=this.scroller;scroller&&scroller.beginResume&&scroller.beginResume(options)},BaseTab.prototype.onResume=function(options){this.paused=!1;var scroller=this.scroller;scroller&&scroller.resume&&scroller.resume(options),this.supportsFocusPreview()&&(scroller=this.enableFocusPreview(),this.scroller.setHeaderBindingEnabled(!scroller),scroller?(this.scroller.classList.add("tab-scroller-withfocuspreview"),backgroundContainer.classList.add("backgroundContainer-withfocuspreview"),this.scroller.setFocusScroll("center")):(this.scroller.classList.remove("tab-scroller-withfocuspreview"),backgroundContainer.classList.remove("backgroundContainer-withfocuspreview"),this._focusPreviewElement&&this.showFocusPreview(null)))},BaseTab.prototype.onPause=function(){this.paused=!0;var scroller=this.scroller;scroller&&scroller.pause&&scroller.pause(),clearSelectedInfoTimer(this),this.supportsFocusPreview()&&(this._focusPreviewElement&&this.showFocusPreview(null),backgroundContainer.classList.remove("backgroundContainer-withfocuspreview"))},BaseTab.prototype.destroy=function(){this.paused=null,this.scroller=null,this.view=null,this.params=null,this.apiClient=null,this._focusedElement=null,this._enableBackdrops=null,this._focusPreviewElement=null,clearSelectedInfoTimer(this)},_exports.default=BaseTab});