spiderfw 0.6.26.pre1 → 0.6.26

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 (114) hide show
  1. data/CHANGELOG +4 -0
  2. data/VERSION +1 -1
  3. data/apps/app_server/lib/git_app.rb +1 -1
  4. data/apps/core/admin/admin.rb +2 -1
  5. data/apps/core/components/public/bootstrap/LICENSE +0 -0
  6. data/apps/core/components/public/bootstrap/README.md +3 -2
  7. data/apps/core/components/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
  8. data/apps/core/components/public/bootstrap/img/glyphicons-halflings.png +0 -0
  9. data/apps/core/components/public/bootstrap/js/README.md +2 -2
  10. data/apps/core/components/public/bootstrap/js/bootstrap-alert.js +8 -5
  11. data/apps/core/components/public/bootstrap/js/bootstrap-button.js +5 -3
  12. data/apps/core/components/public/bootstrap/js/bootstrap-carousel.js +5 -2
  13. data/apps/core/components/public/bootstrap/js/bootstrap-collapse.js +2 -2
  14. data/apps/core/components/public/bootstrap/js/bootstrap-dropdown.js +2 -2
  15. data/apps/core/components/public/bootstrap/js/bootstrap-modal.js +6 -5
  16. data/apps/core/components/public/bootstrap/js/bootstrap-popover.js +2 -2
  17. data/apps/core/components/public/bootstrap/js/bootstrap-scrollspy.js +2 -2
  18. data/apps/core/components/public/bootstrap/js/bootstrap-tab.js +2 -2
  19. data/apps/core/components/public/bootstrap/js/bootstrap-tooltip.js +2 -2
  20. data/apps/core/components/public/bootstrap/js/bootstrap-transition.js +3 -3
  21. data/apps/core/components/public/bootstrap/js/bootstrap-typeahead.js +2 -2
  22. data/apps/core/components/public/bootstrap/js/tests/index.html +0 -0
  23. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-alert.js +2 -2
  24. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-button.js +25 -2
  25. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-collapse.js +0 -0
  26. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-dropdown.js +0 -0
  27. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-modal.js +0 -0
  28. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-popover.js +0 -0
  29. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-scrollspy.js +0 -0
  30. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tab.js +0 -0
  31. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tooltip.js +0 -0
  32. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-transition.js +0 -0
  33. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-typeahead.js +0 -0
  34. data/apps/core/components/public/bootstrap/js/tests/vendor/jquery.js +0 -0
  35. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.css +0 -0
  36. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.js +0 -0
  37. data/apps/core/components/public/bootstrap/scss/_accordion.scss +0 -0
  38. data/apps/core/components/public/bootstrap/scss/_alerts.scss +0 -0
  39. data/apps/core/components/public/bootstrap/scss/_breadcrumbs.scss +0 -0
  40. data/apps/core/components/public/bootstrap/scss/_button-groups.scss +1 -1
  41. data/apps/core/components/public/bootstrap/scss/_buttons.scss +25 -7
  42. data/apps/core/components/public/bootstrap/scss/_carousel.scss +1 -1
  43. data/apps/core/components/public/bootstrap/scss/_close.scss +0 -0
  44. data/apps/core/components/public/bootstrap/scss/_code.scss +13 -0
  45. data/apps/core/components/public/bootstrap/scss/_component-animations.scss +2 -2
  46. data/apps/core/components/public/bootstrap/scss/_dropdowns.scss +2 -3
  47. data/apps/core/components/public/bootstrap/scss/_forms.scss +50 -44
  48. data/apps/core/components/public/bootstrap/scss/_grid.scss +0 -0
  49. data/apps/core/components/public/bootstrap/scss/_hero-unit.scss +0 -0
  50. data/apps/core/components/public/bootstrap/scss/_labels.scss +23 -7
  51. data/apps/core/components/public/bootstrap/scss/_layouts.scss +0 -0
  52. data/apps/core/components/public/bootstrap/scss/_mixins.scss +83 -68
  53. data/apps/core/components/public/bootstrap/scss/_modals.scss +11 -0
  54. data/apps/core/components/public/bootstrap/scss/_navbar.scss +11 -3
  55. data/apps/core/components/public/bootstrap/scss/_navs.scss +27 -17
  56. data/apps/core/components/public/bootstrap/scss/_pager.scss +0 -0
  57. data/apps/core/components/public/bootstrap/scss/_pagination.scss +38 -47
  58. data/apps/core/components/public/bootstrap/scss/_popovers.scss +0 -0
  59. data/apps/core/components/public/bootstrap/scss/_print.scss +0 -0
  60. data/apps/core/components/public/bootstrap/scss/_progress-bars.scss +0 -0
  61. data/apps/core/components/public/bootstrap/scss/_reset.scss +1 -1
  62. data/apps/core/components/public/bootstrap/scss/_scaffolding.scss +0 -0
  63. data/apps/core/components/public/bootstrap/scss/_sprites.scss +7 -5
  64. data/apps/core/components/public/bootstrap/scss/_tables.scss +14 -3
  65. data/apps/core/components/public/bootstrap/scss/_thumbnails.scss +2 -2
  66. data/apps/core/components/public/bootstrap/scss/_tooltip.scss +0 -0
  67. data/apps/core/components/public/bootstrap/scss/_type.scss +3 -2
  68. data/apps/core/components/public/bootstrap/scss/_utilities.scss +0 -0
  69. data/apps/core/components/public/bootstrap/scss/_variables.scss +12 -4
  70. data/apps/core/components/public/bootstrap/scss/_wells.scss +0 -0
  71. data/apps/core/components/public/bootstrap/scss/bootstrap.css +290 -820
  72. data/apps/core/components/public/bootstrap/scss/bootstrap.scss +1 -1
  73. data/apps/core/components/public/bootstrap/scss/{bootstrap-responsive.css → responsive.css} +42 -31
  74. data/apps/core/components/public/bootstrap/scss/{bootstrap-responsive.scss → responsive.scss} +10 -6
  75. data/apps/core/components/public/css/table_base.css +0 -4
  76. data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/jquery.ui.sortable.js +10 -2
  77. data/apps/core/components/public/js/plugins/sortable.js +4 -4
  78. data/apps/core/components/public/js/spider.js +3 -1
  79. data/apps/core/components/widgets/confirm/confirm.rb +20 -7
  80. data/apps/core/components/widgets/table/table.shtml +1 -1
  81. data/apps/core/forms/public/html_area.js +5 -4
  82. data/apps/core/forms/public/input.js +28 -28
  83. data/apps/core/forms/public/search_select.js +131 -131
  84. data/apps/core/forms/public/select.js +16 -16
  85. data/apps/core/forms/widgets/form/form.rb +11 -7
  86. data/apps/core/forms/widgets/inputs/date_time/date_time.rb +1 -1
  87. data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +2 -2
  88. data/apps/core/forms/widgets/inputs/input/input.rb +3 -1
  89. data/apps/messenger/lib/backends/mobyt.rb +11 -0
  90. data/apps/messenger/test/features/sms_mobyt.feature +24 -0
  91. data/apps/messenger/test/features/step_definitions/sms_mobyt.rb +21 -0
  92. data/apps/messenger/views/index.shtml +2 -2
  93. data/apps/soap/controllers/soap_controller.rb +5 -2
  94. data/lib/spiderfw/app.rb +13 -0
  95. data/lib/spiderfw/config/configuration.rb +4 -1
  96. data/lib/spiderfw/config/options/spider.rb +1 -1
  97. data/lib/spiderfw/controller/http_controller.rb +2 -0
  98. data/lib/spiderfw/http/adapters/rack.rb +1 -1
  99. data/lib/spiderfw/i18n/cldr.rb +1 -1
  100. data/lib/spiderfw/model/base_model.rb +5 -0
  101. data/lib/spiderfw/model/mappers/mapper.rb +3 -1
  102. data/lib/spiderfw/model/mixins/tree.rb +11 -1
  103. data/lib/spiderfw/model/model.rb +7 -5
  104. data/lib/spiderfw/model/query_set.rb +6 -0
  105. data/lib/spiderfw/setup/app_server_client.rb +1 -1
  106. data/lib/spiderfw/spider.rb +9 -9
  107. data/lib/spiderfw/templates/layout.rb +5 -3
  108. data/lib/spiderfw/templates/resources/sass.rb +31 -3
  109. data/lib/spiderfw/templates/template.rb +10 -9
  110. data/lib/spiderfw/widget/widget.rb +2 -2
  111. metadata +13 -17
  112. data/apps/core/components/public/bootstrap/scss/_custom.css +0 -0
  113. data/apps/core/components/public/bootstrap/scss/_patterns.scss +0 -13
  114. data/apps/core/components/public/bootstrap/scss/config.rb +0 -36
