mongo3 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/README.rdoc +6 -2
  2. data/Rakefile +1 -0
  3. data/data/populate +13 -11
  4. data/lib/controllers/databases.rb +3 -3
  5. data/lib/controllers/explore.rb +7 -5
  6. data/lib/helpers/main_helper.rb +24 -0
  7. data/lib/mongo3/connection.rb +105 -59
  8. data/lib/mongo3/node.rb +35 -6
  9. data/lib/mongo3.rb +1 -1
  10. data/lib/public/javascripts/{Jit/jit.js → jit.js} +0 -0
  11. data/lib/views/databases/_results.erb +29 -12
  12. data/lib/views/explore/explore.erb +52 -31
  13. data/lib/views/layout.erb +2 -6
  14. data/spec/mongo3/connection_spec.rb +40 -6
  15. metadata +13 -45
  16. data/lib/public/javascripts/Jit/Examples/Hypertree/example1.html +0 -57
  17. data/lib/public/javascripts/Jit/Examples/Hypertree/example1.js +0 -427
  18. data/lib/public/javascripts/Jit/Examples/Hypertree/example2.html +0 -58
  19. data/lib/public/javascripts/Jit/Examples/Hypertree/example2.js +0 -310
  20. data/lib/public/javascripts/Jit/Examples/Hypertree/example3.html +0 -199
  21. data/lib/public/javascripts/Jit/Examples/Hypertree/example3.js +0 -615
  22. data/lib/public/javascripts/Jit/Examples/Other/example1.html +0 -58
  23. data/lib/public/javascripts/Jit/Examples/Other/example1.js +0 -566
  24. data/lib/public/javascripts/Jit/Examples/Other/example2.html +0 -58
  25. data/lib/public/javascripts/Jit/Examples/Other/example2.js +0 -304
  26. data/lib/public/javascripts/Jit/Examples/Other/example3.html +0 -58
  27. data/lib/public/javascripts/Jit/Examples/Other/example3.js +0 -304
  28. data/lib/public/javascripts/Jit/Examples/RGraph/example1.html +0 -57
  29. data/lib/public/javascripts/Jit/Examples/RGraph/example1.js +0 -475
  30. data/lib/public/javascripts/Jit/Examples/RGraph/example2.html +0 -58
  31. data/lib/public/javascripts/Jit/Examples/RGraph/example2.js +0 -356
  32. data/lib/public/javascripts/Jit/Examples/RGraph/example3.html +0 -199
  33. data/lib/public/javascripts/Jit/Examples/RGraph/example3.js +0 -622
  34. data/lib/public/javascripts/Jit/Examples/Spacetree/example1.html +0 -91
  35. data/lib/public/javascripts/Jit/Examples/Spacetree/example1.js +0 -890
  36. data/lib/public/javascripts/Jit/Examples/Spacetree/example2.html +0 -90
  37. data/lib/public/javascripts/Jit/Examples/Spacetree/example2.js +0 -213
  38. data/lib/public/javascripts/Jit/Examples/Spacetree/example3.html +0 -75
  39. data/lib/public/javascripts/Jit/Examples/Spacetree/example3.js +0 -863
  40. data/lib/public/javascripts/Jit/Examples/Treemap/example1.html +0 -56
  41. data/lib/public/javascripts/Jit/Examples/Treemap/example1.js +0 -95
  42. data/lib/public/javascripts/Jit/Examples/Treemap/example2.html +0 -61
  43. data/lib/public/javascripts/Jit/Examples/Treemap/example2.js +0 -750
  44. data/lib/public/javascripts/Jit/Examples/Treemap/example3.html +0 -62
  45. data/lib/public/javascripts/Jit/Examples/Treemap/example3.js +0 -775
  46. data/lib/public/javascripts/Jit/Examples/css/Hypertree.css +0 -0
  47. data/lib/public/javascripts/Jit/Examples/css/Other.css +0 -8
  48. data/lib/public/javascripts/Jit/Examples/css/RGraph.css +0 -0
  49. data/lib/public/javascripts/Jit/Examples/css/Spacetree.css +0 -0
  50. data/lib/public/javascripts/Jit/Examples/css/Treemap.css +0 -78
  51. data/lib/public/javascripts/Jit/Examples/css/base.css +0 -106
  52. data/lib/public/javascripts/Jit/Examples/css/col1.png +0 -0
  53. data/lib/public/javascripts/Jit/Examples/css/col2.png +0 -0
  54. data/lib/public/javascripts/Jit/Examples/css/gradient.png +0 -0
  55. data/lib/public/javascripts/Jit/Extras/excanvas.js +0 -35
  56. data/lib/public/javascripts/Jit/jit-yc.js +0 -1
  57. data/lib/public/javascripts/Jit-1.1.3.zip +0 -0
@@ -1,890 +0,0 @@
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
- }