Added interpreter for pseudocode for displaying exhibitions, events.
Added basic search. Added object pages.
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
*
|
||||
* @return {void}
|
||||
*/
|
||||
function removeElement(elem) {
|
||||
async function removeElement(elem) {
|
||||
while (elem.firstChild) {
|
||||
elem.removeChild(elem.firstChild);
|
||||
}
|
||||
@ -29,16 +29,28 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
|
||||
let translations = {
|
||||
"en" : {
|
||||
"uploadFile" : "Upload file",
|
||||
"submit" : "Submit",
|
||||
"generate" : "Generate",
|
||||
"eventCalendar" : "Event calendar",
|
||||
"uploadFile" : "Upload file",
|
||||
"submit" : "Submit",
|
||||
"generate" : "Generate",
|
||||
"embedCodeGenerator" : "Generator for embed code",
|
||||
"helpEmbedCode" : "Here you can create embed code.",
|
||||
"singleObjectTile" : "Single object (tile)",
|
||||
"singleObjectDetails": "Single object (details)",
|
||||
"singleCollection" : "Single collection",
|
||||
"exhibitionCalendar" : "Exhibition calendar",
|
||||
"eventCalendar" : "Event calendar",
|
||||
},
|
||||
"de" : {
|
||||
"uploadFile" : "Eine Datei heraufladen",
|
||||
"submit" : "Abschicken",
|
||||
"generate" : "Generieren",
|
||||
"eventCalendar" : "Veranstaltungen (Kalender)",
|
||||
"uploadFile" : "Eine Datei heraufladen",
|
||||
"submit" : "Abschicken",
|
||||
"generate" : "Generieren",
|
||||
"embedCodeGenerator" : "Generator für Einbettungen",
|
||||
"helpEmbedCode" : "Hier können sie den embed-code generieren.",
|
||||
"singleObjectTile" : "Einzelobjekt (Kachel)",
|
||||
"singleObjectDetails": "Einzelobjekt (Details)",
|
||||
"singleCollection" : "Einzelsammlung",
|
||||
"exhibitionCalendar" : "Ausstellungskalender",
|
||||
"eventCalendar" : "Veranstaltungen (Kalender)",
|
||||
}
|
||||
};
|
||||
|
||||
@ -159,7 +171,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
}
|
||||
}
|
||||
|
||||
(function() {
|
||||
(async function() {
|
||||
|
||||
let trigger = document.getElementById("uploadFile");
|
||||
if (trigger === undefined || trigger === null) return;
|
||||
@ -206,7 +218,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
overlay.appendChild(uploadForm);
|
||||
document.getElementsByTagName("body")[0].appendChild(overlay);
|
||||
|
||||
document.getElementsByTagName("body")[0].addEventListener('keydown', function(e) {
|
||||
document.getElementsByTagName("body")[0].addEventListener('keydown', async function(e) {
|
||||
if (e.keyCode != 27) return;
|
||||
removeElement(overlay);
|
||||
});
|
||||
@ -214,7 +226,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
queryPage(
|
||||
encodeURI('./files.php'),
|
||||
function (request) {
|
||||
let allFiles = request.response;
|
||||
let allFiles = JSON.parse(request.response);
|
||||
|
||||
for (let i = 0, max = allFiles.length; i < max; i++) {
|
||||
console.log(allFiles[i]);
|
||||
@ -231,14 +243,56 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
*/
|
||||
(function() {
|
||||
|
||||
function generateToolTip(toolTipID, toolTipText, toolTipTitle = "", triggerId = "") {
|
||||
|
||||
let trigger = document.createElement("span");
|
||||
|
||||
trigger.classList.add("newToolTipTag");
|
||||
trigger.classList.add("helpToolTip");
|
||||
trigger.setAttribute("data-for", toolTipID);
|
||||
|
||||
let toolTip = document.createElement("div");
|
||||
toolTip.id = "tooltip_" + toolTipID;
|
||||
toolTip.classList.add("newToolTip");
|
||||
toolTip.setAttribute("data-title", toolTipTitle);
|
||||
|
||||
let toolTipCont = document.createElement("p");
|
||||
toolTipCont.textContent = toolTipText;
|
||||
toolTip.appendChild(toolTipCont);
|
||||
|
||||
trigger.appendChild(toolTip);
|
||||
|
||||
return trigger;
|
||||
|
||||
}
|
||||
|
||||
let generator = document.getElementById("embedGenerator");
|
||||
if (generator === undefined || generator === null) return;
|
||||
|
||||
// Define generator types
|
||||
|
||||
let generatorTypes = [
|
||||
["", "", false, "text"],
|
||||
["eventCalendar", getTranslation(translations, "eventCalendar"), true, "number"],
|
||||
["", "", false],
|
||||
["singleObjectTile", getTranslation(translations, "singleObjectTile"), true],
|
||||
["singleObjectDetails", getTranslation(translations, "singleObjectDetails"), true],
|
||||
["singleCollectionTile", getTranslation(translations, "singleCollection"), true],
|
||||
["exhibitionCalendar", getTranslation(translations, "exhibitionCalendar"), true],
|
||||
["eventCalendar", getTranslation(translations, "eventCalendar"), true],
|
||||
];
|
||||
|
||||
// Add help tooltip
|
||||
|
||||
let generatorLabelSpan = document.createElement("span");
|
||||
generatorLabelSpan.classList.add("labelLine");
|
||||
|
||||
let generatorLabel = document.createElement("label");
|
||||
generatorLabel.textContent = getTranslation(translations, "embedCodeGenerator");
|
||||
|
||||
generatorLabelSpan.appendChild(generatorLabel);
|
||||
generatorLabelSpan.appendChild(generateToolTip("embedGeneratorToolTip", getTranslation(translations, "helpEmbedCode"), getTranslation(translations, "embedCodeGenerator")));
|
||||
|
||||
generator.appendChild(generatorLabelSpan);
|
||||
|
||||
let selectType = document.createElement("select");
|
||||
|
||||
for (let i = 0, max = generatorTypes.length; i < max; i++) {
|
||||
@ -246,7 +300,6 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
generatorOption.value = generatorTypes[i][0];
|
||||
generatorOption.textContent = generatorTypes[i][1];
|
||||
generatorOption.setAttribute("data-useSpecifier", generatorTypes[i][2]);
|
||||
generatorOption.setAttribute("data-inputType", generatorTypes[i][3]);
|
||||
selectType.appendChild(generatorOption);
|
||||
}
|
||||
|
||||
@ -274,7 +327,6 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
generatorSpecifier.value = "";
|
||||
if (selectType.options[selectType.selectedIndex].getAttribute("data-useSpecifier") == "true") {
|
||||
generatorSpecifier.classList.remove("invisible");
|
||||
generatorSpecifier.type = selectType.options[selectType.selectedIndex].getAttribute("data-inputType");
|
||||
}
|
||||
else generatorSpecifier.classList.add("invisible");
|
||||
|
||||
@ -283,13 +335,20 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
|
||||
});
|
||||
|
||||
buttonGenerate.addEventListener('click', function(e) {
|
||||
function runGenerator() {
|
||||
if (selectType.value == "") return;
|
||||
generatorFieldCont.textContent = "[" + selectType.value + "]";
|
||||
if (generatorSpecifier.value != "") {
|
||||
generatorFieldCont.textContent += "{" + generatorSpecifier.value + "}";
|
||||
}
|
||||
}
|
||||
|
||||
generatorSpecifier.addEventListener('keydown', function(e) {
|
||||
if (e.keyCode != 13) return;
|
||||
e.stopPropagation(); e.preventDefault();
|
||||
runGenerator();
|
||||
});
|
||||
buttonGenerate.addEventListener('click', function() { runGenerator(); });
|
||||
|
||||
generator.appendChild(generatorField);
|
||||
|
||||
|
Reference in New Issue
Block a user