data/CHANGELOG CHANGED
@@ -4,6 +4,10 @@
4
4
  * Refactored Controller#url and related methods
5
5
  * Fixed Etc.getpwuid error on Windows
6
6
  * Condition#initialize now accepts a Proc, which must return the argument
7
+ * Fixed SASS files not being skipped in production
8
+ * Removed caching of Spider.site
9
+ * Jquery UI nested sortable fix
10
+ * Runmode from config now always takes lowest precedence
7
11
  * Various minor fixes
8
12
 
9
13
  = 0.6.25
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.26.pre1
1
+ 0.6.26
@@ -21,7 +21,7 @@ module Spider; module AppServer
21
21
  next unless blob.basename =~ /\.appspec$/
22
22
  spec = blob.data
23
23
  @spec = Spider::App::AppSpec.eval(spec)
24
- #@spec.branch = branch
24
+ @spec.branch = branch
25
25
  if repo_base = Spider.conf.get('app_server.git_repo_base')
26
26
  unless @spec.git_repo
27
27
  @spec.git_repo(repo_base+'/'+@spec.id)
@@ -19,10 +19,11 @@ module Spider
19
19
  end
20
20
 
21
21
  def self.allowed_users
22
- users = [Spider::Auth::SuperUser]
22
+ users = []
23
23
  @apps.each do |name, app|
