index.jsView |
---|
2 | 2 … | const Path = require('path') |
3 | 3 … | const fromJson = require('ngraph.fromjson') |
4 | 4 … | const Renderer = require('ngraph.pixel') |
5 | 5 … | const Graph = require('./graph') |
| 6 … | +const avatar = require('ssb-avatar') |
6 | 7 … | |
7 | 8 … | const config = { |
8 | 9 … | physics: { |
9 | 10 … | springLength : 80, |
10 | | - springCoeff : 0.00005, |
11 | | - gravity: -0.4, |
| 11 … | + springCoeff : 0.0001, |
| 12 … | + gravity: -1.4, |
12 | 13 … | theta : 0.4, |
13 | 14 … | dragCoeff : 0.04 |
14 | 15 … | }, |
15 | 16 … | link: (link) => { |
32 | 33 … | |
33 | 34 … | display.on('nodehover', handleNodeHover) |
34 | 35 … | cb(null, display) |
35 | 36 … | |
36 | | - |
37 | 37 … | function handleNodeHover (node) { |
38 | 38 … | if (node === undefined) return |
39 | | - console.log('handleNodeHover node: ', node) |
| 39 … | + |
40 | 40 … | |
41 | | - node.links |
42 | | - .map(link => display.getLink(link.id)) |
43 | | - .forEach(linkUI => { |
44 | | - let color = 0x80ffffff |
45 | | - linkUI.fromColor = color |
46 | | - linkUI.toColor = color |
47 | | - }) |
| 41 … | + display.forEachLink(linkUI => { |
| 42 … | + const { from, to } = linkUI |
| 43 … | + const friends = node.data.friends |
| 44 … | + |
| 45 … | + const involvesFoaF = friends.indexOf(from.id) > -1 || friends.indexOf(to.id) > -1 |
| 46 … | + const isFromTarget = node.id === from.id |
| 47 … | + const isToTarget = node.id === to.id |
| 48 … | + |
| 49 … | + let fromColor = 0x000066 |
| 50 … | + let toColor = 0x000066 |
| 51 … | + |
| 52 … | + if (involvesFoaF) { |
| 53 … | + fromColor = 0xeeeeee |
| 54 … | + toColor = 0xeeeeee |
| 55 … | + } else if (isFromTarget) { |
| 56 … | + fromColor = 0x00ff00 |
| 57 … | + } else if (isToTarget) { |
| 58 … | + toColor = 0xff0000 |
| 59 … | + } |
| 60 … | + |
| 61 … | + linkUI.fromColor = fromColor |
| 62 … | + linkUI.toColor = toColor |
| 63 … | + }) |
| 64 … | + |
| 65 … | + |
48 | 66 … | } |
49 | 67 … | }) |
50 | 68 … | } |
51 | 69 … | |