rbbt-rest 1.8.67 → 1.8.68

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/share/views/compass/app.sass +3 -0
  3. data/share/views/layout/footer.haml +10 -7
  4. data/share/views/partials/dependencies.haml +6 -1
  5. data/share/views/partials/footers/bsc.haml +1 -1
  6. data/share/views/partials/footers/cnio.haml +2 -2
  7. data/share/views/partials/footers/ntnu.haml +2 -2
  8. data/share/views/public/plugins/semantic-ui/CONTRIBUTING.md +58 -58
  9. data/share/views/public/plugins/semantic-ui/README.md +7 -7
  10. data/share/views/public/plugins/semantic-ui/RELEASE-NOTES.md +168 -0
  11. data/share/views/public/plugins/semantic-ui/dist/components/accordion.css +1 -1
  12. data/share/views/public/plugins/semantic-ui/dist/components/accordion.js +1 -1
  13. data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.css +2 -2
  14. data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.js +1 -10
  15. data/share/views/public/plugins/semantic-ui/dist/components/ad.css +1 -1
  16. data/share/views/public/plugins/semantic-ui/dist/components/ad.min.css +2 -2
  17. data/share/views/public/plugins/semantic-ui/dist/components/api.js +1 -1
  18. data/share/views/public/plugins/semantic-ui/dist/components/api.min.js +1 -10
  19. data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.css +1 -1
  20. data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.min.css +2 -2
  21. data/share/views/public/plugins/semantic-ui/dist/components/button.css +3 -17
  22. data/share/views/public/plugins/semantic-ui/dist/components/button.min.css +2 -2
  23. data/share/views/public/plugins/semantic-ui/dist/components/card.css +22 -31
  24. data/share/views/public/plugins/semantic-ui/dist/components/card.min.css +2 -2
  25. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.css +1 -1
  26. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.js +1 -1
  27. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.css +2 -2
  28. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.js +1 -10
  29. data/share/views/public/plugins/semantic-ui/dist/components/comment.css +5 -5
  30. data/share/views/public/plugins/semantic-ui/dist/components/comment.min.css +2 -2
  31. data/share/views/public/plugins/semantic-ui/dist/components/container.css +1 -1
  32. data/share/views/public/plugins/semantic-ui/dist/components/container.min.css +2 -2
  33. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.css +19 -3
  34. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.js +1 -1
  35. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.css +2 -2
  36. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.js +1 -10
  37. data/share/views/public/plugins/semantic-ui/dist/components/divider.css +1 -1
  38. data/share/views/public/plugins/semantic-ui/dist/components/divider.min.css +2 -2
  39. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.css +94 -38
  40. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.js +214 -76
  41. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.css +2 -2
  42. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.js +2 -11
  43. data/share/views/public/plugins/semantic-ui/dist/components/embed.css +1 -1
  44. data/share/views/public/plugins/semantic-ui/dist/components/embed.js +1 -1
  45. data/share/views/public/plugins/semantic-ui/dist/components/embed.min.css +2 -2
  46. data/share/views/public/plugins/semantic-ui/dist/components/embed.min.js +1 -10
  47. data/share/views/public/plugins/semantic-ui/dist/components/feed.css +7 -11
  48. data/share/views/public/plugins/semantic-ui/dist/components/feed.min.css +2 -2
  49. data/share/views/public/plugins/semantic-ui/dist/components/flag.css +2 -2
  50. data/share/views/public/plugins/semantic-ui/dist/components/flag.min.css +2 -2
  51. data/share/views/public/plugins/semantic-ui/dist/components/form.css +49 -62
  52. data/share/views/public/plugins/semantic-ui/dist/components/form.js +186 -38
  53. data/share/views/public/plugins/semantic-ui/dist/components/form.min.css +2 -2
  54. data/share/views/public/plugins/semantic-ui/dist/components/form.min.js +1 -10
  55. data/share/views/public/plugins/semantic-ui/dist/components/grid.css +23 -52
  56. data/share/views/public/plugins/semantic-ui/dist/components/grid.min.css +2 -2
  57. data/share/views/public/plugins/semantic-ui/dist/components/header.css +15 -15
  58. data/share/views/public/plugins/semantic-ui/dist/components/header.min.css +2 -2
  59. data/share/views/public/plugins/semantic-ui/dist/components/icon.css +179 -5
  60. data/share/views/public/plugins/semantic-ui/dist/components/icon.min.css +2 -2
  61. data/share/views/public/plugins/semantic-ui/dist/components/image.css +1 -1
  62. data/share/views/public/plugins/semantic-ui/dist/components/image.min.css +2 -2
  63. data/share/views/public/plugins/semantic-ui/dist/components/input.css +6 -12
  64. data/share/views/public/plugins/semantic-ui/dist/components/input.min.css +2 -2
  65. data/share/views/public/plugins/semantic-ui/dist/components/item.css +33 -28
  66. data/share/views/public/plugins/semantic-ui/dist/components/item.min.css +2 -2
  67. data/share/views/public/plugins/semantic-ui/dist/components/label.css +1 -1
  68. data/share/views/public/plugins/semantic-ui/dist/components/label.min.css +2 -2
  69. data/share/views/public/plugins/semantic-ui/dist/components/list.css +2 -2
  70. data/share/views/public/plugins/semantic-ui/dist/components/list.min.css +2 -2
  71. data/share/views/public/plugins/semantic-ui/dist/components/loader.css +1 -1
  72. data/share/views/public/plugins/semantic-ui/dist/components/loader.min.css +2 -2
  73. data/share/views/public/plugins/semantic-ui/dist/components/menu.css +18 -27
  74. data/share/views/public/plugins/semantic-ui/dist/components/menu.min.css +1 -1
  75. data/share/views/public/plugins/semantic-ui/dist/components/message.css +7 -7
  76. data/share/views/public/plugins/semantic-ui/dist/components/message.min.css +2 -2
  77. data/share/views/public/plugins/semantic-ui/dist/components/modal.css +102 -23
  78. data/share/views/public/plugins/semantic-ui/dist/components/modal.js +79 -25
  79. data/share/views/public/plugins/semantic-ui/dist/components/modal.min.css +2 -2
  80. data/share/views/public/plugins/semantic-ui/dist/components/modal.min.js +1 -10
  81. data/share/views/public/plugins/semantic-ui/dist/components/nag.css +1 -1
  82. data/share/views/public/plugins/semantic-ui/dist/components/nag.js +1 -1
  83. data/share/views/public/plugins/semantic-ui/dist/components/nag.min.css +2 -2
  84. data/share/views/public/plugins/semantic-ui/dist/components/nag.min.js +1 -10
  85. data/share/views/public/plugins/semantic-ui/dist/components/popup.css +1 -1
  86. data/share/views/public/plugins/semantic-ui/dist/components/popup.js +41 -30
  87. data/share/views/public/plugins/semantic-ui/dist/components/popup.min.css +2 -2
  88. data/share/views/public/plugins/semantic-ui/dist/components/popup.min.js +1 -10
  89. data/share/views/public/plugins/semantic-ui/dist/components/progress.css +1 -1
  90. data/share/views/public/plugins/semantic-ui/dist/components/progress.js +1 -1
  91. data/share/views/public/plugins/semantic-ui/dist/components/progress.min.css +2 -2
  92. data/share/views/public/plugins/semantic-ui/dist/components/progress.min.js +1 -10
  93. data/share/views/public/plugins/semantic-ui/dist/components/rail.css +1 -1
  94. data/share/views/public/plugins/semantic-ui/dist/components/rail.min.css +1 -1
  95. data/share/views/public/plugins/semantic-ui/dist/components/rating.css +1 -3
  96. data/share/views/public/plugins/semantic-ui/dist/components/rating.js +1 -1
  97. data/share/views/public/plugins/semantic-ui/dist/components/rating.min.css +2 -2
  98. data/share/views/public/plugins/semantic-ui/dist/components/rating.min.js +1 -10
  99. data/share/views/public/plugins/semantic-ui/dist/components/reset.css +254 -199
  100. data/share/views/public/plugins/semantic-ui/dist/components/reset.min.css +2 -2
  101. data/share/views/public/plugins/semantic-ui/dist/components/reveal.css +1 -1
  102. data/share/views/public/plugins/semantic-ui/dist/components/reveal.min.css +2 -2
  103. data/share/views/public/plugins/semantic-ui/dist/components/search.css +4 -4
  104. data/share/views/public/plugins/semantic-ui/dist/components/search.js +96 -52
  105. data/share/views/public/plugins/semantic-ui/dist/components/search.min.css +2 -2
  106. data/share/views/public/plugins/semantic-ui/dist/components/search.min.js +1 -10
  107. data/share/views/public/plugins/semantic-ui/dist/components/segment.css +21 -20
  108. data/share/views/public/plugins/semantic-ui/dist/components/segment.min.css +2 -2
  109. data/share/views/public/plugins/semantic-ui/dist/components/shape.css +1 -1
  110. data/share/views/public/plugins/semantic-ui/dist/components/shape.js +1 -1
  111. data/share/views/public/plugins/semantic-ui/dist/components/shape.min.css +2 -2
  112. data/share/views/public/plugins/semantic-ui/dist/components/shape.min.js +1 -10
  113. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.css +1 -13
  114. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.js +2 -5
  115. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.css +2 -2
  116. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.js +1 -10
  117. data/share/views/public/plugins/semantic-ui/dist/components/site.css +49 -6
  118. data/share/views/public/plugins/semantic-ui/dist/components/site.js +1 -1
  119. data/share/views/public/plugins/semantic-ui/dist/components/site.min.css +2 -2
  120. data/share/views/public/plugins/semantic-ui/dist/components/site.min.js +1 -10
  121. data/share/views/public/plugins/semantic-ui/dist/components/state.js +1 -1
  122. data/share/views/public/plugins/semantic-ui/dist/components/state.min.js +1 -10
  123. data/share/views/public/plugins/semantic-ui/dist/components/statistic.css +3 -19
  124. data/share/views/public/plugins/semantic-ui/dist/components/statistic.min.css +2 -2
  125. data/share/views/public/plugins/semantic-ui/dist/components/step.css +22 -44
  126. data/share/views/public/plugins/semantic-ui/dist/components/step.min.css +2 -2
  127. data/share/views/public/plugins/semantic-ui/dist/components/sticky.css +1 -1
  128. data/share/views/public/plugins/semantic-ui/dist/components/sticky.js +23 -6
  129. data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.css +1 -1
  130. data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.js +1 -10
  131. data/share/views/public/plugins/semantic-ui/dist/components/tab.css +1 -1
  132. data/share/views/public/plugins/semantic-ui/dist/components/tab.js +13 -7
  133. data/share/views/public/plugins/semantic-ui/dist/components/tab.min.css +1 -1
  134. data/share/views/public/plugins/semantic-ui/dist/components/tab.min.js +1 -10
  135. data/share/views/public/plugins/semantic-ui/dist/components/table.css +2 -2
  136. data/share/views/public/plugins/semantic-ui/dist/components/table.min.css +2 -2
  137. data/share/views/public/plugins/semantic-ui/dist/components/transition.css +1 -1
  138. data/share/views/public/plugins/semantic-ui/dist/components/transition.js +1 -1
  139. data/share/views/public/plugins/semantic-ui/dist/components/transition.min.css +2 -2
  140. data/share/views/public/plugins/semantic-ui/dist/components/transition.min.js +1 -10
  141. data/share/views/public/plugins/semantic-ui/dist/components/visibility.js +33 -5
  142. data/share/views/public/plugins/semantic-ui/dist/components/visibility.min.js +1 -10
  143. data/share/views/public/plugins/semantic-ui/dist/semantic.css +979 -612
  144. data/share/views/public/plugins/semantic-ui/dist/semantic.js +700 -257
  145. data/share/views/public/plugins/semantic-ui/dist/semantic.min.css +355 -2
  146. data/share/views/public/plugins/semantic-ui/dist/semantic.min.js +10 -10
  147. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.eot +0 -0
  148. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.svg +2668 -682
  149. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.ttf +0 -0
  150. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.woff +0 -0
  151. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  152. data/share/views/public/plugins/semantic-ui/dist/themes/material/assets/fonts/icons.woff2 +0 -0
  153. data/share/views/public/plugins/semantic-ui/examples/components/menu.html +26 -0
  154. data/share/views/public/plugins/semantic-ui/package-lock.json +3718 -0
  155. data/share/views/public/plugins/semantic-ui/package.json +22 -22
  156. data/share/views/public/plugins/semantic-ui/src/_site/collections/menu.overrides +1 -1
  157. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/form.js +185 -37
  158. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/visibility.js +32 -4
  159. data/share/views/public/plugins/semantic-ui/src/definitions/collections/form.less +43 -43
  160. data/share/views/public/plugins/semantic-ui/src/definitions/collections/menu.less +8 -1
  161. data/share/views/public/plugins/semantic-ui/src/definitions/collections/message.less +3 -0
  162. data/share/views/public/plugins/semantic-ui/src/definitions/collections/table.less +1 -1
  163. data/share/views/public/plugins/semantic-ui/src/definitions/elements/button.less +2 -3
  164. data/share/views/public/plugins/semantic-ui/src/definitions/elements/header.less +2 -2
  165. data/share/views/public/plugins/semantic-ui/src/definitions/elements/icon.less +24 -0
  166. data/share/views/public/plugins/semantic-ui/src/definitions/elements/input.less +3 -2
  167. data/share/views/public/plugins/semantic-ui/src/definitions/elements/segment.less +20 -13
  168. data/share/views/public/plugins/semantic-ui/src/definitions/elements/step.less +34 -34
  169. data/share/views/public/plugins/semantic-ui/src/definitions/globals/site.less +44 -3
  170. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.js +0 -0
  171. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.less +18 -1
  172. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.js +213 -75
  173. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.less +79 -21
  174. data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.js +78 -24
  175. data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.less +87 -0
  176. data/share/views/public/plugins/semantic-ui/src/definitions/modules/popup.js +40 -29
  177. data/share/views/public/plugins/semantic-ui/src/definitions/modules/search.js +99 -55
  178. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.js +1 -4
  179. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.less +0 -14
  180. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sticky.js +22 -5
  181. data/share/views/public/plugins/semantic-ui/src/definitions/modules/tab.js +12 -6
  182. data/share/views/public/plugins/semantic-ui/src/definitions/views/card.less +18 -18
  183. data/share/views/public/plugins/semantic-ui/src/definitions/views/item.less +17 -7
  184. data/share/views/public/plugins/semantic-ui/src/themes/bookish/elements/header.overrides +1 -1
  185. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/button.overrides +1 -1
  186. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/header.overrides +1 -1
  187. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.eot +0 -0
  188. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.svg +2668 -682
  189. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.ttf +0 -0
  190. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.woff +0 -0
  191. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.woff2 +0 -0
  192. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/flag.overrides +2 -2
  193. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/header.variables +1 -1
  194. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/icon.overrides +54 -4
  195. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/list.variables +1 -1
  196. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/reset.overrides +216 -198
  197. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/site.variables +32 -8
  198. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dropdown.variables +7 -5
  199. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/modal.variables +38 -1
  200. data/share/views/public/plugins/semantic-ui/src/themes/default/views/comment.variables +0 -6
  201. data/share/views/public/plugins/semantic-ui/src/themes/default/views/item.variables +5 -2
  202. data/share/views/public/plugins/semantic-ui/src/themes/instagram/views/card.overrides +1 -1
  203. data/share/views/public/plugins/semantic-ui/src/themes/material/assets/fonts/icons.woff2 +0 -0
  204. data/share/views/public/plugins/semantic-ui/src/themes/rtl/globals/site.overrides +1 -1
  205. data/share/views/public/plugins/semantic-ui/tasks/admin/components/update.js +1 -1
  206. data/share/views/public/plugins/semantic-ui/tasks/admin/distributions/update.js +1 -1
  207. data/share/views/public/plugins/semantic-ui/tasks/config/project/install.js +1 -1
  208. data/share/views/public/plugins/semantic-ui/tasks/config/tasks.js +4 -4
  209. data/share/views/public/plugins/semantic-ui/tasks/install.js +8 -6
  210. metadata +4 -1
