diff options
| author | eal <eal@waifu.club> | 2017-12-07 17:08:20 +0000 |
|---|---|---|
| committer | eal <eal@waifu.club> | 2017-12-07 17:08:20 +0000 |
| commit | 63d29eab3f0e399e8a3b1bbfa35f1717715ffc63 (patch) | |
| tree | bc0884dff5f19fc69d0248dca141f0f5f6d5eba0 /src/modules/api.js | |
| parent | bf7b5a7105e6543411d83ba126dab6b00955c98c (diff) | |
| parent | ecb8acb155a77092b0661854b0ca4cf3c19ff56e (diff) | |
Merge branch 'feature/chat' into 'develop'
Feature/chat
See merge request pleroma/pleroma-fe!182
Diffstat (limited to 'src/modules/api.js')
| -rw-r--r-- | src/modules/api.js | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/modules/api.js b/src/modules/api.js index e61382eb..c91fb97b 100644 --- a/src/modules/api.js +++ b/src/modules/api.js @@ -1,10 +1,13 @@ import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js' import {isArray} from 'lodash' +import { Socket } from 'phoenix' const api = { state: { backendInteractor: backendInteractorService(), - fetchers: {} + fetchers: {}, + socket: null, + chatDisabled: false }, mutations: { setBackendInteractor (state, backendInteractor) { @@ -15,6 +18,12 @@ const api = { }, removeFetcher (state, {timeline}) { delete state.fetchers[timeline] + }, + setSocket (state, socket) { + state.socket = socket + }, + setChatDisabled (state, value) { + state.chatDisabled = value } }, actions: { @@ -37,6 +46,17 @@ const api = { const fetcher = store.state.fetchers[timeline] window.clearInterval(fetcher) store.commit('removeFetcher', {timeline}) + }, + initializeSocket (store, token) { + // Set up websocket connection + if (!store.state.chatDisabled) { + let socket = new Socket('/socket', {params: {token: token}}) + socket.connect() + store.dispatch('initializeChat', socket) + } + }, + disableChat (store) { + store.commit('setChatDisabled', true) } } } |
