Properties from pack

Editable functionalities (hide icons)
This commit is contained in:
Vlyan
2020-12-24 12:54:45 +01:00
parent ecdeaea1d6
commit 3c79556152
20 changed files with 62 additions and 32 deletions

View File

@@ -87,6 +87,13 @@ export class BaseSheetL5r5e extends ActorSheet {
event.target.select();
});
// Toggle
// html.find(".toggle-on-click").on("click", (event) => {
// const elmt = $(event.currentTarget).data("toggle");
// const tgt = html.find("." + elmt);
// tgt.hasClass('toggle-active') ? tgt.removeClass('toggle-active') : tgt.addClass('toggle-active');
// });
// *** Items : edit, delete ***
["item", "peculiarity", "technique", "advancement"].forEach((type) => {
html.find(`.${type}-edit`).on("click", (event) => {

View File

@@ -20,10 +20,9 @@ export class AdvancementSheetL5r5e extends ItemSheetL5r5e {
});
}
getData() {
const sheetData = super.getData();
async getData() {
const sheetData = await super.getData();
sheetData.data.dtypes = ["String", "Number", "Boolean"];
sheetData.data.subTypesList = AdvancementSheetL5r5e.types;
sheetData.data.skillsList = game.l5r5e.HelpersL5r5e.getSkillsList(true);

View File

@@ -14,7 +14,7 @@ export class ItemSheetL5r5e extends ItemSheet {
});
}
getData() {
async getData() {
const sheetData = super.getData();
sheetData.data.dtypes = ["String", "Number", "Boolean"];
@@ -22,7 +22,7 @@ export class ItemSheetL5r5e extends ItemSheet {
sheetData.data.techniquesList = game.l5r5e.HelpersL5r5e.getTechniquesList();
// Prepare Properties (id/name => object)
this._prepareProperties(sheetData);
await this._prepareProperties(sheetData);
return sheetData;
}
@@ -31,21 +31,26 @@ export class ItemSheetL5r5e extends ItemSheet {
* Prepare properties list
* @private
*/
_prepareProperties(sheetData) {
async _prepareProperties(sheetData) {
sheetData.data.propertiesList = [];
if (Array.isArray(sheetData.data.properties)) {
const props = [];
sheetData.data.properties.forEach((e) => {
const obj = game.items.get(e.id);
// remove item if not found (probably a deleted item)
if (!obj) {
return;
for (const property of sheetData.data.properties) {
let item = game.items.get(property.id);
if (item) {
// Live item
sheetData.data.propertiesList.push(item);
props.push({ id: property.id, name: item.name });
} else {
// Pack item
item = await game.packs.get("l5r5e.Properties").getEntry(property.id);
if (item) {
sheetData.data.propertiesList.push(item);
props.push({ id: item._id, name: item.name });
}
}
sheetData.data.propertiesList.push(obj);
// update name if referenced object was rename
props.push({ id: e.id, name: obj.name });
});
}
sheetData.data.properties = props;
}
}
@@ -67,6 +72,13 @@ export class ItemSheetL5r5e extends ItemSheet {
event.target.select();
});
// Toggle
// html.find(".toggle-on-click").on("click", (event) => {
// const elmt = $(event.currentTarget).data("toggle");
// const tgt = html.find("." + elmt);
// tgt.hasClass('toggle-active') ? tgt.removeClass('toggle-active') : tgt.addClass('toggle-active');
// });
// Delete a property
html.find(`.property-delete`).on("click", (event) => {
const li = $(event.currentTarget).parents(".property");

View File

@@ -21,10 +21,9 @@ export class PeculiaritySheetL5r5e extends ItemSheetL5r5e {
});
}
getData() {
const sheetData = super.getData();
async getData() {
const sheetData = await super.getData();
sheetData.data.dtypes = ["String", "Number", "Boolean"];
sheetData.data.subTypesList = PeculiaritySheetL5r5e.types;
return sheetData;

View File

@@ -16,9 +16,8 @@ export class WeaponSheetL5r5e extends ItemSheetL5r5e {
});
}
getData() {
const sheetData = super.getData();
sheetData.data.dtypes = ["String", "Number", "Boolean"];
async getData() {
const sheetData = await super.getData();
// Martial skills only
sheetData.data.skills = Array.from(L5R5E.skills)

View File

@@ -17,7 +17,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id }}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>
@@ -29,7 +29,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id }}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -18,7 +18,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'technique'}}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item }}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -3,7 +3,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.data.peculiarity_type}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id }}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>
@@ -13,7 +13,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.data.peculiarity_type}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id }}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -7,7 +7,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'technique'}}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item }}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -2,8 +2,10 @@
<ul class="item-header advancement-controls">
<li class="item-img"><img src="{{advancement.img}}" title="{{advancement.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ advancement.name }}</li>
{{#if editable}}
<li class="item-control advancement-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-control advancement-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<div class="item-description">{{{ advancement.data.description }}}</div>
</li>

View File

@@ -6,8 +6,10 @@
<i class="fas fa-tint" title="{{ localize 'l5r5e.armors.type' }} {{ localize 'l5r5e.armors.physical' }}"> {{item.data.armor.physical}}</i>
<i class="fas fa-bolt" title="{{ localize 'l5r5e.armors.type' }} {{ localize 'l5r5e.armors.supernatural' }}"> {{item.data.armor.supernatural}}</i>
</li>
{{#if editable}}
<li class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<ul class="item-properties">
{{#each item.data.properties as |property id|}}

View File

@@ -3,7 +3,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'armor'}}
{{> 'systems/l5r5e/templates/items/armor/armor-entry.html' item=item id=id }}
{{> 'systems/l5r5e/templates/items/armor/armor-entry.html' item=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -2,8 +2,10 @@
<ul class="item-header item-control">
<li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ item.name }} <sub>x{{ item.data.quantity }}</sub></li>
{{#if editable}}
<li class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<ul class="item-properties">
{{#each item.data.properties as |property id|}}

View File

@@ -3,7 +3,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'item'}}
{{> 'systems/l5r5e/templates/items/item/item-entry.html' item=item id=id }}
{{> 'systems/l5r5e/templates/items/item/item-entry.html' item=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -2,8 +2,10 @@
<ul class="item-header peculiarity-controls">
<li class="item-img"><img src="{{peculiarity.img}}" title="{{peculiarity.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ peculiarity.name }}</li>
{{#if editable}}
<li class="item-control peculiarity-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-control peculiarity-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<div class="item-description">{{{ peculiarity.data.description }}}</div>
</li>

View File

@@ -3,7 +3,7 @@
<ul class="item-list">
{{#each properties as |item id|}}
<!-- {{#ifCond item.type '==' 'property'}}-->
{{> 'systems/l5r5e/templates/items/property/property-entry.html' item=item id=id }}
{{> 'systems/l5r5e/templates/items/property/property-entry.html' item=item id=id editable=../editable }}
<!-- {{/ifCond}}-->
{{/each}}
</ul>

View File

@@ -2,7 +2,9 @@
<ul class="property-header property-control">
<li class="property-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li>
<li class="property-name">{{ item.name }}</li>
{{#if editable}}
<li class="property-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<div class="item-description">{{{ item.data.description }}}</div>
</li>

View File

@@ -2,8 +2,10 @@
<ul class="item-header technique-controls">
<li class="item-img"><img src="{{technique.img}}" title="{{technique.name}}" width="32px" height="32px"/></li>
<li class="item-name">{{ technique.name }}</li>
{{#if editable}}
<li class="item-control technique-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-control technique-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<div class="item-description">{{{ technique.data.description }}}</div>
</li>

View File

@@ -7,8 +7,10 @@
<i class="fas fa-tint" title="{{ localize 'l5r5e.weapons.damage' }}"> {{item.data.damage}}</i>
<i class="fas fa-skull" title="{{ localize 'l5r5e.weapons.deadliness' }}"> {{item.data.deadliness}}</i>
</li>
{{#if editable}}
<li class="item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li class="item-delete" title="{{localize 'l5r5e.global.delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
<ul class="item-properties">
{{#each item.data.properties as |property id|}}

View File

@@ -3,7 +3,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond item.type '==' 'weapon'}}
{{> 'systems/l5r5e/templates/items/weapon/weapon-entry.html' item=item id=id }}
{{> 'systems/l5r5e/templates/items/weapon/weapon-entry.html' item=item id=id editable=../editable }}
{{/ifCond}}
{{/each}}
</ul>