From 3f228db420eb53045d6b4370ae7a8c96e00df0db Mon Sep 17 00:00:00 2001 From: WBHarry Date: Sat, 29 Nov 2025 17:24:08 +0100 Subject: [PATCH] Added a render hook for the daggerheartMenu render --- module/applications/sidebar/tabs/daggerheartMenu.mjs | 12 ++++++++++++ module/config/_module.mjs | 1 + module/config/hooksConfig.mjs | 12 ++++++++++++ module/config/system.mjs | 4 +++- 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 module/config/hooksConfig.mjs diff --git a/module/applications/sidebar/tabs/daggerheartMenu.mjs b/module/applications/sidebar/tabs/daggerheartMenu.mjs index 4166614d..3c980988 100644 --- a/module/applications/sidebar/tabs/daggerheartMenu.mjs +++ b/module/applications/sidebar/tabs/daggerheartMenu.mjs @@ -43,6 +43,18 @@ export default class DaggerheartMenu extends HandlebarsApplicationMixin(Abstract /* -------------------------------------------- */ + /** @inheritDoc */ + async _onRender(context, options) { + super._onRender(context, options); + + Hooks.callAll( + CONFIG.DH.HOOKS.sidebarMenuRender, + this, + this.element.querySelector('[data-application-part="main"]'), + context + ); + } + /** @inheritDoc */ async _prepareContext(options) { const context = await super._prepareContext(options); diff --git a/module/config/_module.mjs b/module/config/_module.mjs index 63797607..383e37ed 100644 --- a/module/config/_module.mjs +++ b/module/config/_module.mjs @@ -4,6 +4,7 @@ export * as domainConfig from './domainConfig.mjs'; export * as effectConfig from './effectConfig.mjs'; export * as flagsConfig from './flagsConfig.mjs'; export * as generalConfig from './generalConfig.mjs'; +export { default as hooksConfig } from './hooksConfig.mjs'; export * as itemConfig from './itemConfig.mjs'; export * as settingsConfig from './settingsConfig.mjs'; export * as systemConfig from './system.mjs'; diff --git a/module/config/hooksConfig.mjs b/module/config/hooksConfig.mjs new file mode 100644 index 00000000..91f6166e --- /dev/null +++ b/module/config/hooksConfig.mjs @@ -0,0 +1,12 @@ +const systemHooks = { + /** + * Runs on render of the Daggerheart Sidebar menu. + * @param {App} app + * @param {Node} contentElement + * @param {ApplicationContext} context + * @returns {void} + */ + sidebarMenuRender: 'sidebar-menu-render' +}; + +export default systemHooks; diff --git a/module/config/system.mjs b/module/config/system.mjs index 374fd58c..7b4aff8b 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -6,7 +6,8 @@ import * as SETTINGS from './settingsConfig.mjs'; import * as EFFECTS from './effectConfig.mjs'; import * as ACTIONS from './actionConfig.mjs'; import * as FLAGS from './flagsConfig.mjs'; -import * as ITEMBROWSER from './itemBrowserConfig.mjs' +import { default as HOOKS } from './hooksConfig.mjs'; +import * as ITEMBROWSER from './itemBrowserConfig.mjs'; export const SYSTEM_ID = 'daggerheart'; @@ -20,5 +21,6 @@ export const SYSTEM = { EFFECTS, ACTIONS, FLAGS, + HOOKS, ITEMBROWSER };