From 5cb57af193aad60bf765b62dc0aa05d788c80e81 Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Sat, 9 Feb 2019 17:37:44 -0800 Subject: [PATCH] Fix power button actions --- .../components/server/components/PowerButtons.ts | 11 +++++++---- resources/assets/scripts/mixins/socketio/emitter.ts | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/resources/assets/scripts/components/server/components/PowerButtons.ts b/resources/assets/scripts/components/server/components/PowerButtons.ts index b4c518a91..525632248 100644 --- a/resources/assets/scripts/components/server/components/PowerButtons.ts +++ b/resources/assets/scripts/components/server/components/PowerButtons.ts @@ -1,12 +1,15 @@ import Vue from 'vue'; -import { mapState } from 'vuex'; +import {mapState} from 'vuex'; import Status from '../../../helpers/statuses'; +import {Socketio} from "@/mixins/socketio"; export default Vue.component('power-buttons', { computed: { ...mapState('socket', ['connected', 'status']), }, + mixins: [Socketio], + data: function () { return { statuses: Status, @@ -15,7 +18,7 @@ export default Vue.component('power-buttons', { methods: { sendPowerAction: function (action: string) { - // this.$socket().instance().emit('set status', action) + this.$socket().instance().emit('set status', action) }, }, @@ -28,9 +31,9 @@ export default Vue.component('power-buttons', { v-on:click.prevent="sendPowerAction('start')" >Start
- + - +
diff --git a/resources/assets/scripts/mixins/socketio/emitter.ts b/resources/assets/scripts/mixins/socketio/emitter.ts index 5728de467..8a97772e8 100644 --- a/resources/assets/scripts/mixins/socketio/emitter.ts +++ b/resources/assets/scripts/mixins/socketio/emitter.ts @@ -15,7 +15,7 @@ export default new class SocketEmitter { /** * Add an event listener for socket events. */ - addListener(event: string | number, callback: (data: any) => void, vm: ComponentOptions) { + addListener(event: string | number, callback: (...data: any[]) => void, vm: ComponentOptions) { if (!isFunction(callback)) { return; } @@ -31,7 +31,7 @@ export default new class SocketEmitter { /** * Remove an event listener for socket events based on the context passed through. */ - removeListener(event: string | number, callback: (data: any) => void, vm: ComponentOptions) { + removeListener(event: string | number, callback: (...data: any[]) => void, vm: ComponentOptions) { if (!isFunction(callback) || !this.listeners.has(event)) { return; } @@ -53,7 +53,8 @@ export default new class SocketEmitter { */ emit(event: string | number, ...args: any) { (this.listeners.get(event) || []).forEach((listener) => { - listener.callback.call(listener.vm, args); + // @ts-ignore + listener.callback.call(listener.vm, ...args); }); } }