24
24
  users += app[:options][:users] if app[:options][:users]
25
25
  end
26
+ users << Spider::Auth::SuperUser
26
27
  users.uniq
27
28
  end
28
29
 
File without changes
@@ -1,3 +1,5 @@
1
+ https://github.com/brajeshwar/bootstrap-sass-scss-compass
2
+
1
3
  TWITTER BOOTSTRAP (SASS, SCSS)
2
4
  ======================================
3
5
 
@@ -9,7 +11,6 @@ The `scss` version is actively maintained while the `sass` is a converted from t
9
11
 
10
12
  Developers
11
13
  ----------
12
-
13
14
  <a href="http://compass-style.org/">Compass</a> - author and compile `sass` and `scss` files.
14
15
 
15
16
  Authors
@@ -23,6 +24,6 @@ Authors
23
24
  _Looking for co-authors who can help with development of the Compass version._
24
25
 
25
26
  Copyright, license _et al_
26
- -------------------------
27
+ --------------------------
27
28
 
28
29
  Please refer to the original <a href="https://github.com/twitter/bootstrap#readme">Readme for Twitter Bootstrap</a> for Copyright, license and everything else.
@@ -37,7 +37,7 @@ All methods should accept an optional options object, a string which targets a p
37
37
 
38
38
  Options should be sparse and add universal value. We should pick the right defaults.
39
39
 
40
- All plugins should have a default object which can be modified to effect all instance's default options. The defaults object should be available via `$.fn.plugin.defaults`.
40
+ All plugins should have a default object which can be modified to affect all instances' default options. The defaults object should be available via `$.fn.plugin.defaults`.
41
41
 
