From bc8c7f6a2b00669abba4bb6af93ec6ea1c8bf493 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Sun, 4 May 2025 10:49:56 +0200 Subject: [PATCH] add DSA41_input Handlebars helper --- src/main.mjs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main.mjs b/src/main.mjs index 62f5fe7..2977bd2 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -97,6 +97,22 @@ Hooks.once("init", async function() { return array.toSorted((a, b) => a.sort - b.sort); } }); + + Handlebars.registerHelper({ + DSA41_input: (field_name, options) => { + let fields = field_name.startsWith("system.") ? options.data.root.document.system.schema.fields : options.data.root.document.schema.fields; + let field = fields[field_name.replace(/^(system\.)/, "")]; + + if (!field) { + console.error("Non-existent data field provided to {{DSA4_input}} handlebars helper."); + return Handlebars.SafeString(""); + } + + const value = foundry.utils.getProperty(options.data.root.document, field_name); + const input = field.toInput({ localize: true, value: value, ...options.hash }); + return new Handlebars.SafeString(input.outerHTML); + } + }); await loadTemplates({ "editable-input": "systems/dsa-4th-edition/src/EditableInput.hbs",