Preserve dataflow layout across SQL edits
This commit is contained in:
@@ -27,6 +27,14 @@ const checks = [
|
||||
&& !css.includes(".dataflow-alerts"),
|
||||
"central floating dismissible alerts"
|
||||
],
|
||||
[
|
||||
!css.includes(".dataflow-results-toolbar .segmented-control"),
|
||||
"ungapped shared results segmented control"
|
||||
],
|
||||
[
|
||||
page.includes("response.graph.nodes.some((node) => node.id === selectedNodeId)"),
|
||||
"selected node preservation across SQL roundtrips"
|
||||
],
|
||||
[page.includes("useUnsavedDraftGuard"), "unsaved-change guard"],
|
||||
[canvas.includes("application/x-govoplan-dataflow-node"), "palette drop handling"],
|
||||
[canvas.includes("isValidConnection"), "edge validation"],
|
||||
|
||||
@@ -397,7 +397,12 @@ export default function DataflowPage({ settings, auth }: { settings: ApiSettings
|
||||
sqlText: response.sql_text ?? draft.sqlText,
|
||||
editorMode: switchToGraph ? "graph" : "sql"
|
||||
});
|
||||
setSelectedNodeId(response.graph.nodes[0]?.id ?? null);
|
||||
setSelectedNodeId(
|
||||
selectedNodeId
|
||||
&& response.graph.nodes.some((node) => node.id === selectedNodeId)
|
||||
? selectedNodeId
|
||||
: response.graph.nodes[0]?.id ?? null
|
||||
);
|
||||
setSuccess("SQL compiled into the pipeline graph.");
|
||||
return true;
|
||||
} catch (compileError) {
|
||||
|
||||
@@ -66,8 +66,7 @@
|
||||
|
||||
.dataflow-toolbar-actions,
|
||||
.dataflow-command-bar,
|
||||
.dataflow-identity-fields,
|
||||
.dataflow-results-toolbar .segmented-control {
|
||||
.dataflow-identity-fields {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
|
||||
Reference in New Issue
Block a user