From 6fac2c597fccb51a1d0970cc79a2b8c8380039ab Mon Sep 17 00:00:00 2001 From: Johannes Loher <johannes.loher@fg4f.de> Date: Thu, 31 Dec 2020 12:10:59 +0100 Subject: [PATCH] make equip icon for items clickable in item list in character sheet --- src/module/actor/actor-sheet.ts | 9 ++++++++- src/module/item/item-data.ts | 2 +- src/templates/actor/partials/items.hbs | 18 +++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/module/actor/actor-sheet.ts b/src/module/actor/actor-sheet.ts index d08e488f..e7c16819 100644 --- a/src/module/actor/actor-sheet.ts +++ b/src/module/actor/actor-sheet.ts @@ -1,4 +1,4 @@ -import { DS4ItemDataType } from "../item/item-data"; +import { DS4ItemDataType, DS4ItemEquipable } from "../item/item-data"; import { DS4Actor } from "./actor"; import { DS4ActorDataType } from "./actor-data"; @@ -62,6 +62,13 @@ export class DS4ActorSheet extends ActorSheet<DS4ActorDataType, DS4Actor, DS4Ite li.slideUp(200, () => this.render(false)); }); + html.find(".item-equip").on("click", (ev) => { + const id = $(ev.currentTarget).parents(".item").data("itemId"); + const item = duplicate(this.actor.getEmbeddedEntity("OwnedItem", id)); + setProperty(item, "data.equipped", !getProperty(item, "data.equipped")); + this.actor.updateOwnedItem(item); + }); + // Rollable abilities. html.find(".rollable").click(this._onRoll.bind(this)); } diff --git a/src/module/item/item-data.ts b/src/module/item/item-data.ts index 58f4dc90..a7771d67 100644 --- a/src/module/item/item-data.ts +++ b/src/module/item/item-data.ts @@ -30,7 +30,7 @@ interface DS4ItemPhysical { storageLocation: string; } -interface DS4ItemEquipable { +export interface DS4ItemEquipable { equipped: boolean; } diff --git a/src/templates/actor/partials/items.hbs b/src/templates/actor/partials/items.hbs index 1c72cd46..0d09670f 100644 --- a/src/templates/actor/partials/items.hbs +++ b/src/templates/actor/partials/items.hbs @@ -5,7 +5,7 @@ {{!-- WEAPONS --}} <h4 class="items-list-title">{{localize 'DS4.ItemTypeWeapon'}}</h4> {{!-- SPECIFIC --}} <ol class="items-list"> - <li class="item flexrow item-header"> + <li class="item flexrow item-header""> <div class="flexrow flex15"> <div title="{{localize 'DS4.ItemEquipped'}}">E</div> {{!-- equipped --}} {{!-- SPECIFIC --}} <div class="item-image"></div> @@ -32,8 +32,8 @@ <li class="item flexrow" data-item-id="{{item._id}}"> <div class="flexrow flex15"> {{!-- equipped? --}} - {{#if itemData.equipped}}<i class="fas fa-check-square"></i> - {{else}}<i class="far fa-square"></i> + {{#if itemData.equipped}}<i class="fas fa-check-square item-equip"></i> + {{else}}<i class="far fa-square item-equip"></i> {{/if}} {{!--SPECIFIC --}} {{!-- image --}} <div class="item-image"> @@ -94,8 +94,8 @@ <li class="item flexrow" data-item-id="{{item._id}}"> <div class="flexrow flex15"> {{!-- equipped? --}} - {{#if itemData.equipped}}<i class="fas fa-check-square"></i> - {{else}}<i class="far fa-square"></i> + {{#if itemData.equipped}}<i class="fas fa-check-square item-equip"></i> + {{else}}<i class="far fa-square item-equip"></i> {{/if}} {{!--SPECIFIC --}} {{!-- image --}} <div class="item-image"> @@ -152,8 +152,8 @@ <li class="item flexrow" data-item-id="{{item._id}}"> <div class="flexrow flex15"> {{!-- equipped? --}} - {{#if itemData.equipped}}<i class="fas fa-check-square"></i> - {{else}}<i class="far fa-square"></i> + {{#if itemData.equipped}}<i class="fas fa-check-square item-equip"></i> + {{else}}<i class="far fa-square item-equip"></i> {{/if}} {{!--SPECIFIC --}} {{!-- image --}} <div class="item-image"> @@ -202,8 +202,8 @@ <li class="item flexrow" data-item-id="{{item._id}}"> <div class="flexrow flex15"> {{!-- equipped? --}} - {{#if itemData.equipped}}<i class="fas fa-check-square"></i> - {{else}}<i class="far fa-square"></i> + {{#if itemData.equipped}}<i class="fas fa-check-square item-equip"></i> + {{else}}<i class="far fa-square item-equip"></i> {{/if}} {{!--SPECIFIC --}} {{!-- image --}} <div class="item-image">