blacklight 3.8.2 → 4.0.0.pre6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. data/Gemfile +1 -0
  2. data/README.md +1 -1
  3. data/VERSION +1 -1
  4. data/app/assets/javascripts/blacklight/blacklight.js +12 -1
  5. data/app/assets/javascripts/blacklight/bootstrap_dropdowns.js +3 -0
  6. data/app/assets/javascripts/blacklight/checkbox_submit.js +12 -5
  7. data/app/assets/javascripts/blacklight/core.js +0 -1
  8. data/app/assets/javascripts/blacklight/css_dropdowns.js +10 -0
  9. data/app/assets/javascripts/blacklight/facet_expand_contract.js +5 -5
  10. data/app/assets/javascripts/blacklight/lightbox_dialog.js +68 -13
  11. data/app/assets/javascripts/blacklight/select_submit.js +19 -10
  12. data/app/assets/javascripts/improved-modal/bootstrap-modal.js +282 -0
  13. data/app/assets/javascripts/improved-modal/bootstrap-modalmanager.js +353 -0
  14. data/app/assets/stylesheets/blacklight/_blacklight_base.css.scss +16 -5
  15. data/app/assets/stylesheets/blacklight/_bookmark.css.scss +24 -6
  16. data/app/assets/stylesheets/blacklight/_catalog.css.scss +115 -141
  17. data/app/assets/stylesheets/blacklight/_dropdown.css.scss +57 -0
  18. data/app/assets/stylesheets/blacklight/_facets.css.scss +127 -58
  19. data/app/assets/stylesheets/blacklight/_footer.css.scss +20 -0
  20. data/app/assets/stylesheets/blacklight/_header.css.scss +90 -21
  21. data/app/assets/stylesheets/blacklight/_layout.css.scss +10 -9
  22. data/app/assets/stylesheets/blacklight/_modal.css.scss +23 -0
  23. data/app/assets/stylesheets/blacklight/_print.css.scss +0 -7
  24. data/app/assets/stylesheets/blacklight/_responsive.css.scss +3 -0
  25. data/app/assets/stylesheets/blacklight/_search_history.css.scss +2 -4
  26. data/app/assets/stylesheets/blacklight/blacklight.css.scss +0 -1
  27. data/app/assets/stylesheets/blacklight/blacklight_defaults.css.scss +9 -2
  28. data/app/assets/stylesheets/blacklight/responsive_partials/_catalog.css.scss +5 -0
  29. data/app/assets/stylesheets/blacklight/responsive_partials/_facets.css.scss +37 -0
  30. data/app/assets/stylesheets/blacklight/responsive_partials/_header.css.scss +30 -0
  31. data/app/assets/stylesheets/improved-modal/bootstrap-modal.css +199 -0
  32. data/app/controllers/bookmarks_controller.rb +16 -10
  33. data/app/helpers/blacklight/blacklight_helper_behavior.rb +124 -61
  34. data/app/helpers/blacklight/catalog_helper_behavior.rb +5 -3
  35. data/app/helpers/blacklight/facets_helper_behavior.rb +9 -9
  36. data/app/views/_flash_msg.html.erb +9 -4
  37. data/app/views/_user_util_links.html.erb +23 -17
  38. data/app/views/bookmarks/_tools.html.erb +7 -7
  39. data/app/views/bookmarks/index.html.erb +5 -13
  40. data/app/views/catalog/_bookmark_control.html.erb +2 -4
  41. data/app/views/catalog/_bookmark_form.html.erb +1 -1
  42. data/app/views/catalog/_citation.html.erb +21 -20
  43. data/app/views/catalog/_constraints.html.erb +8 -6
  44. data/app/views/catalog/_document_header.html.erb +6 -7
  45. data/app/views/catalog/_document_list.html.erb +1 -7
  46. data/app/views/catalog/_email_form.html.erb +42 -16
  47. data/app/views/catalog/_facet_layout.html.erb +1 -1
  48. data/app/views/catalog/_facet_limit.html.erb +1 -1
  49. data/app/views/catalog/_facet_pagination.html.erb +11 -14
  50. data/app/views/catalog/_facets.html.erb +16 -2
  51. data/app/views/catalog/_home.html.erb +2 -2
  52. data/app/views/catalog/_home_text.html.erb +5 -2
  53. data/app/views/catalog/_index_default.html.erb +2 -2
  54. data/app/views/catalog/_marc_view.html.erb +0 -1
  55. data/app/views/catalog/_paginate_compact.html.erb +5 -0
  56. data/app/views/catalog/_per_page_widget.html.erb +13 -7
  57. data/app/views/catalog/_previous_next_doc.html.erb +14 -4
  58. data/app/views/catalog/_refworks_form.html.erb +2 -2
  59. data/app/views/catalog/_results_pagination.html.erb +4 -1
  60. data/app/views/catalog/_search_form.html.erb +19 -13
  61. data/app/views/catalog/_show_default.html.erb +2 -2
  62. data/app/views/catalog/_show_more_like_this.html.erb +3 -0
  63. data/app/views/catalog/_show_sidebar.html.erb +14 -1
  64. data/app/views/catalog/_show_tools.html.erb +18 -18
  65. data/app/views/catalog/_sms_form.html.erb +35 -10
  66. data/app/views/catalog/_sort_and_per_page.html.erb +5 -3
  67. data/app/views/catalog/_sort_widget.html.erb +12 -6
  68. data/app/views/catalog/citation.html.erb +1 -1
  69. data/app/views/catalog/citation.js.erb +7 -0
  70. data/app/views/catalog/email.html.erb +5 -0
  71. data/app/views/catalog/facet.html.erb +28 -21
  72. data/app/views/catalog/index.html.erb +26 -26
  73. data/app/views/catalog/librarian_view.html.erb +7 -0
  74. data/app/views/catalog/show.html.erb +35 -29
  75. data/app/views/catalog/sms.html.erb +5 -0
  76. data/app/views/kaminari/blacklight/_first_page.html.erb +2 -2
  77. data/app/views/kaminari/blacklight/_gap.html.erb +4 -1
  78. data/app/views/kaminari/blacklight/_last_page.html.erb +2 -2
  79. data/app/views/kaminari/blacklight/_next_page.html.erb +3 -3
  80. data/app/views/kaminari/blacklight/_page.html.erb +4 -3
  81. data/app/views/kaminari/blacklight/_paginator.html.erb +5 -5
  82. data/app/views/kaminari/blacklight/_prev_page.html.erb +3 -3
  83. data/app/views/kaminari/blacklight_compact/_next_page.html.erb +9 -0
  84. data/app/views/kaminari/blacklight_compact/_paginator.html.erb +15 -0
  85. data/app/views/kaminari/blacklight_compact/_prev_page.html.erb +9 -0
  86. data/app/views/layouts/blacklight.html.erb +47 -27
  87. data/app/views/saved_searches/index.html.erb +2 -2
  88. data/app/views/search_history/index.html.erb +12 -7
  89. data/app/views/shared/_footer.html.erb +0 -0
  90. data/app/views/shared/_header_navbar.html.erb +25 -0
  91. data/blacklight.gemspec +2 -5
  92. data/config/locales/blacklight.en.yml +23 -15
  93. data/lib/blacklight.rb +2 -2
  94. data/lib/blacklight/catalog.rb +36 -14
  95. data/lib/blacklight/configuration.rb +10 -2
  96. data/lib/blacklight/mash.rb +151 -0
  97. data/lib/blacklight/solr/document.rb +73 -11
  98. data/lib/blacklight/solr/document/extensions.rb +0 -8
  99. data/lib/blacklight/solr/document/marc_export.rb +7 -2
  100. data/lib/blacklight/solr/document/more_like_this.rb +5 -0
  101. data/lib/blacklight/solr_helper.rb +43 -18
  102. data/lib/blacklight/solr_response.rb +60 -0
  103. data/lib/blacklight/solr_response/facets.rb +58 -0
  104. data/lib/blacklight/solr_response/more_like_this.rb +14 -0
  105. data/lib/blacklight/solr_response/spelling.rb +92 -0
  106. data/lib/generators/blacklight/assets_generator.rb +1 -14
  107. data/lib/generators/blacklight/blacklight_generator.rb +22 -21
  108. data/lib/generators/blacklight/jetty_generator.rb +1 -35
  109. data/{test_support → lib/generators/blacklight/templates}/alternate_controller.rb +0 -0
  110. data/lib/generators/blacklight/templates/blacklight.css.scss +4 -0
  111. data/lib/generators/blacklight/templates/config/SolrMarc/config-test.properties +2 -2
  112. data/lib/generators/blacklight/templates/config/jetty.yml +6 -0
  113. data/lib/generators/blacklight/test_support_generator.rb +35 -0
  114. data/lib/railties/all_tests.rake +5 -23
  115. data/lib/railties/blacklight_cucumber.rake +2 -11
  116. data/lib/railties/blacklight_rspec.rake +2 -12
  117. data/test_support/bin/run-tests.sh +1 -1
  118. data/test_support/bin/setup-test-app.sh +123 -0
  119. data/test_support/bin/test.sh +21 -21
  120. data/test_support/features/bookmarks.feature +9 -3
  121. data/test_support/features/saved_searches.feature +3 -3
  122. data/test_support/features/search.feature +3 -3
  123. data/test_support/features/search_filters.feature +24 -26
  124. data/test_support/features/search_history.feature +9 -10
  125. data/test_support/features/search_sort.feature +4 -6
  126. data/test_support/features/step_definitions/general_steps.rb +0 -4
  127. data/test_support/features/step_definitions/search_result_steps.rb +2 -1
  128. data/test_support/features/step_definitions/search_steps.rb +32 -2
  129. data/test_support/spec/controllers/application_controller_spec.rb +8 -0
  130. data/test_support/spec/controllers/catalog_controller_spec.rb +3 -18
  131. data/test_support/spec/helpers/blacklight_helper_spec.rb +116 -20
  132. data/test_support/spec/helpers/catalog_helper_spec.rb +14 -6
  133. data/test_support/spec/helpers/facets_helper_spec.rb +1 -1
  134. data/test_support/spec/lib/blacklight_solr_document_more_like_this_spec.rb +18 -0
  135. data/test_support/spec/lib/blacklight_solr_document_spec.rb +54 -1
  136. data/test_support/spec/lib/blacklight_solr_response_spec.rb +153 -0
  137. data/test_support/spec/lib/facet_paginator_spec.rb +1 -1
  138. data/test_support/spec/lib/marc_export_spec.rb +14 -6
  139. data/test_support/spec/lib/solr_helper_spec.rb +22 -6
  140. data/test_support/spec/models/solr_docment_spec.rb +1 -4
  141. data/test_support/spec/{features → requests}/alternate_controller_spec.rb +3 -2
  142. data/test_support/spec/views/catalog/_facets.html.erb_spec.rb +20 -4
  143. data/test_support/spec/views/catalog/_show_sidebar.erb_spec.rb +25 -0
  144. metadata +53 -131
  145. data/app/assets/javascripts/blacklight/more_facets.js +0 -16
  146. data/app/assets/javascripts/jquery-1.4.2.min.js +0 -154
  147. data/app/assets/javascripts/jquery-ui-1.8.1.custom.min.js +0 -756
  148. data/app/assets/javascripts/jquery.uiExt.ajaxyDialog.js +0 -180
  149. data/app/assets/stylesheets/blacklight/_formatting.css.scss +0 -164
  150. data/app/assets/stylesheets/blacklight/grids/_susy_grid.css.scss +0 -72
  151. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-anim_basic_16x16.gif +0 -0
  152. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  153. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  154. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  155. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  156. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  157. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  158. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_gloss-wave_35_558fd0_500x100.png +0 -0
  159. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  160. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  161. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  162. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  163. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-icons_2e4f81_256x240.png +0 -0
  164. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  165. data/app/assets/stylesheets/jquery/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  166. data/app/assets/stylesheets/jquery/ui-lightness/jquery-ui-1.8.1.custom.css +0 -486
  167. data/app/models/solr_document.rb +0 -5
  168. data/app/views/catalog/email.erb +0 -1
  169. data/app/views/catalog/sms.erb +0 -1
  170. data/doc/Atom-Responses.md +0 -90
  171. data/doc/Blacklight-3.2-Release-Notes-and-Upgrade-Guide.md +0 -191
  172. data/doc/Blacklight-3.3-release-notes-and-upgrade-guide.md +0 -37
  173. data/doc/Blacklight-3.4-release-notes-and-upgrade-guide.md +0 -27
  174. data/doc/Blacklight-3.5-release-notes-and-upgrade-guide.md +0 -44
  175. data/doc/Blacklight-3.6-release-notes-and-upgrade-guide.md +0 -25
  176. data/doc/Blacklight-3.7-release-notes-and-upgrade-guide.md +0 -78
  177. data/doc/Blacklight-3.8-release-notes-and-upgrade-guide.md +0 -11
  178. data/doc/Blacklight-Add-ons.md +0 -28
  179. data/doc/Blacklight-configuration.md +0 -301
  180. data/doc/Blacklight-on-Heroku.md +0 -135
  181. data/doc/Community-principles.md +0 -44
  182. data/doc/Configuring-and-Customizing-Blacklight.md +0 -271
  183. data/doc/Contributing-to-Blacklight.md +0 -25
  184. data/doc/Examples.md +0 -62
  185. data/doc/Extending-or-Modifying-Blacklight-Search-Behavior.md +0 -141
  186. data/doc/Home.md +0 -77
  187. data/doc/How-to-release-a-version.md +0 -37
  188. data/doc/Indexing-your-data-into-solr.md +0 -5
  189. data/doc/Integration-with-Rails-Footnotes.md +0 -20
  190. data/doc/Pagination.md +0 -38
  191. data/doc/Providing-your-own-view-templates.md +0 -109
  192. data/doc/Quickstart.md +0 -116
  193. data/doc/README.md +0 -77
  194. data/doc/README_SOLR.md +0 -245
  195. data/doc/Release-Notes-And-Upgrade-Guides.md +0 -14
  196. data/doc/Sunspot-for-indexing.md +0 -46
  197. data/doc/User-Authentication.md +0 -60
  198. data/doc/testing.md +0 -115
  199. data/lib/generators/blacklight/solr_conf_generator.rb +0 -26
  200. data/lib/generators/blacklight/templates/assets/standard.css.scss +0 -59
  201. data/lib/generators/blacklight/templates/config/blacklight_config.rb +0 -3
  202. data/lib/generators/blacklight/templates/config/compass.rb +0 -2
  203. data/lib/generators/blacklight/templates/solr_conf/schema.xml +0 -689
  204. data/lib/generators/blacklight/templates/solr_conf/solrconfig.xml +0 -1846
  205. data/lib/solrmarc.log.1 +0 -849
  206. data/test_support/spec/controllers/bookmarks_controller_spec.rb +0 -48
