Select requested form in IDE designer
CI / python (push) Has been cancelled
CI / rust (push) Has been cancelled

This commit is contained in:
2026-05-21 06:32:19 +03:00
parent af900e4e34
commit 7d4d9917dd
2 changed files with 29 additions and 4 deletions
@@ -3041,12 +3041,23 @@ function FormDesignerPanel({
const [elementDrafts, setElementDrafts] = useState<Record<string, IdeFormElementDraft[]>>({});
const [newElementName, setNewElementName] = useState("");
const [newElementKind, setNewElementKind] = useState<IdeFormElementDraft["controlKind"]>("input");
const selectedFormQualifiedName = data.editorSelectedForm;
useEffect(() => {
if (selectedFormQualifiedName) {
const requestedForm = objectForms.find((item) => item.form.qualified_name === selectedFormQualifiedName);
if (requestedForm && requestedForm.form.lineage_id !== selectedFormId) {
setSelectedFormId(requestedForm.form.lineage_id);
return;
}
}
if (objectForms.length > 0 && !objectForms.some((item) => item.form.lineage_id === selectedFormId)) {
setSelectedFormId(objectForms[0].form.lineage_id);
}
}, [objectForms, selectedFormId]);
const form = objectForms.find((item) => item.form.lineage_id === selectedFormId) ?? objectForms[0];
}, [objectForms, selectedFormId, selectedFormQualifiedName]);
const form =
objectForms.find((item) => item.form.lineage_id === selectedFormId) ??
objectForms.find((item) => item.form.qualified_name === selectedFormQualifiedName) ??
objectForms[0];
const commands = form?.commands.slice(0, 6) ?? [];
const formKey = form?.form.lineage_id ?? "draft";
const baseElements = useMemo(() => buildIdeFormElements(form), [form]);