2019-05-02 23:06:57 +04:00

68 lines
2.1 KiB
JavaScript

/* 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")
}
});