mirror of
https://github.com/RoY7x/worldbuilding.git
synced 2025-04-30 10:41:40 -04:00
- Refactored actor-sheet.js to move most of its logic into a separate helper.js module as static methods on a new SimpleHelper class. This doesn't add anything functional at the moment, but it's in preparation of re-using the same code for the item-sheet.js file.
110 lines
No EOL
6.3 KiB
HTML
110 lines
No EOL
6.3 KiB
HTML
<form class="{{cssClass}}" autocomplete="off">
|
|
|
|
{{!-- Sheet Header --}}
|
|
<header class="sheet-header">
|
|
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="100" width="100" />
|
|
<div class="header-fields">
|
|
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name" /></h1>
|
|
<div class="resource">
|
|
<input type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" />
|
|
<span> / </span>
|
|
<input type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
|
</div>
|
|
<div class="resource">
|
|
<input type="text" name="data.power.value" value="{{data.power.value}}" data-dtype="Number" />
|
|
<span> / </span>
|
|
<input type="text" name="data.power.max" value="{{data.power.max}}" data-dtype="Number" />
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
{{!-- Sheet Tab Navigation --}}
|
|
<nav class="sheet-tabs tabs" data-group="primary">
|
|
<a class="item" data-tab="description">Description</a>
|
|
<a class="item" data-tab="items">Items</a>
|
|
<a class="item" data-tab="attributes">Attributes</a>
|
|
</nav>
|
|
|
|
{{!-- Sheet Body --}}
|
|
<section class="sheet-body">
|
|
|
|
{{!-- Biography Tab --}}
|
|
<div class="tab biography" data-group="primary" data-tab="description">
|
|
{{editor content=data.biography target="data.biography" button=true owner=owner editable=editable}}
|
|
</div>
|
|
|
|
{{!-- Owned Items Tab --}}
|
|
<div class="tab items" data-group="primary" data-tab="items">
|
|
<ol class="item-list">
|
|
{{#each actor.items as |item id|}}
|
|
<li class="item flexrow" data-item-id="{{item._id}}">
|
|
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
|
|
<h4 class="item-name">{{item.name}}</h4>
|
|
{{!-- Iterate through all attributes on the item and output buttons for any that are formula. --}}
|
|
<div class="item-buttons">
|
|
{{#each item.data.attributes as |itemAttr key|}}
|
|
{{#if itemAttr.dtype}}
|
|
{{#if itemAttr.isFormula}}
|
|
{{!-- Use the items.name.key format for shorthand. --}}
|
|
{{#if ../../shorthand}}
|
|
<button class="item-button rollable" data-roll="@items.{{slugify item.name}}.{{key}}" data-label="{{ itemAttr.label }}"
|
|
title="{{itemAttr.value}}">{{itemAttr.label}}</button>
|
|
{{!-- Use the items.name.attributes.key.value format otherwise. --}}
|
|
{{else}}
|
|
<button class="item-button rollable"
|
|
data-roll="@items.{{slugify item.name}}.attributes.{{key}}.value" data-label="{{ itemAttr.label }}"
|
|
title="{{itemAttr.value}}">{{itemAttr.label}}</button>
|
|
{{/if}}
|
|
{{/if}}
|
|
{{else}}
|
|
{{#each itemAttr as |itemGroupedAttr groupedKey|}}
|
|
{{#if itemGroupedAttr.isFormula}}
|
|
{{!-- Use the items.name.key format for shorthand. --}}
|
|
{{#if ../../../shorthand}}
|
|
<button class="item-button rollable" data-roll="@items.{{slugify item.name}}.{{key}}.{{groupedKey}}" data-label="{{ itemGroupedAttr.label }}"
|
|
title="{{itemGroupedAttr.value}}">{{itemGroupedAttr.label}}</button>
|
|
{{!-- Use the items.name.attributes.key.value format otherwise. --}}
|
|
{{else}}
|
|
<button class="item-button rollable"
|
|
data-roll="@items.{{slugify item.name}}.attributes.{{key}}.{{groupedKey}}.value" data-label="{{ itemGroupedAttr.label }}"
|
|
title="{{itemGroupedAttr.value}}">{{itemGroupedAttr.label}}</button>
|
|
{{/if}}
|
|
{{/if}}
|
|
{{/each}}
|
|
{{/if}}
|
|
{{/each}}
|
|
</div>
|
|
<div class="item-controls">
|
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
</div>
|
|
</li>
|
|
{{/each}}
|
|
</ol>
|
|
</div>
|
|
|
|
{{!-- Attributes Tab --}}
|
|
<div class="tab attributes" data-group="primary" data-tab="attributes">
|
|
<header class="attributes-header flexrow">
|
|
<span class="attribute-key">{{localize "SIMPLE.AttributeKey"}}</span>
|
|
<span class="attribute-value">{{localize "SIMPLE.AttributeValue"}}</span>
|
|
<span class="attribute-label">{{localize "SIMPLE.AttributeLabel"}}</span>
|
|
<span class="attribute-dtype">{{localize "SIMPLE.AttributeDtype"}}</span>
|
|
<a class="attribute-control" data-action="create" data-group="{{group}}"><i class="fas fa-plus"></i></a>
|
|
</header>
|
|
|
|
{{!-- Render the attribute list partial. --}}
|
|
{{> "systems/worldbuilding/templates/parts/sheet-attributes.html" attributes=data.ungroupedAttributes dtypes=dtypes}}
|
|
|
|
{{!-- Render the grouped attributes partial and control. --}}
|
|
<div class="groups">
|
|
{{> "systems/worldbuilding/templates/parts/sheet-groups.html" attributes=data.groupedAttributes groups=data.groups dtypes=dtypes}}
|
|
|
|
<div class="group-controls flexrow">
|
|
<input class="group-prefix" type="text" val=""/>
|
|
<a class="button group-control" data-action="create-group"><i class="fas fa-plus"></i>Add Attribute Group</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form> |