135 lines
3.8 KiB
JavaScript
135 lines
3.8 KiB
JavaScript
import FipamoApi from "../libraries/FipamoAPI";
|
|
import FipamoAdminAPI from "../libraries/FipamoAdminAPI";
|
|
import DataUitls from "./utils/DataUtils";
|
|
import * as DataEvent from "./events/DataEvent";
|
|
import DashManager from "./controllers/DashManager";
|
|
import Notfications from "./ui/Notifications";
|
|
const data = new DataUitls();
|
|
const notify = new Notfications();
|
|
|
|
export default class Base {
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor() {
|
|
this.start();
|
|
}
|
|
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
start() {
|
|
if (
|
|
document.getElementById("dash-form") ||
|
|
document.getElementById("dash-init")
|
|
) {
|
|
var options = document.getElementsByClassName("init-option");
|
|
for (let index = 0; index < options.length; index++) {
|
|
options[index].addEventListener("click", (e) => this.handleOptions(e));
|
|
}
|
|
if (document.getElementById("dash-form")) {
|
|
document
|
|
.getElementById("login-btn")
|
|
.addEventListener("click", (e) => this.handleLogin(e));
|
|
} else {
|
|
document
|
|
.getElementById("init-blog")
|
|
.addEventListener("click", (e) => this.handleSetup(e));
|
|
document
|
|
.getElementById("blog-restore")
|
|
.addEventListener("click", (e) => this.handleRestore(e));
|
|
}
|
|
} else {
|
|
new DashManager();
|
|
}
|
|
}
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
handleLogin(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
let authForm = data.formDataToJSON(document.getElementById("login"));
|
|
notify.alert("Looking, hold up", null);
|
|
let api = new FipamoApi();
|
|
api
|
|
.login(authForm)
|
|
.then((response) => {
|
|
if (response.type === DataEvent.REQUEST_LAME) {
|
|
notify.alert(response.message, false);
|
|
} else {
|
|
notify.alert(response.message, true);
|
|
e.target.innerHTML = response.message;
|
|
setTimeout(() => {
|
|
window.location = "/dashboard";
|
|
}, 500);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
notify.alert(err, false);
|
|
});
|
|
}
|
|
|
|
handleSetup(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
let setUpForm = data.formDataToJSON(document.getElementById("init-form"));
|
|
let api = new FipamoApi();
|
|
api
|
|
.init(setUpForm)
|
|
.then((response) => {
|
|
if (response.type === DataEvent.API_INIT_LAME) {
|
|
notify.alert(response.message, false);
|
|
} else {
|
|
notify.alert(response.message, true);
|
|
setTimeout(() => {
|
|
window.location = "/dashboard";
|
|
}, 700);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
notify.alert(err, false);
|
|
});
|
|
}
|
|
|
|
handleRestore(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
let admin = new FipamoAdminAPI();
|
|
var form = document.getElementById("init-restore");
|
|
admin
|
|
.handleInitRestore(form)
|
|
.then((response) => {
|
|
if (response.type === DataEvent.REQUEST_LAME) {
|
|
notify.alert(response.message, false);
|
|
} else {
|
|
notify.alert(response.message, true);
|
|
setTimeout(() => {
|
|
//window.location = '/@/dashboard';
|
|
}, 700);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
notify.alert(err, false);
|
|
});
|
|
}
|
|
handleOptions(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
let init = document.getElementById("dash-init");
|
|
let restore = document.getElementById("dash-restore");
|
|
if (e.target.id === "init-switch-restore") {
|
|
init.style.display = "none";
|
|
init.style.visibility = "hidden";
|
|
|
|
restore.style.display = "block";
|
|
restore.style.visibility = "visible";
|
|
} else {
|
|
init.style.display = "block";
|
|
init.style.visibility = "visible";
|
|
|
|
restore.style.display = "none";
|
|
restore.style.visibility = "hidden";
|
|
}
|
|
}
|
|
}
|