@@ -0,0 +1,353 @@
1
+ /* ===========================================================
2
+ * bootstrap-modalmanager.js
3
+ * ===========================================================
4
+ * Copyright 2012 Jordan Schroter.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ * ========================================================== */
18
+
19
+ !function($){
20
+
21
+ "use strict"; // jshint ;_;
22
+
23
+ var baseModalzIndex, baseModalAbszIndex, baseBackdropzIndex, baseBackdropAbszIndex, zIndexFactor;
24
+
25
+ $(function(){
26
+ var $baseModal = $('<div class="modal hide" />').appendTo('body'),
27
+ $baseBackdrop = $('<div class="modal-backdrop hide" />').appendTo('body'),
28
+ $baseModalAbs = $('<div class="modal modal-absolute hide" />').appendTo('body'),
29
+ $baseBackdropAbs = $('<div class="modal-backdrop modal-absolute hide" />').appendTo('body');
30
+
31
+ baseModalzIndex = +$baseModal.css('z-index'),
32
+ baseModalAbszIndex = +$baseModalAbs.css('z-index'),
33
+ baseBackdropzIndex = +$baseBackdrop.css('z-index'),
34
+ baseBackdropAbszIndex = +$baseBackdropAbs.css('z-index'),
35
+ zIndexFactor = baseModalzIndex - baseBackdropzIndex;
36
+
37
+ $baseModal.remove();
38
+ $baseBackdrop.remove();
39
+ $baseModalAbs.remove();
40
+ $baseBackdropAbs.remove();
41
+ $baseBackdrop = $baseModal = $baseModalAbs = $baseBackdrop = null;
42
+ });
43
+
44
+ /* MODAL MANAGER CLASS DEFINITION
45
+ * ====================== */
46
+
47
+ var ModalManager = function (element, options) {
48
+ this.init(element, options);
49
+ }
50
+
51
+ window.ModalManager = ModalManager;
52
+
53
+ ModalManager.prototype = {
54
+
55
+ constructor: ModalManager,
56
+
57
+ init: function(element, options){
58
+ this.$element = $(element);
59
+ this.options = $.extend({}, $.fn.modalmanager.defaults, this.$element.data(), typeof options == 'object' && options);
60
+ this.stack = [];
61
+ this.isBody = this.$element[0] === $('body')[0];
62
+
63
+ this.$container = this.$element.find('.modal-container');
64
+ this.$parent = this.$container.length ? this.$container : this.$element;
65
+
66
+ this.$element.toggleClass('has-modal-container', !!this.$container.length);
67
+ },
68
+
69
+ createModal: function(element, options){
70
+ $(element).modal($.extend({ manager: this }, options));
71
+ },
72
+
73
+ appendModal: function(modal){
74
+ this.stack.push(modal);
75
+
76
+ var that = this;
77
+
78
+ modal.$element.on('show.modalmanager', targetIsModal(function(e){
79
+ modal.isShown = true;
80
+
81
+ that.$element
82
+ .toggleClass('modal-open', that.hasOpenModal())
83
+ .toggleClass('page-overflow', $(window).height() < that.$element.height());
84
+
85
+
86
+ var $scrollElement = (that.$container.length ? that.$container :
87
+ (that.isBody ? $(window) : that.$element));
88
+
89
+ var modalOverflow = $(window).height() < modal.$element.height() || modal.options.modalOverflow;
90
+
91
+ modal.$element
92
+ .toggleClass('modal-overflow', modalOverflow)
93
+ .css('margin-top', $scrollElement.scrollTop() - (modalOverflow ? 0 : modal.$element.height()/2))
94
+ .css('z-index', (!that.isBody ? baseModalAbszIndex : baseModalzIndex)
95
+ + (zIndexFactor * that.getIndexOfModal(modal)));
96
+
97
+ that.backdrop(modal, function () {
98
+ var transition = $.support.transition && modal.$element.hasClass('fade')
99
+
100
+
101
+ modal.$parent = modal.$element.parent();
102
+ if (!modal.$parent.length || modal.$parent[0] !== that.$parent[0]) {
103
+ modal.$element.detach().appendTo(that.$parent);
104
+ }
105
+
106
+
107
+ modal.$element.show();
108
+
109
+ if (transition) {
110
+ modal.$element[0].style.display = 'run-in';
111
+ modal.$element[0].offsetWidth;
112
+ modal.$element.one($.support.transition.end, function () { modal.$element[0].style.display = 'block' });
113
+ }
114
+
115
+ modal.$element
116
+ .addClass('in')
117
+ .attr('aria-hidden', false)
118
+ .toggleClass('modal-absolute', !that.isBody);
119
+
120
+ var complete = function(){
121
+ that.setFocus();
122
+ modal.$element.triggerHandler('shown');
123
+ }
124
+
125
+ transition ?
126
+ modal.$element.one($.support.transition.end, complete) :
127
+ complete();
128
+ });
129
+ }));
130
+
131
+ modal.$element.on('hidden.modalmanager', targetIsModal(function(e){
132
+ that.backdrop(modal);
133
+
134
+ if (modal.$backdrop){
135
+ $.support.transition && modal.$element.hasClass('fade')?
136
+ modal.$backdrop.one($.support.transition.end, function(){ that.destroyModal(modal) }) :
137
+ that.destroyModal(modal);
138
+ } else {
139
+ that.destroyModal(modal);
140
+ }
141
+
142
+ }));
143
+
144
+ modal.$element.on('destroy.modalmanager', targetIsModal(function(e){
145
+ that.removeModal(modal);
146
+ }));
147
+ },
148
+
149
+ destroyModal: function(modal){
150
+ modal.destroy();
151
+ var hasOpenModal = this.hasOpenModal();
152
+ this.$element.toggleClass('modal-open', hasOpenModal);
153
+ if (!hasOpenModal){
154
+ this.$element.removeClass('page-overflow');
155
+ }
156
+ this.setFocus();
157
+ },
158
+
159
+ hasOpenModal: function(){
160
+ for (var i = 0; i < this.stack.length; i++){
161
+ if (this.stack[i].isShown) return true;
162
+ }
163
+ return false;
164
+ },
165
+
166
+ setFocus: function () {
167
+ var topModal;
168
+
169
+ for (var i = 0; i < this.stack.length; i++){
170
+ if (this.stack[i].isShown) topModal = this.stack[i];
171
+ }
172
+
173
+ topModal && topModal.$element.focus();
174
+ },
175
+
176
+ removeModal: function(modal){
177
+ modal.$element.off('.modalmanager');
178
+ if (modal.$backdrop) this.removeBackdrop.call(modal);
179
+ this.stack.splice(this.getIndexOfModal(modal), 1);
180
+ },
181
+
182
+ getModalAt: function(index){
183
+ return this.stack[index];
184
+ },
185
+
186
+ getIndexOfModal: function(modal){
187
+ for (var i = 0; i < this.stack.length; i++){
188
+ if (modal === this.stack[i]) return i;
189
+ }
190
+ },
191
+
192
+ removeBackdrop: function (modal) {
193
+ modal.$backdrop.remove();
194
+ modal.$backdrop = null;
195
+ },
196
+
197
+ createBackdrop: function(animate){
198
+ var $backdrop;
199
+
200
+ if (!this.isLoading) {
201
+ $backdrop = $('<div class="modal-backdrop ' + animate + '" />')
202
+ .appendTo(this.$parent)
203
+ .toggleClass('modal-absolute', !this.isBody);
204
+ } else {
205
+ $backdrop = this.$loading;
206
+ $backdrop.off('.modalmanager');
207
+ this.$spinner.remove();
208
+ this.isLoading = false;
209
+ this.$loading = this.$spinner = null;
210
+ }
211
+
212
+ return $backdrop
213
+ },
214
+
215
+ backdrop: function (modal, callback) {
216
+ var animate = modal.$element.hasClass('fade') ? 'fade' : '',
217
+ showBackdrop = $.extend({}, this.options, modal.options).backdrop;
218
+
219
+ if (modal.isShown && showBackdrop) {
220
+ var doAnimate = $.support.transition && animate && !this.isLoading;
221
+
222
+
223
+ modal.$backdrop = this.createBackdrop(animate);
224
+
225
+ modal.$backdrop.css('z-index',
226
+ (!this.isBody ? baseBackdropAbszIndex : baseBackdropzIndex)
227
+ + (zIndexFactor * this.getIndexOfModal(modal)));
228
+
229
+
230
+ if (modal.options.backdrop != 'static') {
231
+ modal.$backdrop.on('click.modal', $.proxy(modal.hide, modal));
232
+ }
233
+
234
+ if (doAnimate) modal.$backdrop[0].offsetWidth // force reflow
235
+
236
+ modal.$backdrop.addClass('in')
237
+
238
+ doAnimate ?
239
+ modal.$backdrop.one($.support.transition.end, callback) :
240
+ callback();
241
+
242
+ } else if (!modal.isShown && modal.$backdrop) {
243
+ modal.$backdrop.removeClass('in');
244
+
245
+ var that = this;
246
+ $.support.transition && modal.$element.hasClass('fade')?
247
+ modal.$backdrop.one($.support.transition.end, function(){ that.removeBackdrop(modal) }) :
248
+ that.removeBackdrop(modal);
249
+
250
+ } else if (callback) {
251
+ callback();
252
+ }
253
+ },
254
+
255
+ removeLoading: function(){
256
+ this.$loading && this.$loading.remove();
257
+ this.$loading = null;
258
+ this.isLoading = false;
259
+ },
260
+
261
+ loading: function(callback){
262
+ callback = callback || function(){ };
263
+
264
+ this.$element.toggleClass('modal-open', !this.isLoading || this.hasOpenModal());
265
+
266
+ if (!this.isLoading) {
267
+
268
+ this.$loading = this.createBackdrop('fade');
269
+
270
+ this.$loading[0].offsetWidth // force reflow
271
+
272
+ this.$loading
273
+ .css('z-index',
274
+ (!this.isBody ? baseBackdropAbszIndex : baseBackdropzIndex)
275
+ + (zIndexFactor * this.stack.length))
276
+ .on('click.modalmanager', $.proxy(this.loading, this))
277
+ .addClass('in');
278
+
279
+ var $scrollElement = (this.$container.length ? this.$container :
280
+ (this.isBody ? $(window) : this.$element));
281
+
282
+ this.$spinner = $('<div class="modal-spinner fade">')
283
+ .append(this.options.spinner)
284
+ .css('z-index', this.$loading.css('z-index'))
285
+ .css('margin-top', $scrollElement.scrollTop())
286
+ .appendTo(this.$parent)
287
+ .addClass('in');
288
+
289
+ this.isLoading = true;
290
+
291
+ $.support.transition ?
292
+ this.$loading.one($.support.transition.end, callback) :
293
+ callback();
294
+
295
+ } else if (this.isLoading && this.$loading) {
296
+ this.$loading.removeClass('in');
297
+
298
+ if (this.$spinner) this.$spinner.remove();
299
+
300
+ var that = this;
301
+ $.support.transition ?
302
+ this.$loading.one($.support.transition.end, function(){ that.removeLoading() }) :
303
+ that.removeLoading();
304
+
305
+ } else if (callback) {
306
+ callback(this.isLoading);
307
+ }
308
+ },
309
+
310
+ toggleLoading: function(callback){ this.loading(callback); }
311
+ }
312
+
313
+ /* PRIVATE METHODS
314
+ * ======================= */
315
+
316
+ // make sure the event target is the modal itself in order to prevent
317
+ // other components such as tabsfrom triggering the modal manager.
318
+ // if Boostsrap namespaced events, this would not be needed.
319
+ function targetIsModal(callback){
320
+ return function(e){
321
+ if (this === e.target){
322
+ callback.apply(this, arguments);
323
+ }
324
+ }
325
+ }
326
+
327
+
328
+ /* MODAL MANAGER PLUGIN DEFINITION
329
+ * ======================= */
330
+
331
+ $.fn.modalmanager = function (option) {
332
+ return this.each(function () {
333
+ var $this = $(this)
334
+ , data = $this.data('modalmanager');
335
+
336
+ if (!data) $this.data('modalmanager', (data = new ModalManager(this, options)))
337
+ if (typeof option == 'string') data[option]()
338
+ })
339
+ }
340
+
341
+ $.fn.modalmanager.defaults = {
342
+ backdrop: true,
343
+ spinner: '<div class="loading-spinner" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"></div></div></div>'
344
+ }
345
+
346
+ $.fn.modalmanager.Constructor = ModalManager
347
+
348
+ // Create a default global modal manager
349
+ $(function(){
350
+ window.GlobalModalManager = new ModalManager('body');
351
+ })
352
+
353
+ }(jQuery);
@@ -6,21 +6,32 @@
6
6
  not to use the Blacklight CSS file at all in your local app. */
