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">