Compare commits

..

No commits in common. "7036efd8fd787488158c42a134866d70c044a423" and "e340a68cff25cdb4238258f271dcd197dd0b98f5" have entirely different histories.

9 changed files with 31 additions and 20 deletions

View File

@ -25,7 +25,7 @@
</div> </div>
<div class="row"> <div class="row">
<img class="character-image" src="{{ actor.img }}" title="{{ actor.name }}" data-action="editImage" data-edit="img"> <img class="character-image" src="{{ actor.img }}" title="{{ actor.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
<div class="row"> <div class="row">
{{#each actor.system.attributes}} {{#each actor.system.attributes}}
@ -322,8 +322,8 @@
<div class="list-item">{{localize "DSA41.list_empty"}}</div> <div class="list-item">{{localize "DSA41.list_empty"}}</div>
{{/unless}} {{/unless}}
{{#each (sorted actor.itemTypes.Bewaffnung)}} {{#each actor.itemTypes.Bewaffnung}}
<div class="list-item draggable" data-item-id="{{this._id}}"> <div class="list-item" data-item-id="{{this._id}}">
<div class="row" data-action="item-open"> <div class="row" data-action="item-open">
<img class="item-image" src="{{this.img}}" title="{{this.name}}"> <img class="item-image" src="{{this.img}}" title="{{this.name}}">
<div class="col"> <div class="col">
@ -356,8 +356,8 @@
<div class="list-item">{{localize "DSA41.list_empty"}}</div> <div class="list-item">{{localize "DSA41.list_empty"}}</div>
{{/unless}} {{/unless}}
{{#each (sorted actor.itemTypes.Ruestung)}} {{#each actor.itemTypes.Ruestung}}
<div class="list-item draggable" data-item-id="{{this._id}}"> <div class="list-item" data-item-id="{{this._id}}">
<div class="row" data-action="item-open"> <div class="row" data-action="item-open">
<img class="item-image" src="{{this.img}}" title="{{this.name}}"> <img class="item-image" src="{{this.img}}" title="{{this.name}}">
<span class="center">{{this.name}}</span> <span class="center">{{this.name}}</span>
@ -382,8 +382,8 @@
<div class="list-item">{{localize "DSA41.list_empty"}}</div> <div class="list-item">{{localize "DSA41.list_empty"}}</div>
{{/unless}} {{/unless}}
{{#each (sorted actor.itemTypes.Gegenstand)}} {{#each actor.itemTypes.Gegenstand}}
<div class="list-item draggable" data-item-id="{{this._id}}"> <div class="list-item" data-item-id="{{this._id}}">
<div class="row" data-action="item-open"> <div class="row" data-action="item-open">
<img class="item-image" src="{{this.img}}" title="{{this.name}}"> <img class="item-image" src="{{this.img}}" title="{{this.name}}">
<span class="center">{{this.name}}</span> <span class="center">{{this.name}}</span>

View File

@ -1,6 +1,6 @@
<div class="Bewaffnung {{ cssClass }}"> <div class="Bewaffnung {{ cssClass }}">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
<div class="row gap"> <div class="row gap">

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
<div class="row gap"> <div class="row gap">

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
<div class="grid3 gap"> <div class="grid3 gap">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
<div class="row gap"> <div class="row gap">

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
<div class="grid2 gap"> <div class="grid2 gap">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
<div class="grid3 gap"> <div class="grid3 gap">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}

View File

@ -1,6 +1,6 @@
<div class="item-sheet {{ cssClass }}" autocomplete="off"> <div class="item-sheet {{ cssClass }}" autocomplete="off">
<div class="row"> <div class="row">
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img"> <img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
<div class="col"> <div class="col">
<div class="grid2 gap"> <div class="grid2 gap">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}

View File

@ -92,12 +92,6 @@ Hooks.once("init", async function() {
} }
}); });
Handlebars.registerHelper({
sorted: (array, options) => {
return array.toSorted((a, b) => a.sort - b.sort);
}
});
await loadTemplates({ await loadTemplates({
"editable-input": "systems/dsa-4th-edition/src/EditableInput.hbs", "editable-input": "systems/dsa-4th-edition/src/EditableInput.hbs",
@ -1121,6 +1115,23 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) {
}, },
}; };
_onFirstRender(context, options) {
super._onFirstRender(context, options);
const content = this.element.querySelector(".window-content");
content.addEventListener("drop", async (event) => {
event.preventDefault();
const data = TextEditor.getDragEventData(event);
switch (data.type) {
case "Item": {
const item = await Item.implementation.fromDropData(data);
await this.actor.createEmbeddedDocuments("Item", [item.toObject()]);
} break;
}
});
}
// allow changing embedded item fields // allow changing embedded item fields
async _onChangeForm(formConfig, event) { async _onChangeForm(formConfig, event) {
const item_id = event.target.closest("[data-item-id]")?.dataset.itemId; const item_id = event.target.closest("[data-item-id]")?.dataset.itemId;