1 line
5.6 KiB
JavaScript
1 line
5.6 KiB
JavaScript
define(["exports","./../dialoghelper/dialoghelper.js","./../common/globalize.js","./../emby-apiclient/events.js","./../dom.js","./../layoutmanager.js","./../common/playback/playbackmanager.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-button/paper-icon-button-light.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../emby-elements/emby-slider/emby-slider.js"],function(_exports,_dialoghelper,_globalize,_events,_dom,_layoutmanager,_playbackmanager,_embyButton,_paperIconButtonLight,_embyDialogclosebutton,_embySlider){function SubtitleOffsetDialog(options){this.options=options}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons","formDialogStyle"]);function onDialogClosed(){var instance=this,player=this.options.player;return(instance=instance.localOnSubtitleOffsetChange)&&_events.default.off(player,"subtitleoffsetchange",instance),Promise.resolve()}function refreshData(instance,player){!function(instance,offsetValue){var slider,value;instance.dlg.querySelector(".offsetValue").innerHTML=getBubbleText(offsetValue),slider=instance.dlg.querySelector(".subtitleOffsetSlider"),value=offsetValue,slider.dragging||(slider.setValue?slider.setValue(value):slider.waitForCustomElementUpgrade().then(function(){slider.setValue(value)}))}(instance,_playbackmanager.default.getSubtitleOffset(player))}function getBubbleText(value){return value=value,1e3<=Math.abs(value)?(value/=1e3).toFixed(1)+" seconds":value+" ms"}SubtitleOffsetDialog.prototype.show=function(){var dialogOptions,html,instance,player;function localOnSubtitleOffsetChange(e){refreshData(instance,player)}this.dlg||(dialogOptions={removeOnClose:!0,scrollY:!1,transparentBackground:!0,positionTo:this.options.positionTo,positionX:this.options.positionX,positionY:this.options.positionY,transformOrigin:this.options.transformOrigin,lowResAutoHeight:!0,skipAutoFocusIfNotEnabled:!1,autoCenter:!1},(dialogOptions=_dialoghelper.default.createDialog(dialogOptions)).classList.add("formDialog","subtitleOffsetDialog"),_dom.default.allowBackdropFilter()&&dialogOptions.classList.add("dialog-blur"),html="",html=(html=(html='<div class="formDialogHeader"><button type="button" is="emby-dialogclosebutton" closetype="done"></button>')+'<h3 class="formDialogHeaderTitle">'+_globalize.default.translate("HeaderSubtitleOffset")+"</h3></div>")+function(){var html="",buttonClass=_layoutmanager.default.tv?" hide":"";return html+'<div class="formDialogContent">'+'<div style="padding-top:.5em;" class="verticalFieldItems dialogContentInner dialogContentInner-normalbottompadding dialog-content-centered dialog-content-centered-mini padded-left padded-right">'+'<h3 class="subtitleOverlayOffsetText verticalFieldItem secondaryText" style="margin:0; text-align:center;"><span class="offsetValue"></span></h3>'+'<div class="flex align-items-center verticalFieldItem buttonItems focuscontainer-x" style="margin:1.25em 0;">'+('<button is="paper-icon-button-light" type="button" class="buttonItems-item flex-shrink-zero btnStepDown'+buttonClass+'" title="'+_globalize.default.translate("Down")+'" aria-label="'+_globalize.default.translate("Down")+'"><i class="md-icon autortl md-icon-fill"></i></button>')+'<div class="buttonItems-item subtitleOffsetSliderContainer sliderContainer flex-grow">'+'<input type="range" is="emby-slider" step="100" min="-120000" max="120000" value="0" class="autofocus subtitleOffsetSlider" data-bubble="false" />'+"</div>"+('<button is="paper-icon-button-light" type="button" class="buttonItems-item flex-shrink-zero btnStepUp'+buttonClass+'" title="'+_globalize.default.translate("Up")+'" aria-label="'+_globalize.default.translate("Up")+'"><i class="md-icon autortl md-icon-fill"></i></button>')+"</div>"+'<div class="buttonItems verticalFieldItem flex align-items-center justify-content-center" style="margin-bottom:.75em;">'+('<button is="emby-button" type="button" class="flex-shrink-zero btnReset raised raised-mini nobackdropfilter" title="'+_globalize.default.translate("Reset")+'" aria-label="'+_globalize.default.translate("Reset")+'">'+_globalize.default.translate("Reset")+"</button>")+"</div>"+"</div>"+"</div>"}(),dialogOptions.innerHTML=html,dialogOptions.style.minWidth="initial",html=(this.dlg=dialogOptions).querySelector(".subtitleOffsetSlider"),boundOnSliderChange=function(e){e=e.target,e=parseInt(e.value),console.log("slider value: "+e+" - "+typeof e),_playbackmanager.default.setSubtitleOffset(e,this.options.player)}.bind(this),html.addEventListener("change",boundOnSliderChange),html.addEventListener("input",boundOnSliderChange),dialogOptions.querySelector(".btnStepDown").addEventListener("click",function(){_playbackmanager.default.incrementSubtitleOffset(-100,this.options.player)}.bind(this)),dialogOptions.querySelector(".btnStepUp").addEventListener("click",function(){_playbackmanager.default.incrementSubtitleOffset(100,this.options.player)}.bind(this)),html.getBubbleText=getBubbleText,dialogOptions.querySelector(".btnReset").addEventListener("click",function(e){_playbackmanager.default.setSubtitleOffset(0,this.options.player)}.bind(this))),player=(instance=this).options.player,instance.localOnSubtitleOffsetChange=localOnSubtitleOffsetChange,_events.default.on(player,"subtitleoffsetchange",localOnSubtitleOffsetChange),refreshData(this,this.options.player);var boundOnSliderChange=onDialogClosed.bind(this);return _dialoghelper.default.open(this.dlg).then(boundOnSliderChange,boundOnSliderChange)},SubtitleOffsetDialog.prototype.close=function(){var dlg=this.dlg;dlg&&_dialoghelper.default.close(dlg)},SubtitleOffsetDialog.prototype.destroy=function(){this.close(),this.options=null,this.dlg=null};_exports.default=SubtitleOffsetDialog}); |