mongo3 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. data/.bnignore +3 -0
  2. data/.bnsignore +16 -0
  3. data/.gitignore +1 -0
  4. data/HISTORY +2 -0
  5. data/README.rdoc +78 -0
  6. data/Rakefile +31 -0
  7. data/bin/mongo3 +29 -0
  8. data/config/mongo3.yml +33 -0
  9. data/lib/controllers/collections.rb +7 -0
  10. data/lib/controllers/databases.rb +7 -0
  11. data/lib/controllers/explore.rb +46 -0
  12. data/lib/helpers/crumb_helper.rb +46 -0
  13. data/lib/helpers/main_helper.rb +43 -0
  14. data/lib/main.rb +41 -0
  15. data/lib/mongo3/connection.rb +191 -0
  16. data/lib/mongo3/node.rb +80 -0
  17. data/lib/mongo3.rb +57 -0
  18. data/lib/public/images/c292199_a.jpg +0 -0
  19. data/lib/public/images/close.png +0 -0
  20. data/lib/public/images/close.psd +0 -0
  21. data/lib/public/images/cluster.png +0 -0
  22. data/lib/public/images/cluster.psd +0 -0
  23. data/lib/public/images/db.jpg +0 -0
  24. data/lib/public/images/db.png +0 -0
  25. data/lib/public/images/db.psd +0 -0
  26. data/lib/public/images/delete.png +0 -0
  27. data/lib/public/images/header.png +0 -0
  28. data/lib/public/images/header.psd +0 -0
  29. data/lib/public/images/li_select.png +0 -0
  30. data/lib/public/images/li_select.psd +0 -0
  31. data/lib/public/images/lock.png +0 -0
  32. data/lib/public/images/lock.psd +0 -0
  33. data/lib/public/images/mongo.png +0 -0
  34. data/lib/public/images/mongo.psd +0 -0
  35. data/lib/public/images/mongo3.png +0 -0
  36. data/lib/public/images/mongo3.psd +0 -0
  37. data/lib/public/images/mongo3_db.png +0 -0
  38. data/lib/public/images/mongo3_db.psd +0 -0
  39. data/lib/public/images/mongo_10.psd +0 -0
  40. data/lib/public/images/mongo_db.jpg +0 -0
  41. data/lib/public/images/mongo_db.png +0 -0
  42. data/lib/public/images/mongo_db.psd +0 -0
  43. data/lib/public/images/mongo_db_1.jpg +0 -0
  44. data/lib/public/images/mongo_db_2 +0 -0
  45. data/lib/public/images/mongo_db_4 +0 -0
  46. data/lib/public/images/monkey.jpg +0 -0
  47. data/lib/public/images/monkey.png +0 -0
  48. data/lib/public/images/monkey.psd +0 -0
  49. data/lib/public/images/monkey_1.jpg +8 -0
  50. data/lib/public/images/monkey_10.jpg +8 -0
  51. data/lib/public/javascripts/Jit/Examples/Hypertree/example1.html +57 -0
  52. data/lib/public/javascripts/Jit/Examples/Hypertree/example1.js +427 -0
  53. data/lib/public/javascripts/Jit/Examples/Hypertree/example2.html +58 -0
  54. data/lib/public/javascripts/Jit/Examples/Hypertree/example2.js +310 -0
  55. data/lib/public/javascripts/Jit/Examples/Hypertree/example3.html +199 -0
  56. data/lib/public/javascripts/Jit/Examples/Hypertree/example3.js +615 -0
  57. data/lib/public/javascripts/Jit/Examples/Other/example1.html +58 -0
  58. data/lib/public/javascripts/Jit/Examples/Other/example1.js +566 -0
  59. data/lib/public/javascripts/Jit/Examples/Other/example2.html +58 -0
  60. data/lib/public/javascripts/Jit/Examples/Other/example2.js +304 -0
  61. data/lib/public/javascripts/Jit/Examples/Other/example3.html +58 -0
  62. data/lib/public/javascripts/Jit/Examples/Other/example3.js +304 -0
  63. data/lib/public/javascripts/Jit/Examples/RGraph/example1.html +57 -0
  64. data/lib/public/javascripts/Jit/Examples/RGraph/example1.js +475 -0
  65. data/lib/public/javascripts/Jit/Examples/RGraph/example2.html +58 -0
  66. data/lib/public/javascripts/Jit/Examples/RGraph/example2.js +356 -0
  67. data/lib/public/javascripts/Jit/Examples/RGraph/example3.html +199 -0
  68. data/lib/public/javascripts/Jit/Examples/RGraph/example3.js +622 -0
  69. data/lib/public/javascripts/Jit/Examples/Spacetree/example1.html +91 -0
  70. data/lib/public/javascripts/Jit/Examples/Spacetree/example1.js +890 -0
  71. data/lib/public/javascripts/Jit/Examples/Spacetree/example2.html +90 -0
  72. data/lib/public/javascripts/Jit/Examples/Spacetree/example2.js +213 -0
  73. data/lib/public/javascripts/Jit/Examples/Spacetree/example3.html +75 -0
  74. data/lib/public/javascripts/Jit/Examples/Spacetree/example3.js +863 -0
  75. data/lib/public/javascripts/Jit/Examples/Treemap/example1.html +56 -0
  76. data/lib/public/javascripts/Jit/Examples/Treemap/example1.js +95 -0
  77. data/lib/public/javascripts/Jit/Examples/Treemap/example2.html +61 -0
  78. data/lib/public/javascripts/Jit/Examples/Treemap/example2.js +750 -0
  79. data/lib/public/javascripts/Jit/Examples/Treemap/example3.html +62 -0
  80. data/lib/public/javascripts/Jit/Examples/Treemap/example3.js +775 -0
  81. data/lib/public/javascripts/Jit/Examples/css/Hypertree.css +0 -0
  82. data/lib/public/javascripts/Jit/Examples/css/Other.css +8 -0
  83. data/lib/public/javascripts/Jit/Examples/css/RGraph.css +0 -0
  84. data/lib/public/javascripts/Jit/Examples/css/Spacetree.css +0 -0
  85. data/lib/public/javascripts/Jit/Examples/css/Treemap.css +78 -0
  86. data/lib/public/javascripts/Jit/Examples/css/base.css +106 -0
  87. data/lib/public/javascripts/Jit/Examples/css/col1.png +0 -0
  88. data/lib/public/javascripts/Jit/Examples/css/col2.png +0 -0
  89. data/lib/public/javascripts/Jit/Examples/css/gradient.png +0 -0
  90. data/lib/public/javascripts/Jit/Extras/excanvas.js +35 -0
  91. data/lib/public/javascripts/Jit/jit-yc.js +1 -0
  92. data/lib/public/javascripts/Jit/jit.js +9052 -0
  93. data/lib/public/javascripts/Jit-1.1.3.zip +0 -0
  94. data/lib/public/javascripts/application.js +28 -0
  95. data/lib/public/javascripts/jit.min.js +1 -0
  96. data/lib/public/javascripts/jquery.tools.min.js +38 -0
  97. data/lib/public/javascripts/jquery_min.js +19 -0
  98. data/lib/public/javascripts/jquery_ui_min.js +298 -0
  99. data/lib/public/stylesheets/mongo3.css +275 -0
  100. data/lib/utils.rb +3 -0
  101. data/lib/views/_cltn_info.erb +95 -0
  102. data/lib/views/_collection.erb +5 -0
  103. data/lib/views/_crumbs.erb +13 -0
  104. data/lib/views/_dump_array.erb +5 -0
  105. data/lib/views/_dump_hash.erb +14 -0
  106. data/lib/views/_info.erb +15 -0
  107. data/lib/views/center_js.erb +3 -0
  108. data/lib/views/cltn_show.erb +1 -0
  109. data/lib/views/collection.erb +44 -0
  110. data/lib/views/database.erb +37 -0
  111. data/lib/views/db_show.erb +1 -0
  112. data/lib/views/explore.erb +250 -0
  113. data/lib/views/landscape.erb +45 -0
  114. data/lib/views/layout.erb +28 -0
  115. data/lib/views/more_data_js.erb +3 -0
  116. data/lib/views/show_cltn.erb +1 -0
  117. data/lib/views/update_crumb_js.erb +1 -0
  118. data/spec/mongo3/node_spec.rb +84 -0
  119. data/spec/spec_helper.rb +8 -0
  120. data/tasks/bones.rake +20 -0
  121. data/tasks/gem.rake +201 -0
  122. data/tasks/git.rake +40 -0
  123. data/tasks/notes.rake +27 -0
  124. data/tasks/post_load.rake +32 -0
  125. data/tasks/rdoc.rake +56 -0
  126. data/tasks/rubyforge.rake +55 -0
  127. data/tasks/setup.rb +292 -0
  128. data/tasks/spec.rake +54 -0
  129. data/tasks/svn.rake +47 -0
  130. data/tasks/test.rake +40 -0
  131. data/tasks/zentest.rake +36 -0
  132. metadata +213 -0
