mongo3 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnignore +3 -0
- data/.bnsignore +16 -0
- data/.gitignore +1 -0
- data/HISTORY +11 -1
- data/README.rdoc +2 -0
- data/bin/mongo3 +7 -6
- data/config/mongo3.yml +33 -0
- data/data/populate +37 -0
- data/lib/controllers/collections.rb +2 -10
- data/lib/controllers/databases.rb +12 -1
- data/lib/controllers/explore.rb +20 -6
- data/lib/helpers/collection_helper.rb +34 -2
- data/lib/helpers/explore_helper.rb +0 -5
- data/lib/helpers/main_helper.rb +5 -0
- data/lib/helpers/paths_helper.rb +15 -0
- data/lib/mongo3/connection.rb +39 -24
- data/lib/mongo3/user.rb +10 -4
- data/lib/mongo3/zone.rb +24 -8
- data/lib/mongo3.rb +4 -7
- data/lib/public/.DS_Store +0 -0
- data/lib/public/images/favicon.png +0 -0
- data/lib/public/images/information.png +0 -0
- data/lib/public/images/tree/Thumbs.db +0 -0
- data/lib/public/images/tree/array.png +0 -0
- data/lib/public/images/tree/arrow_refresh.png +0 -0
- data/lib/public/images/tree/collapsable-last.gif +0 -0
- data/lib/public/images/tree/collapsable.gif +0 -0
- data/lib/public/images/tree/collection.png +0 -0
- data/lib/public/images/tree/cross.png +0 -0
- data/lib/public/images/tree/disk.png +0 -0
- data/lib/public/images/tree/expandable-last.gif +0 -0
- data/lib/public/images/tree/expandable-last.png +0 -0
- data/lib/public/images/tree/expandable.gif +0 -0
- data/lib/public/images/tree/expandable.png +0 -0
- data/lib/public/images/tree/folder_add.png +0 -0
- data/lib/public/images/tree/folder_delete.png +0 -0
- data/lib/public/images/tree/folder_edit.png +0 -0
- data/lib/public/images/tree/icons.png +0 -0
- data/lib/public/images/tree/leaf-last.gif +0 -0
- data/lib/public/images/tree/leaf-last.png +0 -0
- data/lib/public/images/tree/leaf.gif +0 -0
- data/lib/public/images/tree/leaf.png +0 -0
- data/lib/public/images/tree/line_bg.gif +0 -0
- data/lib/public/images/tree/line_bg_over.gif +0 -0
- data/lib/public/images/tree/line_bg_over_last.gif +0 -0
- data/lib/public/images/tree/minus.gif +0 -0
- data/lib/public/images/tree/page_add.png +0 -0
- data/lib/public/images/tree/page_delete.png +0 -0
- data/lib/public/images/tree/page_edit.png +0 -0
- data/lib/public/images/tree/plus.gif +0 -0
- data/lib/public/images/tree/root.gif +0 -0
- data/lib/public/images/tree/spacer.gif +0 -0
- data/lib/public/images/tree/spinner.gif +0 -0
- data/lib/public/images/tree/tree_line.gif +0 -0
- data/lib/public/javascripts/.DS_Store +0 -0
- data/lib/public/javascripts/jquery.simple.tree.js +451 -0
- data/lib/public/javascripts/jquery.tiptip.min.js +6 -0
- data/lib/public/javascripts/jquery.tree.min.js +1 -0
- data/lib/public/javascripts/jstree/jquery.tree.js +2058 -0
- data/lib/public/javascripts/themes/mongo3/bg.jpg +0 -0
- data/lib/public/javascripts/themes/mongo3/dot_for_ie.gif +0 -0
- data/lib/public/javascripts/themes/mongo3/icons.png +0 -0
- data/lib/public/javascripts/themes/mongo3/style.css +39 -0
- data/lib/public/javascripts/themes/mongo3/throbber.gif +0 -0
- data/lib/public/stylesheets/mongo3.css +201 -65
- data/lib/views/collections/_fields_form.erb +1 -1
- data/lib/views/collections/_index_form.erb +1 -1
- data/lib/views/collections/_index_rows.erb +40 -15
- data/lib/views/collections/_nodes.erb +0 -0
- data/lib/views/collections/_results.erb +4 -4
- data/lib/views/collections/{_rows.erb → _rows_table.erb} +11 -9
- data/lib/views/collections/_rows_tree.erb +81 -0
- data/lib/views/collections/_search_form.erb +1 -1
- data/lib/views/collections/blee.erb +20 -0
- data/lib/views/collections/list.erb +1 -1
- data/lib/views/collections/update.js.erb +1 -1
- data/lib/views/databases/_results.erb +9 -7
- data/lib/views/explore/_node_info.erb +21 -4
- data/lib/views/explore/explore.erb +11 -1
- data/lib/views/explore/load_collection.js.erb +1 -0
- data/lib/views/explore/load_database.js.erb +1 -0
- data/lib/views/layout.erb +13 -7
- data/lib/views/users/_results.erb +2 -2
- data/spec/configs/crap.yml +20 -0
- data/spec/configs/hosed.yml +4 -0
- data/spec/configs/landscape.yml +9 -0
- data/spec/mongo3/connection_spec.rb +105 -12
- data/spec/mongo3/node_spec.rb +38 -0
- data/spec/mongo3/user_spec.rb +72 -0
- data/spec/mongo3/zone_spec.rb +69 -0
- data/spec/mongo3_spec.rb +20 -0
- data/spec/spec_helper.rb +13 -0
- data/tasks/setup.rb +1 -1
- metadata +71 -6
- data/spec/landscape.yml +0 -3
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,39 @@
|
|
1
|
+
.tree li {
|
2
|
+
width: 875px;
|
3
|
+
float: left;
|
4
|
+
}
|
5
|
+
|
6
|
+
/* BACKGROUND */
|
7
|
+
.tree-mongo3 .ltr, .tree-mongo3 .rtl { background:transparent; min-width:100%; _width:100%; margin-left:0; margin-right:0; display:table; }
|
8
|
+
.tree-mongo3 .ltr > li.leaf, .tree-mongo3 .rtl > li.leaf { background-image:none; }
|
9
|
+
|
10
|
+
/* LOCKED */
|
11
|
+
.tree-mongo3 .locked li a { color:gray; }
|
12
|
+
/* DOTS */
|
13
|
+
.tree-mongo3 ul { background-position:6px 1px; background-repeat:repeat-y; background-image:url(data:image/gif;base64,R0lGODlhAgACAIAAAB4dGf///yH5BAEAAAEALAAAAAACAAIAAAICRF4AOw==); _background-image:url("dot_for_ie.gif"); *background-image:url("dot_for_ie.gif"); }
|
14
|
+
.tree-mongo3 li { background-position:-64px -16px; background-repeat:no-repeat; background-image:url("icons.png"); }
|
15
|
+
/* NO DOTS */
|
16
|
+
.tree-mongo3 .no_dots, .tree-mongo3 .no_dots ul { background:transparent; }
|
17
|
+
.tree-mongo3 .no_dots li.leaf { background-image:none; background-color:transparent; }
|
18
|
+
/* OPEN or CLOSED */
|
19
|
+
.tree-mongo3 li.open { background:url("icons.png") -32px -48px no-repeat; }
|
20
|
+
.tree-mongo3 li.closed, #jstree-dragged.tree-mongo3 li li.open { background:url("icons.png") -48px -32px no-repeat; }
|
21
|
+
#jstree-marker { background-image:url("icons.png"); }
|
22
|
+
/* DEFAULT, HOVER, CLICKED, LOADING STATES */
|
23
|
+
.tree-mongo3 li a, .tree-mongo3 li span { color:#fff; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; }
|
24
|
+
.tree-mongo3 li a:hover, .tree-mongo3 li a.hover, .tree-mongo3 li span:hover { color: #92b948; }
|
25
|
+
.tree-mongo3 li a.clicked, .tree-mongo3 li a.clicked:hover, .tree-mongo3 li span.clicked { background: #beebff; border:1px solid #99defd; padding:0px 3px 0px 3px; }
|
26
|
+
/* ICONS */
|
27
|
+
.tree-mongo3 ins { vertical-align:text-bottom; background-image:url("icons.png"); background-position:0 0; background-repeat:no-repeat; }
|
28
|
+
.tree-mongo3 ul li a.loading ins { background-image:url("throbber.gif") !important; background-position:0 0 !important; } /* UL is added to make selector stronger */
|
29
|
+
.tree-mongo3 li a ins.forbidden { background-position:-16px -16px; }
|
30
|
+
.tree-mongo3 .locked li a ins { background-position:0 -48px; }
|
31
|
+
.tree-mongo3 li span ins { background-position:-16px 0; }
|
32
|
+
#jstree-dragged.tree-mongo3 ins { background:url("icons.png") -16px -32px no-repeat; }
|
33
|
+
#jstree-dragged.tree-mongo3 ins.forbidden { background:url("icons.png") -16px -16px no-repeat; }
|
34
|
+
|
35
|
+
/* CONTEXT MENU */
|
36
|
+
.tree-mongo3-context a ins { background-image:url("icons.png"); background-repeat:no-repeat; background-position:-64px -64px; }
|
37
|
+
.tree-mongo3-context a ins.create { background-position:0 -16px; }
|
38
|
+
.tree-mongo3-context a ins.rename { background-position:-16px 0px; }
|
39
|
+
.tree-mongo3-context a ins.remove { background-position:0 -32px; }
|
Binary file
|
@@ -20,13 +20,6 @@ body {
|
|
20
20
|
margin: 0;
|
21
21
|
}
|
22
22
|
|
23
|
-
span#version {
|
24
|
-
color: #4d7bff;
|
25
|
-
font-size: .4em;
|
26
|
-
vertical-align: bottom;
|
27
|
-
margin: 88px 0px 0px -57px;
|
28
|
-
}
|
29
|
-
|
30
23
|
img {
|
31
24
|
border: none;
|
32
25
|
vertical-align: text-top;
|
@@ -34,17 +27,18 @@ img {
|
|
34
27
|
|
35
28
|
/* Flash */
|
36
29
|
div.flash {
|
37
|
-
display:
|
38
|
-
width:
|
39
|
-
padding:
|
40
|
-
margin:
|
41
|
-
font-size:
|
42
|
-
color:
|
43
|
-
border:
|
44
|
-
-moz-border-radius
|
45
|
-
-
|
46
|
-
-
|
47
|
-
-
|
30
|
+
display: none;
|
31
|
+
width: 95%;
|
32
|
+
padding: 10px;
|
33
|
+
margin: 20px 0 0px 300px;
|
34
|
+
font-size: .5em;
|
35
|
+
color: #fff;
|
36
|
+
border: 1px #92b948 solid;
|
37
|
+
-moz-border-radius: 20px 0px 20px 0px;
|
38
|
+
-webkit-border-top-right-radius: 20px;
|
39
|
+
-webkit-border-top-left-radius: 0px;
|
40
|
+
-webkit-border-bottom-left-radius: 20px;
|
41
|
+
-webkit-border-bottom-right-radius: 0px;
|
48
42
|
}
|
49
43
|
div.flash_error {
|
50
44
|
color: #f00;
|
@@ -67,13 +61,25 @@ div#logo {
|
|
67
61
|
margin: 10px 0px 25px 20px;
|
68
62
|
}
|
69
63
|
|
64
|
+
div#version {
|
65
|
+
color: #4d7bff;
|
66
|
+
font-size: .4em;
|
67
|
+
margin: 64px 0px 0px 255px;
|
68
|
+
}
|
69
|
+
|
70
|
+
img#logo {
|
71
|
+
display: inline;
|
72
|
+
float: left;
|
73
|
+
}
|
74
|
+
|
75
|
+
|
70
76
|
#main {
|
71
77
|
clear: left;
|
72
78
|
margin: 20px 10px 10px 20px;
|
73
79
|
overflow: none;
|
74
80
|
}
|
75
81
|
|
76
|
-
ul {
|
82
|
+
ul.list {
|
77
83
|
list-style-image: none;
|
78
84
|
list-style-position: outside;
|
79
85
|
list-style-type: none;
|
@@ -221,15 +227,9 @@ div.scrollable div.items {
|
|
221
227
|
|
222
228
|
/* Commons */
|
223
229
|
div.borders {
|
224
|
-
-moz-border-radius
|
225
|
-
-
|
226
|
-
|
227
|
-
-moz-border-radius-topright: 7px;
|
228
|
-
-webkit-border-top-left-radius: 7px;
|
229
|
-
-webkit-border-top-right-radius: 7px;
|
230
|
-
-webkit-border-bottom-right-radius: 7px;
|
231
|
-
-webkit-border-bottom-left-radius: 7px;
|
232
|
-
border: 1px #92b948 solid;
|
230
|
+
-moz-border-radius: 7px;
|
231
|
+
-webkit-border-radius: 7px;
|
232
|
+
border: 1px #92b948 solid;
|
233
233
|
}
|
234
234
|
|
235
235
|
/* Explorer css */
|
@@ -291,10 +291,8 @@ div#fields {
|
|
291
291
|
margin: 20px 10px;
|
292
292
|
padding: 10px 10px;
|
293
293
|
overflow: hidden;
|
294
|
-
-moz-border-radius
|
295
|
-
-
|
296
|
-
-moz-border-radius-bottomright: 7px;
|
297
|
-
-moz-border-radius-topright: 7px;
|
294
|
+
-moz-border-radius: 7px;
|
295
|
+
-webkit-border-radius: 7px;
|
298
296
|
border: 1px #92b948 solid;
|
299
297
|
}
|
300
298
|
div.title {
|
@@ -311,7 +309,7 @@ fieldset {
|
|
311
309
|
}
|
312
310
|
fieldset.check {
|
313
311
|
float: left;
|
314
|
-
width:
|
312
|
+
width: 25%;
|
315
313
|
}
|
316
314
|
|
317
315
|
p.ctx {
|
@@ -335,10 +333,13 @@ table.cltn {
|
|
335
333
|
table.cltn thead {
|
336
334
|
font-weight: bold;
|
337
335
|
border-bottom: 1px #c1c1c1 solid;
|
338
|
-
color: #
|
336
|
+
color: #ff8f00;
|
337
|
+
}
|
338
|
+
table.cltn tbody td {
|
339
|
+
padding: 0px 5px 0px 0px;
|
339
340
|
}
|
340
|
-
table.cltn tr {
|
341
|
-
color: #
|
341
|
+
table.cltn tbody tr {
|
342
|
+
color: #c1c1c1;
|
342
343
|
}
|
343
344
|
table.cltn tr.highlight {
|
344
345
|
color: #92b948;
|
@@ -375,31 +376,28 @@ img.del_index {
|
|
375
376
|
}
|
376
377
|
|
377
378
|
input.search {
|
378
|
-
background:
|
379
|
-
width:
|
380
|
-
border:
|
381
|
-
-moz-border-radius
|
382
|
-
-
|
383
|
-
|
384
|
-
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
padding: 5px 0px 0px 20px;
|
389
|
-
margin: 5px 5px;
|
379
|
+
background: transparent url(/images/search.png) no-repeat 2px 6px;
|
380
|
+
width: 96%;
|
381
|
+
border: 2px #434343 solid;
|
382
|
+
-moz-border-radius: 40px/10px;
|
383
|
+
-webkit-border-radius: 40px 10px;
|
384
|
+
height: 25px;
|
385
|
+
font-size: 1.2em;
|
386
|
+
color: #92b948;
|
387
|
+
padding: 5px 0px 0px 20px;
|
388
|
+
margin: 5px 5px;
|
390
389
|
}
|
391
390
|
|
392
391
|
button {
|
393
|
-
-moz-border-radius
|
394
|
-
-moz-
|
395
|
-
-
|
396
|
-
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
color: #c1c1c1;
|
392
|
+
-moz-border-radius: 14px;
|
393
|
+
-moz-box-shadow: 2px 2px 6px #232323;
|
394
|
+
-webkit-border-radius: 14px;
|
395
|
+
-webkit-box-shadow: 2px 2px 6px #232323;
|
396
|
+
background: transparent url(/images/button.png) repeat-x center bottom;
|
397
|
+
height: 20px;
|
398
|
+
width: 100px;
|
399
|
+
margin-right: 10px;
|
400
|
+
color: #c1c1c1;
|
403
401
|
}
|
404
402
|
|
405
403
|
button.show:hover {
|
@@ -445,7 +443,7 @@ button.drop:hover {
|
|
445
443
|
img.delete {
|
446
444
|
cursor: pointer;
|
447
445
|
border: 0;
|
448
|
-
display:none
|
446
|
+
/* display:none;*/
|
449
447
|
}
|
450
448
|
img.wait {
|
451
449
|
width: 16px;
|
@@ -464,8 +462,8 @@ img.wait {
|
|
464
462
|
border: 2px solid #333;
|
465
463
|
opacity: 0.8;
|
466
464
|
-moz-border-radius: 6px;
|
465
|
+
-moz-box-shadow: 0 0 20px #92b948;
|
467
466
|
-webkit-border-radius: 6px;
|
468
|
-
-moz-box-shadow: 0 0 20px #92b948;
|
469
467
|
-webkit-box-shadow: 0 0 20px #92b948;
|
470
468
|
}
|
471
469
|
|
@@ -485,13 +483,25 @@ div#info {
|
|
485
483
|
}
|
486
484
|
|
487
485
|
/* Node information */
|
488
|
-
div.item img {
|
486
|
+
div.item img.drop {
|
489
487
|
z-index: 100;
|
490
488
|
display: none;
|
491
489
|
float: left;
|
492
490
|
margin-right: 10px;
|
493
491
|
}
|
494
492
|
|
493
|
+
p.info {
|
494
|
+
float:left;
|
495
|
+
}
|
496
|
+
|
497
|
+
p.show {
|
498
|
+
float: left;
|
499
|
+
}
|
500
|
+
img.info {
|
501
|
+
display: block;
|
502
|
+
float: right;
|
503
|
+
}
|
504
|
+
|
495
505
|
div#legend {
|
496
506
|
border-bottom: 1px #434343 solid;
|
497
507
|
font-size: 0.5em;
|
@@ -525,10 +535,8 @@ div.selected {
|
|
525
535
|
|
526
536
|
/* Users */
|
527
537
|
input.field_border {
|
528
|
-
-moz-border-radius
|
529
|
-
-
|
530
|
-
-moz-border-radius-topleft: 10px;
|
531
|
-
-moz-border-radius-topright: 0px;
|
538
|
+
-moz-border-radius: 40px/10px;
|
539
|
+
-webkit-border-radius: 40px 10px;
|
532
540
|
}
|
533
541
|
|
534
542
|
input.user {
|
@@ -545,3 +553,131 @@ input.user {
|
|
545
553
|
button.user:hover {
|
546
554
|
background-color: #ad1ecb;
|
547
555
|
}
|
556
|
+
|
557
|
+
/* ------------------------------------------------------------------------- */
|
558
|
+
/* Tooltips */
|
559
|
+
#tiptip_holder {
|
560
|
+
display: none;
|
561
|
+
position: absolute;
|
562
|
+
top: 0;
|
563
|
+
left: 0;
|
564
|
+
z-index: 99999;
|
565
|
+
}
|
566
|
+
|
567
|
+
#tiptip_holder.tip_top {
|
568
|
+
padding-bottom: 5px;
|
569
|
+
}
|
570
|
+
|
571
|
+
#tiptip_holder.tip_bottom {
|
572
|
+
padding-top: 5px;
|
573
|
+
}
|
574
|
+
|
575
|
+
#tiptip_holder.tip_right {
|
576
|
+
padding-left: 5px;
|
577
|
+
}
|
578
|
+
|
579
|
+
#tiptip_holder.tip_left {
|
580
|
+
padding-right: 5px;
|
581
|
+
}
|
582
|
+
|
583
|
+
#tiptip_content {
|
584
|
+
font-size: 11px;
|
585
|
+
color: #fff;
|
586
|
+
text-shadow: 0 0 2px #000;
|
587
|
+
padding: 4px 8px;
|
588
|
+
border: 1px solid rgba(255,255,255,0.25);
|
589
|
+
background-color: rgb(45,45,45);
|
590
|
+
background-color: rgba(45,45,45,0.92);
|
591
|
+
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));
|
592
|
+
border-radius: 3px;
|
593
|
+
-webkit-border-radius: 3px;
|
594
|
+
-moz-border-radius: 3px;
|
595
|
+
box-shadow: 0 0 3px #555;
|
596
|
+
-webkit-box-shadow: 0 0 3px #555;
|
597
|
+
-moz-box-shadow: 0 0 3px #555;
|
598
|
+
}
|
599
|
+
|
600
|
+
#tiptip_arrow, #tiptip_arrow_inner {
|
601
|
+
position: absolute;
|
602
|
+
border-color: transparent;
|
603
|
+
border-style: solid;
|
604
|
+
border-width: 6px;
|
605
|
+
height: 0;
|
606
|
+
width: 0;
|
607
|
+
}
|
608
|
+
|
609
|
+
#tiptip_holder.tip_top #tiptip_arrow {
|
610
|
+
border-top-color: #fff;
|
611
|
+
border-top-color: rgba(255,255,255,0.35);
|
612
|
+
}
|
613
|
+
|
614
|
+
#tiptip_holder.tip_bottom #tiptip_arrow {
|
615
|
+
border-bottom-color: #fff;
|
616
|
+
border-bottom-color: rgba(255,255,255,0.35);
|
617
|
+
}
|
618
|
+
|
619
|
+
#tiptip_holder.tip_right #tiptip_arrow {
|
620
|
+
border-right-color: #fff;
|
621
|
+
border-right-color: rgba(255,255,255,0.35);
|
622
|
+
}
|
623
|
+
|
624
|
+
#tiptip_holder.tip_left #tiptip_arrow {
|
625
|
+
border-left-color: #fff;
|
626
|
+
border-left-color: rgba(255,255,255,0.35);
|
627
|
+
}
|
628
|
+
|
629
|
+
#tiptip_holder.tip_top #tiptip_arrow_inner {
|
630
|
+
margin-top: -7px;
|
631
|
+
margin-left: -6px;
|
632
|
+
border-top-color: rgb(45,45,45);
|
633
|
+
border-top-color: rgba(45,45,45,0.92);
|
634
|
+
}
|
635
|
+
|
636
|
+
#tiptip_holder.tip_bottom #tiptip_arrow_inner {
|
637
|
+
margin-top: -5px;
|
638
|
+
margin-left: -6px;
|
639
|
+
border-bottom-color: rgb(45,45,45);
|
640
|
+
border-bottom-color: rgba(45,45,45,0.92);
|
641
|
+
}
|
642
|
+
|
643
|
+
#tiptip_holder.tip_right #tiptip_arrow_inner {
|
644
|
+
margin-top: -6px;
|
645
|
+
margin-left: -5px;
|
646
|
+
border-right-color: rgb(45,45,45);
|
647
|
+
border-right-color: rgba(45,45,45,0.92);
|
648
|
+
}
|
649
|
+
|
650
|
+
#tiptip_holder.tip_left #tiptip_arrow_inner {
|
651
|
+
margin-top: -6px;
|
652
|
+
margin-left: -7px;
|
653
|
+
border-left-color: rgb(45,45,45);
|
654
|
+
border-left-color: rgba(45,45,45,0.92);
|
655
|
+
}
|
656
|
+
|
657
|
+
/* Webkit Hacks */
|
658
|
+
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
659
|
+
#tiptip_content {
|
660
|
+
padding: 4px 8px 5px 8px;
|
661
|
+
background-color: rgba(45,45,45,0.88);
|
662
|
+
}
|
663
|
+
#tiptip_holder.tip_bottom #tiptip_arrow_inner {
|
664
|
+
border-bottom-color: rgba(45,45,45,0.88);
|
665
|
+
}
|
666
|
+
#tiptip_holder.tip_top #tiptip_arrow_inner {
|
667
|
+
border-top-color: rgba(20,20,20,0.92);
|
668
|
+
}
|
669
|
+
}
|
670
|
+
|
671
|
+
/* ------------------------------------------------------------------------- */
|
672
|
+
/* Document Tree */
|
673
|
+
span span.meta {
|
674
|
+
font-style: italic;
|
675
|
+
color: #c1c1c1;
|
676
|
+
}
|
677
|
+
|
678
|
+
div.delete {
|
679
|
+
display: inline;
|
680
|
+
float: right;
|
681
|
+
width: 5%;
|
682
|
+
}
|
683
|
+
|
@@ -9,7 +9,7 @@
|
|
9
9
|
</div>
|
10
10
|
<fieldset style="float:right;">
|
11
11
|
<button type="submit" id="submit_button" class="button show">show</button>
|
12
|
-
<img id="show_load" src="/images/loading.gif" style="width:20px;height:20px;vertical-align:top;display:none"
|
12
|
+
<img id="show_load" src="/images/loading.gif" style="width:20px;height:20px;vertical-align:top;display:none"/>
|
13
13
|
</fieldset>
|
14
14
|
</form>
|
15
15
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<fieldset>
|
5
5
|
<input id="index" type="text" name="index" class="search" value=""/>
|
6
6
|
<button type="submit" id="submit_button" class="button search" style="display:none">create</button>
|
7
|
-
<img id="create_load" src="/images/loading.gif" style="width:25px;height:25px;vertical-align:sub;display:none"
|
7
|
+
<img id="create_load" src="/images/loading.gif" style="width:25px;height:25px;vertical-align:sub;display:none"/>
|
8
8
|
</fieldset>
|
9
9
|
</form>
|
10
10
|
|
@@ -3,16 +3,18 @@
|
|
3
3
|
<div class="borders" style="padding:10px">
|
4
4
|
<table id="indexes" class="cltn" border="0" cellpadding="10" cellspacing="20">
|
5
5
|
<thead>
|
6
|
-
<
|
7
|
-
|
8
|
-
|
6
|
+
<tr>
|
7
|
+
<th width="3%"> </th>
|
8
|
+
<th>Name</th>
|
9
|
+
<th>Settings</th>
|
10
|
+
</tr>
|
9
11
|
</thead>
|
10
12
|
<tbody>
|
11
13
|
<% @indexes.keys.sort.each do |name| %>
|
12
14
|
<tr id="<%=name%>" valign="top">
|
13
15
|
<td id="<%=name%>">
|
14
|
-
<img class="
|
15
|
-
<img class="wait" id="wait_<%=name%>" src="/images/loading.gif"
|
16
|
+
<img rel="div#confirm_drop" class="drop" style="display:none" id="<%=name%>" src="/images/delete.png" title="delete this index"/>
|
17
|
+
<img class="wait" id="wait_<%=name%>" src="/images/loading.gif"/>
|
16
18
|
</td>
|
17
19
|
<td><%=name%></td>
|
18
20
|
<% buff = [];@indexes[name].each do |pair| %>
|
@@ -25,30 +27,53 @@
|
|
25
27
|
</table>
|
26
28
|
</div>
|
27
29
|
|
30
|
+
<div class="modal" id="confirm_drop" style="font-size:1em">
|
31
|
+
<p>Dropping index. Are you sure?</p>
|
32
|
+
<p style="margin:10px">
|
33
|
+
<button class="close yes">Yes</button>
|
34
|
+
<button class="close">No</button>
|
35
|
+
</p>
|
36
|
+
</div>
|
37
|
+
|
28
38
|
<script>
|
29
39
|
$( function() {
|
30
|
-
$("table#indexes tr" ).hover(
|
40
|
+
$("table#indexes tbody tr" ).hover(
|
31
41
|
function() {
|
32
42
|
$(this).addClass( 'highlight' );
|
33
|
-
$("td#" + $(this).attr('id') + " img.
|
43
|
+
$("td#" + $(this).attr('id') + " img.drop" ).show();
|
34
44
|
},
|
35
45
|
function() {
|
36
46
|
$(this).removeClass( 'highlight' );
|
37
|
-
$("td#" + $(this).attr('id') + " img.
|
47
|
+
$("td#" + $(this).attr('id') + " img.drop" ).hide();
|
38
48
|
});
|
39
|
-
|
40
|
-
|
49
|
+
|
50
|
+
$('img.drop' ).overlay( {
|
51
|
+
expose: {
|
52
|
+
color: '#212021',
|
53
|
+
loadSpeed: 200,
|
54
|
+
opacity: 0.9
|
55
|
+
},
|
56
|
+
onBeforeLoad: function() {
|
57
|
+
$("button.yes").attr( 'id', this.getTrigger().attr('id') );
|
58
|
+
},
|
59
|
+
closeOnClick: false
|
60
|
+
});
|
61
|
+
|
62
|
+
$( 'button.yes' ).click( function() {
|
63
|
+
var self = $(this);
|
41
64
|
$.ajax({
|
42
|
-
data: {id:
|
65
|
+
data: {id:self.attr('id')},
|
43
66
|
dataType: 'script',
|
44
67
|
type: 'post',
|
45
68
|
url: '/collections/drop_index/',
|
46
|
-
beforeSend: function() {
|
69
|
+
beforeSend: function() {
|
70
|
+
$('img#_wait_' + self.attr('id') ).show();
|
71
|
+
},
|
47
72
|
complete: function() {
|
48
|
-
$('img#_wait_' + id ).hide();
|
49
|
-
$('tr#' + id ).fadeOut();
|
73
|
+
$('img#_wait_' + self.attr('id') ).hide();
|
74
|
+
$('tr#' + self.attr('id') ).fadeOut();
|
50
75
|
}
|
51
76
|
});
|
52
|
-
});
|
77
|
+
});
|
53
78
|
});
|
54
79
|
</script>
|
File without changes
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<% unless @cltn.empty? %>
|
2
|
-
<div id="fields">
|
3
|
-
|
4
|
-
</div>
|
2
|
+
<!-- <div id="fields">
|
3
|
+
<= partial :'collections/fields_form' %>
|
4
|
+
</div> -->
|
5
5
|
|
6
6
|
<div class="table">
|
7
|
-
<%= partial :'collections/
|
7
|
+
<%= partial :'collections/rows_tree' %>
|
8
8
|
</div>
|
9
9
|
<% else %>
|
10
10
|
<div class="no_items">Oh snap! No items found...</span>
|
@@ -5,23 +5,25 @@
|
|
5
5
|
<%= partial :'collections/search_form' %>
|
6
6
|
|
7
7
|
<div class="borders" style="padding:10px;">
|
8
|
-
<table id="cltn" class="cltn" border="0"
|
8
|
+
<table id="cltn" class="cltn" border="0" cellspacing="10">
|
9
9
|
<thead>
|
10
|
-
<
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
<tr>
|
11
|
+
<th width="5%"> </td>
|
12
|
+
<% @selected_cols.each do |col| %>
|
13
|
+
<th width="20%" align="<%=align_for( @cltn[0][col] )%>"><%=col%></th>
|
14
|
+
<% end %>
|
15
|
+
</tr>
|
14
16
|
</thead>
|
15
17
|
<tbody>
|
16
18
|
<% @cltn.each do |cltn| %>
|
17
19
|
<% id = cltn['_id'] %>
|
18
20
|
<tr id="<%=id%>" valign="top">
|
19
|
-
<td id="<%=id%>">
|
21
|
+
<td id="<%=id%>" style="margin:0px;padding:0px">
|
20
22
|
<img class="delete" id="<%=id%>" src="/images/delete.png" title="delete this record"/>
|
21
23
|
<img class="wait" id="wait_<%=id%>" src="/images/loading.gif"></img>
|
22
24
|
</td>
|
23
25
|
<% @selected_cols.each do |k| %>
|
24
|
-
<td><%= format_value(cltn[k]) %></td>
|
26
|
+
<td align="<%=align_for( cltn[k] ) %>"><%= format_value(cltn[k]) %></td>
|
25
27
|
<% end %>
|
26
28
|
</tr>
|
27
29
|
<% end %>
|
@@ -35,7 +37,7 @@
|
|
35
37
|
|
36
38
|
<script>
|
37
39
|
$( function() {
|
38
|
-
$("table#cltn tr" ).hover(
|
40
|
+
$("table#cltn tbody tr" ).hover(
|
39
41
|
function() {
|
40
42
|
$(this).addClass( 'highlight' );
|
41
43
|
$("td#" + $(this).attr('id') + " img.delete" ).show();
|
@@ -53,7 +55,7 @@
|
|
53
55
|
url: '/collections/delete/',
|
54
56
|
beforeSend: function() { $('img#_wait_' + id ).show(); },
|
55
57
|
complete: function() { $('img#_wait_' + id ).hide(); }
|
56
|
-
});
|
58
|
+
});
|
57
59
|
});
|
58
60
|
});
|
59
61
|
</script>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
<div id="summary" style="clear:both">
|
2
|
+
<%= page_entries_info @cltn, :entry_name => 'item' %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<%= partial :'collections/search_form' %>
|
6
|
+
|
7
|
+
<div class="borders" style="padding:10px;">
|
8
|
+
<div id="tree">
|
9
|
+
<ul>
|
10
|
+
<% count=0;@cltn.each do |cltn| %>
|
11
|
+
<% id = cltn['_id'] %>
|
12
|
+
<li><span><ins></ins><%=id%></span>
|
13
|
+
<div class="delete">
|
14
|
+
<img rel="div#confirm_drop" class="delete" style="float:left;" id="<%=id%>" src="/images/delete.png" title="delete this record"/>
|
15
|
+
<img class="wait" id="wait_<%=id%>" src="/images/loading.gif"/>
|
16
|
+
</div>
|
17
|
+
<ul>
|
18
|
+
<% cltn.keys.sort.each do |k| %>
|
19
|
+
<% next if k == '_id' %>
|
20
|
+
<%= format_nodes( cltn[k], k ) %>
|
21
|
+
<% count+=1;end %>
|
22
|
+
</ul>
|
23
|
+
</li>
|
24
|
+
<% end %>
|
25
|
+
</ul>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div id="links">
|
30
|
+
<%= will_paginate @cltn, :params => { :url => '/collections' } %>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="modal" id="confirm_drop" style="font-size:1em">
|
34
|
+
<p>Dropping document. Are you sure?</p>
|
35
|
+
<p style="margin:10px">
|
36
|
+
<button class="close yes">Yes</button>
|
37
|
+
<button class="close">No</button>
|
38
|
+
</p>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<script>
|
42
|
+
$( function() {
|
43
|
+
$('div#tree').tree( {
|
44
|
+
ui: { theme_name: 'mongo3', theme_path: '/javascripts/themes/mongo3/style.css'},
|
45
|
+
"default" : {
|
46
|
+
renameable: false,
|
47
|
+
deletable: false,
|
48
|
+
draggable: false,
|
49
|
+
creatable: false
|
50
|
+
}
|
51
|
+
});
|
52
|
+
|
53
|
+
$('img.delete' ).overlay( {
|
54
|
+
expose: {
|
55
|
+
color: '#212021',
|
56
|
+
loadSpeed: 200,
|
57
|
+
opacity: 0.9
|
58
|
+
},
|
59
|
+
onBeforeLoad: function() {
|
60
|
+
$("button.yes").attr( 'id', this.getTrigger().attr('id') );
|
61
|
+
},
|
62
|
+
closeOnClick: false
|
63
|
+
});
|
64
|
+
|
65
|
+
$( 'button.yes' ).click( function() {
|
66
|
+
var self = $(this);
|
67
|
+
$.ajax({
|
68
|
+
data: {id:self.attr('id')},
|
69
|
+
dataType: 'script',
|
70
|
+
type: 'post',
|
71
|
+
url: '/collections/delete/',
|
72
|
+
beforeSend: function() {
|
73
|
+
$('img#wait_' + self.attr('id') ).show();
|
74
|
+
},
|
75
|
+
complete: function() {
|
76
|
+
$('img#wait_' + self.attr('id') ).hide();
|
77
|
+
}
|
78
|
+
});
|
79
|
+
});
|
80
|
+
});
|
81
|
+
</script>
|