@ezuikit/theme-plugin-volume
Version:
volume
9 lines (8 loc) • 1.33 kB
JavaScript
/*
*
* @ezuikit/theme-plugin-volume v0.1.0
* Copyright (c) 2024-3-23 Ezviz-OpenBiz
* Released under MIT the License.
*
*/
;var e=require("@ezuikit/icons"),n=require("@ezuikit/theme-plugin-footer"),t=require("@ezuikit/utils-dom"),i=require("lodash-es");module.exports=function(a){return function(l){const o=l;let s=!(!1!==o.options.audio);const r=e.soundMuteIcon(null==a?void 0:a.icon),d=e.soundIcon(null==a?void 0:a.icon);t.addClass(d,`${t.PREFIX_CLASS_NAME}-active`);const u=o.$container.querySelector(`.${n.FOOTER_LEFT_CLS}`),c=document.createElement("div");function p(e){e?(c.innerHTML="",c.appendChild(r)):(c.innerHTML="",c.appendChild(d))}return t.addClass(c,`${n.FOOTER_PREFIX_CLS}-item`,`${t.PREFIX_CLASS_NAME}-disable`),c.appendChild(r),c.addEventListener("click",i.throttle((()=>{c.classList.contains(`${t.PREFIX_CLASS_NAME}-disable`)||(s?o.player.setVolume(.8):o.player.setVolume(0),s=!s)}),100)),u&&u.appendChild(c),o.event.on("volumechange",(e=>{p(!(e.data>0))})),o.event.on("EVENT_CALLBACK",(e=>{"appearFirstFrameCallback"===e.data.type&&(t.removeClass(c,`${t.PREFIX_CLASS_NAME}-disable`),p(s),s?o.player.setVolume(0):o.player.setVolume(.8))})),["urlChange","pause","stop","talk"].forEach((e=>{o.event.on(e,(()=>{c.innerHTML="",c.appendChild(r),t.addClass(c,`${t.PREFIX_CLASS_NAME}-disable`)}))})),c}};