moveGroupRule method

void moveGroupRule(
  1. int index,
  2. int direction
)

Move group rule.

Implementation

void moveGroupRule(int index, int direction) {
  final current = selected;
  if (current == null) return;
  draft ??= NmZoneDraft(current);
  final rules = List<NmGroupRule>.of(draft!.working.groupRules);
  final n = index + direction;
  if (index < 0 || index >= rules.length || n < 0 || n >= rules.length) {
    return;
  }
  final r = rules.removeAt(index);
  rules.insert(n, r);
  draft!.working = draft!.working.copyWith(groupRules: rules);
  notifyListeners();
}