fixing
This commit is contained in:
parent
e28c671635
commit
ac72edf1b7
|
|
@ -55,7 +55,9 @@ export const Form: FC<FMProps> = (props) => {
|
||||||
soft_delete: {
|
soft_delete: {
|
||||||
field: null,
|
field: null,
|
||||||
},
|
},
|
||||||
|
has_fields_container: null as any,
|
||||||
});
|
});
|
||||||
|
const form_inner_ref = useRef<HTMLDivElement>(null);
|
||||||
|
|
||||||
if (props.render_parent) {
|
if (props.render_parent) {
|
||||||
if (!fm.internal.original_render) fm.internal.original_render = fm.render;
|
if (!fm.internal.original_render) fm.internal.original_render = fm.render;
|
||||||
|
|
@ -134,6 +136,25 @@ export const Form: FC<FMProps> = (props) => {
|
||||||
fm.status = "init";
|
fm.status = "init";
|
||||||
fm.render();
|
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 : []
|
Array.isArray(props.on_load_deps) ? props.on_load_deps : []
|
||||||
);
|
);
|
||||||
|
|
@ -183,11 +204,22 @@ export const Form: FC<FMProps> = (props) => {
|
||||||
>
|
>
|
||||||
{toaster_el && createPortal(<Toaster cn={cx} />, toaster_el)}
|
{toaster_el && createPortal(<Toaster cn={cx} />, toaster_el)}
|
||||||
<div
|
<div
|
||||||
|
ref={form_inner_ref}
|
||||||
className={cx(
|
className={cx(
|
||||||
"form-inner c-flex c-flex-col c-flex-1 c-flex-wrap c-items-start c-content-start",
|
"form-inner c-flex c-flex-col c-flex-1 c-flex-wrap c-items-start c-content-start",
|
||||||
css`
|
css`
|
||||||
padding-right: 10px;
|
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
|
`,
|
||||||
|
!fm.has_fields_container
|
||||||
|
? css`
|
||||||
|
padding-right: 10px;
|
||||||
|
`
|
||||||
|
: css`
|
||||||
|
> div {
|
||||||
|
> .form-fields {
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
`
|
`
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,7 @@ export type FMInternal = {
|
||||||
soft_delete: {
|
soft_delete: {
|
||||||
field: any;
|
field: any;
|
||||||
};
|
};
|
||||||
|
has_fields_container: boolean,
|
||||||
};
|
};
|
||||||
export type FMLocal = FMInternal & { render: () => void };
|
export type FMLocal = FMInternal & { render: () => void };
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue