osmos
Version:
OSMOS - Symbiosys
55 lines (48 loc) • 1.45 kB
JavaScript
import {bindable, inject} from 'aurelia-framework';
import { IdentityManager } from 'osmos/osmos-js/identityManager';
import { Redirect, Router } from 'aurelia-router';
export class OsUserbadgeCustomElement {
firstName;
lastName;
link;
constructor(identityManager, router){
this.router = router;
this._identityManager = identityManager;
this.initials = '';
this.link = false;
}
attached() {
if(this.lastName && this.firstName) {
this.initials = this.firstName[0] + this.lastName[0];
}
document.addEventListener('click', (e) => {
if(this.activeBadge) {
this.activeBadge = false;
return;
}
let badge = document.querySelector('os-userbadge');
let el = e.srcElement || e.target;
if(el != badge) {
let userbadge = document.querySelector('os-userbadge .os-userbadge');
if(userbadge.classList.contains('visible')) {
userbadge.classList.remove('visible');
}
}
});
}
showUserbadgeNav() {
let badge = document.querySelector('os-userbadge .os-userbadge');
if(badge.classList.contains('visible')) {
badge.classList.remove('visible');
} else {
this.activeBadge = true;
badge.classList.add('visible');
}
}
logout() {
this._identityManager.logout();
this.userInfo = null;
this.router.navigate('login');
}
}