123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* eslint no-param-reassign: 0 */
- const state = {
- socket: {
- dispatcher: {}
- }
- };
- const getters = {
- getSocket: state => state.socket
- };
- const actions = {
- createSocket: ({ commit }, socket) => commit("createSocket", socket)
- };
- const mutations = {
- createSocket(state, socket) {
- const { listeners } = state.socket.dispatcher;
- state.socket = socket;
- // only executes if the websocket object is being replaced
- if (listeners) {
- // for each listener type
- Object.keys(listeners).forEach(listenerType =>
- // for each callback previously present for the listener type
- listeners[listenerType].forEach(element => {
- // add the listener back after the websocket object is reset
- state.socket.dispatcher.addEventListener(
- listenerType,
- element.cb
- );
- })
- );
- }
- }
- };
- export default {
- namespaced: true,
- state,
- getters,
- actions,
- mutations
- };
|