add method

bool add(
  1. TreeValue<TypeID, TypeData> value, {
  2. TypeID? parentID,
})

向樹添加一個節點

Implementation

bool add(TreeValue<TypeID, TypeData> value, {TypeID? parentID}) {
  final id = value.id;
  if (id == null) {
    debugPrint("TreeController not support push id == null");
    return false;
  } else if (_keys.containsKey(id)) {
    debugPrint("TreeController id == $id,already exists");
    return false;
  }
  TreeValueController? parent;
  if (parentID == null) {
    parent = root;
  } else {
    parent = _keys[parentID];
    if (parent == null) {
      debugPrint("TreeController parentID no found $parentID.");
      return false;
    }
  }
  final child = TreeValueController(
    id: id,
    checked: value.checked,
    expand: value.expand,
    text: value.text,
    userdata: value.userdata,
  );
  _keys[id] = child;
  parent._push(child, sort);
  return true;
}