import { Component } from '../../lib/vues6/vues6.js' import { event_bus } from '../service/EventBus.service.js' import { session } from '../service/Session.service.js' import { action_service } from '../service/Action.service.js' const template = ` ` export default class NavBarComponent extends Component { static get selector() { return 'coreid-navbar' } static get template() { return template } static get props() { return [] } constructor() { super() this.can = {} this.toggle_event = event_bus.event('sidebar.toggle') this.first_name = session.get('user.first_name') this.last_name = session.get('user.last_name') this.app_name = session.get('app.name') } async vue_on_create() { this.can.api_tokens = await session.check_permissions('v1:reflect:tokens:list') this.can.messages = await session.check_permissions('v1:message:banners:create') this.$forceUpdate() } toggle_sidebar() { this.toggle_event.fire() } navigate(page) { action_service.perform({ action: 'navigate', page, }) } cobalt(resource, action, id = undefined) { action_service.perform({ type: 'resource', resource, action, id, }) } }