|
1 | 1 | package demo.components
|
2 | 2 |
|
| 3 | +import scala.scalajs.js |
3 | 4 | import japgolly.scalajs.react._
|
4 | 5 | import japgolly.scalajs.react.vdom.all._
|
5 | 6 |
|
@@ -52,29 +53,16 @@ object toplevel {
|
52 | 53 | ),
|
53 | 54 | labels = List("2009", "2010", "2011", "2012")
|
54 | 55 | )
|
55 |
| - val family = Family( |
56 |
| - characters = List( |
57 |
| - Character("pippo"), |
58 |
| - Character("pluto"), |
59 |
| - Character("paperino"), |
60 |
| - Character("qui"), |
61 |
| - Character("quo"), |
62 |
| - Character("qua"), |
63 |
| - Character("nonna papera"), |
64 |
| - Character("ciccio") |
65 |
| - ), |
66 |
| - links = List( |
67 |
| - Link(start = "pippo", end = "quo", weight = 10), |
68 |
| - Link(start = "pippo", end = "qua", weight = 30), |
69 |
| - Link(start = "pluto", end = "nonna papera", weight = 10), |
70 |
| - Link(start = "pluto", end = "qui", weight = 10), |
71 |
| - Link(start = "pluto", end = "quo", weight = 10), |
72 |
| - Link(start = "paperino", end = "ciccio", weight = 100), |
73 |
| - Link(start = "qui", end = "ciccio", weight = 20), |
74 |
| - Link(start = "quo", end = "ciccio", weight = 10), |
75 |
| - Link(start = "qua", end = "nonna papera", weight = 30) |
76 |
| - ) |
77 |
| - ) |
| 56 | + def randomGraph(n: Int, density: Double) = { |
| 57 | + val characters = (1 to n) map { x => Character(x.toString) } |
| 58 | + val links = characters.combinations(2) filter { _ => |
| 59 | + js.Math.random() < density |
| 60 | + } map { case Vector(Character(a), Character(b)) => |
| 61 | + Link(a, b, 3 + 5 * js.Math.random()) |
| 62 | + } |
| 63 | + |
| 64 | + Family(characters = characters.toList, links = links.toList) |
| 65 | + } |
78 | 66 |
|
79 | 67 | val TopLevel = ReactComponentB[Unit]("Top level component")
|
80 | 68 | .render(_ =>
|
@@ -109,7 +97,7 @@ object toplevel {
|
109 | 97 | id = Some("graph"),
|
110 | 98 | title = "Graph Chart",
|
111 | 99 | text = "A preliminary example of force-directed graph."
|
112 |
| - ), GraphChart(family)) |
| 100 | + ), GraphChart(randomGraph(30, 0.15))) |
113 | 101 | )
|
114 | 102 | )
|
115 | 103 | )
|
|
0 commit comments