forked from projects/fipamo
beta branch should not have source files
This commit is contained in:
parent
a5f2f17670
commit
b4ed326387
2 changed files with 3 additions and 216 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -39,4 +39,6 @@ config/pages.json
|
|||
config/tags.json
|
||||
*.DS_Store
|
||||
config.codekit3
|
||||
/config/backups
|
||||
/config/backups
|
||||
|
||||
/src
|
|
@ -1,215 +0,0 @@
|
|||
import SettingsActions from "../actions/SettingsActions";
|
||||
import FipamoAdminAPI from "../../libraries/FipamoAdminAPI";
|
||||
import * as DataEvent from "../../../src/com/events/DataEvent";
|
||||
import Mailer from "../actions/Mailer";
|
||||
import Notifications from "../ui/Notifications";
|
||||
const notify = new Notifications();
|
||||
export default class SettingsIndex {
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
this.start();
|
||||
this.admin = new FipamoAdminAPI();
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
start() {
|
||||
let self = this;
|
||||
//handle save button
|
||||
document.getElementById("save-toggle").addEventListener("click", () =>
|
||||
new SettingsActions()
|
||||
.getInfo()
|
||||
.then((data) => {
|
||||
notify.alert("Saving Settings", null);
|
||||
self.admin.syncSettings(data).then((r) => {
|
||||
if (r.type == DataEvent.SETTINGS_UPDATED) {
|
||||
notify.alert(r.message, true);
|
||||
} else {
|
||||
notify.alert(r.message, true);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log(err);
|
||||
})
|
||||
);
|
||||
//handle set up image uploads
|
||||
document.getElementById("avatar").addEventListener("click", () => {
|
||||
document.getElementById("avatar-upload").click();
|
||||
});
|
||||
document.getElementById("background").addEventListener("click", () => {
|
||||
document.getElementById("background-upload").click();
|
||||
});
|
||||
document.getElementById("avatar-upload").addEventListener(
|
||||
"change",
|
||||
(e) => {
|
||||
self.handleImageUpload(e.target.id, e.target.files);
|
||||
},
|
||||
false
|
||||
);
|
||||
document.getElementById("background-upload").addEventListener(
|
||||
"change",
|
||||
(e) => {
|
||||
self.handleImageUpload(e.target.id, e.target.files);
|
||||
},
|
||||
false
|
||||
);
|
||||
|
||||
//handle privacy toggle
|
||||
//document
|
||||
//.getElementById('privacy-toggle')
|
||||
//.addEventListener('click', e => this.togglePrivacy(e));
|
||||
document
|
||||
.getElementById("render-toggle")
|
||||
.addEventListener("click", (e) => this.toggleRender(e));
|
||||
document
|
||||
.getElementById("send-mail")
|
||||
.addEventListener("click", (e) => this.handleMailer(e));
|
||||
document
|
||||
.getElementById("publish-pages")
|
||||
.addEventListener("click", (e) => this.handlePublished(e));
|
||||
//handle theme toggle
|
||||
let themeBtns = document.querySelectorAll(".theme-select");
|
||||
for (var i = 0, length = themeBtns.length; i < length; i++) {
|
||||
themeBtns[i].addEventListener("click", (e) => this.handleThemes(e));
|
||||
}
|
||||
//handle mail options
|
||||
let mailBtn = document.querySelectorAll(".mail-option");
|
||||
for (i = 0, length = mailBtn.length; i < length; i++) {
|
||||
mailBtn[i].addEventListener("click", (e) => this.handleMailOptions(e));
|
||||
}
|
||||
//handle backup
|
||||
document
|
||||
.getElementById("create-backup")
|
||||
.addEventListener("click", (e) => this.handleBackup(e));
|
||||
|
||||
document
|
||||
.getElementById("reindex-pages")
|
||||
.addEventListener("click", (e) => this.handleReindex(e));
|
||||
}
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
togglePrivacy(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
if (e.target.getAttribute("data-private") == "false") {
|
||||
e.target.setAttribute("data-private", "true");
|
||||
e.target.innerHTML = "SITE IS PUBLIC";
|
||||
} else {
|
||||
e.target.setAttribute("data-private", "false");
|
||||
e.target.innerHTML = "SITE IS PRIVATE";
|
||||
}
|
||||
}
|
||||
toggleRender(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
if (e.target.getAttribute("data-render") == "false") {
|
||||
e.target.setAttribute("data-render", "true");
|
||||
//e.target.innerHTML = 'RENDER PAGES ON SAVE';
|
||||
} else {
|
||||
e.target.setAttribute("data-render", "false");
|
||||
//e.target.innerHTML = "DON'T RENDER PAGES ON SAVE";
|
||||
}
|
||||
}
|
||||
handleMailer() {
|
||||
//let mailer = new Mailer();
|
||||
//mailer.sendMail();
|
||||
notify.alert("Mail will be active soon. Hang tight", true);
|
||||
}
|
||||
handleThemes(e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
let themes = document.querySelectorAll(".theme-select");
|
||||
for (var i = 0, length = themes.length; i < length; i++) {
|
||||
e.target.id == themes[i].id
|
||||
? themes[i].setAttribute("data-enabled", "true")
|
||||
: themes[i].setAttribute("data-enabled", "false");
|
||||
}
|
||||
}
|
||||
handleMailOptions(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
let smtp = document.getElementById("mail-smtp");
|
||||
let mailgun = document.getElementById("mail-mg");
|
||||
let mail = document.querySelectorAll(".mail-option");
|
||||
for (var i = 0, length = mail.length; i < length; i++) {
|
||||
if (e.target.id == mail[i].id) {
|
||||
mail[i].setAttribute("data-enabled", "true");
|
||||
if (e.target.id == "option-smtp") {
|
||||
smtp.setAttribute("data-enabled", "true");
|
||||
mailgun.setAttribute("data-enabled", "false");
|
||||
} else if (e.target.id == "option-none") {
|
||||
smtp.setAttribute("data-enabled", "false");
|
||||
mailgun.setAttribute("data-enabled", "false");
|
||||
} else {
|
||||
smtp.setAttribute("data-enabled", "false");
|
||||
mailgun.setAttribute("data-enabled", "true");
|
||||
}
|
||||
} else {
|
||||
mail[i].setAttribute("data-enabled", "false");
|
||||
}
|
||||
}
|
||||
}
|
||||
handleImageUpload(type, files) {
|
||||
notify.alert("Uploading Image... ", null);
|
||||
this.admin
|
||||
.imageUpload(type, files)
|
||||
.then((r) => {
|
||||
if (r.type == DataEvent.AVATAR_UPLOADED) {
|
||||
notify.alert(r.message, true);
|
||||
document.getElementById("avatar").src = r.url;
|
||||
} else {
|
||||
notify.alert(r.message, true);
|
||||
document.getElementById("background").src = r.url;
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
//console.log(err)
|
||||
});
|
||||
}
|
||||
handlePublished(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
let task = { task: "publish all pages" };
|
||||
notify.alert("Publishing site...", null);
|
||||
this.admin
|
||||
.publishSite(task)
|
||||
.then((r) => {
|
||||
notify.alert(r.message, true);
|
||||
})
|
||||
.catch((err) => {
|
||||
notify.alert(err, false);
|
||||
});
|
||||
}
|
||||
handleBackup(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
notify.alert("Creating backup", null);
|
||||
this.admin
|
||||
.handleBackup(e.target.id, e.target.files)
|
||||
.then((r) => {
|
||||
notify.alert(r.message, true);
|
||||
})
|
||||
.catch((err) => {
|
||||
notify.alert(err, false);
|
||||
});
|
||||
}
|
||||
|
||||
handleReindex(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
let task = { task: "cleanup pages indexes" };
|
||||
notify.alert("Cleaning up page indexes", null);
|
||||
this.admin
|
||||
.handleReindex(task)
|
||||
.then((r) => {
|
||||
notify.alert(r.message, true);
|
||||
})
|
||||
.catch((err) => {
|
||||
notify.alert(err, false);
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue