fromJson method
Deserializes JSON data into this annotation.
Implement this to update the annotation's properties from persisted data. This is called when loading saved workflows.
You typically update position, visibility, z-index, and any custom properties.
Implementation
@override
void fromJson(Map<String, dynamic> json) {
final newPosition = Offset(
(json['x'] as num).toDouble(),
(json['y'] as num).toDouble(),
);
setPosition(newPosition);
setVisualPosition(newPosition); // Initialize visual position to match
setZIndex(json['zIndex'] as int? ?? -1);
setVisible(json['isVisible'] as bool? ?? true);
updateTitle(json['title'] as String? ?? '');
updateColor(Color(json['color'] as int? ?? Colors.blue.toARGB32()));
_dependencies.clear();
_dependencies.addAll((json['dependencies'] as List?)?.cast<String>() ?? []);
}