fix: attachment and gitignore
This commit is contained in:
parent
ca9d3b2d98
commit
d8070b6260
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.DS_Store
|
||||
.history/
|
@ -82,10 +82,10 @@
|
||||
<div class="form-control rounded-0" id="messageTextArea"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="bold">Ajouter une piève jointe</label>
|
||||
<label class="bold" id="labelAttachment"></label>
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="attachmentPlane" aria-describedby="inputGroupFileAddon01">
|
||||
<label class="custom-file-label" for="attachmentPlane"></label>
|
||||
<label class="custom-file-label" for="attachmentPlane" id="attachmentPlaneLabel"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -1,31 +1,43 @@
|
||||
var validExpeMail = false
|
||||
var validExpeLoc = false //turned to true in geocoder.js
|
||||
var validDestMail = false
|
||||
var validDestLoc = false //turned to true in geocoder.js
|
||||
var validExpeMail = false;
|
||||
var validExpeLoc = false; //turned to true in geocoder.js
|
||||
var validDestMail = false;
|
||||
var validDestLoc = false; //turned to true in geocoder.js
|
||||
|
||||
function validateEmail(email) { //from https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript
|
||||
const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||
return re.test(String(email).toLowerCase());
|
||||
function validateEmail(email) {
|
||||
//from https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript
|
||||
const re =
|
||||
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||
return re.test(String(email).toLowerCase());
|
||||
}
|
||||
|
||||
$("#expeMail").change(function() {
|
||||
validExpeMail = validateEmail($("#expeMail").val())
|
||||
checkFormValid()
|
||||
})
|
||||
$("#expeMail").change(function () {
|
||||
validExpeMail = validateEmail($("#expeMail").val());
|
||||
checkFormValid();
|
||||
});
|
||||
|
||||
$("#destMail").change(function() {
|
||||
validDestMail = validateEmail($("#destMail").val())
|
||||
checkFormValid()
|
||||
})
|
||||
$("#destMail").change(function () {
|
||||
validDestMail = validateEmail($("#destMail").val());
|
||||
checkFormValid();
|
||||
});
|
||||
|
||||
document.querySelector('.custom-file-input').addEventListener('change',function(e){
|
||||
var fileName = document.getElementById("attachmentPlane").files[0].name;
|
||||
var nextSibling = e.target.nextElementSibling
|
||||
nextSibling.innerText = fileName
|
||||
})
|
||||
document
|
||||
.querySelector(".custom-file-input")
|
||||
.addEventListener("change", function (e) {
|
||||
const file = e.target.files[0];
|
||||
const fileName = file.name;
|
||||
var nextSibling = e.target.nextElementSibling;
|
||||
nextSibling.innerText = fileName;
|
||||
|
||||
function checkFormValid(){
|
||||
if(validExpeMail && validExpeLoc && validDestMail && validDestLoc){
|
||||
$('#sendNewPlane').prop("disabled", false)
|
||||
}
|
||||
const filesize = (file.size / 1024 / 1024).toFixed(4); // MB
|
||||
if (filesize >= 2.2) {
|
||||
e.target.classList.add("is-invalid");
|
||||
} else {
|
||||
e.target.classList.remove("is-invalid");
|
||||
}
|
||||
});
|
||||
|
||||
function checkFormValid() {
|
||||
if (validExpeMail && validExpeLoc && validDestMail && validDestLoc) {
|
||||
$("#sendNewPlane").prop("disabled", false);
|
||||
}
|
||||
}
|
||||
|
@ -1,186 +1,193 @@
|
||||
// Default lang
|
||||
var lang = 'en'
|
||||
var lang = "en";
|
||||
|
||||
// Lang by session
|
||||
var langSession = sessionStorage.getItem('lang');
|
||||
var langSession = sessionStorage.getItem("lang");
|
||||
// Lang by navigator config
|
||||
var userLang = navigator.userLanguage || navigator.language;
|
||||
|
||||
if (langSession) {
|
||||
lang = langSession.substring(0,2)
|
||||
lang = langSession.substring(0, 2);
|
||||
} else if (userLang) {
|
||||
lang = userLang.substring(0,2)
|
||||
lang = userLang.substring(0, 2);
|
||||
}
|
||||
|
||||
//loading the lang.json file
|
||||
$(document).ready(function(){
|
||||
translateUI(lang)
|
||||
$.getJSON("lang/lang.json", function(data){
|
||||
//creating dropdown list of languages in navbar
|
||||
for (var key in data){
|
||||
$("#langChoices").append( '<a class="dropdown-item langSelect" value="'+key+'" href="#">'+data[key]+'</a>' )
|
||||
$("#selectDestLang").append( '<option value="'+key+'" href="#">'+data[key]+'</option>' )
|
||||
}
|
||||
//setting the user lang
|
||||
if(data[lang]){
|
||||
//$("#navbarDropdownLang").html(data[lang])
|
||||
translateUI(lang)
|
||||
}
|
||||
//or english if not in list
|
||||
else{
|
||||
//$("#navbarDropdownLang").html("English")
|
||||
translateUI('en')
|
||||
}
|
||||
$(".langSelect").on('click',function(e){
|
||||
lang = e.currentTarget.attributes[1].value
|
||||
sessionStorage.setItem('lang', lang);
|
||||
translateUI(lang)
|
||||
//$("#navbarDropdownLang").html($(this).html())
|
||||
})
|
||||
}).fail(function(error){
|
||||
console.log(error);
|
||||
});
|
||||
$(document).ready(function () {
|
||||
translateUI(lang);
|
||||
$.getJSON("lang/lang.json", function (data) {
|
||||
//creating dropdown list of languages in navbar
|
||||
for (var key in data) {
|
||||
$("#langChoices").append(
|
||||
'<a class="dropdown-item langSelect" value="' +
|
||||
key +
|
||||
'" href="#">' +
|
||||
data[key] +
|
||||
"</a>"
|
||||
);
|
||||
$("#selectDestLang").append(
|
||||
'<option value="' + key + '" href="#">' + data[key] + "</option>"
|
||||
);
|
||||
}
|
||||
//setting the user lang
|
||||
if (data[lang]) {
|
||||
//$("#navbarDropdownLang").html(data[lang])
|
||||
translateUI(lang);
|
||||
}
|
||||
//or english if not in list
|
||||
else {
|
||||
//$("#navbarDropdownLang").html("English")
|
||||
translateUI("en");
|
||||
}
|
||||
$(".langSelect").on("click", function (e) {
|
||||
lang = e.currentTarget.attributes[1].value;
|
||||
sessionStorage.setItem("lang", lang);
|
||||
translateUI(lang);
|
||||
//$("#navbarDropdownLang").html($(this).html())
|
||||
});
|
||||
}).fail(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
|
||||
var dictionnary = []
|
||||
var dictionnary = [];
|
||||
|
||||
function translateUI(l){
|
||||
$.getJSON("lang/"+l+"", function(s){
|
||||
dictionnary = s
|
||||
//if arabic : display left to right (ltr) + troubleshooting a lot of individual elements
|
||||
if (lang == "ar"){
|
||||
//navbar
|
||||
$("nav").css('direction','rtl')
|
||||
$(".nav-menus").removeClass('mr-auto')
|
||||
$(".nav-button").addClass('mr-auto')
|
||||
//form
|
||||
// $(".ql-container").css('direction','rtl')
|
||||
// $(".ql-container").css('float','right')
|
||||
// $(".ql-editor").css('float','right')
|
||||
// $(".ql-editor p").css('float','right')
|
||||
$(".modal-content").css('direction','rtl')
|
||||
$(".bold").css('float','right')
|
||||
$("#public").css('margin-left','5px')
|
||||
$("#prive").css('margin-left','5px')
|
||||
$("#newPlaneModalAnonyme").css('margin-right','25px')
|
||||
$("#newPlaneModalCancel").css('margin-left','8px')
|
||||
$("#closeModal").css('margin-left','0px')
|
||||
$("#closeModal").css('padding-left','0px')
|
||||
//anthology
|
||||
$("#anthology").css('direction','rtl')
|
||||
$("#anthologyDisclaimer").css('float','right')
|
||||
|
||||
}
|
||||
else{
|
||||
//navbar
|
||||
$("nav").css('direction','ltr')
|
||||
$(".nav-menus").addClass('mr-auto')
|
||||
$(".nav-button").removeClass('mr-auto')
|
||||
//form
|
||||
// $(".ql-container").css('direction','ltr')
|
||||
// $(".ql-container").css('float','left')
|
||||
// $(".ql-editor").css('float','left')
|
||||
// $(".ql-editor p").css('float','none')
|
||||
$(".modal-content").css('direction','ltr')
|
||||
$(".bold").css('float','left')
|
||||
$("#public").css('margin-left','0px')
|
||||
$("#prive").css('margin-left','0px')
|
||||
$("#newPlaneModalAnonyme").css('margin-right','0px')
|
||||
$("#newPlaneModalCancel").css('margin-left','0px')
|
||||
//anthology
|
||||
$("#anthology").css('direction','ltr')
|
||||
$("#anthologyDisclaimer").css('float','left')
|
||||
}
|
||||
|
||||
//changing all strings
|
||||
//main page
|
||||
$('head title', window.parent.document).text(s.avionpoeme);
|
||||
$("#navTitle").html(s.avionpoeme)
|
||||
$("#buttonAnthology").html(s.anthologie)
|
||||
$("#buttonAbout").html(s.apropos)
|
||||
if (typeof nbPlane !== 'undefined') {
|
||||
$("#buttonNewPlane").val(s.lancer_avion+" "+nbPlane+"/100")
|
||||
} else {
|
||||
$("#buttonNewPlane").on('click', () => {
|
||||
window.location.replace("/");
|
||||
})
|
||||
}
|
||||
//new plane form
|
||||
$("#newPlaneModalTitle").html(s.lancer_avion)
|
||||
$("#newPlaneModalMessage").html(s.message)
|
||||
$("#newPlaneModalPrive").html(s.prive)
|
||||
$("#newPlaneModalPublic").html(s.public)
|
||||
$("#labelAttachment").html(s.PJ_Ajouter)
|
||||
console.log(s.PJ_Parcourir)
|
||||
$("#attachmentPlaneLabel").attr('data-after', s.PJ_Parcourir)
|
||||
$("#flightTime").html(s.temps_de_vol)
|
||||
$("#newPlaneModalRandom").html(s.aléatoire)
|
||||
$("#newPlaneModal3j").html(s.trois_jours)
|
||||
$("#newPlaneModal7j").html(s.sept_jours)
|
||||
$("#newPlaneModal30j").html(s.trente_jours)
|
||||
$("#newPlaneModal365j").html(s.unan_jours)
|
||||
$("#newPlaneModalExpediteur").html(s.expediteur)
|
||||
$("#newPlaneModalDestinataire").html(s.destinataire)
|
||||
$("#newPlaneModalAnonyme").html(s.anonyme)
|
||||
$("#newPlaneModalCancel").html(s.annuler)
|
||||
$("#sendNewPlane").html(s.lancer)
|
||||
$("#destLang").html(s.langue_destinataire)
|
||||
$("#expeMail").attr("placeholder", s.expeMail_placeholder)
|
||||
$("#expeGeocoderPhoton").attr("placeholder", s.expeLoc_placeholder)
|
||||
$("#destMail").attr("placeholder", s.destMail_placeholder)
|
||||
$("#destGeocoderPhoton").attr("placeholder", s.destLoc_placeholder)
|
||||
$('#anonymeTooltip').attr("title", s.anonyme_tooltip).tooltip("_fixTitle");
|
||||
$('#publicTooltip').attr("title", s.public_tooltip).tooltip("_fixTitle");
|
||||
|
||||
$('#selectDestLang option[value="'+lang+'"]').prop('selected', true); //selecting by default recipient language same as interface
|
||||
//Anthology
|
||||
displayAnthology()
|
||||
$("#anthologyTitle").html(s.anthologie)
|
||||
$("#anthologyDisclaimer").html(s.suppr_message_public)
|
||||
$("#closeAnthologyAbout").html(s.retour_carte)
|
||||
|
||||
//About
|
||||
$("#aboutTitle").html(s.apropos)
|
||||
$("#librairies").html(s.librairies)
|
||||
$("#mapSources").html(s.source_carte)
|
||||
$("#mapBackground").html(s.map_background)
|
||||
$("#clouds").html(s.clouds)
|
||||
$.getJSON("lang/about.json", function(e){
|
||||
if(lang !== 'en' && lang !== 'fr' && lang !== 'de'){
|
||||
$("#aboutText").html(e[0].en)
|
||||
}
|
||||
else{
|
||||
$("#aboutText").html(e[0][lang])
|
||||
}
|
||||
$("#donationText").html(s.AvionPoeme_free_independent)
|
||||
$("#donationButtonText").html(s.Soutenez_avionpoeme)
|
||||
$("#donationButtonText").addClass(lang)
|
||||
})
|
||||
|
||||
//plane limit tooltip
|
||||
if (typeof nbPlane !== 'undefined') {
|
||||
if (nbPlane > 99){
|
||||
$("#planeLimitTooltip").attr("title", s.AvionPoeme_epuise).tooltip("_fixTitle");
|
||||
}
|
||||
else{
|
||||
var remainingPlanes = 100 - nbPlane;
|
||||
s.NB_AvionPoeme_restant = s.NB_AvionPoeme_restant.replace('$NB_avion_poeme',remainingPlanes)
|
||||
$("#planeLimitTooltip").attr("title", s.NB_AvionPoeme_restant).tooltip("_fixTitle");
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
.always(function(callback) {
|
||||
//console.log( callback );
|
||||
});
|
||||
function translateUI(l) {
|
||||
$.getJSON("lang/" + l + "", function (s) {
|
||||
dictionnary = s;
|
||||
//if arabic : display left to right (ltr) + troubleshooting a lot of individual elements
|
||||
if (lang == "ar") {
|
||||
//navbar
|
||||
$("nav").css("direction", "rtl");
|
||||
$(".nav-menus").removeClass("mr-auto");
|
||||
$(".nav-button").addClass("mr-auto");
|
||||
//form
|
||||
// $(".ql-container").css('direction','rtl')
|
||||
// $(".ql-container").css('float','right')
|
||||
// $(".ql-editor").css('float','right')
|
||||
// $(".ql-editor p").css('float','right')
|
||||
$(".modal-content").css("direction", "rtl");
|
||||
$(".bold").css("float", "right");
|
||||
$("#public").css("margin-left", "5px");
|
||||
$("#prive").css("margin-left", "5px");
|
||||
$("#newPlaneModalAnonyme").css("margin-right", "25px");
|
||||
$("#newPlaneModalCancel").css("margin-left", "8px");
|
||||
$("#closeModal").css("margin-left", "0px");
|
||||
$("#closeModal").css("padding-left", "0px");
|
||||
//anthology
|
||||
$("#anthology").css("direction", "rtl");
|
||||
$("#anthologyDisclaimer").css("float", "right");
|
||||
} else {
|
||||
//navbar
|
||||
$("nav").css("direction", "ltr");
|
||||
$(".nav-menus").addClass("mr-auto");
|
||||
$(".nav-button").removeClass("mr-auto");
|
||||
//form
|
||||
// $(".ql-container").css('direction','ltr')
|
||||
// $(".ql-container").css('float','left')
|
||||
// $(".ql-editor").css('float','left')
|
||||
// $(".ql-editor p").css('float','none')
|
||||
$(".modal-content").css("direction", "ltr");
|
||||
$(".bold").css("float", "left");
|
||||
$("#public").css("margin-left", "0px");
|
||||
$("#prive").css("margin-left", "0px");
|
||||
$("#newPlaneModalAnonyme").css("margin-right", "0px");
|
||||
$("#newPlaneModalCancel").css("margin-left", "0px");
|
||||
//anthology
|
||||
$("#anthology").css("direction", "ltr");
|
||||
$("#anthologyDisclaimer").css("float", "left");
|
||||
}
|
||||
|
||||
//changing all strings
|
||||
//main page
|
||||
$("head title", window.parent.document).text(s.avionpoeme);
|
||||
$("#navTitle").html(s.avionpoeme);
|
||||
$("#buttonAnthology").html(s.anthologie);
|
||||
$("#buttonAbout").html(s.apropos);
|
||||
if (typeof nbPlane !== "undefined") {
|
||||
$("#buttonNewPlane").val(s.lancer_avion + " " + nbPlane + "/100");
|
||||
} else {
|
||||
$("#buttonNewPlane").on("click", () => {
|
||||
window.location.replace("/");
|
||||
});
|
||||
}
|
||||
//new plane form
|
||||
$("#newPlaneModalTitle").html(s.lancer_avion);
|
||||
$("#newPlaneModalMessage").html(s.message);
|
||||
$("#newPlaneModalPrive").html(s.prive);
|
||||
$("#newPlaneModalPublic").html(s.public);
|
||||
$("#labelAttachment").html(s.PJ_Ajouter);
|
||||
console.log(s);
|
||||
$("#attachmentPlaneLabel").attr("data-after", s.PJ_Parcourir);
|
||||
$("#flightTime").html(s.temps_de_vol);
|
||||
$("#newPlaneModalRandom").html(s.aléatoire);
|
||||
$("#newPlaneModal3j").html(s.trois_jours);
|
||||
$("#newPlaneModal7j").html(s.sept_jours);
|
||||
$("#newPlaneModal30j").html(s.trente_jours);
|
||||
$("#newPlaneModal365j").html(s.unan_jours);
|
||||
$("#newPlaneModalExpediteur").html(s.expediteur);
|
||||
$("#newPlaneModalDestinataire").html(s.destinataire);
|
||||
$("#newPlaneModalAnonyme").html(s.anonyme);
|
||||
$("#newPlaneModalCancel").html(s.annuler);
|
||||
$("#sendNewPlane").html(s.lancer);
|
||||
$("#destLang").html(s.langue_destinataire);
|
||||
$("#expeMail").attr("placeholder", s.expeMail_placeholder);
|
||||
$("#expeGeocoderPhoton").attr("placeholder", s.expeLoc_placeholder);
|
||||
$("#destMail").attr("placeholder", s.destMail_placeholder);
|
||||
$("#destGeocoderPhoton").attr("placeholder", s.destLoc_placeholder);
|
||||
$("#anonymeTooltip").attr("title", s.anonyme_tooltip).tooltip("_fixTitle");
|
||||
$("#publicTooltip").attr("title", s.public_tooltip).tooltip("_fixTitle");
|
||||
|
||||
$('#selectDestLang option[value="' + lang + '"]').prop("selected", true); //selecting by default recipient language same as interface
|
||||
//Anthology
|
||||
displayAnthology();
|
||||
$("#anthologyTitle").html(s.anthologie);
|
||||
$("#anthologyDisclaimer").html(s.suppr_message_public);
|
||||
$("#closeAnthologyAbout").html(s.retour_carte);
|
||||
|
||||
//About
|
||||
$("#aboutTitle").html(s.apropos);
|
||||
$("#librairies").html(s.librairies);
|
||||
$("#mapSources").html(s.source_carte);
|
||||
$("#mapBackground").html(s.map_background);
|
||||
$("#clouds").html(s.clouds);
|
||||
$.getJSON("lang/about.json", function (e) {
|
||||
if (lang !== "en" && lang !== "fr" && lang !== "de") {
|
||||
$("#aboutText").html(e[0].en);
|
||||
} else {
|
||||
$("#aboutText").html(e[0][lang]);
|
||||
}
|
||||
$("#donationText").html(s.AvionPoeme_free_independent);
|
||||
$("#donationButtonText").html(s.Soutenez_avionpoeme);
|
||||
$("#donationButtonText").addClass(lang);
|
||||
});
|
||||
|
||||
//plane limit tooltip
|
||||
if (typeof nbPlane !== "undefined") {
|
||||
if (nbPlane > 99) {
|
||||
$("#planeLimitTooltip")
|
||||
.attr("title", s.AvionPoeme_epuise)
|
||||
.tooltip("_fixTitle");
|
||||
} else {
|
||||
var remainingPlanes = 100 - nbPlane;
|
||||
s.NB_AvionPoeme_restant = s.NB_AvionPoeme_restant.replace(
|
||||
"$NB_avion_poeme",
|
||||
remainingPlanes
|
||||
);
|
||||
$("#planeLimitTooltip")
|
||||
.attr("title", s.NB_AvionPoeme_restant)
|
||||
.tooltip("_fixTitle");
|
||||
}
|
||||
}
|
||||
}).always(function (callback) {
|
||||
//console.log( callback );
|
||||
});
|
||||
}
|
||||
|
||||
//hovering lang icon
|
||||
$( "#navbarDropdownLang" ).mouseenter(function() {
|
||||
$("#langIcon").attr("src","src/img/lang-hover.png");
|
||||
$("#navbarDropdownLang").mouseenter(function () {
|
||||
$("#langIcon").attr("src", "src/img/lang-hover.png");
|
||||
});
|
||||
$( "#navbarDropdownLang" ).mouseleave(function() {
|
||||
$("#langIcon").attr("src","src/img/lang.png");
|
||||
$("#navbarDropdownLang").mouseleave(function () {
|
||||
$("#langIcon").attr("src", "src/img/lang.png");
|
||||
});
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user