handleInsertNode(node) {

    $tm.dialogManager.open('addNodeToMap', {}, (isConfirmed, outTObj) => {

      if (!isConfirmed) {
        return;
      }

      const tRef = utils.getField(outTObj, 'draft.title').trim();

      if (utils.tiddlerExists(tRef)) {

        // Todo: use graphData and test if node is match (!=neighbour)
        if (utils.isMatch(tRef, this.view.getNodeFilter('compiled'))) {

          $tm.notify('Node already exists');

          return;

        } else {

          node = $tm.adapter.makeNode(tRef, node);
          this.view.addNode(node);

        }

      } else {

        const tObj = new $tw.Tiddler(outTObj, { 'draft.title': null });

        node.label = tRef;
        $tm.adapter.insertNode(node, this.view, tObj);
      }

      // prevent zoom
      this.isPreventZoomOnNextUpdate = true;

    });

  }
Spawns a dialog in which the user can specify node attributes.
Once the dialog is closed, the node is inserted into the current
view, unless the operation was cancelled.