mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
* Initial datamodel * Fixed attack * Temp * Fixed normal levelup * Fixed showing summary of new experiences * Touchups * level sync fixes * Reworked Action storage * Companions now take stress when damaged * Fixed Feature flow * Removed retroactive companion levelup * Restored delevel on partner removal * PR fixes * Added a check for card duplicates on character
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
export default class DhContextMenu extends foundry.applications.ux.ContextMenu.implementation {
|
|
constructor(container, selector, menuItems, options) {
|
|
super(container, selector, menuItems, options);
|
|
|
|
/** @deprecated since v13 until v15 */
|
|
this.#jQuery = options.jQuery;
|
|
}
|
|
|
|
#jQuery;
|
|
|
|
activateListeners(menu) {
|
|
menu.addEventListener('click', this.#onClickItem.bind(this));
|
|
}
|
|
|
|
#onClickItem(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
const element = event.target.closest('.context-item');
|
|
if (!element) return;
|
|
const item = this.menuItems.find(i => i.element === element);
|
|
item?.callback(this.#jQuery ? $(this.target) : this.target, event);
|
|
this.close();
|
|
}
|
|
|
|
static triggerContextMenu(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
const { clientX, clientY } = event;
|
|
const selector = '[data-item-id]';
|
|
const target = event.target.closest(selector) ?? event.currentTarget.closest(selector);
|
|
target?.dispatchEvent(
|
|
new PointerEvent('contextmenu', {
|
|
view: window,
|
|
bubbles: true,
|
|
cancelable: true,
|
|
clientX,
|
|
clientY
|
|
})
|
|
);
|
|
}
|
|
}
|