You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fipamo/src/com/Base.js

55 lines
1.3 KiB
JavaScript

import DataUtils from './utils/DataUtils';
import Manager from './controllers/DashManager';
import request from 'request-promise';
import * as DataEvent from '../com/events/DataEvent';
//import DBUtils from '../../../../../brain/utils/tools/DBUtils';
const utils = new DataUtils();
const settings = require('../../site/settings.json');
export default class Base {
//--------------------------
// constructor
//--------------------------
constructor() {
this.start();
}
//--------------------------
// methods
//--------------------------
start() {
if (document.getElementById('dash-form')) {
document
.getElementById('login-btn')
.addEventListener('click', e => this.handleLogin(e));
} else {
let manager = new Manager();
}
}
//--------------------------
// event handlers
//--------------------------
handleLogin(e) {
e.stopPropagation();
e.preventDefault();
let authForm = utils.formDataToJSON(document.getElementById('login'));
request({
method: 'POST',
uri: settings.base_url + '/api/v1/auth/login',
body: authForm,
json: true
})
.then(res => {
if (res.type === DataEvent.REQUEST_LAME) {
e.target.innerHTML = res.message;
} else {
window.location = '/@/dashboard';
}
})
.catch(err => {
//console.log('ERROR', err);
});
}
}