Files
foundry-Slamother/module/item/class-sheet.js
T

86 lines
2.3 KiB
JavaScript

/**
* Extend the basic MothershipItemSheet with class modification
* @extends {MothershipItemSheet}
*/
import { MothershipItemSheet } from "./item-sheet.js";
export class MothershipClassSheet extends MothershipItemSheet {
/** @override */
static get defaultOptions() {
var options = {
classes: ["mosh", "sheet", "item"],
width: 820,
height: 820,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }]
};
options.dragDrop = [{dragSelector: null, dropSelector: ".dropitem"}];
if (game.release.generation >= 12) {
return foundry.utils.mergeObject(super.defaultOptions, options);
} else {
return mergeObject(super.defaultOptions, options);
}
}
/** @override */
getData() {
const data = super.getData();
if (typeof data.system.base_adjustment.skills_granted == 'undefined'){
data.system.base_adjustment.skills_granted=[];
}
return data;
}
async _onDrop(event){
await super._onDrop(event);
const droppedUuid = TextEditor.getDragEventData(event);
if (droppedUuid.type != "Item"){
return;
}
const droppedObject = await fromUuid(droppedUuid.uuid);
if (droppedObject.type == "skill"){
//this.object.system.base_adjustment.skills_granted.push(droppedObject);
let skills = this.object.system.base_adjustment.skills_granted;
skills.push(droppedObject);
this.object.update({"system.base_adjustment.skills_granted":skills});
return this.render(false);
}
}
/** @override */
activateListeners(html) {
super.activateListeners(html);
// Delete Inventory Item
html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item");
let skills = this.object.system.base_adjustment.skills_granted.filter(function( obj ) {
return obj._id !== li.data("itemId");
});
this.object.update({"system.base_adjustment.skills_granted":skills});
return this.render(false);
});
}
/****
async _updateObject(event, formData) {
const item = this.object;
var updateData;
if (game.release.generation >= 12) {
updateData = foundry.utils.expandObject(formData);
} else {
updateData = expandObject(formData);
}
await item.update(updateData, {
diff: false
});
}*/
}