loadData method

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

Import Data from JSON

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) {
      List<dynamic> leftList = json["leftNodes"];
      for (Map<String, dynamic> j in leftList) {
        if (j.containsKey("id") &&
            j.containsKey("content") &&
            j.containsKey("nodes")) {
          MindMapNode node = MindMapNode();
          addLeftItem(node);
          node.loadData(j);
        }
      }
    }
  }
}