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