EmbyCrackedClient/web/modules/emby-elements/emby-slider/emby-slider.js

1 line
11 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import dom from"./../../dom.js";import layoutManager from"./../../layoutmanager.js";import inputManager from"./../../common/inputmanager.js";import"./../../customelementupgrade.js";require(["css!modules/emby-elements/emby-slider/emby-slider.css"]);let insetInlineStartProp=CSS.supports("inset-inline-start","0")?"insetInlineStart":"left",insetBlockStartProp="bottom",supportsCalc=CSS.supports("width","min(45.2%,calc(100% - .65em))"),supportsMin=CSS.supports("width","min(10em, 5vw)"),supportsCalcMin=supportsCalc&&supportsMin;function onInputCommand(e){let stepUpCommand,stepDownCommand;switch(stepDownCommand="vertical"===this.getAttribute("orient")?(stepUpCommand="up","down"):"rtl"===document.dir?(stepUpCommand="left","right"):(stepUpCommand="right","left"),e.detail.command){case stepUpCommand:e.preventDefault(),this.stepUp();var value=parseFloat(this.value);this.beginEditing(value);break;case stepDownCommand:{e.preventDefault(),this.stepDown();let value=parseFloat(this.value);this.beginEditing(value);break}}}function getValueAsPercent(range,value){var min=parseFloat(range.min),value=(value-min)/(parseFloat(range.max)-min);return value*=100}function getValueFromPercent(range,pct){pct/=100;var min=parseFloat(range.min);return(parseFloat(range.max)-min)*pct+min}function updateValues(range,value){requestAnimationFrame(function(){var backgroundLower=range.backgroundLower,originalPct=getValueAsPercent(range,value),pct=originalPct+"%",backgroundLower=(backgroundLower&&(prop="vertical"===range.getAttribute("orient")?"height":"width",backgroundLower.style[prop]=pct),range.sliderThumb);if(backgroundLower){var prop="vertical"===range.getAttribute("orient")?insetBlockStartProp:insetInlineStartProp;if(supportsMin){if(originalPct<10)return void(backgroundLower.style[prop]="max("+originalPct+"%,.65em)");if(90<originalPct&&supportsCalcMin)return void(backgroundLower.style[prop]="min("+originalPct+"%,calc(100% - .65em))")}backgroundLower.style[prop]=originalPct+"%"}})}function onBubbleResized(){this.bubbleOffsetSize=null}function getBubbleOffsetSize(range){let size=range.bubbleOffsetSize;var prop;return size||(prop="vertical"===range.getAttribute("orient")?"offsetHeight":"offsetWidth",range.bubbleOffsetSize=size=range.getBubbleElement()[prop]),size}function onContainerResized(){this.containerOffsetSize=null}function getRangeContainerOffsetSize(range){let size=range.containerOffsetSize;var prop;return size||(prop="vertical"===range.getAttribute("orient")?"offsetHeight":"offsetWidth",range.containerOffsetSize=size=range.containerElement[prop]),size}let baseSliderBubbleClass="sliderBubble dialog";function updateBubble(range,value,pct,bubble){range.dragging&&range.dispatchEvent(new CustomEvent("displayvaluechange",{bubbles:!0,cancelable:!1,detail:{value:value}}));let html=value;html=range.getBubbleHtml?range.getBubbleHtml(html):'<h2 class="sliderBubbleText">'+(html=range.getBubbleText?range.getBubbleText(html):Math.round(html))+"</h2>",bubble.innerHTML=html;value="vertical"===range.getAttribute("orient")?insetBlockStartProp:insetInlineStartProp;if(supportsCalcMin){var size=getBubbleOffsetSize(range),size=Math.round(size/2);if(pct<30)return void(bubble.style[value]="max("+pct+"%,"+size+"px)");if(70<pct)return void(bubble.style[value]="min("+pct+"%,calc(100% - "+size+"px))");bubble.style[value]=pct+"%"}size=getBubbleOffsetSize(range),range=getRangeContainerOffsetSize(range);pct=range*(pct/100),pct=Math.max(pct,size/2),pct=Math.min(pct,range-size/2),bubble.style[value]=pct+"px"}function setRange(elem,range,startPercent,endPercent){elem=elem.style,elem["vertical"===range.getAttribute("orient")?insetBlockStartProp:insetInlineStartProp]=Math.max(startPercent,0)+"%",endPercent-=startPercent;elem["vertical"===range.getAttribute("orient")?"height":"width"]=Math.max(Math.min(endPercent,100),0)+"%"}function mapRangesFromRuntimeToPercent(ranges,runtime){return runtime?ranges.map(function(r){return{start:r.start/runtime*100,end:r.end/runtime*100}}):[]}let supportsTouchEvent="ontouchstart"in document.documentElement;function onPointerMove(e){if(!this.disable