import DataUtils, { REQUEST_TYPE_POST, CONTENT_TYPE_JSON } from '../../brain/utils/tools/DataUtils'; import * as DataEvent from '../../brain/utils/events/DataEvent'; import DashManager from './controllers/DashManager'; //import DBUtils from '../../../../../brain/utils/tools/DBUtils'; const dataUtils = new DataUtils(); 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 dm = new DashManager(); } } //-------------------------- // event handlers //-------------------------- handleLogin(e) { e.stopPropagation(); e.preventDefault(); let authForm = dataUtils.formDataToJSON(document.getElementById('login')); dataUtils .request( '/api/v1/auth/login', DataEvent.AUTH_STATUS, REQUEST_TYPE_POST, CONTENT_TYPE_JSON, authForm ) .then(r => { let response = JSON.parse(r.request['response']); if (response.type === DataEvent.REQUEST_LAME) { e.target.innerHTML = response.message; setTimeout(() => { e.target.innerHTML = 'TRY IT AGAIN, HOMIE'; }, 1500); //console.log('NOPE', response.message); //self.dashManager = new DashManager(); } else { e.target.innerHTML = response.message; setTimeout(() => { window.location = '/@/dashboard'; }, 500); } }) .catch(err => { //console.log(err); }); } }