deleteRepeat method

FormIndex deleteRepeat(
  1. FormIndex index
)

Deletes the repeat instance containing index; returns the index of the deleted instance. Port of deleteRepeat(FormIndex).

Implementation

FormIndex deleteRepeat(FormIndex index) {
  final indexes = <int>[];
  final multiplicities = <int>[];
  final elements = <FormElement>[];
  collapseIndex(index, indexes, multiplicities, elements);
  for (var i = elements.length - 1; i >= 0; i--) {
    final element = elements[i];
    if (element is GroupDef && element.isRepeat) break;
    indexes.removeAt(i);
    multiplicities.removeAt(i);
    elements.removeAt(i);
  }
  final newIndex = buildIndex(indexes, multiplicities, elements)!;
  deleteRepeatInstance(childInstanceRef(newIndex)!);
  return newIndex;
}