From ae1fa8736a1441c4e705b99f753325f57744c864 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Sat, 27 Nov 2021 23:03:06 +0100 Subject: [PATCH] refactor: update job_queue to moonraker notification Signed-off-by: Stefan Dej --- src/store/server/jobQueue/actions.ts | 17 +++++++++++------ src/store/socket/actions.ts | 4 ++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/store/server/jobQueue/actions.ts b/src/store/server/jobQueue/actions.ts index 1788a411..2a4083b9 100644 --- a/src/store/server/jobQueue/actions.ts +++ b/src/store/server/jobQueue/actions.ts @@ -12,29 +12,34 @@ export const actions: ActionTree = { Vue.$socket.emit('server.job_queue.status', { }, { action: 'server/jobQueue/getStatus' }) }, + getEvent({ commit }, payload) { + if ('updated_queue' in payload) commit('setQueuedJobs', payload.updated_queue) + if ('queue_state' in payload) commit('setQueueState', payload.queue_state) + }, + getStatus({ commit }, payload) { if ('queued_jobs' in payload) commit('setQueuedJobs', payload.queued_jobs) if ('queue_state' in payload) commit('setQueueState', payload.queue_state) }, async addToQueue({ state }, filenames: string[]) { - Vue.$socket.emit('server.job_queue.post_job', { filenames: filenames }, { action: 'server/jobQueue/getStatus' }) + Vue.$socket.emit('server.job_queue.post_job', { filenames: filenames }) }, deleteFromQueue(_, job_ids: string[]) { - Vue.$socket.emit('server.job_queue.delete_job', { job_ids }, { action: 'server/jobQueue/getStatus' }) + Vue.$socket.emit('server.job_queue.delete_job', { job_ids }) }, clearQueue(_) { - Vue.$socket.emit('server.job_queue.delete_job', { all: true }, { action: 'server/jobQueue/getStatus' }) + Vue.$socket.emit('server.job_queue.delete_job', { all: true }) }, - resume(_) { - Vue.$socket.emit('server.job_queue.resume', { }, { action: 'server/jobQueue/getStatus', loading: 'resumeJobqueue' }) + start(_) { + Vue.$socket.emit('server.job_queue.start', { }, { loading: 'resumeJobqueue' }) }, pause(_) { - Vue.$socket.emit('server.job_queue.pause', { }, { action: 'server/jobQueue/getStatus', loading: 'pauseJobqueue' }) + Vue.$socket.emit('server.job_queue.pause', { }, { loading: 'pauseJobqueue' }) } } \ No newline at end of file diff --git a/src/store/socket/actions.ts b/src/store/socket/actions.ts index 4d15b4f3..a1d374f6 100644 --- a/src/store/socket/actions.ts +++ b/src/store/socket/actions.ts @@ -104,6 +104,10 @@ export const actions: ActionTree = { dispatch('server/timelapse/getEvent', payload.params[0], { root: true }) break + case 'notify_job_queue_changed': + dispatch('server/jobQueue/getEvent', payload.params[0], { root: true }) + break + default: if (payload.result !== 'ok' && payload.error?.message) window.console.error('JSON-RPC: ' + payload.error.message) else window.console.debug(payload)