1 line
58 KiB
JavaScript
1 line
58 KiB
JavaScript
|
|
import connectionManager from"./../emby-apiclient/connectionmanager.js";import events from"./../emby-apiclient/events.js";import textEncoding from"./../common/textencoding.js";import globalize from"./../common/globalize.js";import datetime from"./../common/datetime.js";import itemManager from"./../common/itemmanager/itemmanager.js";import playbackManager from"./../common/playback/playbackmanager.js";import dom from"./../dom.js";import browser from"./../browser.js";import focusManager from"./../focusmanager.js";import layoutManager from"./../layoutmanager.js";import mediaInfo from"./../mediainfo/mediainfo.js";import dataFormatter from"./../common/dataformatter.js";import indicators from"./../indicators/indicators.js";import itemShortcuts from"./../shortcuts.js";import{appHost}from"./../common/servicelocator.js";import imageLoader from"./../common/imagehelper.js";import lazyImageLoader from"./../lazyloader/lazyimageloader.js";import EmbyPlaystateButton from"./../emby-elements/userdatabuttons/emby-playstatebutton.js";import EmbyRatingButton from"./../emby-elements/userdatabuttons/emby-ratingbutton.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import userSettings from"./../common/usersettings/usersettings.js";let SupportsCssAspectRatio=CSS.supports("aspect-ratio","16 / 9"),supportsAsyncDecodedImages=(SupportsCssAspectRatio||require(["css!modules/cardbuilder/cardpadder_legacy.css"]),require(["css!modules/cardbuilder/card.css","programStyles"]),dom.supportsAsyncDecodedImages()),decodingAttribute=supportsAsyncDecodedImages?' decoding="async"':"",supportsObjectFit=CSS.supports("object-fit","contain")&&!browser.edge,supportsCssVariables=CSS.supports("color","var(--fake-var)"),supportsCalc=CSS.supports("width","min(45.2%,calc(100% - .65em))"),supportsMin=CSS.supports("width","min(10em, 5vw)"),EnableFocusTransfrom=dom.allowFocusScaling(),supportsNativeLazyLoading="loading"in HTMLImageElement.prototype,refreshIndicatorLoaded;function loadRefreshIndicator(){refreshIndicatorLoaded||(refreshIndicatorLoaded=!0,Emby.importModule("./modules/emby-elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js"))}let embyCheckboxLoaded;function loadEmbyCheckbox(){embyCheckboxLoaded||(embyCheckboxLoaded=!0,Emby.importModule("./modules/emby-elements/emby-checkbox/emby-checkbox.js"))}function getItemsHtml(items,options){return buildCardsHtmlInternal(items=1===arguments.length?(options=arguments[0]).items:items,options)}let cachedWidths={};function getImageWidth(shape,cardClass,cardBoxClass,cardContentClass,options,screenWidth){options.sideFooter&&(cardClass+=" withsidefooter"),options.imageWidthTestClass&&(cardClass+=" "+options.imageWidthTestClass);var cardSize=options.cardSize;let key=cardClass+screenWidth+cardSize;switch(cardSize){case"":case"normal":case"default":break;default:key+="-"+cardSize}screenWidth=layoutManager.tv;screenWidth&&(key+="-tv");let width=cachedWidths[key];if(!width){console.log("getImageWidth: "+key);var div=document.createElement("div");let itemsContainerClass="itemsContainer padded-left padded-right";screenWidth&&(itemsContainerClass+=" itemsContainer-tv"),div.className=itemsContainerClass,options.cardSize&&setUserPreferredSize(div,options.cardSize),div.style.visibility="hidden",div.innerHTML=options.sideFooter?'<div class="'+cardClass+'"><div class="'+cardBoxClass+'"><div class="'+cardContentClass+'"></div></div></div>':'<div class="'+cardClass+'"><div class="'+cardBoxClass+' cardScalable"></div></div>';screenWidth=document.body;screenWidth.appendChild(div),width=options.sideFooter?cachedWidths[key]=div.querySelector(".cardImageContainer").offsetWidth||400:cachedWidths[key]=div.querySelector(".cardScalable").offsetWidth||400,screenWidth.removeChild(div),console.log("card width: "+width+" - "+cardClass)}return width}function isResizable(windowWidth){var screen=window.screen;if(screen&&20<screen.availWidth-windowWidth)return!0;return!1}function getTemplateLines(options){var options=options.fieldMap,lines=[];return options.Name&&lines.push(""),options.ParentNameOrName&&lines.push(""),(options.P
|