saveChart method

Future<void> saveChart()

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();
  }
}