bunteshaus.de/themes/buha/static/js/generator.js

185 lines
4.5 KiB
JavaScript

function check_checkboxes(name) {
const checkboxes = document.querySelectorAll(`input[name="${name}"]:checked`);
let values = [];
checkboxes.forEach((checkbox) => {
values.push("\"" + checkbox.value + "\"");
});
if (values) {
return values;
} else {
return null;
}
}
function testor(input) {
let v1 = [];
input.forEach((input) => {
v1.push("\"" + input.trim() + "\"");
});
if (v1) {
return v1;
} else {
return null;
}
}
function showInput(e) {
document.getElementById("result").innerHTML = '';
e.preventDefault();
document.getElementById("result").style.display = "flex";
var output_info = document.getElementById("myform");
var display = document.getElementById("result");
var d = new Date();
var datestring = d.getFullYear() + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" + ("0" + d.getDate()).slice(-2) + "T" + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2) + ":00+02:00";
var form = document.querySelector('form[id="myform"]');
var title = form.elements['title'].value;
var content = form.elements['content'].value;
var when = form.elements['when'].value;
var covid = form.elements['covid'].value;
var price = form.elements['price'].value;
var contact = form.elements['contact'].value;
var events = check_checkboxes('events');
if (form.elements['newevents']) { var newevents = testor(form.elements['newevents'].value.split(',')); }
var categories = check_checkboxes('categories');
if (form.elements['newcategories']) { var newcategories = testor(form.elements['newcategories'].value.split(',')); }
var tags = check_checkboxes('tags');
if (form.elements['newtags']) { var newtags = testor(form.elements['newtags'].value.split(',')); }
var featured = check_checkboxes('featured');
var about = check_checkboxes('about');
var foundations = check_checkboxes('foundations');
if (form.elements['newfoundations']) { var newfoundations = testor(form.elements['newfoundations'].value.split(',')); }
var lastmod = form.elements['lastmod'].value;
if (lastmod) {
var dl = new Date(lastmod);
var lastmod = dl.getFullYear() + "-" + ("0"+(dl.getMonth()+1)).slice(-2) + "-" + ("0" + dl.getDate()).slice(-2) + "T" + "14:" + "00:00+02:00";
}
if (newtags != '""') {
var ntags = newtags;
}
if (tags != '') {
var ntags = tags;
}
if (tags != '' && newtags != '""') {
var ntags = tags + "," + newtags;
}
if (newcategories != '""') {
var ncategories = newcategories;
}
if (categories != '') {
var ncategories = categories;
}
if (categories != '' && newcategories != '""') {
var ncategories = categories + "," + newcategories;
}
if (newevents != '""') {
var nevents = newevents;
}
if (events != '') {
var nevents = events;
}
if (events != '' && newevents != '""') {
var nevents = events + "," + newevents;
}
if (newfoundations != '""') {
var nfoundations = newfoundations;
}
if (foundations != '') {
var nfoundations = foundations;
}
if (foundations != '' && newfoundations != '""') {
var nfoundations = foundations + "," + newfoundations;
}
if (!title) {
display.innerHTML += "Title is missing..<br>"
}
if (!content) {
display.innerHTML += "Content is missing..<br>"
}
if (title && content) {
display.innerHTML += "---<br>";
display.innerHTML += "title: \"" + title + "\"<br>";
if (lastmod) {
display.innerHTML += "lastmod: " + lastmod + "<br>";
} else {
display.innerHTML += "date: " + datestring + "<br>";
}
if (featured != '') {
display.innerHTML += "featured: true<br>";
}
if (about != '') {
display.innerHTML += "about: true<br>";
}
if (when) {
display.innerHTML += "when: \"" + when + "\"<br>";
}
if (ncategories) {
display.innerHTML += "categories: \[" + ncategories + "]<br>";
}
if (nevents) {
display.innerHTML += "events: \[" + nevents + "]<br>";
}
if (nfoundations) {
display.innerHTML += "foundations: \[" + nfoundations + "]<br>";
}
if (ntags) {
display.innerHTML += "tags: \[" + ntags + "]<br>";
}
if (covid) {
display.innerHTML += "covid: \"" + covid + "\"<br>";
}
if (price) {
display.innerHTML += "price: \"" + price + "\"<br>";
}
if (contact) {
display.innerHTML += "contact: \"" + contact + "\"<br>";
}
display.innerHTML += "---<br>";
if (content) {
display.innerHTML += content;
}
}
}