contour 1.0.1 → 1.0.2

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 (36) hide show
  1. data/CHANGELOG.rdoc +12 -0
  2. data/README.rdoc +2 -2
  3. data/app/assets/images/twitter-bootstrap/{v2.0.3 → v2.0.4}/glyphicons-halflings-white.png +0 -0
  4. data/app/assets/images/twitter-bootstrap/{v2.0.3 → v2.0.4}/glyphicons-halflings.png +0 -0
  5. data/app/assets/javascripts/contour.js +16 -5
  6. data/app/assets/javascripts/twitter-bootstrap/bootstrap.js.coffee +12 -0
  7. data/app/assets/javascripts/twitter-bootstrap/{v2.0.3 → v2.0.4}/bootstrap.js +15 -14
  8. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-alert.js +90 -0
  9. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-button.js +96 -0
  10. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-carousel.js +169 -0
  11. data/app/assets/javascripts/twitter-bootstrap/{bootstrap-collapse.js → v2.0.4/plugins/bootstrap-collapse.js} +2 -2
  12. data/app/assets/javascripts/twitter-bootstrap/{bootstrap-dropdown.js → v2.0.4/plugins/bootstrap-dropdown.js} +2 -2
  13. data/app/assets/javascripts/twitter-bootstrap/{bootstrap-modal.js → v2.0.4/plugins/bootstrap-modal.js} +2 -2
  14. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-popover.js +98 -0
  15. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-scrollspy.js +151 -0
  16. data/app/assets/javascripts/twitter-bootstrap/{bootstrap-tab.js → v2.0.4/plugins/bootstrap-tab.js} +2 -2
  17. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-tooltip.js +275 -0
  18. data/app/assets/javascripts/twitter-bootstrap/v2.0.4/plugins/bootstrap-typeahead.js +285 -0
  19. data/app/assets/stylesheets/bootstrap-base-overrides.css +5 -5
  20. data/app/assets/stylesheets/bootstrap-responsive-overrides.css +5 -0
  21. data/app/assets/stylesheets/contour.css +3 -2
  22. data/app/assets/stylesheets/twitter-bootstrap/bootstrap-subnav.css +139 -0
  23. data/app/assets/stylesheets/twitter-bootstrap/{v2.0.3 → v2.0.4}/bootstrap-responsive.css +10 -3
  24. data/app/assets/stylesheets/twitter-bootstrap/{v2.0.3 → v2.0.4}/bootstrap.css +128 -105
  25. data/app/views/contour/authentications/index.html.erb +1 -1
  26. data/app/views/contour/layouts/_subnav.html.erb +23 -0
  27. data/app/views/contour/layouts/application.html.erb +1 -1
  28. data/app/views/contour/registrations/edit.html.erb +1 -1
  29. data/contour.gemspec +2 -2
  30. data/lib/contour/version.rb +1 -1
  31. data/lib/generators/contour/scaffold/templates/_paginate.html.erb +1 -1
  32. data/lib/generators/contour/scaffold/templates/show.html.erb +1 -1
  33. data/test/dummy/db/test.sqlite3 +0 -0
  34. data/test/dummy/log/test.log +2423 -0
  35. data/test/unit/helpers/contour_helper_test.rb +13 -0
  36. metadata +102 -36
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Responsive v2.0.3
2
+ * Bootstrap Responsive v2.0.4
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -683,11 +683,18 @@
683
683
  body {
684
684
  padding-top: 0;
685
685
  }
