From b9d5f2f796895b31224478b79057c6f0d65c18f8 Mon Sep 17 00:00:00 2001 From: VINI1520 <67917489+VINI1520@users.noreply.github.com> Date: Sat, 12 Sep 2020 23:10:14 -0300 Subject: [PATCH] Update sheet.js --- module/item/sheet.js | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/module/item/sheet.js b/module/item/sheet.js index 65fbdbaf..a04db6b8 100644 --- a/module/item/sheet.js +++ b/module/item/sheet.js @@ -289,6 +289,62 @@ export default class ItemSheet5e extends ItemSheet { /* -------------------------------------------- */ +/** + * Add or remove a armorproperties part from the armorproperties formula + * @param {Event} event The original click event + * @return {Promise} + * @private + */ + async _onarmorpropertiesControl(event) { + event.preventDefault(); + const a = event.currentTarget; + + // Add new armorproperties component + if ( a.classList.contains("add-armorproperties") ) { + await this._onSubmit(event); // Submit any unsaved changes + const armorproperties = this.item.data.data.armorproperties; + return this.item.update({"data.armorproperties.parts": armorproperties.parts.concat([["", ""]])}); + } + + // Remove a armorproperties component + if ( a.classList.contains("delete-armorproperties") ) { + await this._onSubmit(event); // Submit any unsaved changes + const li = a.closest(".armorproperties-part"); + const armorproperties = duplicate(this.item.data.data.armorproperties); + armorproperties.parts.splice(Number(li.dataset.armorpropertiesPart), 1); + return this.item.update({"data.armorproperties.parts": armorproperties.parts}); + } + } + + /* -------------------------------------------- */ + + /** + * Add or remove a weaponproperties part from the weaponproperties formula + * @param {Event} event The original click event + * @return {Promise} + * @private + */ + async _onweaponpropertiesControl(event) { + event.preventDefault(); + const a = event.currentTarget; + + // Add new weaponproperties component + if ( a.classList.contains("add-weaponproperties") ) { + await this._onSubmit(event); // Submit any unsaved changes + const weaponproperties = this.item.data.data.weaponproperties; + return this.item.update({"data.weaponproperties.parts": weaponproperties.parts.concat([["", ""]])}); + } + + // Remove a weaponproperties component + if ( a.classList.contains("delete-weaponproperties") ) { + await this._onSubmit(event); // Submit any unsaved changes + const li = a.closest(".weaponproperties-part"); + const weaponproperties = duplicate(this.item.data.data.weaponproperties); + weaponproperties.parts.splice(Number(li.dataset.weaponpropertiesPart), 1); + return this.item.update({"data.weaponproperties.parts": weaponproperties.parts}); + } + } + /** * Handle spawning the TraitSelector application which allows a checkbox of multiple trait options * @param {Event} event The click event which originated the selection