| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | 
							- import H from '../parts/Globals.js';
 
- H.NodesMixin = {
 
-     // Create a single node that holds information on incoming and outgoing
 
-     // links.
 
-     createNode: function (id) {
 
-         function findById(nodes, id) {
 
-             return H.find(nodes, function (node) {
 
-                 return node.id === id;
 
-             });
 
-         }
 
-         var node = findById(this.nodes, id),
 
-             PointClass = this.pointClass,
 
-             options;
 
-         if (!node) {
 
-             options = this.options.nodes && findById(this.options.nodes, id);
 
-             node = (new PointClass()).init(
 
-                 this,
 
-                 H.extend({
 
-                     className: 'highcharts-node',
 
-                     isNode: true,
 
-                     id: id,
 
-                     y: 1 // Pass isNull test
 
-                 }, options)
 
-             );
 
-             node.linksTo = [];
 
-             node.linksFrom = [];
 
-             node.formatPrefix = 'node';
 
-             node.name = node.name || node.options.id; // for use in formats
 
-             // Return the largest sum of either the incoming or outgoing links.
 
-             node.getSum = function () {
 
-                 var sumTo = 0,
 
-                     sumFrom = 0;
 
-                 node.linksTo.forEach(function (link) {
 
-                     sumTo += link.weight;
 
-                 });
 
-                 node.linksFrom.forEach(function (link) {
 
-                     sumFrom += link.weight;
 
-                 });
 
-                 return Math.max(sumTo, sumFrom);
 
-             };
 
-             // Get the offset in weight values of a point/link.
 
-             node.offset = function (point, coll) {
 
-                 var offset = 0;
 
-                 for (var i = 0; i < node[coll].length; i++) {
 
-                     if (node[coll][i] === point) {
 
-                         return offset;
 
-                     }
 
-                     offset += node[coll][i].weight;
 
-                 }
 
-             };
 
-             // Return true if the node has a shape, otherwise all links are
 
-             // outgoing.
 
-             node.hasShape = function () {
 
-                 var outgoing = 0;
 
-                 node.linksTo.forEach(function (link) {
 
-                     if (link.outgoing) {
 
-                         outgoing++;
 
-                     }
 
-                 });
 
-                 return !node.linksTo.length || outgoing !== node.linksTo.length;
 
-             };
 
-             this.nodes.push(node);
 
-         }
 
-         return node;
 
-     }
 
- };
 
 
  |