42
42
  $.fn.modal.defaults = { … }
43
43
 
@@ -64,7 +64,7 @@ All events should have an infinitive and past participle form. The infinitive is
64
64
 
65
65
  ### CONSTRUCTORS
66
66
 
67
- Each plugin should expose it's raw constructor on a `Constructor` property -- accessed in the following way:
67
+ Each plugin should expose its raw constructor on a `Constructor` property -- accessed in the following way:
68
68
 
69
69
 
70
70
  $.fn.popover.Constructor
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-alert.js v2.0.0
2
+ * bootstrap-alert.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -51,11 +51,14 @@
51
51
 
52
52
  $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
53
53
 
54
- $parent.removeClass('in')
54
+ $parent
55
+ .trigger('close')
56
+ .removeClass('in')
55
57
 
56
58
  function removeElement() {
57
- $parent.remove()
58
- $parent.trigger('closed')
59
+ $parent
60
+ .trigger('closed')
61
+ .remove()
59
62
  }
60
63
 
61
64
  $.support.transition && $parent.hasClass('fade') ?
@@ -88,4 +91,4 @@
88
91
  $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
89
92
  })
90
93
 
91
- }( window.jQuery )
94
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-button.js v2.0.0
2
+ * bootstrap-button.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -91,8 +91,10 @@
91
91
 
92
92
  $(function () {
93
93
  $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
94
- $(e.target).button('toggle')
94
+ var $btn = $(e.target)
95
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
96
+ $btn.button('toggle')
95
97
  })
96
98
  })
97
99
 
98
- }( window.jQuery )
100
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================
2
- * bootstrap-carousel.js v2.0.0
2
+ * bootstrap-carousel.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
4
4
  * ==========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -61,6 +61,7 @@
61
61
 
62
62
  , pause: function () {
63
63
  clearInterval(this.interval)
64
+ this.interval = null
64
65
  return this
65
66
  }
66
67
 
@@ -82,6 +83,8 @@
82
83
  , fallback = type == 'next' ? 'first' : 'last'
83
84
  , that = this
84
85
 
86
+ if (!$next.length) return
87
+
85
88
  this.sliding = true
86
89
 
87
90
  isCycling && this.pause()
@@ -151,4 +154,4 @@
151
154
  })
152
155
  })
153
156
 
154
- }( window.jQuery )
157
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-collapse.js v2.0.0
2
+ * bootstrap-collapse.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -133,4 +133,4 @@
133
133
  })
134
134
  })
135
135
 
136
- }( window.jQuery )
136
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ============================================================
2
- * bootstrap-dropdown.js v2.0.0
2
+ * bootstrap-dropdown.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
4
4
  * ============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -89,4 +89,4 @@
89
89
  $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
90
90
  })
91
91
 
92
- }( window.jQuery )
92
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =========================================================
2
- * bootstrap-modal.js v2.0.0
2
+ * bootstrap-modal.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#modals
4
4
  * =========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -26,7 +26,7 @@
26
26
  * ====================== */
27
27
 
28
28
  var Modal = function ( content, options ) {
29
- this.options = $.extend({}, $.fn.modal.defaults, options)
29
+ this.options = options
30
30
  this.$element = $(content)
31
31
  .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
32
32
  }
@@ -177,16 +177,17 @@
177
177
  return this.each(function () {
178
178
  var $this = $(this)
179
179
  , data = $this.data('modal')
180
- , options = typeof option == 'object' && option
180
+ , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
181
181
  if (!data) $this.data('modal', (data = new Modal(this, options)))
182
182
  if (typeof option == 'string') data[option]()
183
- else data.show()
183
+ else if (options.show) data.show()
184
184
  })
185
185
  }
186
186
 
187
187
  $.fn.modal.defaults = {
188
188
  backdrop: true
189
189
  , keyboard: true
190
+ , show: true
190
191
  }
