|
@@ -1,163 +0,0 @@
|
|
-/* eslint no-param-reassign: 0 */
|
|
|
|
-
|
|
|
|
-export default {
|
|
|
|
- namespaced: true,
|
|
|
|
- state: {
|
|
|
|
- video: {
|
|
|
|
- player: null,
|
|
|
|
- paused: true,
|
|
|
|
- playerReady: false,
|
|
|
|
- autoPlayed: false,
|
|
|
|
- currentTime: 0,
|
|
|
|
- playbackRate: 1
|
|
|
|
- },
|
|
|
|
- youtubeId: null,
|
|
|
|
- song: {},
|
|
|
|
- originalSong: {},
|
|
|
|
- reports: [],
|
|
|
|
- tab: "discogs",
|
|
|
|
- newSong: false
|
|
|
|
- },
|
|
|
|
- getters: {},
|
|
|
|
- actions: {
|
|
|
|
- init: ({ commit }, { song }) => commit("editSong", song),
|
|
|
|
- showTab: ({ commit }, tab) => commit("showTab", tab),
|
|
|
|
- editSong: ({ commit }, song) => commit("editSong", song),
|
|
|
|
- setSong: ({ commit }, song) => commit("setSong", song),
|
|
|
|
- updateOriginalSong: ({ commit }, song) =>
|
|
|
|
- commit("updateOriginalSong", song),
|
|
|
|
- resetSong: ({ commit }, youtubeId) => commit("resetSong", youtubeId),
|
|
|
|
- stopVideo: ({ commit }) => commit("stopVideo"),
|
|
|
|
- hardStopVideo: ({ commit }) => commit("hardStopVideo"),
|
|
|
|
- loadVideoById: ({ commit }, id, skipDuration) =>
|
|
|
|
- commit("loadVideoById", id, skipDuration),
|
|
|
|
- pauseVideo: ({ commit }, status) => commit("pauseVideo", status),
|
|
|
|
- getCurrentTime: ({ commit, state }, fixedVal) =>
|
|
|
|
- new Promise(resolve => {
|
|
|
|
- commit("getCurrentTime", fixedVal);
|
|
|
|
- resolve(state.video.currentTime);
|
|
|
|
- }),
|
|
|
|
- updateSongField: ({ commit }, data) => commit("updateSongField", data),
|
|
|
|
- selectDiscogsInfo: ({ commit }, discogsInfo) =>
|
|
|
|
- commit("selectDiscogsInfo", discogsInfo),
|
|
|
|
- updateReports: ({ commit }, reports) =>
|
|
|
|
- commit("updateReports", reports),
|
|
|
|
- resolveReport: ({ commit }, reportId) =>
|
|
|
|
- commit("resolveReport", reportId),
|
|
|
|
- updateYoutubeId: ({ commit }, youtubeId) => {
|
|
|
|
- commit("updateYoutubeId", youtubeId);
|
|
|
|
- commit("loadVideoById", youtubeId, 0);
|
|
|
|
- },
|
|
|
|
- updateTitle: ({ commit }, title) => commit("updateTitle", title),
|
|
|
|
- updateThumbnail: ({ commit }, thumbnail) =>
|
|
|
|
- commit("updateThumbnail", thumbnail),
|
|
|
|
- setPlaybackRate: ({ commit }, rate) => commit("setPlaybackRate", rate)
|
|
|
|
- },
|
|
|
|
- mutations: {
|
|
|
|
- showTab(state, tab) {
|
|
|
|
- state.tab = tab;
|
|
|
|
- },
|
|
|
|
- editSong(state, song) {
|
|
|
|
- state.newSong = !!song.newSong || !song._id;
|
|
|
|
- state.youtubeId = song.youtubeId || null;
|
|
|
|
- state.prefillData = song.prefill ? song.prefill : {};
|
|
|
|
- },
|
|
|
|
- setSong(state, song) {
|
|
|
|
- if (song.discogs === undefined) song.discogs = null;
|
|
|
|
- state.originalSong = JSON.parse(JSON.stringify(song));
|
|
|
|
- state.song = JSON.parse(JSON.stringify(song));
|
|
|
|
- state.newSong = !song._id;
|
|
|
|
- state.youtubeId = song.youtubeId;
|
|
|
|
- },
|
|
|
|
- updateOriginalSong(state, song) {
|
|
|
|
- state.originalSong = JSON.parse(JSON.stringify(song));
|
|
|
|
- },
|
|
|
|
- resetSong(state, youtubeId) {
|
|
|
|
- if (state.youtubeId === youtubeId) state.youtubeId = "";
|
|
|
|
- if (state.song && state.song.youtubeId === youtubeId)
|
|
|
|
- state.song = {};
|
|
|
|
- if (
|
|
|
|
- state.originalSong &&
|
|
|
|
- state.originalSong.youtubeId === youtubeId
|
|
|
|
- )
|
|
|
|
- state.originalSong = {};
|
|
|
|
- },
|
|
|
|
- stopVideo(state) {
|
|
|
|
- if (state.video.player && state.video.player.pauseVideo) {
|
|
|
|
- state.video.player.pauseVideo();
|
|
|
|
- state.video.player.seekTo(0);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- hardStopVideo(state) {
|
|
|
|
- if (state.video.player && state.video.player.stopVideo) {
|
|
|
|
- state.video.player.stopVideo();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- loadVideoById(state, id, skipDuration) {
|
|
|
|
- state.song.duration = -1;
|
|
|
|
- state.video.player.loadVideoById(id, skipDuration);
|
|
|
|
- },
|
|
|
|
- pauseVideo(state, status) {
|
|
|
|
- if (
|
|
|
|
- (state.video.player && state.video.player.pauseVideo) ||
|
|
|
|
- state.video.playVideo
|
|
|
|
- ) {
|
|
|
|
- if (status) state.video.player.pauseVideo();
|
|
|
|
- else state.video.player.playVideo();
|
|
|
|
- }
|
|
|
|
- state.video.paused = status;
|
|
|
|
- },
|
|
|
|
- getCurrentTime(state, fixedVal) {
|
|
|
|
- if (!state.playerReady) state.video.currentTime = 0;
|
|
|
|
- else {
|
|
|
|
- Promise.resolve(state.video.player.getCurrentTime()).then(
|
|
|
|
- time => {
|
|
|
|
- if (fixedVal)
|
|
|
|
- Promise.resolve(time.toFixed(fixedVal)).then(
|
|
|
|
- fixedTime => {
|
|
|
|
- state.video.currentTime = fixedTime;
|
|
|
|
- }
|
|
|
|
- );
|
|
|
|
- else state.video.currentTime = time;
|
|
|
|
- }
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- updateSongField(state, data) {
|
|
|
|
- state.song[data.field] = data.value;
|
|
|
|
- },
|
|
|
|
- selectDiscogsInfo(state, discogsInfo) {
|
|
|
|
- state.song.discogs = discogsInfo;
|
|
|
|
- },
|
|
|
|
- updateReports(state, reports) {
|
|
|
|
- state.reports = reports;
|
|
|
|
- },
|
|
|
|
- resolveReport(state, reportId) {
|
|
|
|
- state.reports = state.reports.filter(
|
|
|
|
- report => report._id !== reportId
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- updateYoutubeId(state, youtubeId) {
|
|
|
|
- state.song.youtubeId = youtubeId;
|
|
|
|
- },
|
|
|
|
- updateTitle(state, title) {
|
|
|
|
- state.song.title = title;
|
|
|
|
- },
|
|
|
|
- updateThumbnail(state, thumbnail) {
|
|
|
|
- state.song.thumbnail = thumbnail;
|
|
|
|
- },
|
|
|
|
- setPlaybackRate(state, rate) {
|
|
|
|
- if (rate) {
|
|
|
|
- state.video.playbackRate = rate;
|
|
|
|
- state.video.player.setPlaybackRate(rate);
|
|
|
|
- } else if (
|
|
|
|
- state.video.player.getPlaybackRate() !== undefined &&
|
|
|
|
- state.video.playbackRate !==
|
|
|
|
- state.video.player.getPlaybackRate()
|
|
|
|
- ) {
|
|
|
|
- state.video.player.setPlaybackRate(state.video.playbackRate);
|
|
|
|
- state.video.playbackRate = state.video.player.getPlaybackRate();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-};
|
|
|