From 7516e7b42bf18175811d744e4f7557b9b278c5d0 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Fri, 1 Mar 2024 18:34:16 -0700 Subject: [PATCH] Implement the custom options helper (closes #92) --- module/helpers/index.mjs | 2 ++ module/helpers/options.mjs | 32 +++++++++++++++++++ .../char-sheet/v2/partials/stats.v2.pc.hbs | 9 +----- 3 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 module/helpers/options.mjs diff --git a/module/helpers/index.mjs b/module/helpers/index.mjs index a8456b3..44fb372 100644 --- a/module/helpers/index.mjs +++ b/module/helpers/index.mjs @@ -4,6 +4,7 @@ import { detailsExpanded } from "./detailsExpanded.mjs"; import { objectValue } from "./objectValue.mjs"; import { toFriendlyDuration } from "./toFriendlyDuration.mjs"; import { localizer } from "../utils/localizer.mjs"; +import { options } from "./options.mjs"; export default { @@ -14,6 +15,7 @@ export default { "dd-objectValue": objectValue, "dd-expanded": detailsExpanded, "dd-i18n": localizer, + "dd-options": options, // Simple helpers "dd-stringify": v => JSON.stringify(v, null, ` `), diff --git a/module/helpers/options.mjs b/module/helpers/options.mjs new file mode 100644 index 0000000..8775ebc --- /dev/null +++ b/module/helpers/options.mjs @@ -0,0 +1,32 @@ +/** + * @typedef {object} Option + * @property {string} [label] + * @property {string|number} value + * @property {boolean} [disabled] + */ + +/** + * @param {string | number} selected + * @param {Array` + ); + }; + return htmlOptions.join(`\n`); +}; diff --git a/templates/actors/char-sheet/v2/partials/stats.v2.pc.hbs b/templates/actors/char-sheet/v2/partials/stats.v2.pc.hbs index f0d2c43..87bc6b1 100644 --- a/templates/actors/char-sheet/v2/partials/stats.v2.pc.hbs +++ b/templates/actors/char-sheet/v2/partials/stats.v2.pc.hbs @@ -19,14 +19,7 @@ name="system.stats.{{stat.key}}" class="e-2dp" > - {{#select stat.value}} - - {{#each stat.dieOptions as | die |}} - - {{/each}} - {{/select}} + {{{dd-options stat.value stat.dieOptions}}}