vue-material/src/docs/index.js

58 lines
1.3 KiB
JavaScript
Raw Normal View History

2016-07-21 21:56:06 +00:00
/* Third Party */
import Vue from 'vue';
import VueRouter from 'vue-router';
2016-07-21 21:56:06 +00:00
/* Configs */
import './config.js';
import routes from './routes.js';
2016-08-30 15:41:16 +00:00
import App from './App';
2016-09-26 14:14:26 +00:00
import SinglePage from './components/single-page';
2016-09-26 14:41:51 +00:00
import SinglePageBanner from './components/single-page-banner';
2016-09-18 17:04:02 +00:00
import DemoPage from './components/demo-page';
import DemoExample from './components/demo-example';
2016-08-16 02:34:05 +00:00
2016-08-30 15:41:16 +00:00
Vue.use(VueRouter);
let router = new VueRouter({
2016-08-30 15:41:16 +00:00
hashbang: false,
routes
});
2016-07-21 21:56:06 +00:00
2016-08-30 15:41:16 +00:00
let Docs = Vue.component('app', App);
2016-09-26 04:13:27 +00:00
let handleSectionTheme = (route) => {
if (route.name.indexOf('components') >= 0) {
Docs.theme = 'indigo';
} else if (route.name.indexOf('themes') >= 0) {
Docs.theme = 'teal';
} else if (route.name.indexOf('ui-elements') >= 0) {
Docs.theme = 'dark-pink';
} else {
Docs.theme = 'default';
}
};
2016-07-21 21:56:06 +00:00
2016-09-26 14:14:26 +00:00
Vue.component('single-page', SinglePage);
2016-09-26 14:41:51 +00:00
Vue.component('single-page-banner', SinglePageBanner);
2016-09-18 17:04:02 +00:00
Vue.component('demo-page', DemoPage);
Vue.component('demo-example', DemoExample);
2016-09-12 18:02:26 +00:00
2016-08-30 15:41:16 +00:00
Docs = new Docs({
el: '#app',
router
});
2016-09-26 04:13:27 +00:00
handleSectionTheme(router.currentRoute);
router.afterEach((currentRoute) => {
2016-09-09 19:59:55 +00:00
let mainContent = document.querySelector('.main-content');
if (mainContent) {
mainContent.scrollTop = 0;
}
2016-09-26 04:13:27 +00:00
handleSectionTheme(currentRoute);
Docs.closeSidenav();
2016-08-30 15:41:16 +00:00
});