Working on Compatibility for FVTT v10

modified some actor-id to uuid :
dragndrop-actor-id -> dragndrop-actor-uuid
open-sheet-actor-id -> open-sheet-from-uuid
This commit is contained in:
Vlyan
2022-07-22 11:03:08 +02:00
parent dbbde5eeb3
commit 894cdba28b
10 changed files with 33 additions and 31 deletions

View File

@@ -470,16 +470,18 @@ export class HelpersL5r5e {
}); });
// Ability to drag n drop an actor // Ability to drag n drop an actor
html.find(".dragndrop-actor-id").on("dragstart", (event) => { html.find(".dragndrop-actor-uuid").on("dragstart", (event) => {
// Compatibility actor-id (armies sheets)
const actorId = $(event.currentTarget).data("actor-id"); const actorId = $(event.currentTarget).data("actor-id");
if (!actorId) { const actorUuid = $(event.currentTarget).data("actor-uuid");
if (!actorId && !actorUuid) {
return; return;
} }
event.originalEvent.dataTransfer.setData( event.originalEvent.dataTransfer.setData(
"text/plain", "text/plain",
JSON.stringify({ JSON.stringify({
type: "Actor", type: "Actor",
id: actorId, uuid: actorUuid ? actorUuid : `Actor.${actorId}`, // TODO fix for v10 uuid required, remove use of id in futur
}) })
); );
}); });
@@ -494,15 +496,19 @@ export class HelpersL5r5e {
}); });
// Open actor sheet // Open actor sheet
html.find(".open-sheet-actor-id").on("click", (event) => { html.find(".open-sheet-from-uuid").on("click", async (event) => {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
const uuid = $(event.currentTarget).data("uuid");
const id = $(event.currentTarget).data("actor-id"); const actorId = $(event.currentTarget).data("actor-id");
if (!id) { if (!uuid && !actorId) {
return; return;
} }
game.actors.get(id)?.sheet?.render(true); if (actorId) {
// Compatibility actor-id (armies sheets)
game.actors.get(actorId)?.sheet?.render(true);
}
(await fromUuid(uuid))?.sheet?.render(true);
}); });
} }

View File

@@ -48,7 +48,6 @@ export class ItemL5r5e extends Item {
// Merge (DocumentData cannot be set) // Merge (DocumentData cannot be set)
const result = foundry.utils.mergeObject(this, foundry.utils.expandObject(data)); const result = foundry.utils.mergeObject(this, foundry.utils.expandObject(data));
console.log(result); // TODO TMP
if (result.name) { if (result.name) {
this.name = result.name; this.name = result.name;
@@ -56,8 +55,8 @@ export class ItemL5r5e extends Item {
if (result.img) { if (result.img) {
this.img = result.img; this.img = result.img;
} }
if (result.data) { if (result.system) {
this.data = result.data; // todo tmp check this! this.system = result.system;
} }
// Update // Update

View File

@@ -85,10 +85,7 @@ export class ArmyCohortSheetL5r5e extends ItemSheetL5r5e {
html.find(".actor-remove-control").on("click", (event) => { html.find(".actor-remove-control").on("click", (event) => {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
const id = $(event.currentTarget).data("actor-id");
if (id) {
this._removeLinkedActor(); this._removeLinkedActor();
}
}); });
} }

View File

@@ -7,7 +7,7 @@
</div> </div>
{{!-- Sheet Header --}} {{!-- Sheet Header --}}
<header class="sheet-header"> <header class="sheet-header">
<img class="profile-img dragndrop-actor-id pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-id="{{actor.id}}" draggable="true" title="{{data.name}}"/> <img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true" title="{{data.name}}"/>
<div class="header-fields identity-wrapper"> <div class="header-fields identity-wrapper">
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1> <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1>
<div class="readiness"> <div class="readiness">

View File

@@ -4,7 +4,7 @@
<p class="warlord-name"> <p class="warlord-name">
{{#if data.system.warlord_actor_id}} {{#if data.system.warlord_actor_id}}
<label> <label>
<a data-actor-id="{{data.system.warlord_actor_id}}" class="open-sheet-actor-id">{{data.system.warlord}}</a> <a data-actor-id="{{data.system.warlord_actor_id}}" class="open-sheet-from-uuid">{{data.system.warlord}}</a>
{{#if data.editable_not_soft_locked}} {{#if data.editable_not_soft_locked}}
<span data-actor-id="{{actor.id}}" data-type="warlord" class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span> <span data-actor-id="{{actor.id}}" data-type="warlord" class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span>
{{/if}} {{/if}}
@@ -29,7 +29,7 @@
<div class="warlord-name"> <div class="warlord-name">
{{#if data.system.commander_actor_id}} {{#if data.system.commander_actor_id}}
<label> <label>
<a data-actor-id="{{data.system.commander_actor_id}}" class="open-sheet-actor-id">{{data.system.commander}}</a> <a data-actor-id="{{data.system.commander_actor_id}}" class="open-sheet-from-uuid">{{data.system.commander}}</a>
{{#if data.editable_not_soft_locked}} {{#if data.editable_not_soft_locked}}
<span data-actor-id="{{actor.id}}" data-type="commander" class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span> <span data-actor-id="{{actor.id}}" data-type="commander" class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span>
{{/if}} {{/if}}

View File

@@ -7,7 +7,7 @@
</div> </div>
{{!-- Sheet Header --}} {{!-- Sheet Header --}}
<header class="sheet-header"> <header class="sheet-header">
<img class="profile-img dragndrop-actor-id pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-id="{{actor.id}}" draggable="true" title="{{data.name}}"/> <img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true" title="{{data.name}}"/>
<div class="header-fields identity-wrapper"> <div class="header-fields identity-wrapper">
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1> <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1>
{{> 'systems/l5r5e/templates/actors/character/identity.html'}} {{> 'systems/l5r5e/templates/actors/character/identity.html'}}

View File

@@ -8,7 +8,7 @@
{{!-- Sheet Header --}} {{!-- Sheet Header --}}
<header class="sheet-header"> <header class="sheet-header">
<div class="header-fields identity-wrapper"> <div class="header-fields identity-wrapper">
<img class="profile-img dragndrop-actor-id pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-id="{{actor.id}}" draggable="true" title="{{data.name}}"/> <img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true" title="{{data.name}}"/>
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1> <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1>
{{> 'systems/l5r5e/templates/actors/npc/identity.html'}} {{> 'systems/l5r5e/templates/actors/npc/identity.html'}}
</div> </div>

View File

@@ -20,9 +20,9 @@
<tbody> <tbody>
{{#each data.actors as |actor|}} {{#each data.actors as |actor|}}
<tr> <tr>
<td><img data-actor-id="{{actor.id}}" draggable="true" class="profile actor-profile dragndrop-actor-id pointer" title="{{actor.name}}" src="{{actor.img}}"></td> <td><img data-actor-uuid="{{actor.uuid}}" draggable="true" class="profile actor-profile dragndrop-actor-uuid pointer" title="{{actor.name}}" src="{{actor.img}}"></td>
<td> <td>
<a data-actor-id="{{actor.id}}" class="open-sheet-actor-id">{{actor.name}}</a> <a data-uuid="{{actor.uuid}}" class="open-sheet-from-uuid">{{actor.name}}</a>
{{#if actor.system.attitude}}<p>({{actor.system.attitude}})</p>{{/if}} {{#if actor.system.attitude}}<p>({{actor.system.attitude}})</p>{{/if}}
</td> </td>
<td> <td>
@@ -99,11 +99,11 @@
<tbody> <tbody>
{{#each data.actors as |actor|}} {{#each data.actors as |actor|}}
<tr> <tr>
<td><img data-actor-id="{{actor.id}}" draggable="true" class="profile actor-profile dragndrop-actor-id pointer" title="{{actor.name}}" src="{{actor.img}}"></td> <td><img data-actor-uuid="{{actor.uuid}}" draggable="true" class="profile actor-profile dragndrop-actor-uuid pointer" title="{{actor.name}}" src="{{actor.img}}"></td>
<td><a data-actor-id="{{actor.id}}" class="open-sheet-actor-id">{{actor.name}}</a></td> <td><a data-uuid="{{actor.uuid}}" class="open-sheet-from-uuid">{{actor.name}}</a></td>
<td> <td>
{{#if actor.system.warlord_actor_id}} {{#if actor.system.warlord_actor_id}}
<a data-actor-id="{{actor.system.warlord_actor_id}}" class="open-sheet-actor-id">{{actor.system.warlord}}</a> <a data-actor-id="{{actor.system.warlord_actor_id}}" class="open-sheet-from-uuid">{{actor.system.warlord}}</a>
{{else}} {{else}}
{{actor.system.warlord}} {{actor.system.warlord}}
{{/if}} {{/if}}
@@ -122,7 +122,7 @@
</td> </td>
<td> <td>
{{#if actor.system.commander_actor_id}} {{#if actor.system.commander_actor_id}}
<a data-actor-id="{{actor.system.commander_actor_id}}" class="open-sheet-actor-id">{{actor.system.commander}}</a> <a data-actor-id="{{actor.system.commander_actor_id}}" class="open-sheet-from-uuid">{{actor.system.commander}}</a>
{{else}} {{else}}
{{actor.system.commander}} {{actor.system.commander}}
{{/if}} {{/if}}

View File

@@ -1,6 +1,6 @@
<li class="item cohort flexcol dragndrop-actor-id actor"> <li class="item cohort flexcol actor">
<ul class="item-header item-control"> <ul class="item-header item-control">
<li class="item-img"><img src="{{cohort.img}}" title="{{cohort.name}}" width="32px" height="32px" {{#if cohort.system.leader_actor_id}}draggable="true" class="dragndrop-actor-id pointer" data-actor-id="{{cohort.system.leader_actor_id}}"{{/if}}/></li> <li class="item-img"><img src="{{cohort.img}}" title="{{cohort.name}}" width="32px" height="32px" {{#if cohort.system.leader_actor_id}}draggable="true" class="dragndrop-actor-uuid pointer" data-actor-id="{{cohort.system.leader_actor_id}}"{{/if}}/></li>
<li class="item-name l5r5e-tooltip" data-item-id="{{cohort._id}}">{{cohort.name}}</li> <li class="item-name l5r5e-tooltip" data-item-id="{{cohort._id}}">{{cohort.name}}</li>
<li class="icon-stat-container"> <li class="icon-stat-container">
<i class="fas fa-user-injured" title="{{localize 'l5r5e.army.battle_readiness.casualties'}}"> {{cohort.system.battle_readiness.casualties_strength.value}}</i> <i class="fas fa-user-injured" title="{{localize 'l5r5e.army.battle_readiness.casualties'}}"> {{cohort.system.battle_readiness.casualties_strength.value}}</i>
@@ -14,7 +14,7 @@
{{/if}} {{/if}}
</ul> </ul>
<ul class="item-properties"> <ul class="item-properties">
{{#if cohort.system.leader}}<li>{{localize 'l5r5e.army.cohort.leader'}} : {{#if cohort.system.leader_actor_id}}<a data-actor-id="{{cohort.system.leader_actor_id}}" class="open-sheet-actor-id">{{cohort.system.leader}}</a>{{else}}{{cohort.system.leader}}{{/if}}</li>{{/if}} {{#if cohort.system.leader}}<li>{{localize 'l5r5e.army.cohort.leader'}} : {{#if cohort.system.leader_actor_id}}<a data-actor-id="{{cohort.system.leader_actor_id}}" class="open-sheet-from-uuid">{{cohort.system.leader}}</a>{{else}}{{cohort.system.leader}}{{/if}}</li>{{/if}}
{{#if cohort.system.equipment}}<li>{{localize 'l5r5e.sheets.equipment'}} : {{cohort.system.equipment}}</li>{{/if}} {{#if cohort.system.equipment}}<li>{{localize 'l5r5e.sheets.equipment'}} : {{cohort.system.equipment}}</li>{{/if}}
</ul> </ul>
</li> </li>

View File

@@ -29,8 +29,8 @@
{{^if data.system.leader_actor_id}}<i class="fa fa-sign-in-alt" aria-hidden="true"></i> {{/if}}{{localize 'l5r5e.army.cohort.leader'}} {{^if data.system.leader_actor_id}}<i class="fa fa-sign-in-alt" aria-hidden="true"></i> {{/if}}{{localize 'l5r5e.army.cohort.leader'}}
{{#if data.system.leader_actor_id}} {{#if data.system.leader_actor_id}}
<div> <div>
<span data-actor-id="{{data.system.leader_actor_id}}" class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span> <span class="actor-remove-control pointer" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></span>
<a data-actor-id="{{data.system.leader_actor_id}}" class="open-sheet-actor-id">{{data.system.leader}}</a> <a data-actor-id="{{data.system.leader_actor_id}}" class="open-sheet-from-uuid">{{data.system.leader}}</a>
</div> </div>
{{else}} {{else}}
<input class="select-on-focus" type="text" name="system.leader" value="{{data.system.leader}}" data-dtype="String"/> <input class="select-on-focus" type="text" name="system.leader" value="{{data.system.leader}}" data-dtype="String"/>