import { CharacterSheetContext, getSetting, ModuleSetting, QuickInsert, setSetting } from './quick-insert.js'; import './vendor.js'; // Starfinder integration const SYSTEM_NAME = "sfrpg"; const defaultSheetFilters = { class: "sfrpg.classes", race: "sfrpg.races", theme: "sfrpg.themes", // asi: "", archetype: "sfrpg.archetypes", feat: "sfrpg.feats", spell: "sfrpg.spells", weapon: "sfrpg.equipment", shield: "sfrpg.equipment", equipment: "sfrpg.equipment", consumable: "sfrpg.equipment", goods: "sfrpg.equipment", container: "sfrpg.equipment", technological: "sfrpg.equipment", fusion: "sfrpg.equipment", upgrade: "sfrpg.equipment", augmentation: "sfrpg.equipment", }; class SfrpgSheetContext extends CharacterSheetContext { constructor(documentSheet, anchor, sheetType, insertType) { super(documentSheet, anchor); if (sheetType && insertType) { const sheetFilters = getSetting(ModuleSetting.FILTERS_SHEETS).baseFilters; this.filter = sheetFilters[`${sheetType}.${insertType}`] || sheetFilters[insertType]; } } } function sheetSfrpgRenderHook(app, sheetType) { if (app.element.find(".quick-insert-link").length > 0) { return; } const link = ``; app.element .find("a.item-create, .item-control.spell-browse") .each((i, el) => { const linkEl = $(link); $(el).after(linkEl); const type = el.dataset.type; linkEl.on("click", () => { const context = new SfrpgSheetContext(app, linkEl, sheetType, type); QuickInsert.open(context); }); }); } function init() { if (game.user?.isGM) { const customFilters = getSetting(ModuleSetting.FILTERS_SHEETS).baseFilters; setSetting(ModuleSetting.FILTERS_SHEETS, { baseFilters: { ...defaultSheetFilters, ...customFilters, }, }); } Hooks.on("renderActorSheetSFRPGCharacter", (app) => { getSetting(ModuleSetting.FILTERS_SHEETS_ENABLED) && sheetSfrpgRenderHook(app, "character"); }); console.log("Quick Insert | sfrpg system extensions initiated"); } export { SYSTEM_NAME, SfrpgSheetContext, defaultSheetFilters, init, sheetSfrpgRenderHook }; //# sourceMappingURL=sfrpg.js.map