/* global Vue, VueRouter, Vuex, httpVueLoaderEx */ var router = new VueRouter({ linkActiveClass: "active", linkExactActiveClass: "", mode: "history", routes: [ { path: "/", component: httpVueLoaderEx("/core-components/app-index.vue", "NG-Tracker") }, { path: "/papers/papers", component: httpVueLoaderEx("/papers/paper-list.vue", "PaperList") }, { path: "/papers/dashboard", component: httpVueLoaderEx("/papers/paper-dashboard.vue", "PaperDashboard") }, { path: "/*", component: httpVueLoaderEx("/core-components/page-not-found.vue", "PageNotFound") } ] }); var store = new Vuex.Store({ state: { messages: [] }, mutations: { addMessage: function (state, message) { state.messages.push({ id: state.messages.length === 0 ? 0 : state.messages[state.messages.length - 1], text: message.text, type: message.type || "info" }); }, removeMessage: function (state, messageId) { if (messageId < 0 || messageId >= state.messages.length) { return; } state.messages.splice(messageId, 1); } }, actions: { addInfoMessage: function (context, message) { context.commit("addMessage", message); }, addSuccessMessage: function (context, message) { context.commit("addMessage", {text: message, type: "success"}); }, addWarningMessage: function (context, message) { context.commit("addMessage", {text: message, type: "warning"}); }, addDangerMessage: function (context, message) { context.commit("addMessage", {text: message, type: "danger"}); }, removeMessage: function (context, messageId) { context.commit("removeMessage", messageId); } } }); new Vue({ el: "#ng-tracker-app", router: router, store: store, components: { "app": httpVueLoaderEx("/core-components/app.vue") } });