7
7
 
8
8
 
9
- @import "compass";
10
- @import "compass/reset";
9
+
10
+ $btnInfoBackground: #9ad0fe;
11
11
 
12
12
  @import 'blacklight/blacklight_defaults';
13
13
 
14
14
  /* Import this to maintain the old YUI font styles */
15
15
  @import "blacklight/layout";
16
- @import "blacklight/formatting";
17
16
  @import "blacklight/header";
17
+ @import "blacklight/footer";
18
18
  @import "blacklight/catalog";
19
19
  @import "blacklight/bookmark";
20
20
  @import "blacklight/facets";
21
21
  @import "blacklight/search_history";
22
22
  @import "blacklight/print";
23
+ @import "blacklight/responsive";
24
+
25
+ @import "blacklight/dropdown";
26
+ @import "blacklight/modal";
23
27
 
28
+ @import "improved-modal/bootstrap-modal";
24
29
 
25
- /* IE 6 Adjustments */
26
- * html #search {left: -1.8em;}
30
+ .hide-text {
31
+ width: 1px;
32
+ position: absolute;
33
+ display: inline-block;
34
+ text-indent: 100%;
35
+ white-space: nowrap;
36
+ overflow: hidden;
37
+ }
@@ -1,3 +1,27 @@
1
+ ul.bookmarkTools
2
+ {
3
+ @include border-radius(0 0 4px 4px);
4
+ background-color: $well_bg_color;
5
+ border-color: $well_bg_color;
6
+ margin:0;
7
+
8
+ li
9
+ {
10
+ display:inline-block;
11
+ }
12
+
13
+ li form
14
+ {
15
+ display:inline;
16
+ }
17
+
18
+ li.refworks form input.submit
19
+ {
20
+ display:none;
21
+ }
22
+ }
23
+
24
+
1
25
  ul.tools
