Merge branch '005_item_editing' into 'master'
005 item editing See merge request dungeonslayers/ds4!4
This commit is contained in:
commit
aa0c4741d2
15 changed files with 84 additions and 114 deletions
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"DS4.Description": "Description",
|
"DS4.Description": "Description",
|
||||||
"DS4.Details": "Details",
|
"DS4.Details": "Details",
|
||||||
|
"DS4.Effects": "Effects",
|
||||||
"DS4.AttackType": "Attack Type",
|
"DS4.AttackType": "Attack Type",
|
||||||
"DS4.AttackTypeAbbr": "AT",
|
"DS4.AttackTypeAbbr": "AT",
|
||||||
"DS4.WeaponBonus": "Weapon Bonus",
|
"DS4.WeaponBonus": "Weapon Bonus",
|
||||||
|
@ -12,13 +13,15 @@
|
||||||
"DS4.AttackTypeMeleeRanged": "Melee / Ranged",
|
"DS4.AttackTypeMeleeRanged": "Melee / Ranged",
|
||||||
"DS4.Quantity": "Quantity",
|
"DS4.Quantity": "Quantity",
|
||||||
"DS4.PriceGold": "Price (Gold)",
|
"DS4.PriceGold": "Price (Gold)",
|
||||||
|
"DS4.StorageLocation": "Stored at",
|
||||||
"DS4.ItemAvailability": "Availability",
|
"DS4.ItemAvailability": "Availability",
|
||||||
"DS4.ItemAvailabilityHamlet": "Hamlet",
|
"DS4.ItemAvailabilityHamlet": "Hamlet",
|
||||||
"DS4.ItemAvailabilityVilage": "Village",
|
"DS4.ItemAvailabilityVilage": "Village",
|
||||||
"DS4.ItemAvailabilityCity": "City",
|
"DS4.ItemAvailabilityCity": "City",
|
||||||
"DS4.ItemAvailabilityElves": "Elves",
|
"DS4.ItemAvailabilityElves": "Elves",
|
||||||
"DS4.ItemAvailabilityDwarves": "Dwarves",
|
"DS4.ItemAvailabilityDwarves": "Dwarves",
|
||||||
"DS4.ItemAvailabilityNone": "None",
|
"DS4.ItemAvailabilityUnset": "Unset",
|
||||||
|
"DS4.ItemAvailabilityNowhere": "Nowhere",
|
||||||
"DS4.ItemTypeWeapon": "Weapon",
|
"DS4.ItemTypeWeapon": "Weapon",
|
||||||
"DS4.ItemTypeArmor": "Armor",
|
"DS4.ItemTypeArmor": "Armor",
|
||||||
"DS4.ItemTypeShield": "Shield",
|
"DS4.ItemTypeShield": "Shield",
|
||||||
|
|
|
@ -23,12 +23,13 @@ export const DS4 = {
|
||||||
* @type {Object}
|
* @type {Object}
|
||||||
*/
|
*/
|
||||||
itemAvailabilities: {
|
itemAvailabilities: {
|
||||||
|
unset: "DS4.ItemAvailabilityUnset",
|
||||||
hamlet: "DS4.ItemAvailabilityHamlet",
|
hamlet: "DS4.ItemAvailabilityHamlet",
|
||||||
village: "DS4.ItemAvailabilityVilage",
|
village: "DS4.ItemAvailabilityVilage",
|
||||||
city: "DS4.ItemAvailabilityCity",
|
city: "DS4.ItemAvailabilityCity",
|
||||||
elves: "DS4.ItemAvailabilityElves",
|
elves: "DS4.ItemAvailabilityElves",
|
||||||
dwarves: "DS4.ItemAvailabilityDwarves",
|
dwarves: "DS4.ItemAvailabilityDwarves",
|
||||||
none: "DS4.ItemAvailabilityNone",
|
nowhere: "DS4.ItemAvailabilityNowhere",
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -31,7 +31,12 @@ Hooks.once("init", async function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
async function registerHandlebarsPartials() {
|
async function registerHandlebarsPartials() {
|
||||||
const templatePaths = ["systems/ds4/templates/item/partials/description.hbs"];
|
const templatePaths = [
|
||||||
|
"systems/ds4/templates/item/partials/description.hbs",
|
||||||
|
"systems/ds4/templates/item/partials/details.hbs",
|
||||||
|
"systems/ds4/templates/item/partials/effects.hbs",
|
||||||
|
"systems/ds4/templates/item/partials/body.hbs",
|
||||||
|
];
|
||||||
return loadTemplates(templatePaths);
|
return loadTemplates(templatePaths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,8 @@ interface DS4ItemBase {
|
||||||
interface DS4ItemPhysical {
|
interface DS4ItemPhysical {
|
||||||
quantity: number;
|
quantity: number;
|
||||||
price: number;
|
price: number;
|
||||||
availability: "hamlet" | "village" | "city" | "elves" | "dwarves" | "none";
|
availability: "hamlet" | "village" | "city" | "elves" | "dwarves" | "nowhere" | "unset";
|
||||||
|
storageLocation: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface DS4ItemEquipable {
|
interface DS4ItemEquipable {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.side-properties {
|
.side-properties {
|
||||||
flex: 0 0 150px;
|
flex: 0 0 50%;
|
||||||
margin: 5px 5px 5px 0;
|
margin: 5px 5px 5px 0;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
border-right: 2px groove $c-border-groove;
|
border-right: 2px groove $c-border-groove;
|
||||||
|
@ -10,15 +10,15 @@
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
flex: 2;
|
flex: 1;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
input,
|
input,
|
||||||
select {
|
select {
|
||||||
text-align: right;
|
text-align: left;
|
||||||
flex: 1;
|
flex: 1.5 1.5 0px;
|
||||||
width: calc(100% - 2px);
|
width: calc(100% - 2px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,8 @@
|
||||||
"physical": {
|
"physical": {
|
||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
"price": 0,
|
"price": 0,
|
||||||
"availability": "none"
|
"availability": "unset",
|
||||||
|
"storageLocation": "-"
|
||||||
},
|
},
|
||||||
"equipable": {
|
"equipable": {
|
||||||
"equipped": false
|
"equipped": false
|
||||||
|
|
|
@ -34,21 +34,6 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Common Item body --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
{{> systems/ds4/templates/item/partials/body.hbs}}
|
||||||
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
|
||||||
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{!-- Description Tab --}}
|
|
||||||
{{> systems/ds4/templates/item/partials/description.hbs}}
|
|
||||||
|
|
||||||
{{!-- Attributes Tab --}}
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
{{!-- As you add new fields, add them in here! --}}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</form>
|
</form>
|
|
@ -7,21 +7,6 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Common Item body --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
{{> systems/ds4/templates/item/partials/body.hbs}}
|
||||||
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
|
||||||
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{!-- Description Tab --}}
|
|
||||||
{{> systems/ds4/templates/item/partials/description.hbs}}
|
|
||||||
|
|
||||||
{{!-- Attributes Tab --}}
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
{{!-- As you add new fields, add them in here! --}}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</form>
|
</form>
|
22
src/templates/item/partials/body.hbs
Normal file
22
src/templates/item/partials/body.hbs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{{!-- Template for the common body (navigation & body sections) of all items. --}}
|
||||||
|
|
||||||
|
{{!-- Sheet Tab Navigation --}}
|
||||||
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
|
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
||||||
|
<a class="item" data-tab="effects">{{localize "DS4.Effects"}}</a>
|
||||||
|
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{!-- Description Tab --}}
|
||||||
|
{{> systems/ds4/templates/item/partials/description.hbs}}
|
||||||
|
|
||||||
|
{{!-- Details Tab --}}
|
||||||
|
{{> systems/ds4/templates/item/partials/details.hbs}}
|
||||||
|
|
||||||
|
{{!-- Effects Tab --}}
|
||||||
|
{{> systems/ds4/templates/item/partials/effects.hbs}}
|
||||||
|
|
||||||
|
</section>
|
|
@ -4,12 +4,16 @@
|
||||||
<label for="data.quantity">{{localize "DS4.Quantity"}}</label>
|
<label for="data.quantity">{{localize "DS4.Quantity"}}</label>
|
||||||
<input type="number" data-dtype="Number" name="data.quantity" value="{{data.quantity}}" />
|
<input type="number" data-dtype="Number" name="data.quantity" value="{{data.quantity}}" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="side-property">
|
||||||
|
<label for="data.storageLocation">{{localize "DS4.StorageLocation"}}</label>
|
||||||
|
<input type="text" data-dtype="String" name="data.storageLocation" value="{{data.storageLocation}}" />
|
||||||
|
</div>
|
||||||
<div class="side-property">
|
<div class="side-property">
|
||||||
<label for="data.price">{{localize "DS4.PriceGold"}}</label>
|
<label for="data.price">{{localize "DS4.PriceGold"}}</label>
|
||||||
<input type="number" data-dtype="Number" name="data.price" value="{{data.price}}" />
|
<input type="number" data-dtype="Number" name="data.price" value="{{data.price}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="side-property">
|
<div class="side-property">
|
||||||
<label for="data.price">{{localize "DS4.ItemAvailability"}}</label>
|
<label for="data.availability">{{localize "DS4.ItemAvailability"}}</label>
|
||||||
<select name="data.availability" data-type="String">
|
<select name="data.availability" data-type="String">
|
||||||
{{#select data.availability}}
|
{{#select data.availability}}
|
||||||
{{#each config.itemAvailabilities as |value key|}}
|
{{#each config.itemAvailabilities as |value key|}}
|
||||||
|
@ -18,7 +22,6 @@
|
||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
5
src/templates/item/partials/details.hbs
Normal file
5
src/templates/item/partials/details.hbs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{{!-- The item tab for details. --}}
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
{{!-- As you add new fields, add them in here! --}}
|
||||||
|
<p>Nothing to see yet.</p>
|
||||||
|
</div>
|
22
src/templates/item/partials/effects.hbs
Normal file
22
src/templates/item/partials/effects.hbs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{{!-- Tab for the items view to manage effects --}}
|
||||||
|
<div class="tab details" data-group="primary" data-tab="effects">
|
||||||
|
<ol class="effects-list">
|
||||||
|
<li class="effect flexrow effect-header">
|
||||||
|
<div class="effect-image"></div>
|
||||||
|
<div class="effect-name">Name</div>
|
||||||
|
<div class="effect-controls">
|
||||||
|
<a class="effect-control effect-create" title="Create Effect"><i
|
||||||
|
class="fas fa-plus"></i> Add effect</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{#each item.effects as |effect id|}}
|
||||||
|
<li class="effect flexrow" data-effect-id="{{effect._id}}">
|
||||||
|
<h4 class="effect-name">{{effect.label}}</h4>
|
||||||
|
<div class="effect-controls">
|
||||||
|
<a class="effect-control effect-edit" title="Edit Effect"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="effect-control effect-delete" title="Delete Effect"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
||||||
|
</div>
|
|
@ -14,21 +14,6 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Common Item body --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
{{> systems/ds4/templates/item/partials/body.hbs}}
|
||||||
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
|
||||||
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{!-- Description Tab --}}
|
|
||||||
{{> systems/ds4/templates/item/partials/description.hbs}}
|
|
||||||
|
|
||||||
{{!-- Attributes Tab --}}
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
{{!-- As you add new fields, add them in here! --}}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</form>
|
</form>
|
|
@ -7,39 +7,6 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Common Item body --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
{{> systems/ds4/templates/item/partials/body.hbs}}
|
||||||
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
|
||||||
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{!-- Description Tab --}}
|
|
||||||
{{> systems/ds4/templates/item/partials/description.hbs}}
|
|
||||||
|
|
||||||
{{!-- Attributes Tab --}}
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
<ol class="effects-list">
|
|
||||||
<li class="effect flexrow effect-header">
|
|
||||||
<div class="effect-image"></div>
|
|
||||||
<div class="effect-name">Name</div>
|
|
||||||
<div class="effect-controls">
|
|
||||||
<a class="effect-control effect-create" title="Create Effect"><i
|
|
||||||
class="fas fa-plus"></i> Add effect</a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{#each item.effects as |effect id|}}
|
|
||||||
<li class="effect flexrow" data-effect-id="{{effect._id}}">
|
|
||||||
<h4 class="effect-name">{{effect.label}}</h4>
|
|
||||||
<div class="effect-controls">
|
|
||||||
<a class="effect-control effect-edit" title="Edit Effect"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="effect-control effect-delete" title="Delete Effect"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</form>
|
</form>
|
|
@ -29,21 +29,6 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Common Item body --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
{{> systems/ds4/templates/item/partials/body.hbs}}
|
||||||
<a class="item" data-tab="description">{{localize "DS4.Description"}}</a>
|
|
||||||
<a class="item" data-tab="details">{{localize "DS4.Details"}}</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{!-- Description Tab --}}
|
|
||||||
{{> systems/ds4/templates/item/partials/description.hbs}}
|
|
||||||
|
|
||||||
{{!-- Attributes Tab --}}
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
{{!-- As you add new fields, add them in here! --}}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</form>
|
</form>
|
Loading…
Reference in a new issue