@@ -128,7 +128,7 @@ $.fn.popup = function(parameters) {
128
128
  $offsetParent = module.get.offsetParent();
129
129
  $popup.removeClass(className.loading);
130
130
  if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {
131
- module.debug('Moving popup to the same offset parent as activating element');
131
+ module.debug('Moving popup to the same offset parent as target');
132
132
  $popup
133
133
  .detach()
134
134
  .appendTo($offsetParent)
@@ -360,7 +360,7 @@ $.fn.popup = function(parameters) {
360
360
 
361
361
  hideAll: function() {
362
362
  $(selector.popup)
363
- .filter('.' + className.visible)
363
+ .filter('.' + className.popupVisible)
364
364
  .each(function() {
365
365
  $(this)
366
366
  .data(metadata.activator)
@@ -415,7 +415,7 @@ $.fn.popup = function(parameters) {
415
415
  },
416
416
  supports: {
417
417
  svg: function() {
418
- return (typeof SVGGraphicsElement === undefined);
418
+ return (typeof SVGGraphicsElement === 'undefined');
419
419
  }
420
420
  },
421
421
  animate: {
@@ -986,28 +986,38 @@ $.fn.popup = function(parameters) {
986
986
  },
987
987
  close: function() {
988
988
  if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {
989
- $scrollContext
990
- .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)
991
- ;
989
+ module.bind.closeOnScroll();
992
990
  }
993
991
  if(settings.on == 'hover' && openedWithTouch) {
994
- module.verbose('Binding popup close event to document');
995
- $document
996
- .on('touchstart' + elementNamespace, function(event) {
997
- module.verbose('Touched away from popup');
998
- module.event.hideGracefully.call(element, event);
999
- })
1000
- ;
992
+ module.bind.touchClose();
1001
993
  }
1002
994
  if(settings.on == 'click' && settings.closable) {
1003
- module.verbose('Binding popup close event to document');
1004
- $document
1005
- .on('click' + elementNamespace, function(event) {
1006
- module.verbose('Clicked away from popup');
1007
- module.event.hideGracefully.call(element, event);
1008
- })
1009
- ;
995
+ module.bind.clickaway();
1010
996
  }
997
+ },
998
+ closeOnScroll: function() {
999
+ module.verbose('Binding scroll close event to document');
1000
+ $scrollContext
1001
+ .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)
1002
+ ;
1003
+ },
1004
+ touchClose: function() {
1005
+ module.verbose('Binding popup touchclose event to document');
1006
+ $document
1007
+ .on('touchstart' + elementNamespace, function(event) {
1008
+ module.verbose('Touched away from popup');
1009
+ module.event.hideGracefully.call(element, event);
1010
+ })
1011
+ ;
1012
+ },
1013
+ clickaway: function() {
1014
+ module.verbose('Binding popup close event to document');
1015
+ $document
1016
+ .on('click' + elementNamespace, function(event) {
1017
+ module.verbose('Clicked away from popup');
1018
+ module.event.hideGracefully.call(element, event);
1019
+ })
1020
+ ;
1011
1021
  }
1012
1022
  },
1013
1023
 
@@ -1068,7 +1078,7 @@ $.fn.popup = function(parameters) {
1068
1078
  return ($popup !== undefined && $popup.hasClass(className.fluid));
1069
1079
  },
1070
1080
  visible: function() {
1071
- return ($popup !== undefined && $popup.hasClass(className.visible));
1081
+ return ($popup !== undefined && $popup.hasClass(className.popupVisible));
1072
1082
  },
1073
1083
  dropdown: function() {
1074
1084
  return $module.hasClass(className.dropdown);
@@ -1414,14 +1424,15 @@ $.fn.popup.settings = {
1414
1424
  },
1415
1425
 
1416
1426
  className : {
1417
- active : 'active',
1418
- animating : 'animating',
1419
- dropdown : 'dropdown',
1420
- fluid : 'fluid',
1421
- loading : 'loading',
1422
- popup : 'ui popup',
1423
- position : 'top left center bottom right',
1424
- visible : 'visible'
1427
+ active : 'active',
1428
+ animating : 'animating',
1429
+ dropdown : 'dropdown',
1430
+ fluid : 'fluid',
1431
+ loading : 'loading',
1432
+ popup : 'ui popup',
1433
+ position : 'top left center bottom right',
1434
+ visible : 'visible',
1435
+ popupVisible : 'visible'
1425
1436
  },
1426
1437
 
1427
1438
  selector : {
@@ -39,28 +39,29 @@ $.fn.search = function(parameters) {
39
39
  ? $.extend(true, {}, $.fn.search.settings, parameters)
40
40
  : $.extend({}, $.fn.search.settings),
41
41
 
42
- className = settings.className,
43
- metadata = settings.metadata,
44
- regExp = settings.regExp,
45
- fields = settings.fields,
46
- selector = settings.selector,
47
- error = settings.error,
48
- namespace = settings.namespace,
49
-
50
- eventNamespace = '.' + namespace,
51
- moduleNamespace = namespace + '-module',
52
-
53
- $module = $(this),
54
- $prompt = $module.find(selector.prompt),
55
- $searchButton = $module.find(selector.searchButton),
56
- $results = $module.find(selector.results),
57
- $result = $module.find(selector.result),
58
- $category = $module.find(selector.category),
59
-
60
- element = this,
61
- instance = $module.data(moduleNamespace),
62
-
63
- disabledBubbled = false,
42
+ className = settings.className,
43
+ metadata = settings.metadata,
44
+ regExp = settings.regExp,
45
+ fields = settings.fields,
46
+ selector = settings.selector,
47
+ error = settings.error,
48
+ namespace = settings.namespace,
49
+
50
+ eventNamespace = '.' + namespace,
51
+ moduleNamespace = namespace + '-module',
52
+
53
+ $module = $(this),
54
+ $prompt = $module.find(selector.prompt),
55
+ $searchButton = $module.find(selector.searchButton),
56
+ $results = $module.find(selector.results),
57
+ $result = $module.find(selector.result),
58
+ $category = $module.find(selector.category),
59
+
60
+ element = this,
61
+ instance = $module.data(moduleNamespace),
62
+
63
+ disabledBubbled = false,
64
+ resultsDismissed = false,
64
65
 
65
66
  module
66
67
  ;
@@ -142,16 +143,26 @@ $.fn.search = function(parameters) {
142
143
 
143
144
  event: {
144
145
  input: function() {
145
- clearTimeout(module.timer);
146
- module.timer = setTimeout(module.query, settings.searchDelay);
146
+ if(settings.searchDelay) {
147
+ clearTimeout(module.timer);
148
+ module.timer = setTimeout(function() {
149
+ if(module.is.focused()) {
150
+ module.query();
151
+ }
152
+ }, settings.searchDelay);
153
+ }
154
+ else {
155
+ module.query();
156
+ }
147
157
  },
148
158
  focus: function() {
149
159
  module.set.focus();
150
- if( module.has.minimumCharacters() ) {
151
- module.query();
152
- if( module.can.show() ) {
153
- module.showResults();
154
- }
160
+ if(settings.searchOnFocus && module.has.minimumCharacters() ) {
161
+ module.query(function() {
162
+ if(module.can.show() ) {
163
+ module.showResults();
164
+ }
165
+ });
155
166
  }
156
167
  },
157
168
  blur: function(event) {
@@ -166,6 +177,7 @@ $.fn.search = function(parameters) {
166
177
  if(pageLostFocus) {
167
178
  return;
168
179
  }
180
+ resultsDismissed = false;
169
181
  if(module.resultsClicked) {
170
182
  module.debug('Determining if user action caused search to close');
171
183
  $module
@@ -258,7 +270,8 @@ $.fn.search = function(parameters) {
258
270
  // search shortcuts
259
271
  if(keyCode == keys.escape) {
260
272
  module.verbose('Escape key pressed, blurring search field');
261
- module.trigger.blur();
273
+ module.hideResults();
274
+ resultsDismissed = true;
262
275
  }
263
276
  if( module.is.visible() ) {
264
277
  if(keyCode == keys.enter) {
@@ -318,7 +331,7 @@ $.fn.search = function(parameters) {
318
331
  },
319
332
 
320
333
  setup: {
321
- api: function(searchTerm) {
334
+ api: function(searchTerm, callback) {
322
335
  var
323
336
  apiSettings = {
324
337
  debug : settings.debug,
@@ -330,11 +343,13 @@ $.fn.search = function(parameters) {
330
343
  },
331
344
  onSuccess : function(response) {
332
345
  module.parse.response.call(element, response, searchTerm);
333
- },
334
- onAbort : function(response) {
346
+ callback();
335
347
  },
336
348
  onFailure : function() {
337
349
  module.displayMessage(error.serverError);
350
+ callback();
351
+ },
352
+ onAbort : function(response) {
338
353
  },
339
354
  onError : module.error
340
355
  },
@@ -386,20 +401,6 @@ $.fn.search = function(parameters) {
386
401
  }
387
402
  },
388
403
 
389
- trigger: {
390
- blur: function() {
391
- var
392
- events = document.createEvent('HTMLEvents'),
393
- promptElement = $prompt[0]
394
- ;
395
- if(promptElement) {
396
- module.verbose('Triggering native blur event');
397
- events.initEvent('blur', false, false);
398
- promptElement.dispatchEvent(events);
399
- }
400
- }
401
- },
402
-
403
404
  get: {
404
405
  inputEvent: function() {
405
406
  var
@@ -497,28 +498,36 @@ $.fn.search = function(parameters) {
497
498
  }
498
499
  },
499
500
 
500
- query: function() {
501
+ query: function(callback) {
502
+ callback = $.isFunction(callback)
503
+ ? callback
504
+ : function(){}
505
+ ;
501
506
  var
502
507
  searchTerm = module.get.value(),
503
508
  cache = module.read.cache(searchTerm)
504
509
  ;
510
+ callback = callback || function() {};
505
511
  if( module.has.minimumCharacters() ) {
506
512
  if(cache) {
507
513
  module.debug('Reading result from cache', searchTerm);
508
514
  module.save.results(cache.results);
509
515
  module.addResults(cache.html);
510
516
  module.inject.id(cache.results);
517
+ callback();
511
518
  }
512
519
  else {
513
520
  module.debug('Querying for', searchTerm);
514
521
  if($.isPlainObject(settings.source) || $.isArray(settings.source)) {
515
522
  module.search.local(searchTerm);
523
+ callback();
516
524
  }
517
525
  else if( module.can.useAPI() ) {
518
- module.search.remote(searchTerm);
526
+ module.search.remote(searchTerm, callback);
519
527
  }
520
528
  else {
521
529
  module.error(error.source);
530
+ callback();
522
531
  }
523
532
  }
524
533
  settings.onSearchQuery.call(element, searchTerm);
@@ -549,11 +558,15 @@ $.fn.search = function(parameters) {
549
558
  results : results
550
559
  });
551
560
  },
552
- remote: function(searchTerm) {
561
+ remote: function(searchTerm, callback) {
562
+ callback = $.isFunction(callback)
563
+ ? callback
564
+ : function(){}
565
+ ;
553
566
  if($module.api('is loading')) {
554
567
  $module.api('abort');
555
568
  }
556
- module.setup.api(searchTerm);
569
+ module.setup.api(searchTerm, callback);
557
570
  $module
558
571
  .api('query')
559
572
  ;
@@ -680,6 +693,15 @@ $.fn.search = function(parameters) {
680
693
  numCharacters = searchTerm.length
681
694
  ;
682
695
  return (numCharacters >= settings.minCharacters);
696
+ },
697
+ results: function() {
698
+ if($results.length === 0) {
699
+ return false;
700
+ }
701
+ var
702
+ html = $results.html()
703
+ ;
704
+ return html != '';
683
705
  }
684
706
  },
685
707
 
@@ -846,12 +868,21 @@ $.fn.search = function(parameters) {
846
868
  module.showResults();
847
869
  }
848
870
  else {
849
- module.hideResults();
871
+ module.hideResults(function() {
872
+ $results.empty();
873
+ });
850
874
  }
851
875
  },
852
876
 
853
- showResults: function() {
854
- if(!module.is.visible()) {
877
+ showResults: function(callback) {
878
+ callback = $.isFunction(callback)
879
+ ? callback
880
+ : function(){}
881
+ ;
882
+ if(resultsDismissed) {
883
+ return;
884
+ }
885
+ if(!module.is.visible() && module.has.results()) {
855
886
  if( module.can.transition() ) {
856
887
  module.debug('Showing results with css animations');
857
888
  $results
@@ -860,6 +891,9 @@ $.fn.search = function(parameters) {
860
891
  debug : settings.debug,
861
892
  verbose : settings.verbose,
862
893
  duration : settings.duration,
894
+ onComplete : function() {
895
+ callback();
896
+ },
863
897
  queue : true
864
898
  })
865
899
  ;
@@ -874,7 +908,11 @@ $.fn.search = function(parameters) {
874
908
  settings.onResultsOpen.call($results);
875
909
  }
876
910
  },
877
- hideResults: function() {
911
+ hideResults: function(callback) {
912
+ callback = $.isFunction(callback)
913
+ ? callback
914
+ : function(){}
915
+ ;
878
916
  if( module.is.visible() ) {
879
917
  if( module.can.transition() ) {
880
918
  module.debug('Hiding results with css animations');
@@ -884,6 +922,9 @@ $.fn.search = function(parameters) {
884
922
  debug : settings.debug,
885
923
  verbose : settings.verbose,
886
924
  duration : settings.duration,
925
+ onComplete : function() {
926
+ callback();
927
+ },
887
928
  queue : true
888
929
  })
889
930
  ;
@@ -1144,6 +1185,9 @@ $.fn.search.settings = {
1144
1185
  // object to search
1145
1186
  source : false,
1146
1187
 
1188
+ // Whether search should query current term on focus
1189
+ searchOnFocus : true,
1190
+
1147
1191
  // fields to search
1148
1192
  searchFields : [
1149
1193
  'title',
@@ -89,10 +89,6 @@ $.fn.sidebar = function(parameters) {
89
89
 
90
90
  transitionEvent = module.get.transitionEvent();
91
91
 
92
- if(module.is.ios()) {
93
- module.set.ios();
94
- }
95
-
96
92
  // avoids locking rendering if initialized in onReady
97
93
  if(settings.delaySetup) {
98
94
  requestAnimationFrame(module.setup.layout);
@@ -569,6 +565,7 @@ $.fn.sidebar = function(parameters) {
569
565
  set: {
570
566
 
571
567
  // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios
568
+ // (This is no longer necessary in latest iOS)
572
569
  ios: function() {
573
570
  $html.addClass(className.ios);
574
571
  },
@@ -239,20 +239,6 @@ body.pushable > .pusher {
239
239
  iOS
240
240
  ---------------*/
241
241
 
242
- /*
243
- iOS incorrectly sizes document when content
244
- is presented outside of view with 2Dtranslate
245
- */
246
- html.ios {
247
- overflow-x: hidden;
248
- -webkit-overflow-scrolling: touch;
249
- }
250
-
251
- html.ios,
252
- html.ios body {
253
- height: initial !important;
254
- }
255
-
256
242
 
257
243
  /*******************************
258
244
  Variations
@@ -286,7 +286,8 @@ $.fn.sticky = function(parameters) {
286
286
  context.offset.left += scrollContext.left;
287
287
  }
288
288
  module.cache = {
289
- fits : ( element.height < scrollContext.height ),
289
+ fits : ( (element.height + settings.offset) <= scrollContext.height),
290
+ sameHeight : (element.height == context.height),
290
291
  scrollContext : {
291
292
  height : scrollContext.height
292
293
  },
@@ -305,7 +306,7 @@ $.fn.sticky = function(parameters) {
305
306
  }
306
307
  };
307
308
  module.set.containerSize();
308
- module.set.size();
309
+
309
310
  module.stick();
310
311
  module.debug('Caching element positions', module.cache);
311
312
  }
@@ -374,6 +375,11 @@ $.fn.sticky = function(parameters) {
374
375
  elementScroll: function(scroll) {
375
376
  delete module.elementScroll;
376
377
  },
378
+ minimumSize: function() {
379
+ $container
380
+ .css('min-height', '')
381
+ ;
382
+ },
377
383
  offset: function() {
378
384
  $module.css('margin-top', '');
379
385
  }
@@ -467,6 +473,7 @@ $.fn.sticky = function(parameters) {
467
473
  cachedPosition = scroll || $scroll.scrollTop(),
468
474
  cache = module.cache,
469
475
  fits = cache.fits,
476
+ sameHeight = cache.sameHeight,
470
477
  element = cache.element,
471
478
  scrollContext = cache.scrollContext,
472
479
  context = cache.context,
@@ -486,8 +493,7 @@ $.fn.sticky = function(parameters) {
486
493
  doesntFit = !fits,
487
494
  elementVisible = (element.height !== 0)
488
495
  ;
489
-
490
- if(elementVisible) {
496
+ if(elementVisible && !sameHeight) {
491
497
 
492
498
  if( module.is.initialPosition() ) {
493
499
  if(scroll.top >= context.bottom) {
@@ -614,6 +620,9 @@ $.fn.sticky = function(parameters) {
614
620
 
615
621
  fixTop: function() {
616
622
  module.debug('Fixing element to top of page');
623
+ if(settings.setSize) {
624
+ module.set.size();
625
+ }
617
626
  module.set.minimumSize();
618
627
  module.set.offset();
619
628
  $module
@@ -632,6 +641,9 @@ $.fn.sticky = function(parameters) {
632
641
 
633
642
  fixBottom: function() {
634
643
  module.debug('Sticking element to bottom of page');
644
+ if(settings.setSize) {
645
+ module.set.size();
646
+ }
635
647
  module.set.minimumSize();
636
648
  module.set.offset();
637
649
  $module
@@ -663,6 +675,7 @@ $.fn.sticky = function(parameters) {
663
675
  unfix: function() {
664
676
  if( module.is.fixed() ) {
665
677
  module.debug('Removing fixed position on element');
678
+ module.remove.minimumSize();
666
679
  module.remove.offset();
667
680
  $module
668
681
  .removeClass(className.fixed)
@@ -898,7 +911,11 @@ $.fn.sticky.settings = {
898
911
  // Offset to adjust scroll when attached to bottom of screen
899
912
  bottomOffset : 0,
900
913
 
901
- jitter : 5, // will only set container height if difference between context and container is larger than this number
914
+ // will only set container height if difference between context and container is larger than this number
915
+ jitter : 5,
916
+
917
+ // set width of sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set)
918
+ setSize : true,
902
919
 
903
920
  // Whether to automatically observe changes with Mutation Observers
904
921
  observeChanges : false,