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

1001 B · 57 lines · JavaScript Raw History
 1import './assets';
 2
 3import Vue from 'vue';
 4
 5import VueMoment from './plugins/moment';
 6import VueSocket from './plugins/socket';
 7import VuePermissions from './plugins/permissions';
 8
 9import App from './components/app.vue';
10
11import router from './router';
12import store from './store';
13
14
15
16// Global event bus
17
18Vue.prototype.$bus = new Vue();
19
20
21// Plugins
22
23Vue.use(VueMoment);
24Vue.use(VueSocket);
25Vue.use(VuePermissions);
26
27
28// Promise permissions to all routes, update document title on route
29
30router.beforeEach((to, from, next) => {
31  Promise.all([Vue.prototype.$perms]).then(function() {
32    next();
33  });
34  document.title = to.meta.title;
35});
36
37
38// Run all store getters to start
39
40store.dispatch('users/fetchUsers');
41store.dispatch('tasks/fetchTasks');
42store.dispatch('clients/fetchClients');
43store.dispatch('projects/fetchProjects');
44store.dispatch('entries/fetchEntries');
45
46
47// Start vue app
48
49new Vue({
50  router,
51  store,
52  el: '#app',
53  render(createElement) {
54    return createElement(App);
55  },
56});