Compare commits
3 Commits
5aaac71f6b
...
5714519a2e
Author | SHA1 | Date | |
---|---|---|---|
5714519a2e | |||
c52605f703 | |||
bdef2a8db9 |
@ -1,9 +1,7 @@
|
|||||||
(function () {
|
function jeanCloudContactMailerMessage (messageContainer, theme, level, text) {
|
||||||
|
|
||||||
function message (messageContainer, level, text) {
|
|
||||||
/* This function displays a message on top of the form */
|
/* This function displays a message on top of the form */
|
||||||
const messageElement = document.createElement('p')
|
const messageElement = document.createElement('p')
|
||||||
const messageId = 'contact-mailer-message-' + level
|
const messageId = 'contact-mailer-' + theme + '-message-' + level
|
||||||
messageContainer.appendChild(messageElement)
|
messageContainer.appendChild(messageElement)
|
||||||
messageElement.textContent = text
|
messageElement.textContent = text
|
||||||
messageElement.classList.add('contact-mailer-message')
|
messageElement.classList.add('contact-mailer-message')
|
||||||
@ -26,7 +24,7 @@ function message (messageContainer, level, text) {
|
|||||||
}, 10000)
|
}, 10000)
|
||||||
}
|
}
|
||||||
|
|
||||||
function interceptForm (formId) {
|
function jeanCloudContactFormIntercept (formId, theme) {
|
||||||
/*
|
/*
|
||||||
* This function intercepts a form submission and send it via XHR.
|
* This function intercepts a form submission and send it via XHR.
|
||||||
* Param formId is the HTML id of the form
|
* Param formId is the HTML id of the form
|
||||||
@ -58,31 +56,30 @@ function interceptForm (formId) {
|
|||||||
.then(data => {
|
.then(data => {
|
||||||
loadingText.parentNode.removeChild(loadingText)
|
loadingText.parentNode.removeChild(loadingText)
|
||||||
if (!data.ok || data.status == 500) {
|
if (!data.ok || data.status == 500) {
|
||||||
message(messageBox, 'error', 'Erreur du service d’envoi. Réessayez plus tard ou contactez https://jean-cloud.net')
|
jeanCloudContactMailerMessage (messageBox, theme, 'error', 'Erreur du service d’envoi. Réessayez plus tard ou contactez https://jean-cloud.net')
|
||||||
} else if (data.ok || data.status == 200) {
|
} else if (data.ok || data.status == 200) {
|
||||||
message(messageBox, 'success', 'Le message a bien été envoyé !')
|
jeanCloudContactMailerMessage (messageBox, theme, 'success', 'Le message a bien été envoyé !')
|
||||||
formElem.reset()
|
formElem.reset()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
loadingText.parentNode.removeChild(loadingText)
|
loadingText.parentNode.removeChild(loadingText)
|
||||||
message(messageBox, 'error', 'Impossible d’envoyer le formulaire. Vérifiez votre connexion internet ou réessayez plus tard.')
|
jeanCloudContactMailerMessage (messageBox, theme, 'error', 'Impossible d’envoyer le formulaire. Vérifiez votre connexion internet ou réessayez plus tard.')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the current js file location */
|
(function () {
|
||||||
const path = (document.currentScript.src[-1] == '/' ? document.currentScript.src : document.currentScript.src.replace(/\/[^\/]*$/, ''))
|
/* Get the current js file location */
|
||||||
|
const path = (document.currentScript.src[-1] == '/' ? document.currentScript.src : document.currentScript.src.replace(/\/[^\/]*$/, ''))
|
||||||
/* Adding a css file */
|
|
||||||
var link = document.createElement("link");
|
|
||||||
link.type = "text/css";
|
|
||||||
link.rel = "stylesheet";
|
|
||||||
link.crossOrigin = 'anonymous';
|
|
||||||
link.href = path + "/style.css";
|
|
||||||
link.integrity = 'sha384-9kSXtY4xhTP1f97JTT2J8tEHj1thIUfd9Ub7yOFsGLBQ/impvue07/UN1MhyCcyP'
|
|
||||||
document.head.appendChild(link);
|
|
||||||
|
|
||||||
interceptForm ('contact-mailer-form')
|
|
||||||
|
|
||||||
|
/* Adding a css file */
|
||||||
|
var link = document.createElement("link");
|
||||||
|
link.type = "text/css";
|
||||||
|
link.rel = "stylesheet";
|
||||||
|
link.crossOrigin = 'anonymous';
|
||||||
|
link.href = path + "/style.css";
|
||||||
|
link.integrity = 'sha384-8PWvFCRowSxssUyiGirvpq/Nh6TTzYrsbAmpC0cw/OUKkZibNdI5L1gFiHxfrTZT'
|
||||||
|
// cat style.css | openssl dgst -sha384 -binary | openssl base64 -A
|
||||||
|
document.head.appendChild(link);
|
||||||
})()
|
})()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jean-cloud-contact-mailer-client",
|
"name": "jean-cloud-contact-mailer-client",
|
||||||
"version": "1.0.8",
|
"version": "1.0.15",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -9,13 +9,13 @@
|
|||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contact-mailer-message-error {
|
.contact-mailer-plain-message-error {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: #ef4757;
|
background-color: #ef4757;
|
||||||
border-color: #ef4757;
|
border-color: #ef4757;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contact-mailer-message-success {
|
.contact-mailer-plain-message-success {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: #00B06A;
|
background-color: #00B06A;
|
||||||
border-color: #00B06A;
|
border-color: #00B06A;
|
||||||
|
@ -75,6 +75,10 @@ You can store them in a `.env` file. The python app will read it or you can pass
|
|||||||
- `ADMIN_PASSWORD` password used to manage users
|
- `ADMIN_PASSWORD` password used to manage users
|
||||||
- `UID` used to set the uwsg socket ownership in production
|
- `UID` used to set the uwsg socket ownership in production
|
||||||
|
|
||||||
|
## Client
|
||||||
|
|
||||||
|
plain or light theme.
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
### Near future
|
### Near future
|
||||||
- go on docker hub
|
- go on docker hub
|
||||||
|
@ -27,5 +27,6 @@
|
|||||||
<input type="submit" />
|
<input type="submit" />
|
||||||
</form>
|
</form>
|
||||||
<script src="./client/index.js"></script>
|
<script src="./client/index.js"></script>
|
||||||
|
<script> jeanCloudContactFormIntercept ('contact-mailer-form', 'light') </script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
Reference in New Issue
Block a user