allow to add and delete reactions (frontend only)
This commit is contained in:
parent
3a8680e41a
commit
d5199a6ef1
@ -41,4 +41,35 @@ function changeReaction(inputNode){
|
||||
imgNode.src = e.target.result
|
||||
}
|
||||
reader.readAsDataURL(inputNode.files[0]);
|
||||
}
|
||||
|
||||
function deleteReaction(node){
|
||||
const reactionNode = node.parentNode;
|
||||
const reactionId = reactionNode.querySelector(".reaction_id").value;
|
||||
const reactionName = reactionNode.querySelector("p").innerText;
|
||||
|
||||
reactionNode.parentNode.removeChild(reactionNode);
|
||||
|
||||
const option = document.createElement("option");
|
||||
option.value = reactionId
|
||||
option.innerText = reactionName
|
||||
|
||||
reactions_to_add.appendChild(option);
|
||||
}
|
||||
|
||||
function addReaction(selectNode){
|
||||
const selectedOptionNode = selectNode.selectedOptions[0];
|
||||
|
||||
const reactionId = selectedOptionNode.value;
|
||||
const reactionName = selectedOptionNode.innerText;
|
||||
|
||||
selectNode.removeChild(selectedOptionNode);
|
||||
|
||||
const newReaction = reactions.querySelector("div").cloneNode(true);
|
||||
newReaction.querySelector("img").src = "";
|
||||
newReaction.querySelector(".img_input").value = null;
|
||||
newReaction.querySelector(".reaction_id").value = reactionId
|
||||
newReaction.querySelector("p").innerText = reactionName
|
||||
|
||||
reactions.appendChild(newReaction);
|
||||
}
|
@ -35,27 +35,27 @@
|
||||
<img class="character_image" alt="{{'Image du personnage' + (' ' + npc.get('name') if npc.get('name') else '')}}" src="{{'/static/images/no_photography_white.svg' if npc.get('img') == None else '/api/v1/getNpcImage?npcid=' + npc.get('img')|string}}">
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="reactions">
|
||||
<h2 class="section_title">Réactions</h2>
|
||||
|
||||
{%for reaction in npc.get("reactions")%}
|
||||
<div>
|
||||
<p> {{reaction.get('name')}} </p>
|
||||
<img src="{{reaction.get('url')}}" style="max-width: 100; max-height: 100px">
|
||||
<input type="file" accept="image/png, image/jpeg" onchange="changeReaction(this)">
|
||||
</div>
|
||||
{%endfor%}
|
||||
|
||||
|
||||
{%if npc.get("reaction_to_add")%}
|
||||
<select>
|
||||
{%for reaction_to_add in npc.get("reaction_to_add")%}
|
||||
<option value="{{reaction_to_add.get('id')}}">{{reaction_to_add.get('name')}}</option>
|
||||
{%for reaction in npc.get("reactions")%}
|
||||
<div>
|
||||
<p> {{reaction.get('name')}} </p>
|
||||
<img src="{{reaction.get('url')}}" style="max-width: 100; max-height: 100px">
|
||||
<input class="img_input", type="file" accept="image/png, image/jpeg" onchange="changeReaction(this)">
|
||||
<input class="reaction_id", type="hidden" value="{{reaction.get('id')}}">
|
||||
<button onclick="deleteReaction(this)">Delete reaction</button>
|
||||
</div>
|
||||
{%endfor%}
|
||||
</select>
|
||||
{%endif%}
|
||||
</section>
|
||||
|
||||
<select id="reactions_to_add" onchange="addReaction(this)">
|
||||
<option value="" default></option>
|
||||
{%for reaction_to_add in npc.get("reaction_to_add") or []%}
|
||||
<option value="{{reaction_to_add.get('id')}}">{{reaction_to_add.get('name')}}</option>
|
||||
{%endfor%}
|
||||
</select>
|
||||
|
||||
<section>
|
||||
<h2 class="section_title">Réponses aux questions lors de l'interrogation</h2>
|
||||
<div class="answer_groups">
|
||||
|
Loading…
Reference in New Issue
Block a user