fix: node version update flicker (#3052)

This commit is contained in:
heheer
2024-11-01 15:54:12 +08:00
committed by GitHub
parent be6269688b
commit cf8786b194

View File

@@ -95,7 +95,7 @@ const NodeCard = (props: Props) => {
return { node, parentNode }; return { node, parentNode };
}, [nodeList, nodeId]); }, [nodeList, nodeId]);
const { data: nodeTemplate, runAsync: getNodeLatestTemplate } = useRequest2( const { data: nodeTemplate } = useRequest2(
async () => { async () => {
if ( if (
node?.flowNodeType === FlowNodeTypeEnum.pluginModule || node?.flowNodeType === FlowNodeTypeEnum.pluginModule ||
@@ -117,35 +117,27 @@ const NodeCard = (props: Props) => {
} }
); );
const { openConfirm: onOpenConfirmSync, ConfirmModal: ConfirmSyncModal } = useConfirm({ const {
openConfirm: onOpenConfirmSync,
onClose: onCloseConfirmSync,
ConfirmModal: ConfirmSyncModal
} = useConfirm({
content: t('workflow:Confirm_sync_node') content: t('workflow:Confirm_sync_node')
}); });
const hasNewVersion = nodeTemplate && nodeTemplate.version !== node?.version; const hasNewVersion = nodeTemplate && nodeTemplate.version !== node?.version;
const { runAsync: onClickSyncVersion } = useRequest2( const { runAsync: onClickSyncVersion } = useRequest2(
async () => { async () => {
const template = moduleTemplatesFlat.find((item) => item.flowNodeType === node?.flowNodeType); if (!!nodeTemplate) {
if (!node || !template) return;
if (
node?.flowNodeType === FlowNodeTypeEnum.pluginModule ||
node?.flowNodeType === FlowNodeTypeEnum.appModule
) {
if (!node.pluginId) return;
onResetNode({ onResetNode({
id: nodeId, id: nodeId,
node: await getPreviewPluginNode({ appId: node.pluginId }) node: nodeTemplate
});
} else {
onResetNode({
id: nodeId,
node: getLatestNodeTemplate(node, template)
}); });
} }
await getNodeLatestTemplate(); onCloseConfirmSync();
}, },
{ {
refreshDeps: [node, nodeId, onResetNode, getNodeLatestTemplate] refreshDeps: [node, nodeId, onResetNode]
} }
); );