loadData method

  1. @override
void loadData(
  1. Map<String, dynamic> json
)
override

Implementation

@override
void loadData(Map<String, dynamic> json) {
  if (json.containsKey("id") &&
      json.containsKey("content") &&
      json.containsKey("nodes")) {
    setID(json["id"].toString());
    setTitle(json["content"].toString());
    List<dynamic> list = json["nodes"];
    if (list.isNotEmpty) {
      for (Map<String, dynamic> j in list) {
        if (j.containsKey("id") &&
            j.containsKey("content") &&
            j.containsKey("nodes")) {
          MindMapNode node = MindMapNode();
          if (getParentNode() == null) {
            addRightItem(node);
          } else {
            if (getNodeType() == NodeType.left) {
              addLeftItem(node);
            } else {
              addRightItem(node);
            }
          }
          node.loadData(j);
        }
      }
      if (json["leftNodes"] != null) {
        for (Map<String, dynamic> j in list) {
          if (j.containsKey("id") &&
              j.containsKey("content") &&
              j.containsKey("nodes")) {
            MindMapNode node = MindMapNode();
            addLeftItem(node);
            node.loadData(j);
          }
        }
      }
    }
  }
}