25 lines
737 B
JavaScript
25 lines
737 B
JavaScript
import { ArtBrowser } from "../apps/ArtBrowser.mjs";
|
|
import { __ID__ } from "../consts.mjs";
|
|
|
|
Hooks.on(`getHeaderControlsDocumentSheetV2`, (sheet) => {
|
|
|
|
const original = sheet.options.actions.editImage;
|
|
sheet.options.actions.editImage = async (event, target) => {
|
|
|
|
if (!game.settings.get(__ID__, `openForEditImage`)) {
|
|
return original.call(sheet, event, target);
|
|
};
|
|
|
|
if (target.nodeName !== `IMG`) {
|
|
throw new Error(`The editImage action is available only for IMG elements.`);
|
|
};
|
|
|
|
const src = await ArtBrowser.select(1);
|
|
if (!src) { return };
|
|
target.src = src;
|
|
if (sheet.options.form.submitOnChange) {
|
|
const submit = new Event(`submit`, { cancelable: true });
|
|
sheet.form.dispatchEvent(submit);
|
|
};
|
|
};
|
|
});
|