picker members

This commit is contained in:
François-Xavier Guillois
2023-09-01 21:43:22 +02:00
parent e11525564a
commit ac445bfe40
3 changed files with 44 additions and 16 deletions
+31 -1
View File
@@ -95,6 +95,7 @@ export class VermineGroupSheet extends VermineActorSheet {
const evolutions = []; const evolutions = [];
const traumas = []; const traumas = [];
// Iterate through items, allocating to containers // Iterate through items, allocating to containers
for (let i of context.items) { for (let i of context.items) {
i.img = i.img || DEFAULT_TOKEN; i.img = i.img || DEFAULT_TOKEN;
@@ -122,7 +123,17 @@ export class VermineGroupSheet extends VermineActorSheet {
context.backgrounds = backgrounds; context.backgrounds = backgrounds;
context.evolutions = evolutions; context.evolutions = evolutions;
context.traumas = traumas; context.traumas = traumas;
console.log(context); context.members = [];
context.encounters = [];
for(let memberId of context.actor.system.members){
context.members.push(game.actors.get(memberId));
}
for(let encounterId of context.actor.system.encounters){
context.encounters.push(game.actors.get(encounterId));
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -149,6 +160,25 @@ export class VermineGroupSheet extends VermineActorSheet {
// Choose Members / Encounters // Choose Members / Encounters
html.find('.chooseActor').click(this._onRoadButton.bind(this)); html.find('.chooseActor').click(this._onRoadButton.bind(this));
html.find('.member-delete').click(ev => {
const li = $(ev.currentTarget).parents("li.actor");
const actorId = li.data("actor-id");
const actorIdIndex = this.actor.system.members.indexOf(actorId);
if (actorIdIndex !== -1){
this.actor.system.members.splice(actorIdIndex, 1);
}
this.render(true);
});
html.find('.encounter-delete').click(ev => {
const li = $(ev.currentTarget).parents("li.actor");
const actorId = li.data("actor-id");
const actorIdIndex = this.actor.system.encounters.indexOf(actorId);
if (actorIdIndex !== -1){
this.actor.system.encounters.splice(actorIdIndex, 1);
}
this.render(true);
});
if (this.actor.isOwner) { if (this.actor.isOwner) {
let handler = ev => this._onDragStart(ev); let handler = ev => this._onDragStart(ev);
+2 -3
View File
@@ -99,8 +99,8 @@ export class ActorPicker extends Application {
super.activateListeners(html); super.activateListeners(html);
html.find('.actor').click(event => { html.find('.actor').click(event => {
const actorId = $(event.target).parent('div').data('id'); const actorId = $(event.target).parent('div').data('id');
let actorsList = [];
const type = $(this.linkEl).data('type'); const type = $(this.linkEl).data('type');
let actorsList = [];
if (type == 'members'){ if (type == 'members'){
actorsList = this.actor.system.members; actorsList = this.actor.system.members;
@@ -110,7 +110,7 @@ export class ActorPicker extends Application {
if (!Array.isArray(actorsList)){ if (!Array.isArray(actorsList)){
actorsList = []; actorsList = [];
} }
console.log(actorsList, type, this.actor.system.encounters, this.actor.system.members);
actorsList.push(actorId); actorsList.push(actorId);
if (type == 'members'){ if (type == 'members'){
@@ -119,7 +119,6 @@ export class ActorPicker extends Application {
} else if (type == 'encounters'){ } else if (type == 'encounters'){
this.actor.update({ 'system.encounters': actorsList }); this.actor.update({ 'system.encounters': actorsList });
} }
console.log(actorsList);
}); });
} }
+10 -11
View File
@@ -5,14 +5,14 @@
<a class="item-control chooseActor" title="Add member" data-type="members"><i class="fas fa-plus"></i></a> <a class="item-control chooseActor" title="Add member" data-type="members"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each specialties as |item id|}} {{#each members as |actor id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="actor flexrow" data-actor-id="{{actor._id}}">
<div class="item-name" style="flex:4;"> {{ log actor }}
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <div class="actor-name" style="flex:4;">
<a class="item-control">{{actor.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-eye"></i></a> <a class="item-control member-delete" title="Delete Member"><i class="fas fa-trash"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
@@ -24,14 +24,13 @@
<a class="item-control chooseActor" title="Add member" data-type="encounters"><i class="fas fa-plus"></i></a> <a class="item-control chooseActor" title="Add member" data-type="encounters"><i class="fas fa-plus"></i></a>
</h4> </h4>
<ol class="list-item"> <ol class="list-item">
{{#each backgrounds as |item id|}} {{#each encounters as |actor id|}}
<li class="item flexrow" data-item-id="{{item._id}}"> <li class="actor flexrow" data-actor-id="{{actor._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a class="item-control">{{actor.name}}</a>
</div> </div>
<div class="item-controls flexrow"> <div class="item-controls flexrow">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-eye"></i></a> <a class="item-control encounter-delete" title="Delete Encounter"><i class="fas fa-trash"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}