updateAdvancedJsonDraft method

void updateAdvancedJsonDraft({
  1. required CatalogRow row,
  2. required String locale,
  3. required String text,
})

Implementation

void updateAdvancedJsonDraft({
  required CatalogRow row,
  required String locale,
  required String text,
}) {
  final draft = valueDraftFor(row, locale);
  draft.rawText = text;
  draft.touched = true;
  try {
    final parsed = text.trim().isEmpty ? '' : jsonDecode(text);
    draft.value = parsed;
    draft.rawError = null;
    draft.rawPinned = detectCatalogShape(parsed) == CatalogEditorMode.raw;
    _scheduleValueDraftSave(draft);
  } catch (_) {
    draft.rawError = 'invalid_json';
    draft.syncState = CatalogDraftSyncState.dirty;
    notifyListeners();
  }
}