diff --git a/comps/form/Form.tsx b/comps/form/Form.tsx index d92d373..bbea662 100755 --- a/comps/form/Form.tsx +++ b/comps/form/Form.tsx @@ -55,7 +55,9 @@ export const Form: FC = (props) => { soft_delete: { field: null, }, + has_fields_container: null as any, }); + const form_inner_ref = useRef(null); if (props.render_parent) { if (!fm.internal.original_render) fm.internal.original_render = fm.render; @@ -134,6 +136,25 @@ export const Form: FC = (props) => { fm.status = "init"; fm.render(); } + + let i = 0; + const ival = setInterval(() => { + const old_has_fields_container = fm.has_fields_container; + if (form_inner_ref.current?.querySelector(".form-fields")) { + fm.has_fields_container = true; + } else { + fm.has_fields_container = false; + } + + if (old_has_fields_container !== fm.has_fields_container) { + fm.render(); + clearInterval(ival); + } + if (i > 20) { + clearInterval(ival); + } + i++; + }, 10); }, Array.isArray(props.on_load_deps) ? props.on_load_deps : [] ); @@ -183,12 +204,23 @@ export const Form: FC = (props) => { > {toaster_el && createPortal(, toaster_el)}
div { + > .form-fields { + padding-right: 10px; + } + } + ` )} > {fm.status !== "init" && fm.size.width > 0 && ( diff --git a/comps/form/typings.ts b/comps/form/typings.ts index e1b85fe..94d92e3 100755 --- a/comps/form/typings.ts +++ b/comps/form/typings.ts @@ -142,6 +142,7 @@ export type FMInternal = { soft_delete: { field: any; }; + has_fields_container: boolean, }; export type FMLocal = FMInternal & { render: () => void };