addGenderBranch method

void addGenderBranch({
  1. required CatalogRow row,
  2. required String locale,
  3. required String? category,
  4. required String gender,
})

Implementation

void addGenderBranch({
  required CatalogRow row,
  required String locale,
  required String? category,
  required String gender,
}) {
  final draft = valueDraftFor(row, locale);
  final nextValue = cloneCatalogValue(draft.value) ?? <String, dynamic>{};
  if (category != null && category.isNotEmpty) {
    final map = nextValue[category];
    if (map is! Map<String, dynamic>) {
      nextValue[category] = <String, dynamic>{};
    }
    (nextValue[category] as Map<String, dynamic>)[gender] = '';
  } else {
    nextValue[gender] = '';
  }
  draft.value = nextValue;
  draft.rawText = prettyCatalogJson(draft.value);
  draft.touched = true;
  _scheduleValueDraftSave(draft);
}