71 lines
2.0 KiB
JavaScript
71 lines
2.0 KiB
JavaScript
import BoLBaseActorSheet from "./base-actor-sheet.mjs"
|
|
|
|
/**
|
|
* Actor Sheet for BoL vehicles using AppV2
|
|
*/
|
|
export default class BoLVehicleSheet extends BoLBaseActorSheet {
|
|
/** @override */
|
|
static DEFAULT_OPTIONS = {
|
|
...super.DEFAULT_OPTIONS,
|
|
classes: [...super.DEFAULT_OPTIONS.classes],
|
|
actions: {
|
|
...super.DEFAULT_OPTIONS.actions,
|
|
},
|
|
}
|
|
|
|
/** @override */
|
|
static PARTS = {
|
|
sheet: {
|
|
template: "systems/bol/templates/actor/vehicle-sheet.hbs",
|
|
},
|
|
}
|
|
|
|
/** @override */
|
|
tabGroups = { primary: "stats" }
|
|
|
|
/** @override */
|
|
async _prepareContext() {
|
|
const context = await super._prepareContext()
|
|
const actor = this.document
|
|
|
|
context.weapons = actor.vehicleWeapons
|
|
context.options = this.options
|
|
context.editScore = this.options.editScore
|
|
context.description = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
|
|
actor.system.description || "", { async: true }
|
|
)
|
|
|
|
console.log("VEHICLE (AppV2)", context) // TODO: remove before release
|
|
return context
|
|
}
|
|
|
|
/** @override */
|
|
_activateListeners() {
|
|
super._activateListeners()
|
|
if (!this.isEditable) return
|
|
|
|
// Item create via header dataset
|
|
this.element.querySelectorAll(".item-create").forEach((el) => {
|
|
el.addEventListener("click", (ev) => {
|
|
ev.preventDefault()
|
|
const header = ev.currentTarget
|
|
const type = header.dataset.type
|
|
const data = foundry.utils.duplicate(header.dataset)
|
|
delete data.type
|
|
this.actor.createEmbeddedDocuments("Item", [{ name: `New ${type}`, type, data }])
|
|
})
|
|
})
|
|
|
|
// Create vehicle weapon
|
|
this.element.querySelectorAll(".vehicle-weapon-add").forEach((el) => {
|
|
el.addEventListener("click", () => {
|
|
this.actor.createEmbeddedDocuments("Item", [{
|
|
name: game.i18n.localize("BOL.ui.newEquipment"),
|
|
type: "item",
|
|
system: { category: "vehicleweapon" },
|
|
}], { renderSheet: true })
|
|
})
|
|
})
|
|
}
|
|
}
|