saveChart method
Persists the current chart configuration and drawings asynchronously.
Implementation
Future<void> saveChart() async {
if (_saveState == ChartSaveState.saving) return;
_saveState = ChartSaveState.saving;
notifyListeners();
try {
final json = exportSettingsJson();
if (onSaveCallback != null) {
await onSaveCallback!(json);
} else {
// Visual feedback delay
await Future.delayed(const Duration(milliseconds: 650));
}
_saveState = ChartSaveState.saved;
} catch (e) {
debugPrint('Error saving chart: $e');
_saveState = ChartSaveState.unsaved;
} finally {
notifyListeners();
}
}