����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /var/www/html/video/layout/js/node_modules/artplayer/src/control/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/video/layout/js/node_modules/artplayer/src/control/volume.js
import { append, setStyle, isMobile } from '../utils';

export default function volume(option) {
    return (art) => ({
        ...option,
        mounted: ($control) => {
            const { proxy, icons } = art;

            const $volume = append($control, icons.volume);
            const $close = append($control, icons.volumeClose);
            const $panel = append($control, '<div class="art-volume-panel"></div>');
            const $inner = append($panel, '<div class="art-volume-inner"></div>');
            const $value = append($inner, `<div class="art-volume-val"></div>`);
            const $slider = append($inner, `<div class="art-volume-slider"></div>`);
            const $handle = append($slider, `<div class="art-volume-handle"></div>`);
            const $loaded = append($handle, `<div class="art-volume-loaded"></div>`);
            const $indicator = append($slider, `<div class="art-volume-indicator"></div>`);

            function getVolumeFromEvent(event) {
                const { top, height } = $slider.getBoundingClientRect();
                return 1 - (event.clientY - top) / height;
            }

            function update() {
                if (art.muted || art.volume === 0) {
                    setStyle($volume, 'display', 'none');
                    setStyle($close, 'display', 'flex');
                    setStyle($indicator, 'top', '100%');
                    setStyle($loaded, 'top', '100%');
                    $value.innerText = 0;
                } else {
                    const percentage = art.volume * 100;
                    setStyle($volume, 'display', 'flex');
                    setStyle($close, 'display', 'none');
                    setStyle($indicator, 'top', `${100 - percentage}%`);
                    setStyle($loaded, 'top', `${100 - percentage}%`);
                    $value.innerText = Math.floor(percentage);
                }
            }

            update();
            art.on('video:volumechange', update);

            proxy($volume, 'click', () => {
                art.muted = true;
            });

            proxy($close, 'click', () => {
                art.muted = false;
            });

            if (isMobile) {
                setStyle($panel, 'display', 'none');
            } else {
                let isDroging = false;

                proxy($slider, 'mousedown', (event) => {
                    isDroging = event.button === 0;
                    art.volume = getVolumeFromEvent(event);
                });

                art.on('document:mousemove', (event) => {
                    if (isDroging) {
                        art.muted = false;
                        art.volume = getVolumeFromEvent(event);
                    }
                });

                art.on('document:mouseup', () => {
                    if (isDroging) {
                        isDroging = false;
                    }
                });
            }
        },
    });
}

ZeroDay Forums Mini