Bilibili-Evolved/registry/dist/components/video/player/default-mode.js
2022-01-05 23:15:57 +08:00

1 line
2.5 KiB
JavaScript

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["video/player/default-mode"]=t():e["video/player/default-mode"]=t()}(self,(function(){return function(){"use strict";var e={d:function(t,n){for(var l in n)e.o(n,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:n[l]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{component:function(){return i}});var n=coreApis.componentApis.video.playerAgent,l=coreApis.spinQuery,o=coreApis.utils,a=coreApis.utils.lazyPanel,r=coreApis.utils.urls;let s;!function(e){e.Normal="常规",e.Wide="宽屏",e.WebFullscreen="网页全屏",e.Fullscreen="全屏"}(s||(s={}));const i={name:"defaultPlayerMode",displayName:"默认播放器模式",entry:async({settings:{options:e}})=>{if((0,o.isEmbeddedPlayer)())return;const{query:{control:{settings:t,buttons:r}}}=n.playerAgent,i=async e=>{await(0,a.loadLazyPlayerSettingsPanel)(e,t.wrap.selector)};await(0,o.playerReady)();const c=new Map([[s.Normal,none],[s.Wide,async()=>{await i(r.widescreen.selector),(0,o.disableWindowScroll)((()=>n.playerAgent.widescreen()))}],[s.WebFullscreen,async()=>{await i(r.webFullscreen.selector),n.playerAgent.webFullscreen()}],[s.Fullscreen,async()=>{null!==await(0,l.sq)((()=>dq(n.playerAgent.query.video.element.selector)),(e=>null!==e&&4===e.readyState&&"complete"===document.readyState&&document.hasFocus()))?n.playerAgent.fullscreen():console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.")}]]),d=await n.playerAgent.query.video.element();if(!d)return;const u=c.get(e.mode);e.applyOnPlay&&!n.playerAgent.isAutoPlay()?d.addEventListener("play",u,{once:!0}):u()},tags:[componentsTags.video],description:{"zh-CN":"控制是否使用默认播放器模式, 可以为`常规`, `宽屏`, `网页全屏`或`全屏`. 注意: 不能和其他影响定位的功能一同使用, 例如播放器定位. (相关讨论: [#483](https://github.com/the1812/Bilibili-Evolved/issues/483))","en-US":"Set the default player mode. Could be `Normal`, `Widescreen`, `Web fullscreen` or `Fullscreen`.","ja-JP":"デフォルト・プレーヤー・モードが使用するかどうかを制御する、 例えば`常规`、`宽屏`、 `网页全屏`か`全屏`."},options:{mode:{defaultValue:s.Normal,displayName:"模式选择",dropdownEnum:s},applyOnPlay:{defaultValue:!1,displayName:"播放时应用"}},urlInclude:r.allVideoUrls,commitHash:"b6ea3caa7b4e5a561791e5bee8bc8462f0508c51"};return t=t.component}()}));