sozsoft-platform/ui/src/utils/editorScriptRuntime.ts

30 lines
611 B
TypeScript
Raw Normal View History

export type EditorScriptRuntimeContext = {
formData: Record<string, any>
e: any
editor: any
runtimeSetEditorReadOnly?: (field: string, readOnly: boolean) => void
setFormData?: (newData: any) => void
}
export const executeEditorScript = (
script: string,
{
formData,
e,
editor,
runtimeSetEditorReadOnly,
setFormData,
}: EditorScriptRuntimeContext,
) => {
const executor = new Function(
'formData',
'e',
'editor',
'runtimeSetEditorReadOnly',
'setFormData',
script,
)
return executor(formData, e, editor, runtimeSetEditorReadOnly, setFormData)
}