2
26
  {
3
27
  margin:0;
@@ -12,9 +36,3 @@ ul.tools
12
36
  margin-right: 10px;
13
37
  }
14
38
  }
15
-
16
- #sidebar .tools {
17
- li {
18
- display: block;
19
- }
20
- }
@@ -1,3 +1,4 @@
1
+ @import "bootstrap";
1
2
  #appliedParams
2
3
  {
3
4
  background-color:$search_ui_bg_color;
@@ -5,7 +6,7 @@
5
6
  border-left:1px solid $search_ui_border_color;
6
7
  border-right:1px solid $search_ui_border_color;
7
8
  margin-bottom:1.5em;
8
- padding:1em 0.66em 0 1em;
9
+ padding:1em 0 0 0em;
9
10
 
10
11
  .label
11
12
  {
@@ -17,6 +18,15 @@
17
18
  }
18
19
  }
19
20
 
21
+ .catalog_startOverLink {
22
+ padding-top: 0.5em;
23
+ float: right;
24
+ }
25
+
26
+ #sort-dropdown {
27
+ padding-left: 1em;
28
+ }
29
+
20
30
  #document
21
31
  {
22
32
  margin-top:1em;
@@ -31,20 +41,23 @@
31
41
 
32
42
  #documents
33
43
  {
34
- margin-bottom:1.5em;
35
- margin-top:1.5em;
36
-
44
+ margin-bottom:1em;
45
+ margin-top:1em;
37
46
 
38
47
  .documentHeader
39
48
  {
40
- padding:0;
49
+ padding: 5px 0 0;
41
50
  }
42
51
 
43
- .per_page
52
+ .per_page-form
44
53
  {
45
54
  padding-right:5px;
46
55
  }
47
56
  }
57
+ .ajax_form
58
+ {
59
+ margin-bottom: 0;
60
+ }
48
61
 
49
62
  #librarian_view
50
63
  {
@@ -82,81 +95,41 @@
82
95
  }
83
96
  }
