diff --git a/src/app/schema/renderHtml.tsx b/src/app/schema/renderHtml.tsx index c2e067f2..5ebd54b8 100644 --- a/src/app/schema/renderHtml.tsx +++ b/src/app/schema/renderHtml.tsx @@ -199,12 +199,9 @@ const renderHtml: RenderHook = { return [null, suffix, body] }, - map({ children, keys, config, node }, path, value, lang, version, states, ctx) { + map({ children, keys, config }, path, value, lang, version, states, ctx) { const { expand, collapse, isToggled } = useToggles() - let suffix: JSX.Element | null = null - let body: JSX.Element | null = null - const keyPath = new ModelPath(keysModel, new Path([hashString(path.toString())], path.contextArr)) const onAdd = () => { const key = keyPath.get() @@ -230,14 +227,12 @@ const renderHtml: RenderHook = { }) return ObjectNode(Object.fromEntries(properties)).hook(this, path, value, lang, version, states, ctx) } - - if (typeof value === 'object' && value !== null) { - suffix = <> - {suffix} - {keysSchema.hook(this, keyPath, keyPath.get() ?? '', lang, version, states, ctx)[1]} - - - body = <>{Object.entries(value).map(([key, cValue]) => { + const suffix = <> + {keysSchema.hook(this, keyPath, keyPath.get() ?? '', lang, version, states, ctx)[1]} + + + const body = <> + {typeof value === 'object' && Object.entries(value).map(([key, cValue]) => { const pathWithContext = (config?.context) ? new ModelPath(path.getModel(), new Path(path.getArray(), [config.context])) : path const cPath = pathWithContext.modelPush(key) const canToggle = children.type(cPath) === 'object' @@ -262,11 +257,8 @@ const renderHtml: RenderHook = { {canToggle && } - })} - } else { - const onReset = () => path.set(DataModel.wrapLists(node.default())) - suffix = <>{suffix} - } + })} + return [null, suffix, body] },