686
- .navbar-fixed-top {
686
+ .navbar-fixed-top,
687
+ .navbar-fixed-bottom {
687
688
  position: static;
689
+ }
690
+ .navbar-fixed-top {
688
691
  margin-bottom: 18px;
689
692
  }
690
- .navbar-fixed-top .navbar-inner {
693
+ .navbar-fixed-bottom {
694
+ margin-top: 18px;
695
+ }
696
+ .navbar-fixed-top .navbar-inner,
697
+ .navbar-fixed-bottom .navbar-inner {
691
698
  padding: 5px;
692
699
  }
693
700
  .navbar .container {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v2.0.3
2
+ * Bootstrap v2.0.4
3
3
  *
4
4
  * Copyright 2012 Twitter, Inc
5
5
  * Licensed under the Apache License v2.0
@@ -73,6 +73,10 @@ img {
73
73
  -ms-interpolation-mode: bicubic;
74
74
  }
75
75
 
76
+ #map_canvas img {
77
+ max-width: none;
78
+ }
79
+
76
80
  button,
77
81
  input,
78
82
  select,
@@ -418,9 +422,6 @@ a:hover {
418
422
 
419
423
  p {
420
424
  margin: 0 0 9px;
421
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
422
- font-size: 13px;
423
- line-height: 18px;
424
425
  }
425
426
 
426
427
  p small {
@@ -603,7 +604,7 @@ em {
603
604
 
604
605
  abbr[title] {
605
606
  cursor: help;
606
- border-bottom: 1px dotted #ddd;
607
+ border-bottom: 1px dotted #999999;
607
608
  }
608
609
 
609
610
  abbr.initialism {
@@ -740,7 +741,7 @@ legend {
740
741
  line-height: 36px;
741
742
  color: #333333;
742
743
  border: 0;
743
- border-bottom: 1px solid #eee;
744
+ border-bottom: 1px solid #e5e5e5;
744
745
  }
745
746
 
746
747
  legend small {
@@ -768,79 +769,119 @@ textarea {
768
769
  label {
769
770
  display: block;
770
771
  margin-bottom: 5px;
771
- color: #333333;
772
772
  }
773
773
 
774
- input,
775
- textarea,
776
774
  select,
775
+ textarea,
776
+ input[type="text"],
777
+ input[type="password"],
778
+ input[type="datetime"],
779
+ input[type="datetime-local"],
780
+ input[type="date"],
781
+ input[type="month"],
782
+ input[type="time"],
783
+ input[type="week"],
784
+ input[type="number"],
785
+ input[type="email"],
786
+ input[type="url"],
787
+ input[type="search"],
788
+ input[type="tel"],
789
+ input[type="color"],
777
790
  .uneditable-input {
778
791
  display: inline-block;
779
- width: 210px;
780
792
  height: 18px;
781
793
  padding: 4px;
782
794
  margin-bottom: 9px;
783
795
  font-size: 13px;
784
796
  line-height: 18px;
785
797
  color: #555555;
798
+ }
799
+
800
+ input,
801
+ textarea {
802
+ width: 210px;
803
+ }
804
+
805
+ textarea {
806
+ height: auto;
807
+ }
808
+
809
+ textarea,
810
+ input[type="text"],
811
+ input[type="password"],
812
+ input[type="datetime"],
813
+ input[type="datetime-local"],
814
+ input[type="date"],
815
+ input[type="month"],
816
+ input[type="time"],
817
+ input[type="week"],
818
+ input[type="number"],
819
+ input[type="email"],
820
+ input[type="url"],
821
+ input[type="search"],
822
+ input[type="tel"],
823
+ input[type="color"],
824
+ .uneditable-input {
786
825
  background-color: #ffffff;
787
826
  border: 1px solid #cccccc;
788
827
  -webkit-border-radius: 3px;
789
828
  -moz-border-radius: 3px;
790
829
  border-radius: 3px;
830
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
831
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
832
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
833
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
834
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
835
+ -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
836
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
837
+ transition: border linear 0.2s, box-shadow linear 0.2s;
791
838
  }
792
839
 
793
- .uneditable-textarea {
794
- width: auto;
795
- height: auto;
796
- }
840
+ textarea:focus,
841
+ input[type="text"]:focus,
842
+ input[type="password"]:focus,
843
+ input[type="datetime"]:focus,
844
+ input[type="datetime-local"]:focus,
845
+ input[type="date"]:focus,
846
+ input[type="month"]:focus,
847
+ input[type="time"]:focus,
848
+ input[type="week"]:focus,
849
+ input[type="number"]:focus,
850
+ input[type="email"]:focus,
851
+ input[type="url"]:focus,
852
+ input[type="search"]:focus,
853
+ input[type="tel"]:focus,
854
+ input[type="color"]:focus,
855
+ .uneditable-input:focus {
856
+ border-color: rgba(82, 168, 236, 0.8);
857
+ outline: 0;
858
+ outline: thin dotted \9;
859
+ /* IE6-9 */
797
860
 
798
- label input,
799
- label textarea,
800
- label select {
801
- display: block;
861
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
862
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
863
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
802
864
  }
803
865
 
804
- input[type="image"],
805
- input[type="checkbox"],
806
- input[type="radio"] {
807
- width: auto;
808
- height: auto;
809
- padding: 0;
866
+ input[type="radio"],
867
+ input[type="checkbox"] {
810
868
  margin: 3px 0;
811
869
  *margin-top: 0;
812
870
  /* IE7 */
813
871
 
814
872
  line-height: normal;
815
873
  cursor: pointer;
816
- background-color: transparent;
817
- border: 0 \9;
818
- /* IE9 and down */
819
-
820
- -webkit-border-radius: 0;
821
- -moz-border-radius: 0;
822
- border-radius: 0;
823
- }
824
-
825
- input[type="image"] {
826
- border: 0;
827
874
  }
828
875
 
829
- input[type="file"] {
876
+ input[type="submit"],
877
+ input[type="reset"],
878
+ input[type="button"],
879
+ input[type="radio"],
880
+ input[type="checkbox"] {
830
881
  width: auto;
831
- padding: initial;
832
- line-height: initial;
833
- background-color: #ffffff;
834
- background-color: initial;
835
- border: initial;
836
- -webkit-box-shadow: none;
837
- -moz-box-shadow: none;
838
- box-shadow: none;
839
882
  }
840
883
 
841
- input[type="button"],
842
- input[type="reset"],
843
- input[type="submit"] {
884
+ .uneditable-textarea {
844
885
  width: auto;
845
886
  height: auto;
846
887
  }
@@ -856,13 +897,9 @@ input[type="file"] {
856
897
  line-height: 28px;
857
898
  }
858
899
 
859
- input[type="file"] {
860
- line-height: 18px \9;
861
- }
862
-
863
900
  select {
864
901
  width: 220px;
865
- background-color: #ffffff;
902
+ border: 1px solid #bbb;
866
903
  }
867
904
 
868
905
  select[multiple],
@@ -870,18 +907,13 @@ select[size] {
870
907
  height: auto;
871
908
  }
872
909
 
873
- input[type="image"] {
874
- -webkit-box-shadow: none;
875
- -moz-box-shadow: none;
876
- box-shadow: none;
877
- }
878
-
879
- textarea {
880
- height: auto;
881
- }
882
-
883
- input[type="hidden"] {
884
- display: none;
910
+ select:focus,
911
+ input[type="file"]:focus,
912
+ input[type="radio"]:focus,
913
+ input[type="checkbox"]:focus {
914
+ outline: thin dotted #333;
915
+ outline: 5px auto -webkit-focus-ring-color;
916
+ outline-offset: -2px;
885
917
  }
886
918
 
887
919
  .radio,
@@ -914,42 +946,6 @@ input[type="hidden"] {
914
946
  margin-left: 10px;
915
947
  }
916
948
 
917
- input,
918
- textarea {
919
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
920
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
921
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
922
- -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
923
- -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
924
- -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
925
- -o-transition: border linear 0.2s, box-shadow linear 0.2s;
926
- transition: border linear 0.2s, box-shadow linear 0.2s;
927
- }
928
-
929
- input:focus,
930
- textarea:focus {
931
- border-color: rgba(82, 168, 236, 0.8);
932
- outline: 0;
933
- outline: thin dotted \9;
934
- /* IE6-9 */
935
-
936
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
937
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
938
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
939
- }
940
-
941
- input[type="file"]:focus,
942
- input[type="radio"]:focus,
943
- input[type="checkbox"]:focus,
944
- select:focus {
945
- outline: thin dotted #333;
946
- outline: 5px auto -webkit-focus-ring-color;
947
- outline-offset: -2px;
948
- -webkit-box-shadow: none;
949
- -moz-box-shadow: none;
950
- box-shadow: none;
951
- }
952
-
953
949
  .input-mini {
954
950
  width: 60px;
955
951
  }
@@ -986,6 +982,15 @@ textarea[class*="span"],
986
982
  margin-left: 0;
987
983
  }
988
984
 
985
+ .input-append input[class*="span"],
986
+ .input-append .uneditable-input[class*="span"],
987
+ .input-prepend input[class*="span"],
988
+ .input-prepend .uneditable-input[class*="span"],
989
+ .row-fluid .input-prepend [class*="span"],
990
+ .row-fluid .input-append [class*="span"] {
991
+ display: inline-block;
992
+ }
993
+
989
994
  input,
990
995
  textarea,
991
996
  .uneditable-input {
@@ -1088,6 +1093,8 @@ input[type="checkbox"][readonly] {
1088
1093
  color: #c09853;
1089
1094
  }
1090
1095
 
1096
+ .control-group.warning .checkbox,
1097
+ .control-group.warning .radio,
1091
1098
  .control-group.warning input,
1092
1099
  .control-group.warning select,
1093
1100
  .control-group.warning textarea {
@@ -1095,6 +1102,8 @@ input[type="checkbox"][readonly] {
1095
1102
  border-color: #c09853;
1096
1103
  }
1097
1104
 
1105
+ .control-group.warning .checkbox:focus,
1106
+ .control-group.warning .radio:focus,
1098
1107
  .control-group.warning input:focus,
1099
1108
  .control-group.warning select:focus,
1100
1109
  .control-group.warning textarea:focus {
@@ -1117,6 +1126,8 @@ input[type="checkbox"][readonly] {
1117
1126
  color: #b94a48;
1118
1127
  }
1119
1128
 
1129
+ .control-group.error .checkbox,
1130
+ .control-group.error .radio,
1120
1131
  .control-group.error input,
1121
1132
  .control-group.error select,
1122
1133
  .control-group.error textarea {
@@ -1124,6 +1135,8 @@ input[type="checkbox"][readonly] {
1124
1135
  border-color: #b94a48;
1125
1136
  }
1126
1137
 
1138
+ .control-group.error .checkbox:focus,
1139
+ .control-group.error .radio:focus,
1127
1140
  .control-group.error input:focus,
1128
1141
  .control-group.error select:focus,
1129
1142
  .control-group.error textarea:focus {
@@ -1146,6 +1159,8 @@ input[type="checkbox"][readonly] {
1146
1159
  color: #468847;
1147
1160
  }
1148
1161
 
1162
+ .control-group.success .checkbox,
1163
+ .control-group.success .radio,
1149
1164
  .control-group.success input,
1150
1165
  .control-group.success select,
1151
1166
  .control-group.success textarea {
@@ -1153,6 +1168,8 @@ input[type="checkbox"][readonly] {
1153
1168
  border-color: #468847;
1154
1169
  }
1155
1170
 
1171
+ .control-group.success .checkbox:focus,
1172
+ .control-group.success .radio:focus,
1156
1173
  .control-group.success input:focus,
1157
1174
  .control-group.success select:focus,
1158
1175
  .control-group.success textarea:focus {
@@ -1190,7 +1207,7 @@ select:focus:required:invalid:focus {
1190
1207
  margin-top: 18px;
1191
1208
  margin-bottom: 18px;
1192
1209
  background-color: #f5f5f5;
1193
- border-top: 1px solid #ddd;
1210
+ border-top: 1px solid #e5e5e5;
1194
1211
  *zoom: 1;
1195
1212
  }
1196
1213
 
@@ -1219,6 +1236,10 @@ select:focus:required:invalid:focus {
1219
1236
  color: #999999;
1220
1237
  }
1221
1238
 
1239
+ :-ms-input-placeholder {
1240
+ color: #999999;
1241
+ }
1242
+
1222
1243
  ::-webkit-input-placeholder {
1223
1244
  color: #999999;
1224
1245
  }
@@ -2433,11 +2454,11 @@ table .span24 {
2433
2454
  *z-index: 1000;
2434
2455
  }
2435
2456
 
2436
- .open .dropdown-menu {
2457
+ .open > .dropdown-menu {
2437
2458
  display: block;
2438
2459
  }
2439
2460
 
2440
- .pull-right .dropdown-menu {
2461
+ .pull-right > .dropdown-menu {
2441
2462
  right: 0;
2442
2463
  left: auto;
2443
2464
  }
@@ -2499,7 +2520,6 @@ table .span24 {
2499
2520
 
2500
2521
  .fade {
2501
2522
  opacity: 0;
2502
- filter: alpha(opacity=0);
2503
2523
  -webkit-transition: opacity 0.15s linear;
2504
2524
  -moz-transition: opacity 0.15s linear;
2505
2525
  -ms-transition: opacity 0.15s linear;
@@ -2509,7 +2529,6 @@ table .span24 {
2509
2529
 
2510
2530
  .fade.in {
2511
2531
  opacity: 1;
2512
- filter: alpha(opacity=100);
2513
2532
  }
2514
2533
 
2515
2534
  .collapse {
@@ -3701,6 +3720,10 @@ input[type="submit"].btn.btn-mini {
3701
3720
  color: #cccccc;
3702
3721
  }
3703
3722
 
3723
+ .navbar-search .search-query:-ms-input-placeholder {
3724
+ color: #cccccc;
3725
+ }
3726
+
3704
3727
  .navbar-search .search-query::-webkit-input-placeholder {
3705
3728
  color: #cccccc;
3706
3729
  }
@@ -12,7 +12,7 @@
12
12
  <%= image_tag "contour/#{authentication.provider}_32.png", height: "32px" %>
13
13
  <div class="provider"><%= authentication.provider.titleize %></div>
14
14
  <div class="uid"><%= authentication.uid %></div>
15
- <%= link_to "X", authentication, confirm: 'Are you sure you want to remove this authentication option?', method: :delete, class: "remove" %>
15
+ <%= link_to "X", authentication, method: :delete, class: "remove", data: { confirm: 'Are you sure you want to remove this authentication option?' } %>
16
16
  </div>
17
17
  <% end %>
18
18
  <div style="clear:both"></div>
@@ -0,0 +1,23 @@
1
+ <div style="min-height:36px">
2
+ <div class="subnav">
3
+ <ul class="nav nav-pills">
4
+ <% links.each_with_index do |link_hash, index| %>
5
+ <% sublinks = (link_hash[:sublinks] || []) %>
6
+ <% href = (sublinks.size == 0 ? (link_hash[:href] || '#') : "##{link_hash[:name].to_s.gsub(/[^\w]/, '_').downcase}_#{index}") %>
7
+ <li class="<%= 'dropdown' if sublinks.size %> <%= 'active' if index == 0 %>">
8
+ <% if sublinks.size == 0 %>
9
+ <%= link_to link_hash[:name].to_s, href %>
10
+ <% else %>
11
+ <%= link_to (link_hash[:name].to_s + ' <b class="caret"></b>').html_safe, href, class: 'dropdown-toggle', data: { toggle: 'dropdown' } %>
12
+ <ul class="dropdown-menu">
13
+ <% sublinks.each_with_index do |sublink_hash, sublink_index| %>
14
+ <% sublink_href = (sublink_hash[:href] || "##{link_hash[:name].to_s.gsub(/[^\w]/, '_').downcase}_#{index}_#{sublink_hash[:name].to_s.gsub(/[^\w]/, '_').downcase}_#{sublink_index}") %>
15
+ <%= link_to sublink_hash[:name].to_s, sublink_href %>
16
+ <% end %>
17
+ </ul>
18
+ <% end %>
19
+ </li>
20
+ <% end %>
21
+ </ul>
22
+ </div>
23
+ </div>