remove reaction_id with trait_id

This commit is contained in:
Thomas Rubini 2023-04-01 18:55:51 +02:00
parent 93409c5e54
commit d9ddb96e80
No known key found for this signature in database
GPG Key ID: C7D287C8C1CAC373
2 changed files with 12 additions and 12 deletions

View File

@ -30,10 +30,10 @@ async function uploadReactionsDelta() {
let requests = []; let requests = [];
for(const [reactionId, reactionNode] of Object.entries(reactionsDelta)){ for(const [traitId, reactionNode] of Object.entries(reactionsDelta)){
const formData = new FormData(); const formData = new FormData();
formData.append("npc_id", npc_id.value); formData.append("npc_id", npc_id.value);
formData.append("trait_id", reactionId); formData.append("trait_id", traitId);
if(reactionNode === null) formData.append("file", "null"); if(reactionNode === null) formData.append("file", "null");
else{ else{
@ -65,7 +65,7 @@ async function deleteNpc() {
function changeReaction(inputNode){ function changeReaction(inputNode){
const parentNode = inputNode.parentNode; const parentNode = inputNode.parentNode;
const imgNode = parentNode.querySelector('img'); const imgNode = parentNode.querySelector('img');
const reactionId = parentNode.querySelector('.reaction_id').value; const traitId = parentNode.querySelector('.trait_id').value;
const reader = new FileReader(); const reader = new FileReader();
reader.onload = (e)=>{ reader.onload = (e)=>{
@ -73,29 +73,29 @@ function changeReaction(inputNode){
} }
reader.readAsDataURL(inputNode.files[0]); reader.readAsDataURL(inputNode.files[0]);
reactionsDelta[reactionId] = parentNode; reactionsDelta[traitId] = parentNode;
} }
function deleteReaction(node){ function deleteReaction(node){
const reactionNode = node.parentNode; const reactionNode = node.parentNode;
const reactionId = reactionNode.querySelector(".reaction_id").value; const traitId = reactionNode.querySelector(".trait_id").value;
const reactionName = reactionNode.querySelector("p").innerText; const reactionName = reactionNode.querySelector("p").innerText;
reactionNode.parentNode.removeChild(reactionNode); reactionNode.parentNode.removeChild(reactionNode);
const option = document.createElement("option"); const option = document.createElement("option");
option.value = reactionId option.value = traitId
option.innerText = reactionName option.innerText = reactionName
reactions_to_add.appendChild(option); reactions_to_add.appendChild(option);
reactionsDelta[reactionId] = null; reactionsDelta[traitId] = null;
} }
function addReaction(selectNode){ function addReaction(selectNode){
const selectedOptionNode = selectNode.selectedOptions[0]; const selectedOptionNode = selectNode.selectedOptions[0];
const reactionId = selectedOptionNode.value; const traitId = selectedOptionNode.value;
const reactionName = selectedOptionNode.innerText; const reactionName = selectedOptionNode.innerText;
selectNode.removeChild(selectedOptionNode); selectNode.removeChild(selectedOptionNode);
@ -103,10 +103,10 @@ function addReaction(selectNode){
const newReaction = reactions.querySelector("div").cloneNode(true); const newReaction = reactions.querySelector("div").cloneNode(true);
newReaction.querySelector("img").src = ""; newReaction.querySelector("img").src = "";
newReaction.querySelector(".img_input").value = null; newReaction.querySelector(".img_input").value = null;
newReaction.querySelector(".reaction_id").value = reactionId newReaction.querySelector(".trait_id").value = traitId
newReaction.querySelector("p").innerText = reactionName newReaction.querySelector("p").innerText = reactionName
reactions.appendChild(newReaction); reactions.appendChild(newReaction);
reactionsDelta[reactionId] = newReaction; reactionsDelta[traitId] = newReaction;
} }

View File

@ -43,7 +43,7 @@
<p> {{reaction.get('name')}} </p> <p> {{reaction.get('name')}} </p>
<img src="{{reaction.get('url')}}" style="max-width: 100; max-height: 100px"> <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="img_input", type="file" accept="image/png, image/jpeg" onchange="changeReaction(this)">
<input class="reaction_id", type="hidden" value="{{reaction.get('id')}}"> <input class="trait_id", type="hidden" value="{{reaction.get('trait_id')}}">
<button onclick="deleteReaction(this)">Delete reaction</button> <button onclick="deleteReaction(this)">Delete reaction</button>
</div> </div>
{%endfor%} {%endfor%}
@ -52,7 +52,7 @@
<select id="reactions_to_add" onchange="addReaction(this)"> <select id="reactions_to_add" onchange="addReaction(this)">
<option value="" default></option> <option value="" default></option>
{%for reaction_to_add in npc.get("reactions_to_add") or []%} {%for reaction_to_add in npc.get("reactions_to_add") or []%}
<option value="{{reaction_to_add.get('id')}}">{{reaction_to_add.get('name')}}</option> <option value="{{reaction_to_add.get('trait_id')}}">{{reaction_to_add.get('name')}}</option>
{%endfor%} {%endfor%}
</select> </select>