191
192
 
192
193
  $.fn.modal.Constructor = Modal
@@ -206,4 +207,4 @@
206
207
  })
207
208
  })
208
209
 
209
- }( window.jQuery )
210
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-popover.js v2.0.0
2
+ * bootstrap-popover.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
4
4
  * ===========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -92,4 +92,4 @@
92
92
  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
93
93
  })
94
94
 
95
- }( window.jQuery )
95
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-scrollspy.js v2.0.0
2
+ * bootstrap-scrollspy.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -122,4 +122,4 @@
122
122
  })
123
123
  })
124
124
 
125
- }( window.jQuery )
125
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ========================================================
2
- * bootstrap-tab.js v2.0.0
2
+ * bootstrap-tab.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
4
4
  * ========================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -127,4 +127,4 @@
127
127
  })
128
128
  })
129
129
 
130
- }( window.jQuery )
130
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===========================================================
2
- * bootstrap-tooltip.js v2.0.0
2
+ * bootstrap-tooltip.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
4
4
  * Inspired by the original jQuery.tipsy by Jason Frame
5
5
  * ===========================================================
@@ -267,4 +267,4 @@
267
267
  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
268
268
  }
269
269
 
270
- }( window.jQuery )
270
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* ===================================================
2
- * bootstrap-transition.js v2.0.0
2
+ * bootstrap-transition.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
4
4
  * ===================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -47,5 +47,5 @@
47
47
  })()
48
48
 
49
49
  })
50
-
51
- }( window.jQuery )
50
+
51
+ }( window.jQuery );
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-typeahead.js v2.0.0
2
+ * bootstrap-typeahead.js v2.0.1
3
3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
4
4
  * =============================================================
5
5
  * Copyright 2012 Twitter, Inc.
@@ -268,4 +268,4 @@
268
268
  })
269
269
  })
270
270
 
