<template lang="pug">
div
- input#modalContact.modal(type="checkbox" @change="trySetEnterTime($event)")
- div(role="dialog" data-checkbox="modalContact")
+ input#modalContact.modal(
+ type="checkbox"
+ @change="trySetEnterTime($event)"
+ )
+ div#contactDiv(
+ role="dialog"
+ data-checkbox="modalContact"
+ )
.card
label.modal-close(for="modalContact")
- form(@submit.prevent="trySendMessage()" @keyup.enter="trySendMessage()")
- fieldset
- label(for="userEmail") {{ st.tr["Email"] }}
- input#userEmail(type="email")
- fieldset
- label(for="mailSubject") {{ st.tr["Subject"] }}
- input#mailSubject(type="text")
- fieldset
- textarea#mailContent(:placeholder="st.tr['Your message']")
+ fieldset
+ label(for="userEmail") {{ st.tr["Email"] }}
+ input#userEmail(type="email" :value="st.user.email")
+ fieldset
+ label(for="mailSubject") {{ st.tr["Subject"] }}
+ input#mailSubject(type="text")
+ fieldset
+ textarea#mailContent(:placeholder="st.tr['Your message']")
button(@click="trySendMessage()") {{ st.tr["Send"] }}
#dialog.text-center {{ st.tr[infoMsg] }}
</template>
<script>
-import { ajax } from "../utils/ajax";
+import { ajax } from "@/utils/ajax";
import { store } from "@/store";
import { checkNameEmail } from "@/data/userCheck";
+import { processModalClick } from "@/utils/modalClick.js";
export default {
name: "my-contact-form",
data: function() {
infoMsg: ""
};
},
+ mounted: function() {
+ document.getElementById("contactDiv")
+ .addEventListener("click", processModalClick);
+ },
methods: {
trySetEnterTime: function(event) {
if (event.target.checked) {
!confirm(this.st.tr["No subject. Send anyway?"])
)
return;
-
// Message sending:
ajax(
"/messages",
"POST",
{
- email: email.value,
- subject: subject.value,
- content: content.value
- },
- () => {
- this.infoMsg = "Email sent!";
- subject.value = "";
- content.value = "";
+ nocredentials: true,
+ data: {
+ email: email.value,
+ subject: subject.value,
+ content: content.value
+ },
+ success: () => {
+ this.infoMsg = "Email sent!";
+ subject.value = "";
+ content.value = "";
+ }
}
);
}
[type="checkbox"].modal+div .card
max-width: 767px
max-height: 100%
+
textarea#mailContent
width: 100%
min-height: 100px
+
#dialog
padding: 5px
color: blue