navigation de menu basique + gestion de l'item login/logout en fonction de la connexion actuelle
This commit is contained in:
parent
90640825d4
commit
c51f90b70e
|
@ -3,39 +3,46 @@ import {GlobalStore} from '../lib/gstore'
|
||||||
window.gstore = new GlobalStore();
|
window.gstore = new GlobalStore();
|
||||||
|
|
||||||
|
|
||||||
/* (1) Main components
|
/* (1) Global data
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
/* (1) Get Full URI */
|
||||||
|
gstore.add('URI', document.URL.replace(/^(?:\/\/|[^\/]+)*/, '').split('/').filter(function(i){ return i.length; }));
|
||||||
|
|
||||||
|
/* (2) Get if local version or prod */
|
||||||
|
gstore.add('is_local', document.URL.replace(/^https?:\/\/([^\/:]+).*$/, '$1') == 'ptut.com');
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Main components
|
||||||
---------------------------------------------------------*/
|
---------------------------------------------------------*/
|
||||||
/* (1) Header */
|
/* (1) Header */
|
||||||
gstore.add('header_title', 'ndli1718');
|
gstore.add('header_title', 'ndli1718');
|
||||||
|
|
||||||
/* (2) Menu */
|
/* (2) Menu */
|
||||||
gstore.add('menu_item', {
|
gstore.add('menu_item', {
|
||||||
dashboard: {
|
home: {
|
||||||
label: 'Accueil',
|
label: 'Accueil',
|
||||||
theme: 'dashboard'
|
url: 'home',
|
||||||
}, emergency: {
|
icon: 'home'
|
||||||
label: 'Urgences',
|
}, manage: {
|
||||||
theme: 'emergency'
|
label: 'Administration',
|
||||||
}, event: {
|
url: 'manage',
|
||||||
label: 'Signalements',
|
icon: 'manage'
|
||||||
theme: 'event'
|
}, fiche: {
|
||||||
}, inbox: {
|
label: 'Fiches',
|
||||||
label: 'Messagerie',
|
url: 'fiche',
|
||||||
theme: 'inbox'
|
icon: 'fiche'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
gstore.add('URI', document.URL.replace(/^(?:\/\/|[^\/]+)*/, ''));
|
/* (3) Gestion du login/logout */
|
||||||
gstore.add('is_local', document.URL.replace(/^https?:\/\/([^\/:]+).*$/, '$1') == 'ptut.com');
|
if( _SERVER.connected ) gstore.get.menu_item.login = { label: 'Connexion', url: 'login', icon: 'login' };
|
||||||
gstore.add('min_menu', false);
|
else gstore.get.menu_item.logout = { label: 'Déconnexion', url: 'logout', icon: 'logout' };
|
||||||
|
|
||||||
// // Proccess current page from url
|
|
||||||
// if( /^\/(\w+)(?:\/?.*)$/.test(gstore.data.URI) ){
|
|
||||||
// var mi_keys = Object.keys( gstore.data.menu_item );
|
|
||||||
|
|
||||||
// // if current page exists
|
|
||||||
// if( !!~mi_keys.indexOf(RegExp.$1) ) gstore.add('menu_item_active', RegExp.$1);
|
|
||||||
// else gstore.add('menu_item_active', 'dashboard');
|
|
||||||
|
|
||||||
// }else
|
|
||||||
// gstore.add('menu_item_active', 'dashboard');
|
/* (4) Set current page active in menu */
|
||||||
|
if( gstore.get.URI.length > 0 && gstore.get.menu_item.hasOwnProperty(gstore.get.URI[0]) )
|
||||||
|
gstore.add('menu_item_active', gstore.get.menu_item[gstore.get.URI[0]].url);
|
||||||
|
else
|
||||||
|
gstore.add('menu_item_active', 'home');
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
<div id='MENU'>
|
<div id='MENU'>
|
||||||
|
|
||||||
<div v-for='(item, index) in gstore.menu_item' class='menu-item-wrapper'>
|
<div v-for='(item, index) in gstore.menu_item' class='side-menu'>
|
||||||
|
|
||||||
<div :class="(index == gstore.menu_item_active) ? 'menu-item active' : 'menu-item'" @click='navigate(index)' :data-theme='item.theme'>
|
<div :class="(index == gstore.menu_item_active) ? 'side-menu-item active' : 'side-menu-item'" @click='navigate(index)' :data-icon='item.icon'>
|
||||||
<span>{{ item.label }}</span>
|
<span>{{ item.label }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ export default {
|
||||||
data(){ return { gstore: gstore.get }; },
|
data(){ return { gstore: gstore.get }; },
|
||||||
methods: {
|
methods: {
|
||||||
navigate(uri){
|
navigate(uri){
|
||||||
console.log("Navigate to "+uri);
|
document.location = '/'+uri+'/';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue