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
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");
if (!actorId) {
const actorUuid = $(event.currentTarget).data("actor-uuid");
if (!actorId && !actorUuid) {
return;
}
event.originalEvent.dataTransfer.setData(
"text/plain",
JSON.stringify({
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
html.find(".open-sheet-actor-id").on("click", (event) => {
html.find(".open-sheet-from-uuid").on("click", async (event) => {
event.preventDefault();
event.stopPropagation();
const id = $(event.currentTarget).data("actor-id");
if (!id) {
const uuid = $(event.currentTarget).data("uuid");
const actorId = $(event.currentTarget).data("actor-id");
if (!uuid && !actorId) {
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)
const result = foundry.utils.mergeObject(this, foundry.utils.expandObject(data));
console.log(result); // TODO TMP
if (result.name) {
this.name = result.name;
@@ -56,8 +55,8 @@ export class ItemL5r5e extends Item {
if (result.img) {
this.img = result.img;
}
if (result.data) {
this.data = result.data; // todo tmp check this!
if (result.system) {
this.system = result.system;
}
// Update

View File

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

View File

@@ -7,7 +7,7 @@
</div>
{{!-- 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">
<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">

View File

@@ -4,7 +4,7 @@
<p class="warlord-name">
{{#if data.system.warlord_actor_id}}
<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}}
<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}}
@@ -29,7 +29,7 @@
<div class="warlord-name">
{{#if data.system.commander_actor_id}}
<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}}
<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}}

View File

@@ -7,7 +7,7 @@
</div>
{{!-- 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">
<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'}}

View File

@@ -8,7 +8,7 @@
{{!-- Sheet Header --}}
<header class="sheet-header">
<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>
{{> 'systems/l5r5e/templates/actors/npc/identity.html'}}
</div>

View File

@@ -20,9 +20,9 @@
<tbody>
{{#each data.actors as |actor|}}
<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>
<a data-uuid="{{actor.uuid}}" class="open-sheet-from-uuid">{{actor.name}}</a>
{{#if actor.system.attitude}}<p>({{actor.system.attitude}})</p>{{/if}}
</td>
<td>
@@ -99,11 +99,11 @@
<tbody>
{{#each data.actors as |actor|}}
<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><a data-actor-id="{{actor.id}}" class="open-sheet-actor-id">{{actor.name}}</a></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-uuid="{{actor.uuid}}" class="open-sheet-from-uuid">{{actor.name}}</a></td>
<td>
{{#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}}
{{actor.system.warlord}}
{{/if}}
@@ -122,7 +122,7 @@
</td>
<td>
{{#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}}
{{actor.system.commander}}
{{/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">
<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="icon-stat-container">
<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}}
</ul>
<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}}
</ul>
</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}}
<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>
<a data-actor-id="{{data.system.leader_actor_id}}" class="open-sheet-actor-id">{{data.system.leader}}</a>
<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-from-uuid">{{data.system.leader}}</a>
</div>
{{else}}
<input class="select-on-focus" type="text" name="system.leader" value="{{data.system.leader}}" data-dtype="String"/>