diff options
Diffstat (limited to 'packages/frontend/src/scripts/aiscript')
| -rw-r--r-- | packages/frontend/src/scripts/aiscript/ui.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/frontend/src/scripts/aiscript/ui.ts b/packages/frontend/src/scripts/aiscript/ui.ts index 75b9248432..08ba1e6d9b 100644 --- a/packages/frontend/src/scripts/aiscript/ui.ts +++ b/packages/frontend/src/scripts/aiscript/ui.ts @@ -47,6 +47,7 @@ export type AsUiMfm = AsUiComponentBase & { bold?: boolean; color?: string; font?: 'serif' | 'sans-serif' | 'monospace'; + onClickEv?: (evId: string) => void }; export type AsUiButton = AsUiComponentBase & { @@ -230,6 +231,8 @@ function getMfmOptions(def: values.Value | undefined): Omit<AsUiMfm, 'id' | 'typ if (color) utils.assertString(color); const font = def.value.get('font'); if (font) utils.assertString(font); + const onClickEv = def.value.get('onClickEv'); + if (onClickEv) utils.assertFunction(onClickEv); return { text: text?.value, @@ -237,6 +240,9 @@ function getMfmOptions(def: values.Value | undefined): Omit<AsUiMfm, 'id' | 'typ bold: bold?.value, color: color?.value, font: font?.value, + onClickEv: (evId: string) => { + if (onClickEv) call(onClickEv, values.STR(evId)); + }, }; } |