271
- }( window.jQuery )
271
+ }( window.jQuery );
@@ -13,7 +13,7 @@ $(function () {
13
13
  test("should fade element out on clicking .close", function () {
14
14
  var alertHTML = '<div class="alert-message warning fade in">'
15
15
  + '<a class="close" href="#" data-dismiss="alert">×</a>'
16
- + '<p><strong>Holy guacamole!</strong> Best check yo self, youre not looking too good.</p>'
16
+ + '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
17
17
  + '</div>'
18
18
  , alert = $(alertHTML).alert()
19
19
 
@@ -27,7 +27,7 @@ $(function () {
27
27
 
28
28
  var alertHTML = '<div class="alert-message warning fade in">'
29
29
  + '<a class="close" href="#" data-dismiss="alert">×</a>'
30
- + '<p><strong>Holy guacamole!</strong> Best check yo self, youre not looking too good.</p>'
30
+ + '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
31
31
  + '</div>'
32
32
  , alert = $(alertHTML).appendTo('#qunit-fixture').alert()
33
33
 
@@ -3,7 +3,7 @@ $(function () {
3
3
  module("bootstrap-buttons")
4
4
 
5
5
  test("should be defined on jquery object", function () {
6
- ok($(document.body).button, 'tabs method is defined')
6
+ ok($(document.body).button, 'button method is defined')
7
7
  })
8
8
 
9
9
  test("should return element", function () {
@@ -45,10 +45,33 @@ $(function () {
45
45
  })
46
46
 
47
47
  test("should toggle active", function () {
48
- var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
48
+ var btn = $('<button class="btn">mdo</button>')
49
49
  ok(!btn.hasClass('active'), 'btn does not have active class')
50
50
  btn.button('toggle')
51
51
  ok(btn.hasClass('active'), 'btn has class active')
52
52
  })
53
53
 
54
+ test("should toggle active when btn children are clicked", function () {
55
+ var btn = $('<button class="btn" data-toggle="button">mdo</button>')
56
+ , inner = $('<i></i>')
57
+ btn
58
+ .append(inner)
59
+ .appendTo($('#qunit-fixture'))
60
+ ok(!btn.hasClass('active'), 'btn does not have active class')
61
+ inner.click()
62
+ ok(btn.hasClass('active'), 'btn has class active')
63
+ })
64
+
65
+ test("should toggle active when btn children are clicked within btn-group", function () {
66
+ var btngroup = $('<div class="btn-group" data-toggle="buttons-checkbox"></div>')
67
+ , btn = $('<button class="btn">fat</button>')
68
+ , inner = $('<i></i>')
69
+ btngroup
70
+ .append(btn.append(inner))
71
+ .appendTo($('#qunit-fixture'))
72
+ ok(!btn.hasClass('active'), 'btn does not have active class')
73
+ inner.click()
74
+ ok(btn.hasClass('active'), 'btn has class active')
75
+ })
76
+
54
77
  })
@@ -92,7 +92,7 @@
92
92
  .btn-group .dropdown-toggle {
93
93
  padding-left: 8px;
94
94
  padding-right: 8px;
95
- $shadow: inset 1px 0 0 rgba(255,255,255,.125), 0 1px 2px rgba(0,0,0,.05);
95
+ $shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
96
96
  @include box-shadow($shadow);
97
97
  *padding-top: 5px;
98
98
  *padding-bottom: 5px;
@@ -9,12 +9,14 @@
9
9
  .btn {
10
10
  display: inline-block;
11
11
  padding: 4px 10px 4px;
12
+ margin-bottom: 0; // For input.btn
12
13
  font-size: $baseFontSize;
13
14
  line-height: $baseLineHeight;
14
15
  color: $grayDark;
15
16
  text-align: center;
16
17
  text-shadow: 0 1px 1px rgba(255,255,255,.75);
17
- @include gradient-vertical-three-colors($white, $white, 25%, darken($white, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
18
+ vertical-align: middle;
19
+ @include buttonBackground($white, darken($white, 10%));
18
20
  border: 1px solid #ccc;
19
21
  border-bottom-color: #bbb;
20
22
  @include border-radius(4px);
@@ -23,6 +25,7 @@
23
25
  cursor: pointer;
24
26
 
25
27
  // Give IE7 some love
28
+ @include reset-filter();
26
29
  @include ie7-restore-left-whitespace();
27
30
  }
28
31
 
@@ -51,7 +54,6 @@
51
54
  @include box-shadow($shadow);
52
55
  background-color: darken($white, 10%);
53
56
  background-color: darken($white, 15%) #{"\9"};
54
- color: rgba(0,0,0,.5);
55
57
  outline: 0;
56
58
  }
57
59
 
@@ -76,7 +78,7 @@
76
78
  line-height: normal;
77
79
  @include border-radius(5px);
78
80
  }
79
- .btn-large .icon {
81
+ .btn-large [class^="icon-"] {
80
82
  margin-top: 1px;
81
83
  }
82
84
 
@@ -86,10 +88,17 @@
86
88
  font-size: $baseFontSize - 2px;
87
89
  line-height: $baseLineHeight - 2px;
88
90
  }
89
- .btn-small .icon {
91
+ .btn-small [class^="icon-"] {
90
92
  margin-top: -1px;
91
93
  }
92
94
 
95
+ // Mini
96
+ .btn-mini {
97
+ padding: 2px 6px;
98
+ font-size: $baseFontSize - 2px;
99
+ line-height: $baseLineHeight - 4px;
100
+ }
101
+
93
102
 
94
103
  // Alternate buttons
95
104
  // --------------------------------------------------
@@ -105,7 +114,9 @@
105
114
  .btn-success,
106
115
  .btn-success:hover,
107
116
  .btn-info,
108
- .btn-info:hover {
117
+ .btn-info:hover,
118
+ .btn-inverse,
119
+ .btn-inverse:hover {
109
120
  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
110
121
  color: $white;
111
122
  }
@@ -114,7 +125,8 @@
114
125
  .btn-warning.active,
115
126
  .btn-danger.active,
116
127
  .btn-success.active,
117
- .btn-info.active {
128
+ .btn-info.active,
129
+ .btn-dark.active {
118
130
  color: rgba(255,255,255,.75);
119
131
  }
120
132
 
@@ -139,6 +151,10 @@
139
151
  .btn-info {
140
152
  @include buttonBackground(#5bc0de, #2f96b4);
141
153
  }
154
+ // Inverse appears as dark gray
155
+ .btn-inverse {
156
+ @include buttonBackground(#454545, #262626);
157
+ }
142
158
 
143
159
 
144
160
  // Cross-browser Jank
@@ -146,8 +162,10 @@
146
162
 
147
163
  button.btn,
148
164
  input[type="submit"].btn {
165
+
166
+ // Firefox 3.6 only I believe
149
167
  &::-moz-focus-inner {
150
- padding: 0;
168
+ padding: 0;
151
169
  border: 0;
152
170
  }
153
171
 
@@ -79,7 +79,7 @@
79
79
  text-align: center;
80
80
  background: $grayDarker;
81
81
  border: 3px solid $white;
82
- @include border-radius(20px);
82
+ @include border-radius(23px);
83
83
  @include opacity(50);
84
84
 
85
85
  // we can't have this transition here
@@ -11,12 +11,16 @@ pre {
11
11
  color: $grayDark;
12
12
  @include border-radius(3px);
13
13
  }
14
+
15
+ // Inline code
14
16
  code {
15
17
  padding: 3px 4px;
16
18
  color: #d14;
17
19
  background-color: #f7f7f9;
18
20
  border: 1px solid #e1e1e8;
19
21
  }
22
+
23
+ // Blocks of code
20
24
  pre {
21
25
  display: block;
22
26
  padding: ($baseLineHeight - 1) / 2;
@@ -30,6 +34,7 @@ pre {
30
34
  white-space: pre;
31
35
  white-space: pre-wrap;
32
36
  word-break: break-all;
37
+ word-wrap: break-word;
33
38
 
34
39
  // Make prettyprint styles more spaced out for readability
35
40
  &.prettyprint {
@@ -39,6 +44,14 @@ pre {
39
44
  // Account for some code outputs that place code tags in pre tags
40
45
  code {
41
46
  padding: 0;
47
+ color: inherit;
42
48
  background-color: transparent;
49
+ border: 0;
43
50
  }
44
51
  }
52
+
53
+ // Enable scrollable blocks of code
54
+ .pre-scrollable {
55
+ max-height: 340px;
56
+ overflow-y: scroll;
57
+ }
@@ -11,8 +11,8 @@
11
11
 
12
12
  .collapse {
13
13
  @include transition(height .35s ease);
14
- position:relative;
15
- overflow:hidden;
14
+ position: relative;
15
+ overflow: hidden;
16
16
  height: 0;
17
17
  &.in { height: auto; }
18
18
  }
@@ -25,7 +25,7 @@
25
25
  vertical-align: top;
26
26
  border-left: 4px solid transparent;
27
27
  border-right: 4px solid transparent;
28
- border-top: 4px solid #000;
28
+ border-top: 4px solid $black;
29
29
  @include opacity(30);
30
30
  content: "\2193";
31
31
  }
@@ -46,7 +46,6 @@
46
46
  float: left;
47
47
  display: none; // none by default, but block on "open" of the menu
48
48
  min-width: 160px;
49
- max-width: 220px;
50
49
  _width: 160px;
51
50
  padding: 4px 0;
52
51
  margin: 0; // override default ul
@@ -93,7 +92,7 @@
93
92
  padding: 3px 15px;
94
93
  clear: both;
95
94
  font-weight: normal;
96
- line-height: 18px;
95
+ line-height: $baseLineHeight;
97
96
  color: $gray;
98
97
  white-space: nowrap;
99
98
  }