lemo-crm/web/app/components/top-navbar.js
2022-06-23 17:29:32 +08:00

33 lines
1.0 KiB
JavaScript

import BaseComponent from './basic-component';
import { alias } from '@ember/object/computed';
import { inject as service } from '@ember/service';
export default BaseComponent.extend({
// elementId: 'navbar',
classNames: ['navbar', 'navbar-default', 'navbar-collapse'],
user: alias('ajax.user'),
websocket: service(),
didReceiveAttrs() {
const me = this;
const user = me.get('user');
if (!user) {
console.info('No user found in session storage, try to load from server.');
me.ajax.doGet(false, 'auth/info', (u) => {
me.set('user', u);
me.get('websocket').connect();
});
}
},
actions: {
logout() {
let me = this;
me.ajax.doPost(false, 'auth/logout', () => {
me.get('websocket').disconnect();
me.set('user', null);
me.get('message').alert('Sign out successfully');
me.get('router').transitionTo('login');
});
}
}
});