This commit is contained in:
2019-06-05 00:02:53 +00:00
parent 9427fd1a8a
commit f4d9220d62
9 changed files with 195 additions and 88 deletions

View File

@@ -9,14 +9,67 @@ import operations from "./views/operations.vue";
import notfound from "./views/notfound.vue";
Vue.use(Router);
/* Xeslint-disable */
// scrollBehavior:
// - only available in html5 history mode
// - defaults to no scroll behavior
// - return false to prevent scroll
const scrollBehavior = function(to, from, savedPosition) {
if (savedPosition) {
// savedPosition is only available for popstate navigations.
return savedPosition;
} else {
const position = {};
// scroll to anchor by returning the selector
if (to.hash) {
position.selector = to.hash;
// specify offset of the element
if (to.hash === "#anchor2") {
position.offset = { y: 100 };
}
if (document.querySelector(to.hash)) {
return position;
}
// if the returned position is falsy or an empty object,
// will retain current scroll position.
return false;
}
return new Promise(resolve => {
// check if any matched route config has meta that requires scrolling to top
if (to.matched.some(m => m.meta.scrollToTop)) {
// coords will be used if no selector is provided,
// or if the selector didn't match any element.
position.x = 0;
position.y = 0;
}
// wait for the out transition to complete (if necessary)
this.app.$root.$once("triggerScroll", () => {
// if the resolved position is falsy or an empty object,
// will retain current scroll position.
resolve(position);
});
});
}
};
export default new Router({
mode: "history",
base: process.env.BASE_URL,
scrollBehavior,
routes: [
{
path: "/login",
name: "login",
meta: { scrollToTop: true },
component: () =>
import(/* webpackChunkName: "login" */ "./views/login.vue")
},
@@ -24,7 +77,13 @@ export default new Router({
{
path: "/",
name: "home",
meta: { scrollToTop: true },
component: Home
// ,
// beforeEnter(to, from, next) {
// store.state.tempsessionsettings = false;//here is a way to reset the temp session settings, but I'll likely do it through logout proces instead, keeping this for example purposes
// next();
// }
},
{
path: "/about",
@@ -59,6 +118,7 @@ export default new Router({
{
path: "/accounting",
name: "accounting",
//meta: { scrollToTop: true },
component: accounting
},
{