client/js/random-data.js
changeset 23 70c8af9b44ec
parent 21 b43dd87f7ffa
child 25 b5ada3bb8e53
--- a/client/js/random-data.js	Mon Aug 20 16:07:15 2012 +0200
+++ b/client/js/random-data.js	Tue Aug 21 12:46:11 2012 +0200
@@ -1,49 +1,41 @@
-Rkns.RemoteModels.RandomData = Rkns.Utils.inherit(Rkns.RemoteModels._Base);
-
-Rkns.RemoteModels.RandomData.prototype._init = function() {
-    this._USER_COUNT = 5;
-    this._NODE_COUNT = 50;
-    this._EDGE_COUNT = 100;
-    this.user_colors = ["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"];
-    this.load();
-}
-
-Rkns.RemoteModels.RandomData.prototype.load = function() {
-    var _p = this._project;
-    _p.title = "Random Generated Data";
-    for (var i = 0; i < this._USER_COUNT; i++) {
-        _p.users.push(new Rkns.ViewModel.User(_p, {
+Rkns.randomData = function(_renkan, _opts) {
+    _opts = _opts || {};
+    _opts.user_count = _opts.user_count || 5;
+    _opts.node_count = _opts.node_count || 20;
+    _opts.edge_count = _opts.edge_count || 2 * _opts.node_count;
+    _opts.user_colors = _opts.user_colors || ["#ff0000", "#008000", "#0000ff", "#808000", "#808080", "#c000c0", "#00c0c0"];
+    var _proj = _renkan.project
+    for (var i = 0; i < _opts.user_count; i++) {
+        _proj.addUser({
             id: "user-"+i,
             title: "User #"+(1+i),
-            color: this.user_colors[i]
-        }));
+            color: _opts.user_colors[i]
+        });
     }
-    for (var i = 0; i < this._NODE_COUNT; i++) {
-        _p.nodes.push(new Rkns.ViewModel.Node(_p, {
+    for (var i = 0; i < _opts.node_count; i++) {
+        _proj.addNode({
             id: "node-"+i,
             title: "Node #"+(1+i),
-            created_by: "user-" + Math.floor(this._USER_COUNT*Math.random()),
+            created_by: "user-" + Math.floor(_opts.user_count*Math.random()),
             position: {
-                x: 200 * Math.random(),
-                y: 150 * Math.random()
-//                x: 100 * Math.cos(2 * Math.PI * i / this._NODE_COUNT),
-//                y: 100 * Math.sin(2 * Math.PI * i / this._NODE_COUNT)
+                x: 300 * Math.cos(2 * Math.PI * i / _opts.node_count),
+                y: 300 * Math.sin(2 * Math.PI * i / _opts.node_count)
             }
-        }));
+        });
     }
-    for (var i = 0; i < this._EDGE_COUNT; i++) {
+    for (var i = 0; i < _opts.node_count; i++) {
         var _from, _to;
-        _from = _to = Math.floor(this._NODE_COUNT*Math.random());
+        _from = _to = Math.floor(_opts.node_count*Math.random());
         while(_from === _to) {
-            _to = Math.floor(this._NODE_COUNT*Math.random());
+            _to = Math.floor(_opts.node_count*Math.random());
         }
-        _p.edges.push(new Rkns.ViewModel.Edge(_p, {
+        _proj.addEdge({
             id: "edge-"+i,
             title: "Edge #"+(1+i),
-            created_by: "user-" + Math.floor(this._USER_COUNT*Math.random()),
+            created_by: "user-" + Math.floor(_opts.user_count*Math.random()),
             from: "node-" + _from,
             to: "node-" + _to
-        }));
+        });
     }
-    this.handleCallbacks();
+    _renkan.current_user = "user-0";
 }