refactor: update job_queue to moonraker notification

Signed-off-by: Stefan Dej <meteyou@gmail.com>
This commit is contained in:
Stefan Dej 2021-11-27 23:03:06 +01:00
parent 30b0469ffd
commit ae1fa8736a
No known key found for this signature in database
GPG Key ID: 5D3A5823133D2246
2 changed files with 15 additions and 6 deletions

View File

@ -12,29 +12,34 @@ export const actions: ActionTree<ServerJobQueueState, RootState> = {
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' })
}
}

View File

@ -104,6 +104,10 @@ export const actions: ActionTree<SocketState, RootState> = {
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)