fix function names and remove flashMsg code duplication
This commit is contained in:
parent
ee1da0599c
commit
b59eb22082
|
@ -1,6 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* behavioural layer for the `change_password.html.tera` template,
|
|
||||||
*/
|
behavioural layer for the `change_password.html.tera` template
|
||||||
|
|
||||||
|
- intercept button click for save (form submission of passwords)
|
||||||
|
- perform json api call
|
||||||
|
- update the dom
|
||||||
|
|
||||||
|
methods:
|
||||||
|
|
||||||
|
PEACH_AUTH.changePassword();
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
var PEACH_AUTH = {};
|
var PEACH_AUTH = {};
|
||||||
|
|
||||||
|
@ -43,5 +53,5 @@ PEACH_AUTH.changePassword = function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var passInstance = PEACH_AUTH;
|
var changePassInstance = PEACH_AUTH;
|
||||||
passInstance.changePassword();
|
changePassInstance.changePassword();
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
behavioural layer for the `configure_dns.html.tera` template,
|
behavioural layer for the `configure_dns.html.tera` template,
|
||||||
corresponding to the web route `/network/dns`
|
corresponding to the web route `/settings/network/dns`
|
||||||
|
|
||||||
- intercept button click for add (form submission of credentials)
|
- intercept button click for save (form submission of dns settings)
|
||||||
- perform json api call
|
- perform json api call
|
||||||
- update the dom
|
- update the dom
|
||||||
|
|
||||||
|
@ -12,14 +12,14 @@ corresponding to the web route `/network/dns`
|
||||||
var PEACH_DNS = {};
|
var PEACH_DNS = {};
|
||||||
|
|
||||||
// catch click of 'Add' button and make POST request
|
// catch click of 'Add' button and make POST request
|
||||||
PEACH_DNS.add = function() {
|
PEACH_DNS.configureDns = function() {
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
document.body.addEventListener('submit', function(e) {
|
document.body.addEventListener('submit', function(e) {
|
||||||
// prevent redirect on button press (default behavior)
|
// prevent redirect on button press (default behavior)
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
// capture form data
|
// capture form data
|
||||||
var formElement = document.querySelector("form");
|
var formElement = document.querySelector("form");
|
||||||
// create form data object from the wifiCreds form element
|
// create form data object from the configureDNS form element
|
||||||
var formData = new FormData(formElement);
|
var formData = new FormData(formElement);
|
||||||
var object = {};
|
var object = {};
|
||||||
// set checkbox to false (the value is only passed to formData if it is "on")
|
// set checkbox to false (the value is only passed to formData if it is "on")
|
||||||
|
@ -36,7 +36,7 @@ PEACH_DNS.add = function() {
|
||||||
console.log(object);
|
console.log(object);
|
||||||
var jsonData = JSON.stringify(object);
|
var jsonData = JSON.stringify(object);
|
||||||
// write in-progress status message to ui
|
// write in-progress status message to ui
|
||||||
PEACH_DNS.flashMsg("info", "Saving new DNS configurations");
|
PEACH.flashMsg("info", "Saving new DNS configurations");
|
||||||
// send add_wifi POST request
|
// send add_wifi POST request
|
||||||
fetch("/api/v1/network/dns/configure", {
|
fetch("/api/v1/network/dns/configure", {
|
||||||
method: "post",
|
method: "post",
|
||||||
|
@ -50,49 +50,14 @@ PEACH_DNS.add = function() {
|
||||||
})
|
})
|
||||||
.then( (jsonData) => {
|
.then( (jsonData) => {
|
||||||
// write json response message to ui
|
// write json response message to ui
|
||||||
PEACH_DNS.flashMsg(jsonData.status, jsonData.msg);
|
PEACH.flashMsg(jsonData.status, jsonData.msg);
|
||||||
let statusIndicator = document.getElementById("dyndns-status-indicator");
|
let statusIndicator = document.getElementById("dyndns-status-indicator");
|
||||||
statusIndicator.remove();
|
// only remove the "dyndns-status-indicator" element if it exists
|
||||||
|
if (statusIndicator != null ) statusIndicator.remove();
|
||||||
})
|
})
|
||||||
}, false);
|
}, false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// display a message by appending a paragraph element
|
var configureDnsInstance = PEACH_DNS;
|
||||||
PEACH_DNS.flashMsg = function(status, msg) {
|
configureDnsInstance.configureDns();
|
||||||
// set the class of the element according to status
|
|
||||||
var elementClass;
|
|
||||||
if (status === "success") {
|
|
||||||
elementClass = "capsule center-text flash-message font-success";
|
|
||||||
} else if (status === "info") {
|
|
||||||
elementClass = "capsule center-text flash-message font-info";
|
|
||||||
} else {
|
|
||||||
elementClass = "capsule center-text flash-message font-failure";
|
|
||||||
};
|
|
||||||
|
|
||||||
var flashElement = document.getElementById("flashMsg");
|
|
||||||
// if flashElement exists, update the class & text
|
|
||||||
if (flashElement) {
|
|
||||||
flashElement.className = elementClass;
|
|
||||||
flashElement.innerText = msg;
|
|
||||||
// if flashElement does not exist, create it, set id, class, text & append
|
|
||||||
} else {
|
|
||||||
// create new div for flash message
|
|
||||||
var flashDiv = document.createElement("DIV");
|
|
||||||
// set div attributes
|
|
||||||
flashDiv.id = "flashMsg";
|
|
||||||
flashDiv.className = elementClass;
|
|
||||||
// add json response message to flash message div
|
|
||||||
var flashMsg = document.createTextNode(msg);
|
|
||||||
flashDiv.appendChild(flashMsg);
|
|
||||||
// insert the flash message div below the button div
|
|
||||||
var buttonDiv = document.getElementById("buttonDiv");
|
|
||||||
// flashDiv will be added to the end since buttonDiv is the last
|
|
||||||
// child within the parent element (card-container div)
|
|
||||||
buttonDiv.parentNode.insertBefore(flashDiv, buttonDiv.nextSibling);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var addInstance = PEACH_DNS;
|
|
||||||
addInstance.add();
|
|
||||||
|
|
|
@ -2,15 +2,17 @@
|
||||||
* behavioural layer for the `reset_password.html.tera` template,
|
* behavioural layer for the `reset_password.html.tera` template,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
var PEACH_AUTH = {};
|
||||||
|
|
||||||
// catch click of 'Save' button and make POST request
|
// catch click of 'Save' button and make POST request
|
||||||
PEACH.add = function() {
|
PEACH_AUTH.resetPassword = function() {
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
document.body.addEventListener('submit', function(e) {
|
document.body.addEventListener('submit', function(e) {
|
||||||
// prevent redirect on button press (default behavior)
|
// prevent redirect on button press (default behavior)
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
// capture form data
|
// capture form data
|
||||||
var formElement = document.querySelector("form");
|
var formElement = document.querySelector("form");
|
||||||
// create form data object from the wifiCreds form element
|
// create form data object from the changePassword form element
|
||||||
var formData = new FormData(formElement);
|
var formData = new FormData(formElement);
|
||||||
var object = {};
|
var object = {};
|
||||||
// assign values from form
|
// assign values from form
|
||||||
|
@ -41,5 +43,5 @@ PEACH.add = function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var addInstance = PEACH;
|
var resetPassInstance = PEACH_AUTH;
|
||||||
addInstance.add();
|
resetPassInstance.resetPassword();
|
||||||
|
|
Loading…
Reference in New Issue