@@ -0,0 +1,890 @@
1
+ var Log = {
2
+ elem: false,
3
+ write: function(text){
4
+ if (!this.elem)
5
+ this.elem = document.getElementById('log');
6
+ this.elem.innerHTML = text;
7
+ this.elem.style.left = (500 - this.elem.offsetWidth / 2) + 'px';
8
+ }
9
+ };
10
+
11
+ function addEvent(obj, type, fn) {
12
+ if (obj.addEventListener) obj.addEventListener(type, fn, false);
13
+ else obj.attachEvent('on' + type, fn);
14
+ };
15
+
16
+
17
+ function init(){
18
+ function get(id) {
19
+ return document.getElementById(id);
20
+ };
21
+ //init data
22
+ var json = {
23
+ id: "node02",
24
+ name: "0.2",
25
+ data: {},
26
+ children: [{
27
+ id: "node13",
28
+ name: "1.3",
29
+ data: {},
30
+ children: [{
31
+ id: "node24",
32
+ name: "2.4",
33
+ data: {},
34
+ children: [{
35
+ id: "node35",
36
+ name: "3.5",
37
+ data: {},
38
+ children: [{
39
+ id: "node46",
40
+ name: "4.6",
41
+ data: {},
42
+ children: []
43
+ }]
44
+ }, {
45
+ id: "node37",
46
+ name: "3.7",
47
+ data: {},
48
+ children: [{
49
+ id: "node48",
50
+ name: "4.8",
51
+ data: {},
52
+ children: []
53
+ }, {
54
+ id: "node49",
55
+ name: "4.9",
56
+ data: {},
57
+ children: []
58
+ }, {
59
+ id: "node410",
60
+ name: "4.10",
61
+ data: {},
62
+ children: []
63
+ }, {
64
+ id: "node411",
65
+ name: "4.11",
66
+ data: {},
67
+ children: []
68
+ }]
69
+ }, {
70
+ id: "node312",
71
+ name: "3.12",
72
+ data: {},
73
+ children: [{
74
+ id: "node413",
75
+ name: "4.13",
76
+ data: {},
77
+ children: []
78
+ }]
79
+ }, {
80
+ id: "node314",
81
+ name: "3.14",
82
+ data: {},
83
+ children: [{
84
+ id: "node415",
85
+ name: "4.15",
86
+ data: {},
87
+ children: []
88
+ }, {
89
+ id: "node416",
90
+ name: "4.16",
91
+ data: {},
92
+ children: []
93
+ }, {
94
+ id: "node417",
95
+ name: "4.17",
96
+ data: {},
97
+ children: []
98
+ }, {
99
+ id: "node418",
100
+ name: "4.18",
101
+ data: {},
102
+ children: []
103
+ }]
104
+ }, {
105
+ id: "node319",
106
+ name: "3.19",
107
+ data: {},
108
+ children: [{
109
+ id: "node420",
110
+ name: "4.20",
111
+ data: {},
112
+ children: []
113
+ }, {
114
+ id: "node421",
115
+ name: "4.21",
116
+ data: {},
117
+ children: []
118
+ }]
119
+ }]
120
+ }, {
121
+ id: "node222",
122
+ name: "2.22",
123
+ data: {},
124
+ children: [{
125
+ id: "node323",
126
+ name: "3.23",
127
+ data: {},
128
+ children: [{
129
+ id: "node424",
130
+ name: "4.24",
131
+ data: {},
132
+ children: []
133
+ }]
134
+ }]
135
+ }]
136
+ }, {
137
+ id: "node125",
138
+ name: "1.25",
139
+ data: {},
140
+ children: [{
141
+ id: "node226",
142
+ name: "2.26",
143
+ data: {},
144
+ children: [{
145
+ id: "node327",
146
+ name: "3.27",
147
+ data: {},
148
+ children: [{
149
+ id: "node428",
150
+ name: "4.28",
151
+ data: {},
152
+ children: []
153
+ }, {
154
+ id: "node429",
155
+ name: "4.29",
156
+ data: {},
157
+ children: []
158
+ }]
159
+ }, {
160
+ id: "node330",
161
+ name: "3.30",
162
+ data: {},
163
+ children: [{
164
+ id: "node431",
165
+ name: "4.31",
166
+ data: {},
167
+ children: []
168
+ }]
169
+ }, {
170
+ id: "node332",
171
+ name: "3.32",
172
+ data: {},
173
+ children: [{
174
+ id: "node433",
175
+ name: "4.33",
176
+ data: {},
177
+ children: []
178
+ }, {
179
+ id: "node434",
180
+ name: "4.34",
181
+ data: {},
182
+ children: []
183
+ }, {
184
+ id: "node435",
185
+ name: "4.35",
186
+ data: {},
187
+ children: []
188
+ }, {
189
+ id: "node436",
190
+ name: "4.36",
191
+ data: {},
192
+ children: []
193
+ }]
194
+ }]
195
+ }, {
196
+ id: "node237",
197
+ name: "2.37",
198
+ data: {},
199
+ children: [{
200
+ id: "node338",
201
+ name: "3.38",
202
+ data: {},
203
+ children: [{
204
+ id: "node439",
205
+ name: "4.39",
206
+ data: {},
207
+ children: []
208
+ }, {
209
+ id: "node440",
210
+ name: "4.40",
211
+ data: {},
212
+ children: []
213
+ }, {
214
+ id: "node441",
215
+ name: "4.41",
216
+ data: {},
217
+ children: []
218
+ }]
219
+ }, {
220
+ id: "node342",
221
+ name: "3.42",
222
+ data: {},
223
+ children: [{
224
+ id: "node443",
225
+ name: "4.43",
226
+ data: {},
227
+ children: []
228
+ }]
229
+ }, {
230
+ id: "node344",
231
+ name: "3.44",
232
+ data: {},
233
+ children: [{
234
+ id: "node445",
235
+ name: "4.45",
236
+ data: {},
237
+ children: []
238
+ }, {
239
+ id: "node446",
240
+ name: "4.46",
241
+ data: {},
242
+ children: []
243
+ }, {
244
+ id: "node447",
245
+ name: "4.47",
246
+ data: {},
247
+ children: []
248
+ }]
249
+ }, {
250
+ id: "node348",
251
+ name: "3.48",
252
+ data: {},
253
+ children: [{
254
+ id: "node449",
255
+ name: "4.49",
256
+ data: {},
257
+ children: []
258
+ }, {
259
+ id: "node450",
260
+ name: "4.50",
261
+ data: {},
262
+ children: []
263
+ }, {
264
+ id: "node451",
265
+ name: "4.51",
266
+ data: {},
267
+ children: []
268
+ }, {
269
+ id: "node452",
270
+ name: "4.52",
271
+ data: {},
272
+ children: []
273
+ }, {
274
+ id: "node453",
275
+ name: "4.53",
276
+ data: {},
277
+ children: []
278
+ }]
279
+ }, {
280
+ id: "node354",
281
+ name: "3.54",
282
+ data: {},
283
+ children: [{
284
+ id: "node455",
285
+ name: "4.55",
286
+ data: {},
287
+ children: []
288
+ }, {
289
+ id: "node456",
290
+ name: "4.56",
291
+ data: {},
292
+ children: []
293
+ }, {
294
+ id: "node457",
295
+ name: "4.57",
296
+ data: {},
297
+ children: []
298
+ }]
299
+ }]
300
+ }, {
301
+ id: "node258",
302
+ name: "2.58",
303
+ data: {},
304
+ children: [{
305
+ id: "node359",
306
+ name: "3.59",
307
+ data: {},
308
+ children: [{
309
+ id: "node460",
310
+ name: "4.60",
311
+ data: {},
312
+ children: []
313
+ }, {
314
+ id: "node461",
315
+ name: "4.61",
316
+ data: {},
317
+ children: []
318
+ }, {
319
+ id: "node462",
320
+ name: "4.62",
321
+ data: {},
322
+ children: []
323
+ }, {
324
+ id: "node463",
325
+ name: "4.63",
326
+ data: {},
327
+ children: []
328
+ }, {
329
+ id: "node464",
330
+ name: "4.64",
331
+ data: {},
332
+ children: []
333
+ }]
334
+ }]
335
+ }]
336
+ }, {
337
+ id: "node165",
338
+ name: "1.65",
339
+ data: {},
340
+ children: [{
341
+ id: "node266",
342
+ name: "2.66",
343
+ data: {},
344
+ children: [{
345
+ id: "node367",
346
+ name: "3.67",
347
+ data: {},
348
+ children: [{
349
+ id: "node468",
350
+ name: "4.68",
351
+ data: {},
352
+ children: []
353
+ }, {
354
+ id: "node469",
355
+ name: "4.69",
356
+ data: {},
357
+ children: []
358
+ }, {
359
+ id: "node470",
360
+ name: "4.70",
361
+ data: {},
362
+ children: []
363
+ }, {
364
+ id: "node471",
365
+ name: "4.71",
366
+ data: {},
367
+ children: []
368
+ }]
369
+ }, {
370
+ id: "node372",
371
+ name: "3.72",
372
+ data: {},
373
+ children: [{
374
+ id: "node473",
375
+ name: "4.73",
376
+ data: {},
377
+ children: []
378
+ }, {
379
+ id: "node474",
380
+ name: "4.74",
381
+ data: {},
382
+ children: []
383
+ }, {
384
+ id: "node475",
385
+ name: "4.75",
386
+ data: {},
387
+ children: []
388
+ }, {
389
+ id: "node476",
390
+ name: "4.76",
391
+ data: {},
392
+ children: []
393
+ }]
394
+ }, {
395
+ id: "node377",
396
+ name: "3.77",
397
+ data: {},
398
+ children: [{
399
+ id: "node478",
400
+ name: "4.78",
401
+ data: {},
402
+ children: []
403
+ }, {
404
+ id: "node479",
405
+ name: "4.79",
406
+ data: {},
407
+ children: []
408
+ }]
409
+ }, {
410
+ id: "node380",
411
+ name: "3.80",
412
+ data: {},
413
+ children: [{
414
+ id: "node481",
415
+ name: "4.81",
416
+ data: {},
417
+ children: []
418
+ }, {
419
+ id: "node482",
420
+ name: "4.82",
421
+ data: {},
422
+ children: []
423
+ }]
424
+ }]
425
+ }, {
426
+ id: "node283",
427
+ name: "2.83",
428
+ data: {},
429
+ children: [{
430
+ id: "node384",
431
+ name: "3.84",
432
+ data: {},
433
+ children: [{
434
+ id: "node485",
435
+ name: "4.85",
436
+ data: {},
437
+ children: []
438
+ }]
439
+ }, {
440
+ id: "node386",
441
+ name: "3.86",
442
+ data: {},
443
+ children: [{
444
+ id: "node487",
445
+ name: "4.87",
446
+ data: {},
447
+ children: []
448
+ }, {
449
+ id: "node488",
450
+ name: "4.88",
451
+ data: {},
452
+ children: []
453
+ }, {
454
+ id: "node489",
455
+ name: "4.89",
456
+ data: {},
457
+ children: []
458
+ }, {
459
+ id: "node490",
460
+ name: "4.90",
461
+ data: {},
462
+ children: []
463
+ }, {
464
+ id: "node491",
465
+ name: "4.91",
466
+ data: {},
467
+ children: []
468
+ }]
469
+ }, {
470
+ id: "node392",
471
+ name: "3.92",
472
+ data: {},
473
+ children: [{
474
+ id: "node493",
475
+ name: "4.93",
476
+ data: {},
477
+ children: []
478
+ }, {
479
+ id: "node494",
480
+ name: "4.94",
481
+ data: {},
482
+ children: []
483
+ }, {
484
+ id: "node495",
485
+ name: "4.95",
486
+ data: {},
487
+ children: []
488
+ }, {
489
+ id: "node496",
490
+ name: "4.96",
491
+ data: {},
492
+ children: []
493
+ }]
494
+ }, {
495
+ id: "node397",
496
+ name: "3.97",
497
+ data: {},
498
+ children: [{
499
+ id: "node498",
500
+ name: "4.98",
501
+ data: {},
502
+ children: []
503
+ }]
504
+ }, {
505
+ id: "node399",
506
+ name: "3.99",
507
+ data: {},
508
+ children: [{
509
+ id: "node4100",
510
+ name: "4.100",
511
+ data: {},
512
+ children: []
513
+ }, {
514
+ id: "node4101",
515
+ name: "4.101",
516
+ data: {},
517
+ children: []
518
+ }, {
519
+ id: "node4102",
520
+ name: "4.102",
521
+ data: {},
522
+ children: []
523
+ }, {
524
+ id: "node4103",
525
+ name: "4.103",
526
+ data: {},
527
+ children: []
528
+ }]
529
+ }]
530
+ }, {
531
+ id: "node2104",
532
+ name: "2.104",
533
+ data: {},
534
+ children: [{
535
+ id: "node3105",
536
+ name: "3.105",
537
+ data: {},
538
+ children: [{
539
+ id: "node4106",
540
+ name: "4.106",
541
+ data: {},
542
+ children: []
543
+ }, {
544
+ id: "node4107",
545
+ name: "4.107",
546
+ data: {},
547
+ children: []
548
+ }, {
549
+ id: "node4108",
550
+ name: "4.108",
551
+ data: {},
552
+ children: []
553
+ }]
554
+ }]
555
+ }, {
556
+ id: "node2109",
557
+ name: "2.109",
558
+ data: {},
559
+ children: [{
560
+ id: "node3110",
561
+ name: "3.110",
562
+ data: {},
563
+ children: [{
564
+ id: "node4111",
565
+ name: "4.111",
566
+ data: {},
567
+ children: []
568
+ }, {
569
+ id: "node4112",
570
+ name: "4.112",
571
+ data: {},
572
+ children: []
573
+ }]
574
+ }, {
575
+ id: "node3113",
576
+ name: "3.113",
577
+ data: {},
578
+ children: [{
579
+ id: "node4114",
580
+ name: "4.114",
581
+ data: {},
582
+ children: []
583
+ }, {
584
+ id: "node4115",
585
+ name: "4.115",
586
+ data: {},
587
+ children: []
588
+ }, {
589
+ id: "node4116",
590
+ name: "4.116",
591
+ data: {},
592
+ children: []
593
+ }]
594
+ }, {
595
+ id: "node3117",
596
+ name: "3.117",
597
+ data: {},
598
+ children: [{
599
+ id: "node4118",
600
+ name: "4.118",
601
+ data: {},
602
+ children: []
603
+ }, {
604
+ id: "node4119",
605
+ name: "4.119",
606
+ data: {},
607
+ children: []
608
+ }, {
609
+ id: "node4120",
610
+ name: "4.120",
611
+ data: {},
612
+ children: []
613
+ }, {
614
+ id: "node4121",
615
+ name: "4.121",
616
+ data: {},
617
+ children: []
618
+ }]
619
+ }, {
620
+ id: "node3122",
621
+ name: "3.122",
622
+ data: {},
623
+ children: [{
624
+ id: "node4123",
625
+ name: "4.123",
626
+ data: {},
627
+ children: []
628
+ }, {
629
+ id: "node4124",
630
+ name: "4.124",
631
+ data: {},
632
+ children: []
633
+ }]
634
+ }]
635
+ }, {
636
+ id: "node2125",
637
+ name: "2.125",
638
+ data: {},
639
+ children: [{
640
+ id: "node3126",
641
+ name: "3.126",
642
+ data: {},
643
+ children: [{
644
+ id: "node4127",
645
+ name: "4.127",
646
+ data: {},
647
+ children: []
648
+ }, {
649
+ id: "node4128",
650
+ name: "4.128",
651
+ data: {},
652
+ children: []
653
+ }, {
654
+ id: "node4129",
655
+ name: "4.129",
656
+ data: {},
657
+ children: []
658
+ }]
659
+ }]
660
+ }]
661
+ }, {
662
+ id: "node1130",
663
+ name: "1.130",
664
+ data: {},
665
+ children: [{
666
+ id: "node2131",
667
+ name: "2.131",
668
+ data: {},
669
+ children: [{
670
+ id: "node3132",
671
+ name: "3.132",
672
+ data: {},
673
+ children: [{
674
+ id: "node4133",
675
+ name: "4.133",
676
+ data: {},
677
+ children: []
678
+ }, {
679
+ id: "node4134",
680
+ name: "4.134",
681
+ data: {},
682
+ children: []
683
+ }, {
684
+ id: "node4135",
685
+ name: "4.135",
686
+ data: {},
687
+ children: []
688
+ }, {
689
+ id: "node4136",
690
+ name: "4.136",
691
+ data: {},
692
+ children: []
693
+ }, {
694
+ id: "node4137",
695
+ name: "4.137",
696
+ data: {},
697
+ children: []
698
+ }]
699
+ }]
700
+ }, {
701
+ id: "node2138",
702
+ name: "2.138",
703
+ data: {},
704
+ children: [{
705
+ id: "node3139",
706
+ name: "3.139",
707
+ data: {},
708
+ children: [{
709
+ id: "node4140",
710
+ name: "4.140",
711
+ data: {},
712
+ children: []
713
+ }, {
714
+ id: "node4141",
715
+ name: "4.141",
716
+ data: {},
717
+ children: []
718
+ }]
719
+ }, {
720
+ id: "node3142",
721
+ name: "3.142",
722
+ data: {},
723
+ children: [{
724
+ id: "node4143",
725
+ name: "4.143",
726
+ data: {},
727
+ children: []
728
+ }, {
729
+ id: "node4144",
730
+ name: "4.144",
731
+ data: {},
732
+ children: []
733
+ }, {
734
+ id: "node4145",
735
+ name: "4.145",
736
+ data: {},
737
+ children: []
738
+ }, {
739
+ id: "node4146",
740
+ name: "4.146",
741
+ data: {},
742
+ children: []
743
+ }, {
744
+ id: "node4147",
745
+ name: "4.147",
746
+ data: {},
747
+ children: []
748
+ }]
749
+ }]
750
+ }]
751
+ }]
752
+ };
753
+ //end
754
+ var infovis = document.getElementById('infovis');
755
+ var w = infovis.offsetWidth, h = infovis.offsetHeight;
756
+ //init canvas
757
+ //Create a new canvas instance.
758
+ var canvas = new Canvas('mycanvas', {
759
+ 'injectInto': 'infovis',
760
+ 'width': w,
761
+ 'height': h,
762
+ 'backgroundColor': '#1a1a1a'
763
+ });
764
+ //end
765
+
766
+ //init st
767
+ //Create a new ST instance
768
+ var st = new ST(canvas, {
769
+ //set duration for the animation
770
+ duration: 800,
771
+ //set animation transition type
772
+ transition: Trans.Quart.easeInOut,
773
+ //set distance between node and its children
774
+ levelDistance: 50,
775
+ //set node and edge styles
776
+ //set overridable=true for styling individual
777
+ //nodes or edges
778
+ Node: {
779
+ height: 20,
780
+ width: 60,
781
+ type: 'rectangle',
782
+ color: '#aaa',
783
+ overridable: true
784
+ },
785
+
786
+ Edge: {
787
+ type: 'bezier',
788
+ overridable: true
789
+ },
790
+
791
+ onBeforeCompute: function(node){
792
+ Log.write("loading " + node.name);
793
+ },
794
+
795
+ onAfterCompute: function(){
796
+ Log.write("done");
797
+ },
798
+
799
+ //This method is called on DOM label creation.
800
+ //Use this method to add event handlers and styles to
801
+ //your node.
802
+ onCreateLabel: function(label, node){
803
+ label.id = node.id;
804
+ label.innerHTML = node.name;
805
+ label.onclick = function(){
806
+ st.onClick(node.id);
807
+ };
808
+ //set label styles
809
+ var style = label.style;
810
+ style.width = 60 + 'px';
811
+ style.height = 17 + 'px';
812
+ style.cursor = 'pointer';
813
+ style.color = '#333';
814
+ style.fontSize = '0.8em';
815
+ style.textAlign= 'center';
816
+ style.paddingTop = '3px';
817
+ },
818
+
819
+ //This method is called right before plotting
820
+ //a node. It's useful for changing an individual node
821
+ //style properties before plotting it.
822
+ //The data properties prefixed with a dollar
823
+ //sign will override the global node style properties.
824
+ onBeforePlotNode: function(node){
825
+ //add some color to the nodes in the path between the
826
+ //root node and the selected node.
827
+ if (node.selected) {
828
+ node.data.$color = "#ff7";
829
+ }
830
+ else {
831
+ delete node.data.$color;
832
+ var GUtil = Graph.Util;
833
+ //if the node belongs to the last plotted level
834
+ if(!GUtil.anySubnode(node, "exist")) {
835
+ //count children number
836
+ var count = 0;
837
+ GUtil.eachSubnode(node, function(n) { count++; });
838
+ //assign a node color based on
839
+ //how many children it has
840
+ node.data.$color = ['#aaa', '#baa', '#caa', '#daa', '#eaa', '#faa'][count];
841
+ }
842
+ }
843
+ },
844
+
845
+ //This method is called right before plotting
846
+ //an edge. It's useful for changing an individual edge
847
+ //style properties before plotting it.
848
+ //Edge data proprties prefixed with a dollar sign will
849
+ //override the Edge global style properties.
850
+ onBeforePlotLine: function(adj){
851
+ if (adj.nodeFrom.selected && adj.nodeTo.selected) {
852
+ adj.data.$color = "#eed";
853
+ adj.data.$lineWidth = 3;
854
+ }
855
+ else {
856
+ delete adj.data.$color;
857
+ delete adj.data.$lineWidth;
858
+ }
859
+ }
860
+ });
861
+ //load json data
862
+ st.loadJSON(json);
863
+ //compute node positions and layout
864
+ st.compute();
865
+ //optional: make a translation of the tree
866
+ st.geom.translate(new Complex(-200, 0), "startPos");
867
+ //emulate a click on the root node.
868
+ st.onClick(st.root);
869
+ //end
870
+ //Add event handlers to switch spacetree orientation.
871
+ var top = get('r-top'),
872
+ left = get('r-left'),
873
+ bottom = get('r-bottom'),
874
+ right = get('r-right');
875
+
876
+ function changeHandler() {
877
+ if(this.checked) {
878
+ top.disabled = bottom.disabled = right.disabled = left.disabled = true;
879
+ st.switchPosition(this.value, "animate", {
880
+ onComplete: function(){
881
+ top.disabled = bottom.disabled = right.disabled = left.disabled = false;
882
+ }
883
+ });
884
+ }
885
+ };
886
+
887
+ top.onchange = left.onchange = bottom.onchange = right.onchange = changeHandler;
888
+ //end
889
+
890
+ }