From cd73305d8d07bccb5dd215ec57e07e9a13d98b69 Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Thu, 2 May 2019 16:58:56 +0200 Subject: [PATCH] updated config file environment --- cfg_freeplanet.app/index.ts | 294 ++++++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) create mode 100644 cfg_freeplanet.app/index.ts diff --git a/cfg_freeplanet.app/index.ts b/cfg_freeplanet.app/index.ts new file mode 100644 index 0000000..4ffa7f7 --- /dev/null +++ b/cfg_freeplanet.app/index.ts @@ -0,0 +1,294 @@ +import { RouteNames } from '@src/router/route-names' +import { GlobalStore, Projects, Todos, UserStore } from '@src/store/Modules' +import { IListRoutes, IMenuList } from '@src/model' +import { tools } from '@src/store/Modules/tools' + +export const cfgrouter = { + + routes: [ + { + path: '/', + name: RouteNames.home, + component: () => import('@/root/home/home.vue') + }, + { + path: '/signup', + name: 'Registration', + component: () => import('@/views/login/signup/signup.vue') + }, + { + path: '/signin', + name: RouteNames.login, + component: () => import('@/views/login/signin/signin.vue') + }, + { + path: '/vreg', + name: 'Verify Reg', + component: () => import('@/views/login/vreg/vreg.vue') + }, + { + path: '/todo/:category', + name: 'Todos', + component: () => import('@/views/todo-list/todo-list.vue'), + meta: { + requiresAuth: true, + async asyncData() { + await Todos.actions.dbLoad({ checkPending: false }) + } + // middleware: [auth] + } + }, + { + path: '/category', + name: 'category', + component: () => import('@/views/categories/category/category.vue') + }, + { + path: '/admin/cfgserv', + name: 'cfgserv', + component: () => import('@/views/admin/cfgServer/cfgServer.vue'), + meta: { + requiresAuth: true + // middleware: [auth] + } + }, + { + path: '/admin/testp1/:category', + name: 'Categories', + component: () => import('@/views/admin/testp1/testp1.vue') + }, + { + path: '/offline', + name: 'Offline', + component: () => import('@/views/offline/offline.vue') + }, + // { + // path: '/malaga', + // name: 'malaga', + // component: () => import('@/root/malaga/malaga.vue') + // }, + { + path: '/' + RouteNames.projectsall + '/:idProj', + name: RouteNames.projectsall, + component: () => import('@/views/projects/proj-list/proj-list.vue'), + meta: { + requiresAuth: false, + async asyncData() { + await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true }) + } + // middleware: [auth] + } + }, + { + path: '/' + RouteNames.myprojects + '/:idProj', + name: RouteNames.myprojects, + component: () => import('@/views/projects/proj-list/proj-list.vue'), + meta: { + requiresAuth: true, + async asyncData() { + await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true }) + } + // middleware: [auth] + } + }, + { + path: '/' + RouteNames.projectsshared + '/:idProj', + name: RouteNames.projectsshared, + component: () => import('@/views/projects/proj-list/proj-list.vue'), + meta: { + requiresAuth: true, + async asyncData() { + await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true }) + } + // middleware: [auth] + } + }, + { + path: '/' + RouteNames.listprojects, + name: RouteNames.listprojects, + component: () => import('@/views/projects/proj-list/proj-list.vue'), + meta: { + requiresAuth: true, + async asyncData() { + await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true }) + } + // middleware: [auth] + } + }, + { + path: '/' + RouteNames.favouriteprojects, + name: RouteNames.favouriteprojects, + component: () => import('@/views/projects/proj-list/proj-list.vue'), + meta: { + requiresAuth: true, + async asyncData() { + await Projects.actions.dbLoad({ checkPending: false, onlyiffirsttime: true }) + } + // middleware: [auth] + } + } + /* + + { + path: '/requestresetpwd', + component: () => import('@/views/login/requestresetpwd.vue'), + meta: { nametranslate: 'Reset your Password' } + }, + { + path: '/updatepwd', + component: () => import('@/views/login/updatepassword.vue'), + meta: { nametranslate: 'Update your Password' } + } + + { + path: '/simpleform', + component: () => import('@/views/form/simpleForm/simpleForm.vue'), + meta: { nametranslate: 'SimpleForm' } + }, + { + path: '/embeeded', + component: () => import('@/views/form/embeeded/embeeded.vue'), + meta: { nametranslate: 'Embeeded' } + }*/ + ], + + getmenu() { + const arrlista = GlobalStore.state.listatodo + const lista: IListRoutes[] = [] + + arrlista.forEach((elem: IMenuList) => { + const item: IListRoutes = { + faIcon: 'fa fa-list-alt', + materialIcon: 'todo', + name: 'pages.' + elem.description, + route: '/todo/' + elem.nametranslate + } + lista.push(item) + }) + + const SHOW_PROJINTHEMENU = false + + let arrlistafavourite = [] + let arrlistaprojtutti = [] + let arrlistaprojmiei = [] + if (SHOW_PROJINTHEMENU) { + arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall) + arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects) + arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects) + } + + const arrMenu: IMenuList[] = [] + + // PROGETTI -> FAVORITI : + if (arrlistafavourite.length > 0) { + arrMenu.push({ + icon: 'favorite_border', + nametranslate: 'pages.' + RouteNames.favouriteprojects, + urlroute: RouteNames.favouriteprojects, + level_parent: 0.0, + level_child: 0.5, + routes2: arrlistafavourite, + idelem: '' + }) + } + + // PROGETTI -> TUTTI : + arrMenu.push({ + icon: 'accessibility_new', + nametranslate: 'pages.' + RouteNames.projectsall, + urlroute: RouteNames.projectsall, + level_parent: 0.0, + level_child: 0.5, + routes2: [], + idelem: process.env.PROJECT_ID_MAIN + }) + + // PROGETTI -> CONDIVISI : + arrMenu.push({ + icon: 'people_outline', + nametranslate: 'pages.' + RouteNames.projectsshared, + urlroute: RouteNames.projectsshared, + level_parent: 0.0, + level_child: 0.5, + routes2: arrlistaprojtutti, + idelem: process.env.PROJECT_ID_MAIN + }) + + // PROGETTI -> PERSONALI : + arrMenu.push({ + icon: 'person', + nametranslate: 'pages.' + RouteNames.myprojects, + urlroute: RouteNames.myprojects, + level_parent: 0.0, + level_child: 0.5, + routes2: arrlistaprojmiei, + idelem: process.env.PROJECT_ID_MAIN + }) + + const listaprojectMenu: IListRoutes[] = tools.convertMenuListInListRoutes(arrMenu) + + const arrroutes: IListRoutes[] = [] + + tools.addRoute(arrroutes, { route: '/', faIcon: 'fa fa-home', materialIcon: 'home', name: 'pages.home' }) // HOME + + tools.addRoute(arrroutes, { + route: '/todo', faIcon: 'fa fa-list-alt', materialIcon: 'format_list_numbered', name: 'pages.Todo', + routes2: lista, + level_parent: 0.5, + level_child: 0.5 + }) + + const myarrproj = [] + for (const myitem of listaprojectMenu) { + tools.addRoute(myarrproj, myitem) + } + + tools.addRoute(arrroutes, { + route: '', faIcon: 'fa fa-list-alt', materialIcon: 'next_week', name: 'pages.projects', + routes2: myarrproj, + level_parent: 0.0, + level_child: 0.5 + }) + + console.log('arrroutes', arrroutes) + console.log('listaprojectMenu', listaprojectMenu) + // console.log('arrlistaprojmiei', arrlistaprojmiei) + + if (UserStore.state.isAdmin) { + tools.addRoute(arrroutes, { + route: '/category', + faIcon: 'fa fa-list-alt', + materialIcon: 'category', + name: 'pages.Category', + level_parent: 0.0, + level_child: 0.0 + }) + tools.addRoute(arrroutes, { + route: '/admin/cfgserv', + faIcon: 'fa fa-database', + materialIcon: 'event_seat', + name: 'pages.Admin', + level_parent: 0.0, + level_child: 0.0 + }) + tools.addRoute(arrroutes, { + route: '/admin/testp1/par1', + faIcon: 'fa fa-database', + materialIcon: 'restore', + name: 'pages.Test1', + level_parent: 0.0, + level_child: 0.0 + }) + tools.addRoute(arrroutes, { + route: '/admin/testp1/par2', + faIcon: 'fa fa-database', + materialIcon: 'restore', + name: 'pages.Test2', + level_parent: 0.0, + level_child: 0.0 + }) + } + + return arrroutes + } +}