advancements now with tabs
This commit is contained in:
@@ -263,6 +263,7 @@
|
||||
"title": "Advancements",
|
||||
"title_new": "New advancement",
|
||||
"school_rank": "School rank",
|
||||
"school_rank_0": "Bg",
|
||||
"total": "Total",
|
||||
"cost": "Cost",
|
||||
"spent": "Used",
|
||||
|
||||
@@ -263,6 +263,7 @@
|
||||
"title": "Advancements",
|
||||
"title_new": "New advancement",
|
||||
"school_rank": "School rank",
|
||||
"school_rank_0": "Bg",
|
||||
"total": "Total",
|
||||
"cost": "Cost",
|
||||
"spent": "Usada",
|
||||
|
||||
@@ -263,6 +263,7 @@
|
||||
"title": "Progressions",
|
||||
"title_new": "Nouvelle progression",
|
||||
"school_rank": "Rang d'école",
|
||||
"school_rank_0": "Bg",
|
||||
"total": "Totale",
|
||||
"cost": "Coût",
|
||||
"spent": "Dépensée",
|
||||
|
||||
@@ -11,7 +11,7 @@ export class BaseSheetL5r5e extends ActorSheet {
|
||||
// template: CONFIG.l5r5e.paths.templates + "actors/character-sheet.html",
|
||||
width: 600,
|
||||
height: 800,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
});
|
||||
}
|
||||
@@ -162,7 +162,7 @@ export class BaseSheetL5r5e extends ActorSheet {
|
||||
tgt.hasClass("toggle-active") ? tgt.removeClass("toggle-active") : tgt.addClass("toggle-active");
|
||||
});
|
||||
|
||||
// *** Items : add, edit, delete, curriculum ***
|
||||
// *** Items : add, edit, delete ***
|
||||
html.find(".item-add").on("click", (event) => {
|
||||
this._addSubItem(event);
|
||||
});
|
||||
@@ -172,21 +172,6 @@ export class BaseSheetL5r5e extends ActorSheet {
|
||||
html.find(`.item-delete`).on("click", (event) => {
|
||||
this._deleteSubItem(event);
|
||||
});
|
||||
html.find(`.item-curriculum`).on("click", (event) => {
|
||||
this._switchSubItemCurriculum(event);
|
||||
});
|
||||
html.find(`button[name=validate-curriculum]`).on("click", (event) => {
|
||||
this.actor.data.data.identity.school_rank = this.actor.data.data.identity.school_rank + 1;
|
||||
// Update actor
|
||||
this.actor.update({
|
||||
data: {
|
||||
identity: {
|
||||
school_rank: this.actor.data.data.identity.school_rank,
|
||||
},
|
||||
},
|
||||
});
|
||||
this.render(false);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,10 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["l5r5e", "sheet", "actor"],
|
||||
template: CONFIG.l5r5e.paths.templates + "actors/character-sheet.html",
|
||||
tabs: [
|
||||
{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" },
|
||||
{ navSelector: ".advancements-tabs", contentSelector: ".advancements-body", initial: "last" },
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
@@ -57,6 +61,42 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
|
||||
return sheetData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subscribe to events from the sheet.
|
||||
* @param html HTML content of the sheet.
|
||||
*/
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// *** Everything below here is only needed if the sheet is editable ***
|
||||
if (!this.options.editable) {
|
||||
return;
|
||||
}
|
||||
|
||||
// *** Items : curriculum management ***
|
||||
html.find(`.item-curriculum`).on("click", (event) => {
|
||||
this._switchSubItemCurriculum(event);
|
||||
});
|
||||
html.find(`button[name=validate-curriculum]`).on("click", (event) => {
|
||||
this.actor.data.data.identity.school_rank = this.actor.data.data.identity.school_rank + 1;
|
||||
// Update actor
|
||||
this.actor.update({
|
||||
data: {
|
||||
identity: {
|
||||
school_rank: this.actor.data.data.identity.school_rank,
|
||||
},
|
||||
},
|
||||
});
|
||||
this.render(false);
|
||||
});
|
||||
|
||||
// Advancements Tab to current rank onload
|
||||
// TODO class "Active" Bug on load, dunno why :/
|
||||
this._tabs
|
||||
.find((e) => e._navSelector === ".advancements-tabs")
|
||||
.activate("advancement_rank_" + (this.actor.data.data.identity.school_rank || 0));
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the total xp spent and the current total xp spent for this rank
|
||||
*/
|
||||
@@ -77,10 +117,6 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
|
||||
}
|
||||
|
||||
const rank = Math.max(0, item.data.bought_at_rank);
|
||||
if (rank < 1) {
|
||||
// Ignore starting comp/items
|
||||
return;
|
||||
}
|
||||
if (!adv[rank]) {
|
||||
adv[rank] = {
|
||||
rank: rank,
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,7 @@
|
||||
// -- Nav
|
||||
nav {
|
||||
&.sheet-tabs {
|
||||
&.sheet-tabs,
|
||||
&.advancements-tabs {
|
||||
height: 3rem;
|
||||
line-height: 3rem;
|
||||
font-family: $font-tertiary;
|
||||
|
||||
@@ -39,6 +39,9 @@
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
.advancements-tab {
|
||||
min-width: 60px;
|
||||
}
|
||||
}
|
||||
&.item,
|
||||
.technique,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<tr class="flexrow row advancement">
|
||||
<tr data-group="advancements" data-tab="advancement_rank_{{rank}}" class="flexrow row advancement tab">
|
||||
<td class="curriculum" name="curriculum">{{#if advancement.data.in_curriculum}}<i class="fas fa-graduation-cap"></i> {{/if}}</td>
|
||||
<td class="name" name="advancement.name"><img src="{{ advancement.img }}" title="{{ advancement.name }}"> {{ advancement.name }}</td>
|
||||
<td class="xp" name="advancement.xp">{{ advancement.data.xp_used }}</td>
|
||||
|
||||
@@ -13,8 +13,16 @@
|
||||
<input class="centered-input select-on-focus" type="number" name="data.xp_saved" value="{{ data.xp_saved }}" data-dtype="Number" min="0" placeholder="0" disabled/>
|
||||
</label>
|
||||
</fieldset>
|
||||
<fieldset class="advancement">
|
||||
<fieldset class="advancement advancements-body">
|
||||
<legend class="tools">{{ localize 'l5r5e.advancements.title'}} <a data-item-type="advancement" class="advancement-control item-add" title="{{ localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a></legend>
|
||||
<nav class="advancements-tabs tabs" data-group="advancements">
|
||||
<a class="item advancements-tab" data-tab="advancement_rank_0">{{localize 'l5r5e.advancements.school_rank_0'}}</a>
|
||||
{{#each advancementsListByRank as |rankObject|}}
|
||||
{{#ifCond rank '>' 0}}
|
||||
<a class="item advancements-tab" data-tab="advancement_rank_{{rank}}" title="{{localize 'l5r5e.advancements.school_rank'}} {{rankObject.rank}}">{{rankObject.rank}}</a>
|
||||
{{/ifCond}}
|
||||
{{/each}}
|
||||
</nav>
|
||||
<table>
|
||||
<thead class="flex">
|
||||
<tr class="flexrow row">
|
||||
@@ -29,19 +37,19 @@
|
||||
</thead>
|
||||
<tbody class="flex">
|
||||
{{#each advancementsListByRank as |rankObject|}}
|
||||
<tr class="flexrow row">
|
||||
<th>{{localize 'l5r5e.advancements.school_rank'}} {{rankObject.rank}}</th>
|
||||
</tr>
|
||||
{{#each rankObject.list as |advancement advancementId|}}
|
||||
{{> 'systems/l5r5e/templates/actors/character/advancement.html' advancement=advancement editable=../../editable }}
|
||||
{{> 'systems/l5r5e/templates/actors/character/advancement.html' advancement=advancement rank=rankObject.rank editable=../../editable }}
|
||||
{{/each}}
|
||||
<tr class="flexrow row">
|
||||
{{#ifCond rankObject.rank '>' 0}}
|
||||
<tr data-group="advancements" data-tab="advancement_rank_{{rankObject.rank}}" class="flexrow row tab">
|
||||
<th class="">
|
||||
{{#ifCond ../data.identity.school_rank '<' 6}}
|
||||
{{#ifCond (ifCond ../data.identity.school_rank '==' rankObject.rank) '&&' (ifCond rankObject.spent '>=' rankObject.goal)}}
|
||||
<button type="button" name="validate-curriculum">
|
||||
<i class='fas fa-check-square'></i> {{ localize 'l5r5e.advancements.curriculum_validate' }}
|
||||
</button>
|
||||
{{/ifCond}}
|
||||
{{/ifCond}}
|
||||
</th>
|
||||
<th class="">
|
||||
{{ localize 'l5r5e.advancements.total_xp_rank' }} :
|
||||
@@ -49,6 +57,7 @@
|
||||
{{#if rankObject.goal}}/{{rankObject.goal}}{{/if}}
|
||||
</th>
|
||||
</tr>
|
||||
{{/ifCond}}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user