### What problem does this PR solve? Feat: When saving the canvas, other dls parameters passed from the backend are spliced into the dsl parameters #3355 #3556 ### Type of change - [x] New Feature (non-breaking change which adds functionality)tags/v0.14.0
| @@ -35,10 +35,10 @@ export function NextNodePopover({ children, nodeId, name }: IProps) { | |||
| const inputs: Array<{ component_id: string; content: string }> = get( | |||
| component, | |||
| ['obj', 'params', 'inputs'], | |||
| ['obj', 'inputs'], | |||
| [], | |||
| ); | |||
| const output = get(component, ['obj', 'params', 'output'], {}); | |||
| const output = get(component, ['obj', 'output'], {}); | |||
| const { replacedOutput } = useReplaceIdWithText(output); | |||
| const stopPropagation: MouseEventHandler = useCallback((e) => { | |||
| e.stopPropagation(); | |||
| @@ -268,6 +268,7 @@ export const useSaveGraph = () => { | |||
| const dslComponents = buildDslComponentsByGraph( | |||
| currentNodes ?? nodes, | |||
| edges, | |||
| data.dsl.components, | |||
| ); | |||
| return setFlow({ | |||
| id, | |||
| @@ -119,6 +119,7 @@ const buildOperatorParams = (operatorName: string) => | |||
| export const buildDslComponentsByGraph = ( | |||
| nodes: Node<NodeData>[], | |||
| edges: Edge[], | |||
| oldDslComponents: DSLComponents, | |||
| ): DSLComponents => { | |||
| const components: DSLComponents = {}; | |||
| @@ -129,6 +130,7 @@ export const buildDslComponentsByGraph = ( | |||
| const operatorName = x.data.label; | |||
| components[id] = { | |||
| obj: { | |||
| ...(oldDslComponents[id]?.obj ?? {}), | |||
| component_name: operatorName, | |||
| params: | |||
| buildOperatorParams(operatorName)( | |||