onActionBlockModified method
Update the graph when an action block is modified.
Re-analyzes dependencies and updates edges accordingly.
Implementation
void onActionBlockModified(FFActionComponent actionBlock) {
if (!actionBlock.hasIdentifier() || actionBlock.identifier.key.isEmpty) {
return;
}
final nodeId = NodeIds.actionBlock(actionBlock.identifier.key);
final node = graph.getNode(nodeId);
if (node == null) {
// Node doesn't exist, treat as an add
onActionBlockAdded(actionBlock);
return;
}
// Remove old dependencies (granular only, action blocks don't have
// theme/data schema dependencies directly)
final oldGranularImports =
node.imports.where(NodeIds.isGranularDependencyNodeId).toList();
for (final depNodeId in oldGranularImports) {
graph.removeDependency(nodeId, depNodeId);
graph.removeIfOrphan(depNodeId);
}
// Re-analyze and apply new dependencies
final deps = ActionBlockDependencies.analyze(actionBlock);
deps.applyToGraph(graph, nodeId);
}