add Edit Special Training logic

This commit is contained in:
jalensailin
2023-12-09 18:29:12 -05:00
parent 5bad511925
commit a6512e0fa1
2 changed files with 26 additions and 10 deletions
+24 -8
View File
@@ -306,8 +306,8 @@ export default class DeltaGreenActorSheet extends ActorSheet {
html.find(".special-training-action").click((event) => {
event.preventDefault();
const action = event.target.getAttribute("data-action");
const targetID = event.target.getAttribute("data-id");
const action = event.currentTarget.getAttribute("data-action");
const targetID = event.currentTarget.getAttribute("data-id");
this._showSpecialTrainingDialog(action, targetID);
});
@@ -730,18 +730,24 @@ export default class DeltaGreenActorSheet extends ActorSheet {
const specialTrainingSkill = btn
.find("[name='special-training-skill']")
.val();
this._addSpecialTraining(
specialTrainingLabel,
specialTrainingSkill,
targetID,
);
if (action === "Create")
this._createSpecialTraining(
specialTrainingLabel,
specialTrainingSkill,
);
if (action === "Edit")
this._editSpecialTraining(
specialTrainingLabel,
specialTrainingSkill,
targetID,
);
},
},
},
}).render(true);
}
_addSpecialTraining(label, skill) {
_createSpecialTraining(label, skill) {
const specialTrainingArray = duplicate(this.actor.system.specialTraining);
specialTrainingArray.push({
name: label,
@@ -751,6 +757,16 @@ export default class DeltaGreenActorSheet extends ActorSheet {
this.actor.update({ "system.specialTraining": specialTrainingArray });
}
_editSpecialTraining(label, skill, id) {
const specialTrainingArray = duplicate(this.actor.system.specialTraining);
const specialTraining = specialTrainingArray.find(
(training) => training.id === id,
);
specialTraining.name = label;
specialTraining.skill = skill;
this.actor.update({ "system.specialTraining": specialTrainingArray });
}
/**
* Handle creating a new Owned Item for the actor using initial data defined in the HTML dataset
* @param {Event} event The originating click event