SAE-A2-TruthInquiry/truthinquiry/templates/admin/questions.html
2023-03-16 14:39:51 +01:00

95 lines
2.3 KiB
HTML

<a href="/admin"> go Back </a> <br>
<select id="langs" onchange="langChangedEvent()">
{%for lang in langs%}
<option value="{{lang}}">{{lang}}</option>
{%endfor%}
</select>
<form id="questionsTag" action="javascript:void(0);">
</form>
<button onclick="saveForm()"> Save changes </button>
<style>
.questionTypeTag{
border: thin solid red;
margin-top: 20px;
}
.questionTypeTag input{
width: 100%;
}
</style>
<script src="/static/js/api.js"></script>
<script>
let lang = null;
function saveForm(){
var formData = new FormData(questionsTag);
let questionsJson = [];
for(let questionTypeTag of questionsTag.querySelectorAll("fieldset")){
let questionTypeJson = [];
questionsJson.push(questionTypeJson);
for(let questionTag of questionTypeTag.children){
questionTypeJson.push({"text": questionTag.value})
}
}
if(lang!==null){
makeAPIRequest("admin/setQuestions", {"questions": questionsJson, "lang": lang}, {"content": "json"})
}
}
let lastQueriedData = [];
async function changeLang(newLang){
lang = null;
console.log("Changing language to "+newLang);
resp = await makeAPIRequest("admin/getQuestions", {"lang": newLang});
questionsTag.innerHTML = '';
for(let questionType of resp){
let questionTypeTag = document.createElement("fieldset")
questionTypeTag.className = 'questionTypeTag';
questionsTag.appendChild(questionTypeTag);
function addNewInput(value=""){
let questionTag = document.createElement("input");
questionTypeTag.appendChild(questionTag);
questionTag.value = value;
}
for(let question of questionType){
addNewInput(question.text);
}
let addNewTag = document.createElement("input")
addNewTag.type = 'button'
addNewTag.value = "Add new";
addNewTag.onclick = () => addNewInput();
questionsTag.appendChild(addNewTag);
}
lang = newLang;
}
function langChangedEvent(){
changeLang(langs.value)
}
changeLang(langs.value);
</script>