84
97
 
85
- #previousNextDocument
86
- {
87
- background-color:$search_ui_bg_color;
88
- border:1px solid $search_ui_border_color;
89
- margin-bottom:1.5em;
90
- overflow:auto;
91
- padding:0.66em;
92
-
93
- .next
94
- {
95
- float:right;
96
- }
98
+ .constraints-container {
99
+ @extend .well;
100
+ padding-bottom: 9px;
97
101
  }
98
102
 
99
- #search
100
- {
101
- @include border-radius(4px 4px 0 0);
102
- border:1px solid $search_ui_border_color;
103
- font-size:120%;
104
- padding:0.66em;
105
- text-align:left;
106
-
107
- #q
108
- {
109
- width:200px;
110
- }
103
+ .constraints-row {
104
+ margin-top:1em;
105
+ margin-bottom:1em;
106
+ }
107
+ span.constraints-label {
108
+ font-weight:bold;
109
+ }
111
110
 
112
- .submit
113
- {
114
- margin:0 0.5em;
115
- padding:0 0.25em;
116
- text-transform:capitalize;
117
- }
111
+ li.pill-with-label {
112
+ padding-top: 3px;
113
+ padding-right: 6px;
114
+ padding-left: 6px;
115
+ padding-bottom: 3px;
116
+ a.dropdown-toggle {
117
+ padding-left: 3px;
118
+ padding-right: 3px;
119
+ display: inline;
118
120
 
119
- hr
120
- {
121
- display: none;
122
- margin: 2em 0 1em;
123
121
  }
124
122
  }
125
123
 
126
- #search h2,.pagination h2,#results_text,.page_links .next_page,.page_links .prev_page
127
- {
128
- display:none;
129
- }
130
-
131
-
132
- #sortAndPerPage
124
+ .show-document-title
133
125
  {
134
- background-color:$search_ui_bg_color;
135
- border-color:$search_ui_border_color;
136
- border-style:solid;
137
- border-width:0 1px 1px 1px;
138
- padding:0.66em;
139
-
126
+ padding-top: 0.5em;
140
127
 
141
- label
142
- {
143
- font-weight:400;
144
- }
145
128
  }
146
129
 
147
- #startOverLink
130
+ .show-document > #document
148
131
  {
149
- background:asset_url('blacklight/start_over.gif', image) no-repeat center center;
150
- border-bottom:none;
151
- color:#fff;
152
- display:block;
153
- line-height:22px;
154
- margin-top:-12px;
155
- padding:0 7px 3px 12px;
156
- position:absolute;
157
- right:0.66em;
158
- text-decoration:none;
159
- top:50%;
132
+ margin-top: 0;
160
133
  }
161
134
 
162
135
  .appliedFilter
@@ -208,14 +181,17 @@
208
181
  {
209
182
  border-bottom:1px dotted $dotted_border_color;
210
183
  clear:both;
211
- padding:0.5em 0 0;
184
+ padding-bottom: 1em;
185
+
186
+ dd {
187
+ padding-bottom:0.5em;
188
+ }
212
189
  }
213
190
 
214
- .documentFunctions
191
+ #documents .documentFunctions
215
192
  {
216
193
  float:right;
217
- margin-bottom:0.5em;
218
- margin-left:1em;
194
+ margin: 10px 0;
219
195
 
220
196
  .bookmark_toggle
221
197
  {
@@ -223,23 +199,27 @@
223
199
  }
224
200
  }
225
201
 
202
+ #sidebar form {
203
+ margin: 0;
204
+ }
226
205
 
227
206
  .filterValue
228
207
  {
229
208
  padding-right:37px;
230
209
  }
231
210
 
211
+
232
212
  .pageEntriesInfo
233
213
  {
234
- background-color:$search_ui_bg_color;
214
+ background-color:$search_ui_bg_color;
235
215
  border-color:$search_ui_border_color;
236
- border-style:solid;
216
+ border-style:solid;
237
217
  border-width:1px 1px 0;
238
- padding:0.66em;
218
+ padding:0 0.66em 0.66em 0;
239
219
  position:relative;
240
- text-align:center;
241
220
  }
242
221
 
222
+
243
223
  .page_links
244
224
  {
245
225
  margin-left:8em;
@@ -254,49 +234,12 @@
254
234
  font-weight:700;
255
235
  }
256
236
  }
257
- .pagination
258
- {
259
- background-color:$search_ui_bg_color;
260
- border-color:$search_ui_border_color;
261
- border-style:solid;
262
- border-width:0 1px 1px;
263
- line-height:2em;
264
- padding:0.66em;
265
- position:relative;
266
-
267
- .next_page
268
- {
269
- border-bottom:none;
270
- margin-right:0.66em;
271
- position:absolute;
272
- right:0;
273
- }
274
237
 
275
- .prev_page
276
- {
277
- border-bottom:none;
278
- left:0;
279
- margin-left:0.66em;
280
- position:absolute;
281
- }
282
-
283
- a
284
- {
285
- border:1px solid transparent;
286
- }
287
-
288
- a:hover,a:focus
289
- {
290
- border:1px solid #003;
291
- text-decoration:none;
292
- }
238
+ .pagination {
239
+ text-align: center ;
240
+ }
293
241
 
294
- span.disabled
295
- {
296
- color:#999;
297
- }
298
242
 
299
- }
300
243
  .show #appliedParams
301
244
  {
302
245
  border-top:1px solid $search_ui_border_color;
@@ -317,30 +260,10 @@
317
260
  padding:.5em;
318
261
  }
319
262
 
320
- dl.defList
321
- {
322
- clear:both;
323
- overflow:auto;
324
- padding:0.5em 0;
325
-
326
- dd
327
- {
328
- float:left;
329
- margin:0;
330
- padding:2px 0;
331
- text-align:left;
332
- width:450px;
333
- }
334
-
335
- dt
336
- {
337
- clear:both;
338
- color: $field_name_color;
339
- float:left;
340
- margin:0;
341
- padding:2px 1em 2px 0;
342
- text-align:right;
343
- width:20%;
263
+ .dl-invert {
264
+ dt {
265
+ font-weight: normal;
266
+ color: #888;
344
267
  }
345
268
  }
346
269
 
@@ -366,3 +289,54 @@ span.page a,span.page.current
366
289
  padding:0.2em 0.5em;
367
290
  text-decoration:none;
368
291
  }
292
+
293
+
294
+ #sidebar .well
295
+ {
296
+ padding: 8px 0;
297
+ }
298
+
299
+ #sidebar-mlt li {
300
+ padding-bottom: 0.5em;
301
+ }
302
+
303
+ .show-document
304
+ {
305
+ .document {
306
+ border: none;
307
+ }
308
+ }
309
+
310
+ #sortAndPerPage {
311
+ @extend .well;
312
+ }
313
+
314
+ #sortAndPerPage .dropdown-toggle {
315
+ cursor: pointer;
316
+ }
317
+
318
+ .no-js #sortAndPerPage {
319
+ & {
320
+ @extend .clearfix;
321
+ }
322
+ .dropdown-menu {
323
+ background: none;
324
+ box-shadow: none;
325
+ border: none;
326
+ position: relative;
327
+ display: block;
328
+ float: none;
329
+ }
330
+
331
+ }
332
+
333
+ .index_title {
334
+ float: left;
335
+ max-width: 414px; //span7; figure out how to calculate this correctly?
336
+ }
337
+
338
+ #email_form {
339
+ @extend .span6;
340
+ }
341
+
342
+