repos
/ timestrap-django master

timestrap-django

mirror archived upstream

Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.

djangodockerhandcodedpythonself-hostedtime-trackingtimetracker

1.0 KB · 37 lines · JavaScript Raw History
 1import store from '../store';
 2
 3
 4export default {
 5  install: () => {
 6    let updateSocketProtocol = 'ws://';
 7    if (location.protocol == 'https:') updateSocketProtocol = 'wss://';
 8    let updateSocketUrl = updateSocketProtocol + window.location.host + '/socket/';
 9
10    let updateSocket = new WebSocket(updateSocketUrl);
11
12    updateSocket.onopen = () => {
13      console.info('Update socket opened.');
14    }
15
16    updateSocket.onclose = () => {
17      console.info('Update socket closed.');
18    };
19
20    updateSocket.onerror = () => {
21      console.info('Update socket errored.');
22    };
23
24    updateSocket.onmessage = e => {
25      let updateData = JSON.parse(e.data);
26      if (updateData.model == 'Task')
27        store.dispatch('tasks/fetchTasks');
28      if (updateData.model == 'Client')
29        store.dispatch('clients/fetchClients');
30      if (updateData.model == 'Client')
31        store.dispatch('projects/fetchProjects');
32      if (updateData.model == 'Project')
33        store.dispatch('projects/fetchProjects');
34    };
35  },
36};