| Server IP : 43.153.74.48 / Your IP : 216.73.216.175 Web Server : LiteSpeed System : Linux VM-0-13-ubuntu 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www ( 1002) PHP Version : 8.1.29 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/stainlesstint.com/wp-includes/js/dist/script-modules/block-library/playlist/ |
Upload File : |
// packages/block-library/build-module/playlist/view.mjs
import { store, getContext, getElement } from "@wordpress/interactivity";
store(
"core/playlist",
{
state: {
playlists: {},
get currentTrack() {
const { currentId, playlistId } = getContext();
if (!currentId || !playlistId) {
return {};
}
const playlist = this.playlists[playlistId];
if (!playlist) {
return {};
}
return playlist.tracks[currentId] || {};
},
get isCurrentTrack() {
const { currentId, uniqueId } = getContext();
return currentId === uniqueId;
}
},
actions: {
changeTrack() {
const context = getContext();
context.currentId = context.uniqueId;
context.isPlaying = true;
},
isPlaying() {
const context = getContext();
context.isPlaying = true;
},
isPaused() {
const context = getContext();
context.isPlaying = false;
},
nextSong() {
const context = getContext();
const currentIndex = context.tracks.findIndex(
(uniqueId) => uniqueId === context.currentId
);
const nextTrack = context.tracks[currentIndex + 1];
if (nextTrack) {
context.currentId = nextTrack;
const { ref } = getElement();
setTimeout(() => {
ref.play();
}, 1e3);
}
}
},
callbacks: {
autoPlay() {
const context = getContext();
const { ref } = getElement();
if (context.currentId && context.isPlaying) {
ref.play();
}
}
}
},
{ lock: true }
);