refactor: refactor form submission logic in actor sheet
This commit is contained in:
parent
cd44db079f
commit
bfbd327e51
1 changed files with 6 additions and 18 deletions
|
@ -12,7 +12,6 @@ export class DS4ActorSheet extends foundry.applications.api.DocumentSheetV2 {
|
|||
classes: ["sheet", "ds4-actor-sheet"],
|
||||
tag: "form",
|
||||
form: {
|
||||
handler: DS4ActorSheet.prototype._onSubmitForm,
|
||||
submitOnChange: true,
|
||||
closeOnSubmit: false,
|
||||
},
|
||||
|
@ -172,30 +171,19 @@ export class DS4ActorSheet extends foundry.applications.api.DocumentSheetV2 {
|
|||
}
|
||||
|
||||
/**
|
||||
* Handle form submission
|
||||
* Process form data for submission
|
||||
* @param {Event} event - The form submission event
|
||||
* @param {HTMLFormElement} form - The form element
|
||||
* @param {FormDataExtended} formData - The form data
|
||||
* @returns {object} The processed form data
|
||||
*/
|
||||
async _onSubmitForm(event, form, formData) {
|
||||
const submitData = this._prepareSubmitData(event, form, formData);
|
||||
await this.document.update(submitData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare data for form submission
|
||||
* @param {Event} event - The form submission event
|
||||
* @param {HTMLFormElement} form - The form element
|
||||
* @param {FormDataExtended} formData - The form data
|
||||
* @returns {object} The prepared submit data
|
||||
*/
|
||||
_prepareSubmitData(event, form, formData) {
|
||||
const submitData = super._prepareSubmitData(event, form, formData);
|
||||
_processFormData(event, form, formData) {
|
||||
const submitData = foundry.utils.expandObject(formData.object);
|
||||
|
||||
// Parse values for specific fields
|
||||
for (const [key, value] of Object.entries(submitData)) {
|
||||
for (const [key, value] of Object.entries(formData.object)) {
|
||||
if (key.includes("system.") && typeof value === "string") {
|
||||
submitData[key] = this.parseValue(value);
|
||||
foundry.utils.setProperty(submitData, key, this.parseValue(value));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue