updateSelectStatus method

void updateSelectStatus(
  1. bool status, {
  2. SelectedMode mode = SelectedMode.single,
})

Implementation

void updateSelectStatus(bool status, {SelectedMode mode = SelectedMode.single}) {
  select = status;
  if (mode == SelectedMode.single) {
    return;
  }
  if (mode == SelectedMode.child) {
    List<T> cl = List.from(children);
    while (cl.isNotEmpty) {
      T node = cl.removeAt(0);
      node.select = status;
      cl.addAll(node.children);
    }
    return;
  }
  if (mode == SelectedMode.parent) {
    T? node = parent;
    while (node != null) {
      node.select = status;
      node = node.parent;
    }
    return;
  }
  T? node = parent;
  while (node != null) {
    node.select = status;
    node = node.parent;
  }
  List<T> cl = List.from(children);
  while (cl.isNotEmpty) {
    T node = cl.removeAt(0);
    node.select = status;
    cl.addAll(node.children);
  }
}