rbbt-rest 1.4.12 → 1.4.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (722) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/rest/common/cache.rb +1 -2
  3. data/lib/rbbt/rest/common/forms.rb +1 -1
  4. data/lib/rbbt/rest/common/misc.rb +1 -1
  5. data/lib/rbbt/rest/common/render.rb +29 -7
  6. data/lib/rbbt/rest/common/table.rb +17 -3
  7. data/lib/rbbt/rest/entity.rb +1 -0
  8. data/lib/rbbt/rest/entity/rest.rb +1 -0
  9. data/lib/rbbt/rest/main.rb +36 -14
  10. data/lib/rbbt/rest/web_tool.rb +19 -1
  11. data/lib/rbbt/rest/workflow.rb +4 -10
  12. data/lib/rbbt/rest/workflow/render.rb +1 -1
  13. data/share/views/compass/app.sass +3 -1
  14. data/share/views/compass/base/backgrounds.sass +41 -0
  15. data/share/views/compass/base/blocks.sass +92 -0
  16. data/share/views/compass/base/colors.sass +65 -0
  17. data/share/views/compass/base/font-scale.sass +20 -0
  18. data/share/views/compass/base/fonts.sass +56 -0
  19. data/share/views/compass/base/hide.sass +95 -0
  20. data/share/views/compass/base/icon_content.scss +569 -0
  21. data/share/views/compass/base/icons.sass +75 -0
  22. data/share/views/compass/base/material.sass +223 -0
  23. data/share/views/compass/base/misc.sass +2 -0
  24. data/share/views/compass/base/screen_sizes.sass +16 -0
  25. data/share/views/compass/base/text.sass +70 -0
  26. data/share/views/compass/base/util.sass +6 -0
  27. data/share/views/compass/base/variables.sass +68 -0
  28. data/share/views/compass/base/variables/color.sass +27 -0
  29. data/share/views/compass/cards.sass +131 -0
  30. data/share/views/compass/color.sass +10 -0
  31. data/share/views/compass/color/blocks.sass +0 -0
  32. data/share/views/compass/color/buttons.sass +36 -0
  33. data/share/views/compass/color/elements.sass +2 -0
  34. data/share/views/compass/color/font.sass +13 -0
  35. data/share/views/compass/color/top_bar.sass +18 -0
  36. data/share/views/compass/elements.sass +218 -0
  37. data/share/views/compass/elements/buttons.sass +18 -0
  38. data/share/views/compass/elements/forms.sass +197 -0
  39. data/share/views/compass/elements/lists.sass +14 -0
  40. data/share/views/compass/elements/materials.sass +1 -0
  41. data/share/views/compass/elements/movement.sass +84 -0
  42. data/share/views/compass/elements/positions.sass +18 -0
  43. data/share/views/compass/elements/table.sass +176 -0
  44. data/share/views/compass/elements/tool.sass +60 -0
  45. data/share/views/compass/grid.sass +3 -0
  46. data/share/views/compass/init.sass +9 -0
  47. data/share/views/compass/layout.sass +5 -221
  48. data/share/views/compass/layout/body.sass +23 -0
  49. data/share/views/compass/layout/footer.sass +44 -0
  50. data/share/views/compass/layout/result.sass +6 -0
  51. data/share/views/compass/{rbbt → layout}/reveal.sass +21 -19
  52. data/share/views/compass/layout/top_bar.sass +99 -0
  53. data/share/views/compass/layout/top_menu.sass +87 -0
  54. data/share/views/compass/menu.sass +42 -0
  55. data/share/views/compass/menu/accordion_menu.sass +30 -0
  56. data/share/views/compass/menu/actionable.sass +1 -0
  57. data/share/views/compass/menu/dropdown_menu.sass +31 -0
  58. data/share/views/compass/menu/hide.sass +14 -0
  59. data/share/views/compass/menu/menu.sass +98 -0
  60. data/share/views/compass/menu/tab_menu.sass +14 -0
  61. data/share/views/compass/menu/top_bar.sass +105 -0
  62. data/share/views/compass/menu/vertical_menu.sass +21 -0
  63. data/share/views/compass/mixins/_all.sass +24 -0
  64. data/share/views/compass/mixins/_blocks.sass +83 -0
  65. data/share/views/compass/mixins/_deps.sass +5 -0
  66. data/share/views/compass/mixins/_hide.sass +1 -0
  67. data/share/views/compass/mixins/_keyframes.scss +4 -0
  68. data/share/views/compass/mixins/_semantic-ui.sass +2 -0
  69. data/share/views/compass/new.sass +1 -0
  70. data/share/views/compass/offcanvas.sass +52 -0
  71. data/share/views/compass/position/basic.sass +0 -0
  72. data/share/views/compass/responsive.sass +53 -0
  73. data/share/views/compass/screen_sizes.sass +1 -16
  74. data/share/views/compass/semantic-ui.css +19776 -0
  75. data/share/views/compass/semantic-ui/semantic-ui.css +19776 -0
  76. data/share/views/compass/space/button.sass +74 -0
  77. data/share/views/compass/text.sass +48 -0
  78. data/share/views/entity_partials/action_controller.haml +7 -7
  79. data/share/views/error.haml +11 -9
  80. data/share/views/job_result.haml +1 -1
  81. data/share/views/job_result/integer.haml +1 -1
  82. data/share/views/knowledge_base_partials/association.haml +7 -4
  83. data/share/views/layout.haml +17 -13
  84. data/share/views/layout/coda.haml +2 -2
  85. data/share/views/layout/footer.haml +10 -0
  86. data/share/views/layout/top_menu.haml +38 -14
  87. data/share/views/partials/table.haml +4 -3
  88. data/share/views/public/fonts/font-awesome/fontawesome-webfont.eot +0 -0
  89. data/share/views/public/fonts/font-awesome/fontawesome-webfont.svg +520 -0
  90. data/share/views/public/fonts/font-awesome/fontawesome-webfont.ttf +0 -0
  91. data/share/views/public/fonts/font-awesome/fontawesome-webfont.woff +0 -0
  92. data/share/views/public/js/_ajax_replace.js +10 -6
  93. data/share/views/public/js/app.js +3 -0
  94. data/share/views/public/js/defer.js +1 -1
  95. data/share/views/public/js/helpers.js +1 -0
  96. data/share/views/public/js/rbbt/modal.js +3 -3
  97. data/share/views/public/js/rbbt/table.js +2 -1
  98. data/share/views/public/plugins/angular/angular.js +250 -0
  99. data/share/views/public/plugins/cytoscapejs/arbor.js +67 -0
  100. data/share/views/public/plugins/cytoscapejs/cytoscape.js +23018 -0
  101. data/share/views/public/plugins/d3js/d3js.min.js +5 -0
  102. data/share/views/public/plugins/semantic-ui/CONTRIBUTING.md +31 -0
  103. data/share/views/public/plugins/semantic-ui/GETTING-STARTED.md +96 -0
  104. data/share/views/public/plugins/semantic-ui/LICENSE.md +7 -0
  105. data/share/views/public/plugins/semantic-ui/README.md +98 -0
  106. data/share/views/public/plugins/semantic-ui/RELEASE-NOTES.md +938 -0
  107. data/share/views/public/plugins/semantic-ui/bower.json +31 -0
  108. data/share/views/public/plugins/semantic-ui/composer.json +21 -0
  109. data/share/views/public/plugins/semantic-ui/dist/components/accordion.css +249 -0
  110. data/share/views/public/plugins/semantic-ui/dist/components/accordion.js +504 -0
  111. data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.css +11 -0
  112. data/share/views/public/plugins/semantic-ui/dist/components/accordion.min.js +11 -0
  113. data/share/views/public/plugins/semantic-ui/dist/components/ad.css +265 -0
  114. data/share/views/public/plugins/semantic-ui/dist/components/ad.min.css +11 -0
  115. data/share/views/public/plugins/semantic-ui/dist/components/api.js +839 -0
  116. data/share/views/public/plugins/semantic-ui/dist/components/api.min.js +11 -0
  117. data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.css +125 -0
  118. data/share/views/public/plugins/semantic-ui/dist/components/breadcrumb.min.css +11 -0
  119. data/share/views/public/plugins/semantic-ui/dist/components/button.css +2375 -0
  120. data/share/views/public/plugins/semantic-ui/dist/components/button.min.css +11 -0
  121. data/share/views/public/plugins/semantic-ui/dist/components/card.css +758 -0
  122. data/share/views/public/plugins/semantic-ui/dist/components/card.min.css +11 -0
  123. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.css +485 -0
  124. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.js +469 -0
  125. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.css +11 -0
  126. data/share/views/public/plugins/semantic-ui/dist/components/checkbox.min.js +11 -0
  127. data/share/views/public/plugins/semantic-ui/dist/components/colorize.js +272 -0
  128. data/share/views/public/plugins/semantic-ui/dist/components/colorize.min.js +11 -0
  129. data/share/views/public/plugins/semantic-ui/dist/components/comment.css +260 -0
  130. data/share/views/public/plugins/semantic-ui/dist/components/comment.min.css +11 -0
  131. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.css +187 -0
  132. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.js +626 -0
  133. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.css +11 -0
  134. data/share/views/public/plugins/semantic-ui/dist/components/dimmer.min.js +11 -0
  135. data/share/views/public/plugins/semantic-ui/dist/components/divider.css +244 -0
  136. data/share/views/public/plugins/semantic-ui/dist/components/divider.min.css +11 -0
  137. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.css +967 -0
  138. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.js +1496 -0
  139. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.css +11 -0
  140. data/share/views/public/plugins/semantic-ui/dist/components/dropdown.min.js +11 -0
  141. data/share/views/public/plugins/semantic-ui/dist/components/feed.css +277 -0
  142. data/share/views/public/plugins/semantic-ui/dist/components/feed.min.css +11 -0
  143. data/share/views/public/plugins/semantic-ui/dist/components/flag.css +1018 -0
  144. data/share/views/public/plugins/semantic-ui/dist/components/flag.min.css +11 -0
  145. data/share/views/public/plugins/semantic-ui/dist/components/form.css +833 -0
  146. data/share/views/public/plugins/semantic-ui/dist/components/form.js +795 -0
  147. data/share/views/public/plugins/semantic-ui/dist/components/form.min.css +11 -0
  148. data/share/views/public/plugins/semantic-ui/dist/components/form.min.js +11 -0
  149. data/share/views/public/plugins/semantic-ui/dist/components/grid.css +1685 -0
  150. data/share/views/public/plugins/semantic-ui/dist/components/grid.min.css +11 -0
  151. data/share/views/public/plugins/semantic-ui/dist/components/header.css +533 -0
  152. data/share/views/public/plugins/semantic-ui/dist/components/header.min.css +11 -0
  153. data/share/views/public/plugins/semantic-ui/dist/components/icon.css +2125 -0
  154. data/share/views/public/plugins/semantic-ui/dist/components/icon.min.css +11 -0
  155. data/share/views/public/plugins/semantic-ui/dist/components/image.css +252 -0
  156. data/share/views/public/plugins/semantic-ui/dist/components/image.min.css +11 -0
  157. data/share/views/public/plugins/semantic-ui/dist/components/input.css +446 -0
  158. data/share/views/public/plugins/semantic-ui/dist/components/input.min.css +11 -0
  159. data/share/views/public/plugins/semantic-ui/dist/components/item.css +458 -0
  160. data/share/views/public/plugins/semantic-ui/dist/components/item.min.css +11 -0
  161. data/share/views/public/plugins/semantic-ui/dist/components/label.css +936 -0
  162. data/share/views/public/plugins/semantic-ui/dist/components/label.min.css +11 -0
  163. data/share/views/public/plugins/semantic-ui/dist/components/list.css +888 -0
  164. data/share/views/public/plugins/semantic-ui/dist/components/list.min.css +11 -0
  165. data/share/views/public/plugins/semantic-ui/dist/components/loader.css +279 -0
  166. data/share/views/public/plugins/semantic-ui/dist/components/loader.min.css +11 -0
  167. data/share/views/public/plugins/semantic-ui/dist/components/menu.css +1579 -0
  168. data/share/views/public/plugins/semantic-ui/dist/components/menu.min.css +11 -0
  169. data/share/views/public/plugins/semantic-ui/dist/components/message.css +422 -0
  170. data/share/views/public/plugins/semantic-ui/dist/components/message.min.css +11 -0
  171. data/share/views/public/plugins/semantic-ui/dist/components/modal.css +436 -0
  172. data/share/views/public/plugins/semantic-ui/dist/components/modal.js +809 -0
  173. data/share/views/public/plugins/semantic-ui/dist/components/modal.min.css +11 -0
  174. data/share/views/public/plugins/semantic-ui/dist/components/modal.min.js +11 -0
  175. data/share/views/public/plugins/semantic-ui/dist/components/nag.css +149 -0
  176. data/share/views/public/plugins/semantic-ui/dist/components/nag.js +477 -0
  177. data/share/views/public/plugins/semantic-ui/dist/components/nag.min.css +11 -0
  178. data/share/views/public/plugins/semantic-ui/dist/components/nag.min.js +11 -0
  179. data/share/views/public/plugins/semantic-ui/dist/components/popup.css +293 -0
  180. data/share/views/public/plugins/semantic-ui/dist/components/popup.js +1113 -0
  181. data/share/views/public/plugins/semantic-ui/dist/components/popup.min.css +11 -0
  182. data/share/views/public/plugins/semantic-ui/dist/components/popup.min.js +11 -0
  183. data/share/views/public/plugins/semantic-ui/dist/components/progress.css +427 -0
  184. data/share/views/public/plugins/semantic-ui/dist/components/progress.js +652 -0
  185. data/share/views/public/plugins/semantic-ui/dist/components/progress.min.css +11 -0
  186. data/share/views/public/plugins/semantic-ui/dist/components/progress.min.js +11 -0
  187. data/share/views/public/plugins/semantic-ui/dist/components/rail.css +125 -0
  188. data/share/views/public/plugins/semantic-ui/dist/components/rail.min.css +11 -0
  189. data/share/views/public/plugins/semantic-ui/dist/components/rating.css +262 -0
  190. data/share/views/public/plugins/semantic-ui/dist/components/rating.js +451 -0
  191. data/share/views/public/plugins/semantic-ui/dist/components/rating.min.css +11 -0
  192. data/share/views/public/plugins/semantic-ui/dist/components/rating.min.js +11 -0
  193. data/share/views/public/plugins/semantic-ui/dist/components/reset.css +427 -0
  194. data/share/views/public/plugins/semantic-ui/dist/components/reset.min.css +11 -0
  195. data/share/views/public/plugins/semantic-ui/dist/components/reveal.css +282 -0
  196. data/share/views/public/plugins/semantic-ui/dist/components/reveal.min.css +11 -0
  197. data/share/views/public/plugins/semantic-ui/dist/components/search.css +330 -0
  198. data/share/views/public/plugins/semantic-ui/dist/components/search.js +886 -0
  199. data/share/views/public/plugins/semantic-ui/dist/components/search.min.css +11 -0
  200. data/share/views/public/plugins/semantic-ui/dist/components/search.min.js +11 -0
  201. data/share/views/public/plugins/semantic-ui/dist/components/segment.css +598 -0
  202. data/share/views/public/plugins/semantic-ui/dist/components/segment.min.css +11 -0
  203. data/share/views/public/plugins/semantic-ui/dist/components/shape.css +155 -0
  204. data/share/views/public/plugins/semantic-ui/dist/components/shape.js +830 -0
  205. data/share/views/public/plugins/semantic-ui/dist/components/shape.min.css +11 -0
  206. data/share/views/public/plugins/semantic-ui/dist/components/shape.min.js +11 -0
  207. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.css +500 -0
  208. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.js +976 -0
  209. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.css +11 -0
  210. data/share/views/public/plugins/semantic-ui/dist/components/sidebar.min.js +11 -0
  211. data/share/views/public/plugins/semantic-ui/dist/components/site.css +135 -0
  212. data/share/views/public/plugins/semantic-ui/dist/components/site.js +487 -0
  213. data/share/views/public/plugins/semantic-ui/dist/components/site.min.css +11 -0
  214. data/share/views/public/plugins/semantic-ui/dist/components/site.min.js +11 -0
  215. data/share/views/public/plugins/semantic-ui/dist/components/state.js +690 -0
  216. data/share/views/public/plugins/semantic-ui/dist/components/state.min.js +11 -0
  217. data/share/views/public/plugins/semantic-ui/dist/components/statistic.css +410 -0
  218. data/share/views/public/plugins/semantic-ui/dist/components/statistic.min.css +11 -0
  219. data/share/views/public/plugins/semantic-ui/dist/components/step.css +360 -0
  220. data/share/views/public/plugins/semantic-ui/dist/components/step.min.css +11 -0
  221. data/share/views/public/plugins/semantic-ui/dist/components/sticky.css +80 -0
  222. data/share/views/public/plugins/semantic-ui/dist/components/sticky.js +768 -0
  223. data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.css +11 -0
  224. data/share/views/public/plugins/semantic-ui/dist/components/sticky.min.js +11 -0
  225. data/share/views/public/plugins/semantic-ui/dist/components/tab.css +93 -0
  226. data/share/views/public/plugins/semantic-ui/dist/components/tab.js +801 -0
  227. data/share/views/public/plugins/semantic-ui/dist/components/tab.min.css +11 -0
  228. data/share/views/public/plugins/semantic-ui/dist/components/tab.min.js +11 -0
  229. data/share/views/public/plugins/semantic-ui/dist/components/table.css +878 -0
  230. data/share/views/public/plugins/semantic-ui/dist/components/table.min.css +11 -0
  231. data/share/views/public/plugins/semantic-ui/dist/components/transition.css +993 -0
  232. data/share/views/public/plugins/semantic-ui/dist/components/transition.js +924 -0
  233. data/share/views/public/plugins/semantic-ui/dist/components/transition.min.css +11 -0
  234. data/share/views/public/plugins/semantic-ui/dist/components/transition.min.js +11 -0
  235. data/share/views/public/plugins/semantic-ui/dist/components/video.css +126 -0
  236. data/share/views/public/plugins/semantic-ui/dist/components/video.js +539 -0
  237. data/share/views/public/plugins/semantic-ui/dist/components/video.min.css +11 -0
  238. data/share/views/public/plugins/semantic-ui/dist/components/video.min.js +11 -0
  239. data/share/views/public/plugins/semantic-ui/dist/components/visibility.js +951 -0
  240. data/share/views/public/plugins/semantic-ui/dist/components/visibility.min.js +11 -0
  241. data/share/views/public/plugins/semantic-ui/dist/components/visit.js +513 -0
  242. data/share/views/public/plugins/semantic-ui/dist/components/visit.min.js +11 -0
  243. data/share/views/public/plugins/semantic-ui/dist/semantic.css +27664 -0
  244. data/share/views/public/plugins/semantic-ui/dist/semantic.js +16893 -0
  245. data/share/views/public/plugins/semantic-ui/dist/semantic.min.css +11 -0
  246. data/share/views/public/plugins/semantic-ui/dist/semantic.min.js +17 -0
  247. data/share/views/public/plugins/semantic-ui/dist/themes/basic/assets/fonts/icons.eot +0 -0
  248. data/share/views/public/plugins/semantic-ui/dist/themes/basic/assets/fonts/icons.svg +450 -0
  249. data/share/views/public/plugins/semantic-ui/dist/themes/basic/assets/fonts/icons.ttf +0 -0
  250. data/share/views/public/plugins/semantic-ui/dist/themes/basic/assets/fonts/icons.woff +0 -0
  251. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.eot +0 -0
  252. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.otf +0 -0
  253. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.svg +504 -0
  254. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.ttf +0 -0
  255. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/fonts/icons.woff +0 -0
  256. data/share/views/public/plugins/semantic-ui/dist/themes/default/assets/images/flags.png +0 -0
  257. data/share/views/public/plugins/semantic-ui/examples/feed.css +93 -0
  258. data/share/views/public/plugins/semantic-ui/examples/feed.html +174 -0
  259. data/share/views/public/plugins/semantic-ui/examples/feed.js +23 -0
  260. data/share/views/public/plugins/semantic-ui/examples/grid.css +102 -0
  261. data/share/views/public/plugins/semantic-ui/examples/grid.html +1439 -0
  262. data/share/views/public/plugins/semantic-ui/examples/homepage.css +134 -0
  263. data/share/views/public/plugins/semantic-ui/examples/homepage.html +315 -0
  264. data/share/views/public/plugins/semantic-ui/examples/homepage.js +57 -0
  265. data/share/views/public/plugins/semantic-ui/examples/images/bg.jpg +0 -0
  266. data/share/views/public/plugins/semantic-ui/examples/images/cat.png +0 -0
  267. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/centered-paragraph.png +0 -0
  268. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/image-square.png +0 -0
  269. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/image-text.png +0 -0
  270. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/image.png +0 -0
  271. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/media-paragraph-alt.png +0 -0
  272. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/media-paragraph.png +0 -0
  273. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/paragraph.png +0 -0
  274. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/short-paragraph.png +0 -0
  275. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/square-image.png +0 -0
  276. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/text-image.png +0 -0
  277. data/share/views/public/plugins/semantic-ui/examples/images/wireframe/white-image.png +0 -0
  278. data/share/views/public/plugins/semantic-ui/examples/kitchensink.css +49 -0
  279. data/share/views/public/plugins/semantic-ui/examples/kitchensink.html +5454 -0
  280. data/share/views/public/plugins/semantic-ui/gulpfile.js +1119 -0
  281. data/share/views/public/plugins/semantic-ui/karma.conf.js +85 -0
  282. data/share/views/public/plugins/semantic-ui/logo.png +0 -0
  283. data/share/views/public/plugins/semantic-ui/package.json +59 -0
  284. data/share/views/public/plugins/semantic-ui/semantic.json.example +20 -0
  285. data/share/views/public/plugins/semantic-ui/src/_site/collections/breadcrumb.overrides +3 -0
  286. data/share/views/public/plugins/semantic-ui/src/_site/collections/breadcrumb.variables +3 -0
  287. data/share/views/public/plugins/semantic-ui/src/_site/collections/form.overrides +3 -0
  288. data/share/views/public/plugins/semantic-ui/src/_site/collections/form.variables +3 -0
  289. data/share/views/public/plugins/semantic-ui/src/_site/collections/grid.overrides +3 -0
  290. data/share/views/public/plugins/semantic-ui/src/_site/collections/grid.variables +3 -0
  291. data/share/views/public/plugins/semantic-ui/src/_site/collections/menu.overrides +3 -0
  292. data/share/views/public/plugins/semantic-ui/src/_site/collections/menu.variables +3 -0
  293. data/share/views/public/plugins/semantic-ui/src/_site/collections/message.overrides +3 -0
  294. data/share/views/public/plugins/semantic-ui/src/_site/collections/message.variables +3 -0
  295. data/share/views/public/plugins/semantic-ui/src/_site/collections/table.overrides +3 -0
  296. data/share/views/public/plugins/semantic-ui/src/_site/collections/table.variables +3 -0
  297. data/share/views/public/plugins/semantic-ui/src/_site/elements/button.overrides +3 -0
  298. data/share/views/public/plugins/semantic-ui/src/_site/elements/button.variables +3 -0
  299. data/share/views/public/plugins/semantic-ui/src/_site/elements/divider.overrides +3 -0
  300. data/share/views/public/plugins/semantic-ui/src/_site/elements/divider.variables +3 -0
  301. data/share/views/public/plugins/semantic-ui/src/_site/elements/flag.overrides +3 -0
  302. data/share/views/public/plugins/semantic-ui/src/_site/elements/flag.variables +3 -0
  303. data/share/views/public/plugins/semantic-ui/src/_site/elements/header.overrides +3 -0
  304. data/share/views/public/plugins/semantic-ui/src/_site/elements/header.variables +3 -0
  305. data/share/views/public/plugins/semantic-ui/src/_site/elements/icon.overrides +3 -0
  306. data/share/views/public/plugins/semantic-ui/src/_site/elements/icon.variables +3 -0
  307. data/share/views/public/plugins/semantic-ui/src/_site/elements/image.overrides +3 -0
  308. data/share/views/public/plugins/semantic-ui/src/_site/elements/image.variables +3 -0
  309. data/share/views/public/plugins/semantic-ui/src/_site/elements/input.overrides +3 -0
  310. data/share/views/public/plugins/semantic-ui/src/_site/elements/input.variables +3 -0
  311. data/share/views/public/plugins/semantic-ui/src/_site/elements/label.overrides +3 -0
  312. data/share/views/public/plugins/semantic-ui/src/_site/elements/label.variables +3 -0
  313. data/share/views/public/plugins/semantic-ui/src/_site/elements/list.overrides +3 -0
  314. data/share/views/public/plugins/semantic-ui/src/_site/elements/list.variables +3 -0
  315. data/share/views/public/plugins/semantic-ui/src/_site/elements/loader.overrides +3 -0
  316. data/share/views/public/plugins/semantic-ui/src/_site/elements/loader.variables +3 -0
  317. data/share/views/public/plugins/semantic-ui/src/_site/elements/rail.overrides +3 -0
  318. data/share/views/public/plugins/semantic-ui/src/_site/elements/rail.variables +3 -0
  319. data/share/views/public/plugins/semantic-ui/src/_site/elements/reveal.overrides +3 -0
  320. data/share/views/public/plugins/semantic-ui/src/_site/elements/reveal.variables +3 -0
  321. data/share/views/public/plugins/semantic-ui/src/_site/elements/segment.overrides +3 -0
  322. data/share/views/public/plugins/semantic-ui/src/_site/elements/segment.variables +3 -0
  323. data/share/views/public/plugins/semantic-ui/src/_site/elements/step.overrides +3 -0
  324. data/share/views/public/plugins/semantic-ui/src/_site/elements/step.variables +3 -0
  325. data/share/views/public/plugins/semantic-ui/src/_site/globals/reset.overrides +3 -0
  326. data/share/views/public/plugins/semantic-ui/src/_site/globals/reset.variables +3 -0
  327. data/share/views/public/plugins/semantic-ui/src/_site/globals/site.overrides +3 -0
  328. data/share/views/public/plugins/semantic-ui/src/_site/globals/site.variables +3 -0
  329. data/share/views/public/plugins/semantic-ui/src/_site/modules/accordion.overrides +3 -0
  330. data/share/views/public/plugins/semantic-ui/src/_site/modules/accordion.variables +3 -0
  331. data/share/views/public/plugins/semantic-ui/src/_site/modules/chatroom.overrides +3 -0
  332. data/share/views/public/plugins/semantic-ui/src/_site/modules/chatroom.variables +3 -0
  333. data/share/views/public/plugins/semantic-ui/src/_site/modules/checkbox.overrides +3 -0
  334. data/share/views/public/plugins/semantic-ui/src/_site/modules/checkbox.variables +3 -0
  335. data/share/views/public/plugins/semantic-ui/src/_site/modules/dimmer.overrides +3 -0
  336. data/share/views/public/plugins/semantic-ui/src/_site/modules/dimmer.variables +3 -0
  337. data/share/views/public/plugins/semantic-ui/src/_site/modules/dropdown.overrides +3 -0
  338. data/share/views/public/plugins/semantic-ui/src/_site/modules/dropdown.variables +3 -0
  339. data/share/views/public/plugins/semantic-ui/src/_site/modules/modal.overrides +3 -0
  340. data/share/views/public/plugins/semantic-ui/src/_site/modules/modal.variables +3 -0
  341. data/share/views/public/plugins/semantic-ui/src/_site/modules/nag.overrides +3 -0
  342. data/share/views/public/plugins/semantic-ui/src/_site/modules/nag.variables +3 -0
  343. data/share/views/public/plugins/semantic-ui/src/_site/modules/popup.overrides +3 -0
  344. data/share/views/public/plugins/semantic-ui/src/_site/modules/popup.variables +3 -0
  345. data/share/views/public/plugins/semantic-ui/src/_site/modules/progress.overrides +3 -0
  346. data/share/views/public/plugins/semantic-ui/src/_site/modules/progress.variables +3 -0
  347. data/share/views/public/plugins/semantic-ui/src/_site/modules/rating.overrides +3 -0
  348. data/share/views/public/plugins/semantic-ui/src/_site/modules/rating.variables +3 -0
  349. data/share/views/public/plugins/semantic-ui/src/_site/modules/search.overrides +3 -0
  350. data/share/views/public/plugins/semantic-ui/src/_site/modules/search.variables +3 -0
  351. data/share/views/public/plugins/semantic-ui/src/_site/modules/shape.overrides +3 -0
  352. data/share/views/public/plugins/semantic-ui/src/_site/modules/shape.variables +3 -0
  353. data/share/views/public/plugins/semantic-ui/src/_site/modules/sidebar.overrides +3 -0
  354. data/share/views/public/plugins/semantic-ui/src/_site/modules/sidebar.variables +3 -0
  355. data/share/views/public/plugins/semantic-ui/src/_site/modules/sticky.overrides +3 -0
  356. data/share/views/public/plugins/semantic-ui/src/_site/modules/sticky.variables +3 -0
  357. data/share/views/public/plugins/semantic-ui/src/_site/modules/tab.overrides +3 -0
  358. data/share/views/public/plugins/semantic-ui/src/_site/modules/tab.variables +3 -0
  359. data/share/views/public/plugins/semantic-ui/src/_site/modules/transition.overrides +3 -0
  360. data/share/views/public/plugins/semantic-ui/src/_site/modules/transition.variables +3 -0
  361. data/share/views/public/plugins/semantic-ui/src/_site/modules/video.overrides +3 -0
  362. data/share/views/public/plugins/semantic-ui/src/_site/modules/video.variables +0 -0
  363. data/share/views/public/plugins/semantic-ui/src/_site/views/ad.overrides +3 -0
  364. data/share/views/public/plugins/semantic-ui/src/_site/views/ad.variables +3 -0
  365. data/share/views/public/plugins/semantic-ui/src/_site/views/card.overrides +3 -0
  366. data/share/views/public/plugins/semantic-ui/src/_site/views/card.variables +3 -0
  367. data/share/views/public/plugins/semantic-ui/src/_site/views/comment.overrides +3 -0
  368. data/share/views/public/plugins/semantic-ui/src/_site/views/comment.variables +3 -0
  369. data/share/views/public/plugins/semantic-ui/src/_site/views/feed.overrides +3 -0
  370. data/share/views/public/plugins/semantic-ui/src/_site/views/feed.variables +3 -0
  371. data/share/views/public/plugins/semantic-ui/src/_site/views/item.overrides +3 -0
  372. data/share/views/public/plugins/semantic-ui/src/_site/views/item.variables +3 -0
  373. data/share/views/public/plugins/semantic-ui/src/_site/views/statistic.overrides +3 -0
  374. data/share/views/public/plugins/semantic-ui/src/_site/views/statistic.variables +3 -0
  375. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/api.js +839 -0
  376. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/colorize.js +272 -0
  377. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/form.js +795 -0
  378. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/state.js +690 -0
  379. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/visibility.js +951 -0
  380. data/share/views/public/plugins/semantic-ui/src/definitions/behaviors/visit.js +513 -0
  381. data/share/views/public/plugins/semantic-ui/src/definitions/collections/breadcrumb.less +122 -0
  382. data/share/views/public/plugins/semantic-ui/src/definitions/collections/form.less +833 -0
  383. data/share/views/public/plugins/semantic-ui/src/definitions/collections/grid.less +1698 -0
  384. data/share/views/public/plugins/semantic-ui/src/definitions/collections/menu.less +1597 -0
  385. data/share/views/public/plugins/semantic-ui/src/definitions/collections/message.less +442 -0
  386. data/share/views/public/plugins/semantic-ui/src/definitions/collections/table.less +871 -0
  387. data/share/views/public/plugins/semantic-ui/src/definitions/elements/button.less +2390 -0
  388. data/share/views/public/plugins/semantic-ui/src/definitions/elements/divider.less +256 -0
  389. data/share/views/public/plugins/semantic-ui/src/definitions/elements/flag.less +46 -0
  390. data/share/views/public/plugins/semantic-ui/src/definitions/elements/header.less +558 -0
  391. data/share/views/public/plugins/semantic-ui/src/definitions/elements/icon.less +345 -0
  392. data/share/views/public/plugins/semantic-ui/src/definitions/elements/image.less +261 -0
  393. data/share/views/public/plugins/semantic-ui/src/definitions/elements/input.less +453 -0
  394. data/share/views/public/plugins/semantic-ui/src/definitions/elements/label.less +953 -0
  395. data/share/views/public/plugins/semantic-ui/src/definitions/elements/list.less +890 -0
  396. data/share/views/public/plugins/semantic-ui/src/definitions/elements/loader.less +262 -0
  397. data/share/views/public/plugins/semantic-ui/src/definitions/elements/rail.less +126 -0
  398. data/share/views/public/plugins/semantic-ui/src/definitions/elements/reveal.less +257 -0
  399. data/share/views/public/plugins/semantic-ui/src/definitions/elements/segment.less +592 -0
  400. data/share/views/public/plugins/semantic-ui/src/definitions/elements/step.less +352 -0
  401. data/share/views/public/plugins/semantic-ui/src/definitions/globals/reset.less +39 -0
  402. data/share/views/public/plugins/semantic-ui/src/definitions/globals/site.js +487 -0
  403. data/share/views/public/plugins/semantic-ui/src/definitions/globals/site.less +133 -0
  404. data/share/views/public/plugins/semantic-ui/src/definitions/modules/accordion.js +504 -0
  405. data/share/views/public/plugins/semantic-ui/src/definitions/modules/accordion.less +215 -0
  406. data/share/views/public/plugins/semantic-ui/src/definitions/modules/checkbox.js +469 -0
  407. data/share/views/public/plugins/semantic-ui/src/definitions/modules/checkbox.less +462 -0
  408. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.js +626 -0
  409. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dimmer.less +180 -0
  410. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.js +1496 -0
  411. data/share/views/public/plugins/semantic-ui/src/definitions/modules/dropdown.less +914 -0
  412. data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.js +809 -0
  413. data/share/views/public/plugins/semantic-ui/src/definitions/modules/modal.less +441 -0
  414. data/share/views/public/plugins/semantic-ui/src/definitions/modules/nag.js +477 -0
  415. data/share/views/public/plugins/semantic-ui/src/definitions/modules/nag.less +159 -0
  416. data/share/views/public/plugins/semantic-ui/src/definitions/modules/popup.js +1113 -0
  417. data/share/views/public/plugins/semantic-ui/src/definitions/modules/popup.less +290 -0
  418. data/share/views/public/plugins/semantic-ui/src/definitions/modules/progress.js +652 -0
  419. data/share/views/public/plugins/semantic-ui/src/definitions/modules/progress.less +429 -0
  420. data/share/views/public/plugins/semantic-ui/src/definitions/modules/rating.js +451 -0
  421. data/share/views/public/plugins/semantic-ui/src/definitions/modules/rating.less +198 -0
  422. data/share/views/public/plugins/semantic-ui/src/definitions/modules/search.js +886 -0
  423. data/share/views/public/plugins/semantic-ui/src/definitions/modules/search.less +338 -0
  424. data/share/views/public/plugins/semantic-ui/src/definitions/modules/shape.js +830 -0
  425. data/share/views/public/plugins/semantic-ui/src/definitions/modules/shape.less +152 -0
  426. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.js +976 -0
  427. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sidebar.less +458 -0
  428. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sticky.js +768 -0
  429. data/share/views/public/plugins/semantic-ui/src/definitions/modules/sticky.less +74 -0
  430. data/share/views/public/plugins/semantic-ui/src/definitions/modules/tab.js +801 -0
  431. data/share/views/public/plugins/semantic-ui/src/definitions/modules/tab.less +94 -0
  432. data/share/views/public/plugins/semantic-ui/src/definitions/modules/transition.js +924 -0
  433. data/share/views/public/plugins/semantic-ui/src/definitions/modules/transition.less +89 -0
  434. data/share/views/public/plugins/semantic-ui/src/definitions/modules/video.js +539 -0
  435. data/share/views/public/plugins/semantic-ui/src/definitions/modules/video.less +125 -0
  436. data/share/views/public/plugins/semantic-ui/src/definitions/views/ad.less +266 -0
  437. data/share/views/public/plugins/semantic-ui/src/definitions/views/card.less +745 -0
  438. data/share/views/public/plugins/semantic-ui/src/definitions/views/comment.less +256 -0
  439. data/share/views/public/plugins/semantic-ui/src/definitions/views/feed.less +272 -0
  440. data/share/views/public/plugins/semantic-ui/src/definitions/views/item.less +466 -0
  441. data/share/views/public/plugins/semantic-ui/src/definitions/views/statistic.less +416 -0
  442. data/share/views/public/plugins/semantic-ui/src/theme.config.example +96 -0
  443. data/share/views/public/plugins/semantic-ui/src/theme.less +48 -0
  444. data/share/views/public/plugins/semantic-ui/src/themes/amazon/elements/button.overrides +46 -0
  445. data/share/views/public/plugins/semantic-ui/src/themes/amazon/elements/button.variables +57 -0
  446. data/share/views/public/plugins/semantic-ui/src/themes/basic/assets/fonts/icons.eot +0 -0
  447. data/share/views/public/plugins/semantic-ui/src/themes/basic/assets/fonts/icons.svg +450 -0
  448. data/share/views/public/plugins/semantic-ui/src/themes/basic/assets/fonts/icons.ttf +0 -0
  449. data/share/views/public/plugins/semantic-ui/src/themes/basic/assets/fonts/icons.woff +0 -0
  450. data/share/views/public/plugins/semantic-ui/src/themes/basic/collections/table.overrides +4 -0
  451. data/share/views/public/plugins/semantic-ui/src/themes/basic/collections/table.variables +10 -0
  452. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/button.overrides +4 -0
  453. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/button.variables +44 -0
  454. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/icon.overrides +189 -0
  455. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/icon.variables +5 -0
  456. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/step.overrides +7 -0
  457. data/share/views/public/plugins/semantic-ui/src/themes/basic/elements/step.variables +10 -0
  458. data/share/views/public/plugins/semantic-ui/src/themes/basic/globals/reset.overrides +5 -0
  459. data/share/views/public/plugins/semantic-ui/src/themes/basic/globals/reset.variables +3 -0
  460. data/share/views/public/plugins/semantic-ui/src/themes/basic/modules/progress.overrides +3 -0
  461. data/share/views/public/plugins/semantic-ui/src/themes/basic/modules/progress.variables +15 -0
  462. data/share/views/public/plugins/semantic-ui/src/themes/basic/views/card.overrides +4 -0
  463. data/share/views/public/plugins/semantic-ui/src/themes/basic/views/card.variables +34 -0
  464. data/share/views/public/plugins/semantic-ui/src/themes/bookish/elements/header.overrides +15 -0
  465. data/share/views/public/plugins/semantic-ui/src/themes/bookish/elements/header.variables +37 -0
  466. data/share/views/public/plugins/semantic-ui/src/themes/bootstrap3/elements/button.overrides +0 -0
  467. data/share/views/public/plugins/semantic-ui/src/themes/bootstrap3/elements/button.variables +63 -0
  468. data/share/views/public/plugins/semantic-ui/src/themes/chubby/collections/form.overrides +8 -0
  469. data/share/views/public/plugins/semantic-ui/src/themes/chubby/collections/form.variables +9 -0
  470. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/button.overrides +21 -0
  471. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/button.variables +57 -0
  472. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/header.overrides +5 -0
  473. data/share/views/public/plugins/semantic-ui/src/themes/chubby/elements/header.variables +21 -0
  474. data/share/views/public/plugins/semantic-ui/src/themes/chubby/modules/accordion.overrides +7 -0
  475. data/share/views/public/plugins/semantic-ui/src/themes/chubby/modules/accordion.variables +15 -0
  476. data/share/views/public/plugins/semantic-ui/src/themes/chubby/views/comment.overrides +12 -0
  477. data/share/views/public/plugins/semantic-ui/src/themes/chubby/views/comment.variables +46 -0
  478. data/share/views/public/plugins/semantic-ui/src/themes/classic/collections/table.overrides +3 -0
  479. data/share/views/public/plugins/semantic-ui/src/themes/classic/collections/table.variables +14 -0
  480. data/share/views/public/plugins/semantic-ui/src/themes/classic/elements/button.overrides +3 -0
  481. data/share/views/public/plugins/semantic-ui/src/themes/classic/elements/button.variables +96 -0
  482. data/share/views/public/plugins/semantic-ui/src/themes/classic/elements/header.overrides +3 -0
  483. data/share/views/public/plugins/semantic-ui/src/themes/classic/elements/header.variables +12 -0
  484. data/share/views/public/plugins/semantic-ui/src/themes/classic/modules/progress.overrides +3 -0
  485. data/share/views/public/plugins/semantic-ui/src/themes/classic/modules/progress.variables +8 -0
  486. data/share/views/public/plugins/semantic-ui/src/themes/classic/views/card.overrides +98 -0
  487. data/share/views/public/plugins/semantic-ui/src/themes/classic/views/card.variables +22 -0
  488. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.eot +0 -0
  489. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.otf +0 -0
  490. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.svg +504 -0
  491. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.ttf +0 -0
  492. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/fonts/icons.woff +0 -0
  493. data/share/views/public/plugins/semantic-ui/src/themes/default/assets/images/flags.png +0 -0
  494. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/breadcrumb.overrides +3 -0
  495. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/breadcrumb.variables +43 -0
  496. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/form.overrides +3 -0
  497. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/form.variables +189 -0
  498. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/grid.overrides +4 -0
  499. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/grid.variables +93 -0
  500. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/menu.overrides +3 -0
  501. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/menu.variables +321 -0
  502. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/message.overrides +3 -0
  503. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/message.variables +88 -0
  504. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/table.overrides +3 -0
  505. data/share/views/public/plugins/semantic-ui/src/themes/default/collections/table.variables +228 -0
  506. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/button.overrides +3 -0
  507. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/button.variables +260 -0
  508. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/divider.overrides +3 -0
  509. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/divider.variables +54 -0
  510. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/flag.overrides +979 -0
  511. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/flag.variables +13 -0
  512. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/header.overrides +4 -0
  513. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/header.variables +126 -0
  514. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/icon.overrides +660 -0
  515. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/icon.variables +34 -0
  516. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/image.overrides +3 -0
  517. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/image.variables +42 -0
  518. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/input.overrides +3 -0
  519. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/input.variables +118 -0
  520. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/label.overrides +3 -0
  521. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/label.variables +164 -0
  522. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/list.overrides +3 -0
  523. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/list.variables +204 -0
  524. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/loader.overrides +3 -0
  525. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/loader.variables +61 -0
  526. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/rail.overrides +3 -0
  527. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/rail.variables +24 -0
  528. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/reveal.overrides +3 -0
  529. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/reveal.variables +15 -0
  530. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/segment.overrides +3 -0
  531. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/segment.variables +100 -0
  532. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/step.overrides +16 -0
  533. data/share/views/public/plugins/semantic-ui/src/themes/default/elements/step.variables +93 -0
  534. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/reset.overrides +434 -0
  535. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/reset.variables +3 -0
  536. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/site.overrides +3 -0
  537. data/share/views/public/plugins/semantic-ui/src/themes/default/globals/site.variables +599 -0
  538. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/accordion.overrides +28 -0
  539. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/accordion.variables +101 -0
  540. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/chatroom.overrides +3 -0
  541. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/chatroom.variables +3 -0
  542. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/checkbox.overrides +33 -0
  543. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/checkbox.variables +139 -0
  544. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dimmer.overrides +3 -0
  545. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dimmer.variables +51 -0
  546. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dropdown.overrides +57 -0
  547. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/dropdown.variables +239 -0
  548. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/modal.overrides +3 -0
  549. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/modal.variables +147 -0
  550. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/nag.overrides +3 -0
  551. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/nag.variables +74 -0
  552. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/popup.overrides +3 -0
  553. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/popup.variables +95 -0
  554. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/progress.overrides +3 -0
  555. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/progress.variables +107 -0
  556. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/rating.overrides +69 -0
  557. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/rating.variables +65 -0
  558. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/search.overrides +3 -0
  559. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/search.variables +140 -0
  560. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/shape.overrides +3 -0
  561. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/shape.variables +35 -0
  562. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sidebar.overrides +3 -0
  563. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sidebar.variables +39 -0
  564. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sticky.overrides +3 -0
  565. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/sticky.variables +12 -0
  566. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/tab.overrides +3 -0
  567. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/tab.variables +13 -0
  568. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/transition.overrides +445 -0
  569. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/transition.variables +10 -0
  570. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/video.overrides +3 -0
  571. data/share/views/public/plugins/semantic-ui/src/themes/default/modules/video.variables +16 -0
  572. data/share/views/public/plugins/semantic-ui/src/themes/default/views/ad.overrides +3 -0
  573. data/share/views/public/plugins/semantic-ui/src/themes/default/views/ad.variables +13 -0
  574. data/share/views/public/plugins/semantic-ui/src/themes/default/views/card.overrides +3 -0
  575. data/share/views/public/plugins/semantic-ui/src/themes/default/views/card.variables +185 -0
  576. data/share/views/public/plugins/semantic-ui/src/themes/default/views/comment.overrides +3 -0
  577. data/share/views/public/plugins/semantic-ui/src/themes/default/views/comment.variables +104 -0
  578. data/share/views/public/plugins/semantic-ui/src/themes/default/views/feed.overrides +3 -0
  579. data/share/views/public/plugins/semantic-ui/src/themes/default/views/feed.variables +149 -0
  580. data/share/views/public/plugins/semantic-ui/src/themes/default/views/item.overrides +3 -0
  581. data/share/views/public/plugins/semantic-ui/src/themes/default/views/item.variables +152 -0
  582. data/share/views/public/plugins/semantic-ui/src/themes/default/views/statistic.overrides +3 -0
  583. data/share/views/public/plugins/semantic-ui/src/themes/default/views/statistic.variables +97 -0
  584. data/share/views/public/plugins/semantic-ui/src/themes/duo/elements/loader.overrides +3 -0
  585. data/share/views/public/plugins/semantic-ui/src/themes/duo/elements/loader.variables +6 -0
  586. data/share/views/public/plugins/semantic-ui/src/themes/fixed-width/collections/grid.overrides +3 -0
  587. data/share/views/public/plugins/semantic-ui/src/themes/fixed-width/collections/grid.variables +25 -0
  588. data/share/views/public/plugins/semantic-ui/src/themes/fixed-width/modules/modal.overrides +3 -0
  589. data/share/views/public/plugins/semantic-ui/src/themes/fixed-width/modules/modal.variables +37 -0
  590. data/share/views/public/plugins/semantic-ui/src/themes/flat/collections/form.overrides +24 -0
  591. data/share/views/public/plugins/semantic-ui/src/themes/flat/collections/form.variables +74 -0
  592. data/share/views/public/plugins/semantic-ui/src/themes/flat/globals/site.overrides +3 -0
  593. data/share/views/public/plugins/semantic-ui/src/themes/flat/globals/site.variables +106 -0
  594. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/form.overrides +16 -0
  595. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/form.variables +40 -0
  596. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/menu.overrides +7 -0
  597. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/menu.variables +66 -0
  598. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/message.overrides +11 -0
  599. data/share/views/public/plugins/semantic-ui/src/themes/github/collections/message.variables +29 -0
  600. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/button.overrides +4 -0
  601. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/button.variables +77 -0
  602. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/segment.overrides +3 -0
  603. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/segment.variables +41 -0
  604. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/step.overrides +26 -0
  605. data/share/views/public/plugins/semantic-ui/src/themes/github/elements/step.variables +20 -0
  606. data/share/views/public/plugins/semantic-ui/src/themes/gmail/collections/message.overrides +0 -0
  607. data/share/views/public/plugins/semantic-ui/src/themes/gmail/collections/message.variables +15 -0
  608. data/share/views/public/plugins/semantic-ui/src/themes/material/elements/button.overrides +23 -0
  609. data/share/views/public/plugins/semantic-ui/src/themes/material/elements/button.variables +87 -0
  610. data/share/views/public/plugins/semantic-ui/src/themes/material/elements/header.overrides +15 -0
  611. data/share/views/public/plugins/semantic-ui/src/themes/material/elements/header.variables +21 -0
  612. data/share/views/public/plugins/semantic-ui/src/themes/material/globals/site.overrides +0 -0
  613. data/share/views/public/plugins/semantic-ui/src/themes/material/globals/site.variables +119 -0
  614. data/share/views/public/plugins/semantic-ui/src/themes/material/modules/modal.overrides +6 -0
  615. data/share/views/public/plugins/semantic-ui/src/themes/material/modules/modal.variables +15 -0
  616. data/share/views/public/plugins/semantic-ui/src/themes/pulsar/elements/loader.overrides +70 -0
  617. data/share/views/public/plugins/semantic-ui/src/themes/pulsar/elements/loader.variables +7 -0
  618. data/share/views/public/plugins/semantic-ui/src/themes/raised/elements/button.overrides +3 -0
  619. data/share/views/public/plugins/semantic-ui/src/themes/raised/elements/button.variables +27 -0
  620. data/share/views/public/plugins/semantic-ui/src/themes/resetcss/globals/reset.overrides +52 -0
  621. data/share/views/public/plugins/semantic-ui/src/themes/resetcss/globals/reset.variables +3 -0
  622. data/share/views/public/plugins/semantic-ui/src/themes/round/elements/button.overrides +0 -0
  623. data/share/views/public/plugins/semantic-ui/src/themes/round/elements/button.variables +138 -0
  624. data/share/views/public/plugins/semantic-ui/src/themes/striped/modules/progress.overrides +29 -0
  625. data/share/views/public/plugins/semantic-ui/src/themes/striped/modules/progress.variables +3 -0
  626. data/share/views/public/plugins/semantic-ui/src/themes/timeline/views/feed.overrides +35 -0
  627. data/share/views/public/plugins/semantic-ui/src/themes/timeline/views/feed.variables +40 -0
  628. data/share/views/public/plugins/semantic-ui/src/themes/twitter/elements/button.overrides +13 -0
  629. data/share/views/public/plugins/semantic-ui/src/themes/twitter/elements/button.variables +45 -0
  630. data/share/views/public/plugins/semantic-ui/tasks/admin/docs.json +19 -0
  631. data/share/views/public/plugins/semantic-ui/tasks/admin/oauth.example.js +5 -0
  632. data/share/views/public/plugins/semantic-ui/tasks/admin/questions.js +50 -0
  633. data/share/views/public/plugins/semantic-ui/tasks/admin/release.js +85 -0
  634. data/share/views/public/plugins/semantic-ui/tasks/admin/templates/README.md +23 -0
  635. data/share/views/public/plugins/semantic-ui/tasks/admin/templates/bower.json +29 -0
  636. data/share/views/public/plugins/semantic-ui/tasks/admin/templates/composer.json +20 -0
  637. data/share/views/public/plugins/semantic-ui/tasks/admin/templates/package.json +17 -0
  638. data/share/views/public/plugins/semantic-ui/tasks/banner.js +12 -0
  639. data/share/views/public/plugins/semantic-ui/tasks/comments.js +20 -0
  640. data/share/views/public/plugins/semantic-ui/tasks/defaults.js +69 -0
  641. data/share/views/public/plugins/semantic-ui/tasks/gulp-settings.js +51 -0
  642. data/share/views/public/plugins/semantic-ui/tasks/log.js +8 -0
  643. data/share/views/public/plugins/semantic-ui/tasks/questions.js +425 -0
  644. data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/index.html +320 -0
  645. data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/prettify.css +1 -0
  646. data/share/views/public/plugins/semantic-ui/test/coverage/PhantomJS 1.9.2 (Linux)/prettify.js +1 -0
  647. data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 (Linux)-20131014_012621.json +1 -0
  648. data/share/views/public/plugins/semantic-ui/test/coverage/coverage-PhantomJS 1.9.2 (Linux)-20131014_012811.json +1 -0
  649. data/share/views/public/plugins/semantic-ui/test/fixtures/accordion.html +24 -0
  650. data/share/views/public/plugins/semantic-ui/test/fixtures/checkbox.html +46 -0
  651. data/share/views/public/plugins/semantic-ui/test/fixtures/dropdown.html +9 -0
  652. data/share/views/public/plugins/semantic-ui/test/fixtures/modal.html +25 -0
  653. data/share/views/public/plugins/semantic-ui/test/fixtures/popup.html +8 -0
  654. data/share/views/public/plugins/semantic-ui/test/fixtures/rating.html +7 -0
  655. data/share/views/public/plugins/semantic-ui/test/fixtures/shape.html +7 -0
  656. data/share/views/public/plugins/semantic-ui/test/fixtures/sidebar.html +25 -0
  657. data/share/views/public/plugins/semantic-ui/test/fixtures/tab.html +8 -0
  658. data/share/views/public/plugins/semantic-ui/test/fixtures/transition.html +1 -0
  659. data/share/views/public/plugins/semantic-ui/test/fixtures/video.html +5 -0
  660. data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-clog.js +17 -0
  661. data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-jquery.js +705 -0
  662. data/share/views/public/plugins/semantic-ui/test/helpers/jasmine-sinon.js +58 -0
  663. data/share/views/public/plugins/semantic-ui/test/helpers/jquery-events.js +28 -0
  664. data/share/views/public/plugins/semantic-ui/test/helpers/sinon.js +4819 -0
  665. data/share/views/public/plugins/semantic-ui/test/modules/accordion.spec.js +10 -0
  666. data/share/views/public/plugins/semantic-ui/test/modules/checkbox.spec.js +8 -0
  667. data/share/views/public/plugins/semantic-ui/test/modules/dropdown.spec.js +8 -0
  668. data/share/views/public/plugins/semantic-ui/test/modules/modal.spec.js +10 -0
  669. data/share/views/public/plugins/semantic-ui/test/modules/module.spec.js +218 -0
  670. data/share/views/public/plugins/semantic-ui/test/modules/popup.spec.js +8 -0
  671. data/share/views/public/plugins/semantic-ui/test/modules/search.spec.js +8 -0
  672. data/share/views/public/plugins/semantic-ui/test/modules/shape.spec.js +8 -0
  673. data/share/views/public/plugins/semantic-ui/test/modules/sidebar.spec.js +8 -0
  674. data/share/views/public/plugins/semantic-ui/test/modules/tab.spec.js +9 -0
  675. data/share/views/public/plugins/semantic-ui/test/modules/transition.spec.js +8 -0
  676. data/share/views/public/plugins/semantic-ui/test/modules/video.spec.js +8 -0
  677. data/share/views/public/plugins/springy/LICENSE +22 -0
  678. data/share/views/public/plugins/springy/README.mkdn +129 -0
  679. data/share/views/public/plugins/springy/bower.json +17 -0
  680. data/share/views/public/plugins/springy/demo-json.html +38 -0
  681. data/share/views/public/plugins/springy/demo-raphael.html +246 -0
  682. data/share/views/public/plugins/springy/demo-simple.html +33 -0
  683. data/share/views/public/plugins/springy/demo.html +46 -0
  684. data/share/views/public/plugins/springy/package.json +21 -0
  685. data/share/views/public/plugins/springy/springy.js +727 -0
  686. data/share/views/public/plugins/springy/springyui.js +394 -0
  687. metadata +657 -38
  688. data/share/views/compass/_app.sass +0 -17
  689. data/share/views/compass/_normalize.scss +0 -680
  690. data/share/views/compass/_rbbt.sass +0 -15
  691. data/share/views/compass/actions.sass +0 -72
  692. data/share/views/compass/colors.sass +0 -5
  693. data/share/views/compass/entity_card.sass +0 -48
  694. data/share/views/compass/favourites.sass +0 -20
  695. data/share/views/compass/figure.sass +0 -27
  696. data/share/views/compass/finder.sass +0 -30
  697. data/share/views/compass/fonts.sass +0 -54
  698. data/share/views/compass/foundation.sass +0 -79
  699. data/share/views/compass/functions.sass +0 -28
  700. data/share/views/compass/grid_system.sass +0 -40
  701. data/share/views/compass/help.sass +0 -21
  702. data/share/views/compass/monitor.sass +0 -8
  703. data/share/views/compass/rbbt/button.sass +0 -14
  704. data/share/views/compass/rbbt/form.sass +0 -98
  705. data/share/views/compass/rbbt/fragment.sass +0 -7
  706. data/share/views/compass/rbbt/menu.sass +0 -196
  707. data/share/views/compass/rbbt/table.sass +0 -174
  708. data/share/views/compass/skeleton.sass +0 -2
  709. data/share/views/compass/skeleton/_dependencies.sass +0 -151
  710. data/share/views/compass/skeleton/_functions.sass +0 -4
  711. data/share/views/compass/skeleton/_mixins.sass +0 -25
  712. data/share/views/compass/skeleton/_vars.sass +0 -72
  713. data/share/views/compass/skeleton/base.sass +0 -333
  714. data/share/views/compass/skeleton/layout.sass +0 -51
  715. data/share/views/compass/skeleton/skeleton.sass +0 -105
  716. data/share/views/compass/solarized.sass +0 -34
  717. data/share/views/compass/style.sass +0 -47
  718. data/share/views/compass/theme.sass +0 -77
  719. data/share/views/compass/top_menu.sass +0 -125
  720. data/share/views/compass/user.sass +0 -17
  721. data/share/views/compass/variables.sass +0 -7
  722. data/share/views/compass/workflow.sass +0 -64
@@ -0,0 +1,1496 @@
1
+ /*
2
+ * # Semantic - Dropdown
3
+ * http://github.com/semantic-org/semantic-ui/
4
+ *
5
+ *
6
+ * Copyright 2014 Contributor
7
+ * Released under the MIT license
8
+ * http://opensource.org/licenses/MIT
9
+ *
10
+ */
11
+
12
+ ;(function ( $, window, document, undefined ) {
13
+
14
+ "use strict";
15
+
16
+ $.fn.dropdown = function(parameters) {
17
+ var
18
+ $allModules = $(this),
19
+ $document = $(document),
20
+
21
+ moduleSelector = $allModules.selector || '',
22
+
23
+ hasTouch = ('ontouchstart' in document.documentElement),
24
+ time = new Date().getTime(),
25
+ performance = [],
26
+
27
+ query = arguments[0],
28
+ methodInvoked = (typeof query == 'string'),
29
+ queryArguments = [].slice.call(arguments, 1),
30
+ returnedValue
31
+ ;
32
+
33
+ $allModules
34
+ .each(function() {
35
+ var
36
+ settings = ( $.isPlainObject(parameters) )
37
+ ? $.extend(true, {}, $.fn.dropdown.settings, parameters)
38
+ : $.extend({}, $.fn.dropdown.settings),
39
+
40
+ className = settings.className,
41
+ metadata = settings.metadata,
42
+ namespace = settings.namespace,
43
+ selector = settings.selector,
44
+ error = settings.error,
45
+
46
+ eventNamespace = '.' + namespace,
47
+ moduleNamespace = 'module-' + namespace,
48
+
49
+ $module = $(this),
50
+ $text = $module.find(selector.text),
51
+ $search = $module.find(selector.search),
52
+ $input = $module.find(selector.input),
53
+
54
+ $combo = ($module.prev().find(selector.text).size() > 0)
55
+ ? $module.prev().find(selector.text)
56
+ : $module.prev(),
57
+
58
+ $menu = $module.children(selector.menu),
59
+ $item = $menu.find(selector.item),
60
+
61
+ activated = false,
62
+ itemActivated = false,
63
+
64
+ element = this,
65
+ instance = $module.data(moduleNamespace),
66
+ observer,
67
+ module
68
+ ;
69
+
70
+ module = {
71
+
72
+ initialize: function() {
73
+ module.debug('Initializing dropdown', settings);
74
+ module.setup.layout();
75
+ module.save.defaults();
76
+ module.set.selected();
77
+
78
+ if(hasTouch) {
79
+ module.bind.touchEvents();
80
+ }
81
+ module.bind.mouseEvents();
82
+ module.bind.keyboardEvents();
83
+
84
+ module.observeChanges();
85
+ module.instantiate();
86
+ },
87
+
88
+ instantiate: function() {
89
+ module.verbose('Storing instance of dropdown', module);
90
+ instance = module;
91
+ $module
92
+ .data(moduleNamespace, module)
93
+ ;
94
+ },
95
+
96
+ destroy: function() {
97
+ module.verbose('Destroying previous dropdown for', $module);
98
+ module.remove.tabbable();
99
+ $module
100
+ .off(eventNamespace)
101
+ .removeData(moduleNamespace)
102
+ ;
103
+ },
104
+
105
+ observeChanges: function() {
106
+ if('MutationObserver' in window) {
107
+ observer = new MutationObserver(function(mutations) {
108
+ module.debug('DOM tree modified, updating selector cache');
109
+ module.refresh();
110
+ });
111
+ observer.observe(element, {
112
+ childList : true,
113
+ subtree : true
114
+ });
115
+ module.debug('Setting up mutation observer', observer);
116
+ }
117
+ },
118
+
119
+ setup: {
120
+
121
+ layout: function() {
122
+ if( $module.is('select') ) {
123
+ module.setup.select();
124
+ }
125
+ if( module.is.search() && !module.is.searchable() ) {
126
+ $search = $('<input />')
127
+ .addClass(className.search)
128
+ .insertBefore($text)
129
+ ;
130
+ }
131
+ if(settings.allowTab) {
132
+ module.set.tabbable();
133
+ }
134
+ },
135
+ select: function() {
136
+ var
137
+ selectValues = module.get.selectValues()
138
+ ;
139
+ module.debug('Dropdown initialized on a select', selectValues);
140
+ // see if select exists inside a dropdown
141
+ $input = $module;
142
+ if($input.parents(selector.dropdown).size() > 0) {
143
+ module.debug('Creating dropdown menu only from template');
144
+ $module = $input.closest(selector.dropdown);
145
+ if($module.find('.' + className.dropdown).size() === 0) {
146
+ $('<div />')
147
+ .addClass(className.menu)
148
+ .html( settings.templates.menu( selectValues ))
149
+ .appendTo($module)
150
+ ;
151
+ }
152
+ }
153
+ else {
154
+ module.debug('Creating entire dropdown from template');
155
+ $module = $('<div />')
156
+ .attr('class', $input.attr('class') )
157
+ .addClass(className.selection)
158
+ .addClass(className.dropdown)
159
+ .html( settings.templates.dropdown(selectValues) )
160
+ .insertBefore($input)
161
+ ;
162
+ $input
163
+ .removeAttr('class')
164
+ .prependTo($module)
165
+ ;
166
+ }
167
+ module.refresh();
168
+ }
169
+ },
170
+
171
+ refresh: function() {
172
+ $text = $module.find(selector.text);
173
+ $search = $module.find(selector.search);
174
+ $input = $module.find(selector.input);
175
+ $menu = $module.children(selector.menu);
176
+ $item = $menu.find(selector.item);
177
+ },
178
+
179
+ toggle: function() {
180
+ module.verbose('Toggling menu visibility');
181
+ if( !module.is.active() ) {
182
+ module.show();
183
+ }
184
+ else {
185
+ module.hide();
186
+ }
187
+ },
188
+
189
+ show: function() {
190
+ module.debug('Checking if dropdown can show');
191
+ if( !module.is.active() ) {
192
+ module.animate.show(function() {
193
+ if( module.can.click() ) {
194
+ module.bind.intent();
195
+ }
196
+ module.set.visible();
197
+ });
198
+ $.proxy(settings.onShow, element)();
199
+ }
200
+ },
201
+
202
+ hide: function() {
203
+ if( module.is.active() ) {
204
+ module.debug('Hiding dropdown');
205
+ module.animate.hide(function() {
206
+ module.remove.visible();
207
+ });
208
+ $.proxy(settings.onHide, element)();
209
+ }
210
+ },
211
+
212
+ hideOthers: function() {
213
+ module.verbose('Finding other dropdowns to hide');
214
+ $allModules
215
+ .not($module)
216
+ .has(selector.menu + ':visible:not(.' + className.animating + ')')
217
+ .dropdown('hide')
218
+ ;
219
+ },
220
+
221
+ hideSubMenus: function() {
222
+ var
223
+ $subMenus = $menu.find(selector.menu)
224
+ ;
225
+ $subMenus.transition('hide');
226
+ },
227
+
228
+ bind: {
229
+ keyboardEvents: function() {
230
+ module.debug('Binding keyboard events');
231
+ $module
232
+ .on('keydown' + eventNamespace, module.event.keydown)
233
+ ;
234
+ if( module.is.searchable() ) {
235
+ $module
236
+ .on(module.get.inputEvent(), selector.search, module.event.input)
237
+ ;
238
+ }
239
+ },
240
+ touchEvents: function() {
241
+ module.debug('Touch device detected binding additional touch events');
242
+ if( module.is.searchSelection() ) {
243
+ // do nothing special yet
244
+ }
245
+ else {
246
+ $module
247
+ .on('touchstart' + eventNamespace, module.event.test.toggle)
248
+ ;
249
+ }
250
+ $menu
251
+ .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
252
+ ;
253
+ },
254
+ mouseEvents: function() {
255
+ module.verbose('Mouse detected binding mouse events');
256
+ if( module.is.searchSelection() ) {
257
+ $module
258
+ .on('mousedown' + eventNamespace, selector.menu, module.event.menu.activate)
259
+ .on('mouseup' + eventNamespace, selector.menu, module.event.menu.deactivate)
260
+ .on('focus' + eventNamespace, selector.search, module.event.searchFocus)
261
+ .on('click' + eventNamespace, selector.search, module.show)
262
+ .on('blur' + eventNamespace, selector.search, module.event.searchBlur)
263
+ ;
264
+ }
265
+ else {
266
+ if(settings.on == 'click') {
267
+ $module
268
+ .on('click' + eventNamespace, module.event.test.toggle)
269
+ ;
270
+ }
271
+ else if(settings.on == 'hover') {
272
+ $module
273
+ .on('mouseenter' + eventNamespace, module.delay.show)
274
+ .on('mouseleave' + eventNamespace, module.delay.hide)
275
+ ;
276
+ }
277
+ else {
278
+ $module
279
+ .on(settings.on + eventNamespace, module.toggle)
280
+ ;
281
+ }
282
+ $module
283
+ .on('mousedown' + eventNamespace, module.event.mousedown)
284
+ .on('mouseup' + eventNamespace, module.event.mouseup)
285
+ .on('focus' + eventNamespace, module.event.focus)
286
+ .on('blur' + eventNamespace, module.event.blur)
287
+ ;
288
+ }
289
+ $menu
290
+ .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
291
+ .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
292
+ .on('click' + eventNamespace, selector.item, module.event.item.click)
293
+ ;
294
+ },
295
+ intent: function() {
296
+ module.verbose('Binding hide intent event to document');
297
+ if(hasTouch) {
298
+ $document
299
+ .on('touchstart' + eventNamespace, module.event.test.touch)
300
+ .on('touchmove' + eventNamespace, module.event.test.touch)
301
+ ;
302
+ }
303
+ $document
304
+ .on('click' + eventNamespace, module.event.test.hide)
305
+ ;
306
+ }
307
+ },
308
+
309
+ unbind: {
310
+ intent: function() {
311
+ module.verbose('Removing hide intent event from document');
312
+ if(hasTouch) {
313
+ $document
314
+ .off('touchstart' + eventNamespace)
315
+ .off('touchmove' + eventNamespace)
316
+ ;
317
+ }
318
+ $document
319
+ .off('click' + eventNamespace)
320
+ ;
321
+ }
322
+ },
323
+
324
+ filter: function(searchTerm) {
325
+ var
326
+ $results = $(),
327
+ exactRegExp = new RegExp('(?:\s|^)' + searchTerm, 'i'),
328
+ fullTextRegExp = new RegExp(searchTerm, 'i'),
329
+ allItemsFiltered,
330
+ $filteredItems
331
+ ;
332
+ $item
333
+ .each(function(){
334
+ var
335
+ $choice = $(this),
336
+ text = ( $choice.data(metadata.text) !== undefined )
337
+ ? $choice.data(metadata.text)
338
+ : (settings.preserveHTML)
339
+ ? $choice.html()
340
+ : $choice.text(),
341
+ value = ( $choice.data(metadata.value) !== undefined)
342
+ ? $choice.data(metadata.value)
343
+ : (typeof text === 'string')
344
+ ? text.toLowerCase()
345
+ : text
346
+ ;
347
+ if( exactRegExp.test( text ) || exactRegExp.test( value ) ) {
348
+ $results = $results.add($choice);
349
+ }
350
+ else if(settings.fullTextSearch) {
351
+ if( fullTextRegExp.test( text ) || fullTextRegExp.test( value ) ) {
352
+ $results = $results.add($choice);
353
+ }
354
+ }
355
+ })
356
+ ;
357
+ $filteredItems = $item.not($results);
358
+ allItemsFiltered = ($filteredItems.size() == $item.size());
359
+
360
+ module.remove.filteredItem();
361
+ module.remove.selectedItem();
362
+ $filteredItems
363
+ .addClass(className.filtered)
364
+ ;
365
+ $item
366
+ .not('.' + className.filtered)
367
+ .eq(0)
368
+ .addClass(className.selected)
369
+ ;
370
+ if(allItemsFiltered) {
371
+ module.hide();
372
+ }
373
+ },
374
+
375
+ focusSearch: function() {
376
+ if( module.is.search() ) {
377
+ $search
378
+ .focus()
379
+ ;
380
+ }
381
+ },
382
+
383
+ event: {
384
+ // prevents focus callback from occuring on mousedown
385
+ mousedown: function() {
386
+ activated = true;
387
+ },
388
+ mouseup: function() {
389
+ activated = false;
390
+ },
391
+ focus: function() {
392
+ if(!activated && module.is.hidden()) {
393
+ module.show();
394
+ }
395
+ },
396
+ blur: function(event) {
397
+ if(!activated) {
398
+ module.hide();
399
+ }
400
+ },
401
+ searchFocus: function() {
402
+ activated = true;
403
+ module.show();
404
+ },
405
+ searchBlur: function(event) {
406
+ if(!itemActivated) {
407
+ module.hide();
408
+ }
409
+ },
410
+ input: function(event) {
411
+ var
412
+ query = $search.val()
413
+ ;
414
+ if(module.is.searchSelection()) {
415
+ if( module.can.show() ) {
416
+ module.show();
417
+ }
418
+ module.set.filtered();
419
+ }
420
+ module.filter(query);
421
+ },
422
+ keydown: function(event) {
423
+ var
424
+ $selectedItem = $item.not(className.filtered).filter('.' + className.selected).eq(0),
425
+ $visibleItems = $item.not('.' + className.filtered),
426
+ pressedKey = event.which,
427
+ keys = {
428
+ enter : 13,
429
+ escape : 27,
430
+ upArrow : 38,
431
+ downArrow : 40
432
+ },
433
+ selectedClass = className.selected,
434
+ currentIndex = $visibleItems.index( $selectedItem ),
435
+ hasSelectedItem = ($selectedItem.size() > 0),
436
+ $nextItem,
437
+ newIndex
438
+ ;
439
+ // default to activated choice if no selection present
440
+ if(!hasSelectedItem) {
441
+ $selectedItem = $item.filter('.' + className.active).eq(0);
442
+ hasSelectedItem = ($selectedItem.size() > 0);
443
+ }
444
+ // close shortcuts
445
+ if(pressedKey == keys.escape) {
446
+ module.verbose('Escape key pressed, closing dropdown');
447
+ module.hide();
448
+ }
449
+ // result shortcuts
450
+ if(module.is.visible()) {
451
+ if(pressedKey == keys.enter && hasSelectedItem) {
452
+ module.verbose('Enter key pressed, choosing selected item');
453
+ $.proxy(module.event.item.click, $selectedItem)(event);
454
+ event.preventDefault();
455
+ return false;
456
+ }
457
+ else if(pressedKey == keys.upArrow) {
458
+ if(!hasSelectedItem) {
459
+ $nextItem = $visibleItems.eq(0);
460
+ }
461
+ else {
462
+ $nextItem = $selectedItem.prevAll(selector.item + ':not(.' + className.filtered + ')').eq(0);
463
+ }
464
+ if(currentIndex !== 0) {
465
+ module.verbose('Up key pressed, changing active item');
466
+ $item
467
+ .removeClass(selectedClass)
468
+ ;
469
+ $nextItem
470
+ .addClass(selectedClass)
471
+ ;
472
+ module.set.scrollPosition($nextItem);
473
+ }
474
+ event.preventDefault();
475
+ }
476
+ else if(pressedKey == keys.downArrow) {
477
+ if(!hasSelectedItem) {
478
+ $nextItem = $visibleItems.eq(0);
479
+ }
480
+ else {
481
+ $nextItem = $selectedItem.nextAll(selector.item + ':not(.' + className.filtered + ')').eq(0);
482
+ }
483
+ if(currentIndex + 1 < $visibleItems.size() ) {
484
+ module.verbose('Down key pressed, changing active item');
485
+ $item
486
+ .removeClass(selectedClass)
487
+ ;
488
+ $nextItem
489
+ .addClass(selectedClass)
490
+ ;
491
+ module.set.scrollPosition($nextItem);
492
+ }
493
+ event.preventDefault();
494
+ }
495
+ }
496
+ else {
497
+ if(pressedKey == keys.enter) {
498
+ module.show();
499
+ }
500
+ }
501
+ },
502
+ test: {
503
+ toggle: function(event) {
504
+ if( module.determine.eventInMenu(event, module.toggle) ) {
505
+ event.preventDefault();
506
+ }
507
+ },
508
+ touch: function(event) {
509
+ module.determine.eventInMenu(event, function() {
510
+ if(event.type == 'touchstart') {
511
+ module.timer = setTimeout(module.hide, settings.delay.touch);
512
+ }
513
+ else if(event.type == 'touchmove') {
514
+ clearTimeout(module.timer);
515
+ }
516
+ });
517
+ event.stopPropagation();
518
+ },
519
+ hide: function(event) {
520
+ module.determine.eventInModule(event, module.hide);
521
+ }
522
+ },
523
+
524
+ menu: {
525
+ activate: function() {
526
+ itemActivated = true;
527
+ },
528
+ deactivate: function() {
529
+ itemActivated = false;
530
+ }
531
+ },
532
+ item: {
533
+ mouseenter: function(event) {
534
+ var
535
+ $currentMenu = $(this).children(selector.menu),
536
+ $otherMenus = $(this).siblings(selector.item).children(selector.menu)
537
+ ;
538
+ if( $currentMenu.size() > 0 ) {
539
+ clearTimeout(module.itemTimer);
540
+ module.itemTimer = setTimeout(function() {
541
+ $.each($otherMenus, function() {
542
+ module.animate.hide(false, $(this));
543
+ });
544
+ module.verbose('Showing sub-menu', $currentMenu);
545
+ module.animate.show(false, $currentMenu);
546
+ }, settings.delay.show);
547
+ event.preventDefault();
548
+ }
549
+ },
550
+
551
+ mouseleave: function(event) {
552
+ var
553
+ $currentMenu = $(this).children(selector.menu)
554
+ ;
555
+ if($currentMenu.size() > 0) {
556
+ clearTimeout(module.itemTimer);
557
+ module.itemTimer = setTimeout(function() {
558
+ module.verbose('Hiding sub-menu', $currentMenu);
559
+ module.animate.hide(false, $currentMenu);
560
+ }, settings.delay.hide);
561
+ }
562
+ },
563
+
564
+ click: function (event) {
565
+ var
566
+ $choice = $(this),
567
+ text = ( $choice.data(metadata.text) !== undefined )
568
+ ? $choice.data(metadata.text)
569
+ : (settings.preserveHTML)
570
+ ? $choice.html()
571
+ : $choice.text(),
572
+ value = ( $choice.data(metadata.value) !== undefined)
573
+ ? $choice.data(metadata.value)
574
+ : (typeof text === 'string')
575
+ ? text.toLowerCase()
576
+ : text,
577
+ callback = function() {
578
+ module.remove.searchTerm();
579
+ module.remove.filteredItem();
580
+ module.determine.selectAction(text, value);
581
+ },
582
+ openingSubMenu = ($choice.find(selector.menu).size() > 0)
583
+ ;
584
+ if( !openingSubMenu ) {
585
+ callback();
586
+ }
587
+ }
588
+
589
+ },
590
+
591
+ resetStyle: function() {
592
+ $(this).removeAttr('style');
593
+ }
594
+
595
+ },
596
+
597
+ determine: {
598
+ selectAction: function(text, value) {
599
+ module.verbose('Determining action', settings.action);
600
+ if( $.isFunction( module.action[settings.action] ) ) {
601
+ module.verbose('Triggering preset action', settings.action, text, value);
602
+ module.action[ settings.action ](text, value);
603
+ }
604
+ else if( $.isFunction(settings.action) ) {
605
+ module.verbose('Triggering user action', settings.action, text, value);
606
+ settings.action(text, value);
607
+ }
608
+ else {
609
+ module.error(error.action, settings.action);
610
+ }
611
+ },
612
+ eventInModule: function(event, callback) {
613
+ callback = callback || function(){};
614
+ if( $(event.target).closest($module).size() === 0 ) {
615
+ module.verbose('Triggering event', callback);
616
+ callback();
617
+ return true;
618
+ }
619
+ else {
620
+ module.verbose('Event occurred in dropdown, canceling callback');
621
+ return false;
622
+ }
623
+ },
624
+ eventInMenu: function(event, callback) {
625
+ callback = callback || function(){};
626
+ if( $(event.target).closest($menu).size() === 0 ) {
627
+ module.verbose('Triggering event', callback);
628
+ callback();
629
+ return true;
630
+ }
631
+ else {
632
+ module.verbose('Event occurred in dropdown menu, canceling callback');
633
+ return false;
634
+ }
635
+ }
636
+ },
637
+
638
+ action: {
639
+
640
+ nothing: function() {},
641
+
642
+ hide: function() {
643
+ module.hide();
644
+ },
645
+
646
+ select: function(text, value) {
647
+ value = (value !== undefined)
648
+ ? value
649
+ : text
650
+ ;
651
+ module.set.selected(value);
652
+ module.set.value(value);
653
+ module.hide();
654
+ },
655
+
656
+ activate: function(text, value) {
657
+ value = (value !== undefined)
658
+ ? value
659
+ : text
660
+ ;
661
+ module.set.selected(value);
662
+ module.set.value(value);
663
+ module.hide();
664
+ },
665
+
666
+ combo: function(text, value) {
667
+ value = (value !== undefined)
668
+ ? value
669
+ : text
670
+ ;
671
+ module.set.selected(value);
672
+ module.set.value(value);
673
+ module.hide();
674
+ }
675
+
676
+ },
677
+
678
+ get: {
679
+ text: function() {
680
+ return $text.text();
681
+ },
682
+ value: function() {
683
+ return ($input.size() > 0)
684
+ ? $input.val()
685
+ : $module.data(metadata.value)
686
+ ;
687
+ },
688
+ inputEvent: function() {
689
+ var
690
+ input = $search[0]
691
+ ;
692
+ if(input) {
693
+ return (input.oninput !== undefined)
694
+ ? 'input'
695
+ : (input.onpropertychange !== undefined)
696
+ ? 'propertychange'
697
+ : 'keyup'
698
+ ;
699
+ }
700
+ return false;
701
+ },
702
+ selectValues: function() {
703
+ var
704
+ select = {
705
+ values : {}
706
+ }
707
+ ;
708
+ $module
709
+ .find('option')
710
+ .each(function() {
711
+ var
712
+ name = $(this).html(),
713
+ value = ( $(this).attr('value') !== undefined )
714
+ ? $(this).attr('value')
715
+ : name
716
+ ;
717
+ if(value === '') {
718
+ select.placeholder = name;
719
+ }
720
+ else {
721
+ select.values[value] = name;
722
+ }
723
+ })
724
+ ;
725
+ module.debug('Retrieved values from select', select);
726
+ return select;
727
+ },
728
+ item: function(value, strict) {
729
+ var
730
+ $selectedItem = false
731
+ ;
732
+ value = (value !== undefined)
733
+ ? value
734
+ : ( module.get.value() !== undefined)
735
+ ? module.get.value()
736
+ : module.get.text()
737
+ ;
738
+ strict = (value === '' || value === 0)
739
+ ? true
740
+ : strict || false
741
+ ;
742
+ if(value !== undefined) {
743
+ $item
744
+ .each(function() {
745
+ var
746
+ $choice = $(this),
747
+ optionText = ( $choice.data(metadata.text) !== undefined )
748
+ ? $choice.data(metadata.text)
749
+ : (settings.preserveHTML)
750
+ ? $choice.html()
751
+ : $choice.text(),
752
+ optionValue = ( $choice.data(metadata.value) !== undefined )
753
+ ? $choice.data(metadata.value)
754
+ : (typeof optionText === 'string')
755
+ ? optionText.toLowerCase()
756
+ : optionText
757
+ ;
758
+ if(strict) {
759
+ module.verbose('Ambiguous dropdown value using strict type check', $choice, value);
760
+ if( optionValue === value ) {
761
+ $selectedItem = $(this);
762
+ }
763
+ else if( !$selectedItem && optionText === value ) {
764
+ $selectedItem = $(this);
765
+ }
766
+ }
767
+ else {
768
+ if( optionValue == value ) {
769
+ module.verbose('Found select item by value', optionValue, value);
770
+ $selectedItem = $(this);
771
+ }
772
+ else if( !$selectedItem && optionText == value ) {
773
+ module.verbose('Found select item by text', optionText, value);
774
+ $selectedItem = $(this);
775
+ }
776
+ }
777
+ })
778
+ ;
779
+ }
780
+ else {
781
+ value = module.get.text();
782
+ }
783
+ return $selectedItem || false;
784
+ }
785
+ },
786
+
787
+ restore: {
788
+ defaults: function() {
789
+ module.restore.defaultText();
790
+ module.restore.defaultValue();
791
+ },
792
+ defaultText: function() {
793
+ var
794
+ defaultText = $module.data(metadata.defaultText)
795
+ ;
796
+ module.debug('Restoring default text', defaultText);
797
+ module.set.text(defaultText);
798
+ },
799
+ defaultValue: function() {
800
+ var
801
+ defaultValue = $module.data(metadata.defaultValue)
802
+ ;
803
+ if(defaultValue !== undefined) {
804
+ module.debug('Restoring default value', defaultValue);
805
+ module.set.selected(defaultValue);
806
+ module.set.value(defaultValue);
807
+ }
808
+ }
809
+ },
810
+
811
+ save: {
812
+ defaults: function() {
813
+ module.save.defaultText();
814
+ module.save.defaultValue();
815
+ },
816
+ defaultValue: function() {
817
+ $module.data(metadata.defaultValue, module.get.value() );
818
+ },
819
+ defaultText: function() {
820
+ $module.data(metadata.defaultText, $text.text() );
821
+ }
822
+ },
823
+
824
+ set: {
825
+ filtered: function() {
826
+ $text.addClass(className.filtered);
827
+ },
828
+ tabbable: function() {
829
+ if( module.is.searchable() ) {
830
+ module.debug('Searchable dropdown initialized');
831
+ $search
832
+ .val('')
833
+ .attr('tabindex', 0)
834
+ ;
835
+ $menu
836
+ .attr('tabindex', '-1')
837
+ ;
838
+ }
839
+ else {
840
+ module.debug('Simple selection dropdown initialized');
841
+ if(!$module.attr('tabindex') ) {
842
+ $module
843
+ .attr('tabindex', 0)
844
+ ;
845
+ $menu
846
+ .attr('tabindex', '-1')
847
+ ;
848
+ }
849
+ }
850
+ },
851
+ scrollPosition: function($item) {
852
+ var
853
+ $item = $item || module.get.item(),
854
+ hasActive = ($item && $item.size() > 0),
855
+ edgeTolerance = 5,
856
+ offset,
857
+ itemHeight,
858
+ itemOffset,
859
+ menuOffset,
860
+ menuScroll,
861
+ menuHeight,
862
+ abovePage,
863
+ belowPage
864
+ ;
865
+ if($item && hasActive) {
866
+ menuHeight = $menu.height();
867
+ itemHeight = $item.height();
868
+ menuScroll = $menu.scrollTop();
869
+ menuOffset = $menu.offset().top;
870
+ itemOffset = $item.offset().top;
871
+ offset = menuScroll - menuOffset + itemOffset;
872
+ belowPage = menuScroll + menuHeight < (offset + edgeTolerance);
873
+ abovePage = ((offset - edgeTolerance) < menuScroll);
874
+ if(abovePage || belowPage) {
875
+ module.debug('Scrolling to active item');
876
+ $menu
877
+ .scrollTop(offset)
878
+ ;
879
+ }
880
+ }
881
+ },
882
+ text: function(text) {
883
+ if(settings.action == 'combo') {
884
+ module.debug('Changing combo button text', text, $combo);
885
+ if(settings.preserveHTML) {
886
+ $combo.html(text);
887
+ }
888
+ else {
889
+ $combo.text(text);
890
+ }
891
+ }
892
+ else if(settings.action !== 'select') {
893
+ module.debug('Changing text', text, $text);
894
+ $text
895
+ .removeClass(className.filtered)
896
+ .removeClass(className.placeholder)
897
+ ;
898
+ if(settings.preserveHTML) {
899
+ $text.html(text);
900
+ }
901
+ else {
902
+ $text.text(text);
903
+ }
904
+ }
905
+ },
906
+ value: function(value) {
907
+ module.debug('Adding selected value to hidden input', value, $input);
908
+ if($input.size() > 0) {
909
+ $input
910
+ .val(value)
911
+ .trigger('change')
912
+ ;
913
+ }
914
+ else {
915
+ $module.data(metadata.value, value);
916
+ }
917
+ },
918
+ active: function() {
919
+ $module
920
+ .addClass(className.active)
921
+ ;
922
+ },
923
+ visible: function() {
924
+ $module.addClass(className.visible);
925
+ },
926
+ selected: function(value) {
927
+ var
928
+ $selectedItem = module.get.item(value),
929
+ selectedText
930
+ ;
931
+ if($selectedItem) {
932
+ module.debug('Setting selected menu item to', $selectedItem);
933
+ selectedText = ($selectedItem.data(metadata.text) !== undefined)
934
+ ? $selectedItem.data(metadata.text)
935
+ : (settings.preserveHTML)
936
+ ? $selectedItem.html()
937
+ : $selectedItem.text()
938
+ ;
939
+ module.remove.activeItem();
940
+ module.remove.selectedItem();
941
+ $selectedItem
942
+ .addClass(className.active)
943
+ .addClass(className.selected)
944
+ ;
945
+ module.set.text(selectedText);
946
+ $.proxy(settings.onChange, element)(value, selectedText, $selectedItem);
947
+ }
948
+ }
949
+ },
950
+
951
+ remove: {
952
+ active: function() {
953
+ $module.removeClass(className.active);
954
+ },
955
+ visible: function() {
956
+ $module.removeClass(className.visible);
957
+ },
958
+ activeItem: function() {
959
+ $item.removeClass(className.active);
960
+ },
961
+ filteredItem: function() {
962
+ $item.removeClass(className.filtered);
963
+ },
964
+ searchTerm: function() {
965
+ $search.val('');
966
+ },
967
+ selectedItem: function() {
968
+ $item.removeClass(className.selected);
969
+ },
970
+ tabbable: function() {
971
+ if( module.is.searchable() ) {
972
+ module.debug('Searchable dropdown initialized');
973
+ $search
974
+ .attr('tabindex', '-1')
975
+ ;
976
+ $menu
977
+ .attr('tabindex', '-1')
978
+ ;
979
+ }
980
+ else {
981
+ module.debug('Simple selection dropdown initialized');
982
+ $module
983
+ .attr('tabindex', '-1')
984
+ ;
985
+ $menu
986
+ .attr('tabindex', '-1')
987
+ ;
988
+ }
989
+ }
990
+ },
991
+
992
+ is: {
993
+ search: function() {
994
+ return $module.hasClass(className.search);
995
+ },
996
+ searchable: function() {
997
+ return ($search.size() > 0);
998
+ },
999
+ searchSelection: function() {
1000
+ return ( module.is.searchable() && $search.parent().is($module) );
1001
+ },
1002
+ selection: function() {
1003
+ return $module.hasClass(className.selection);
1004
+ },
1005
+ animating: function($subMenu) {
1006
+ return ($subMenu)
1007
+ ? $subMenu.is(':animated') || $subMenu.transition && $subMenu.transition('is animating')
1008
+ : $menu.is(':animated') || $menu.transition && $menu.transition('is animating')
1009
+ ;
1010
+ },
1011
+ active: function() {
1012
+ return $module.hasClass(className.active);
1013
+ },
1014
+ visible: function($subMenu) {
1015
+ return ($subMenu)
1016
+ ? $subMenu.is(':visible')
1017
+ : $menu.is(':visible')
1018
+ ;
1019
+ },
1020
+ hidden: function($subMenu) {
1021
+ return ($subMenu)
1022
+ ? $subMenu.is(':hidden')
1023
+ : $menu.is(':hidden')
1024
+ ;
1025
+ }
1026
+ },
1027
+
1028
+ can: {
1029
+ click: function() {
1030
+ return (hasTouch || settings.on == 'click');
1031
+ },
1032
+ show: function() {
1033
+ return !$module.hasClass(className.disabled);
1034
+ }
1035
+ },
1036
+
1037
+ animate: {
1038
+ show: function(callback, $subMenu) {
1039
+ var
1040
+ $currentMenu = $subMenu || $menu,
1041
+ start = ($subMenu)
1042
+ ? function() {}
1043
+ : function() {
1044
+ module.hideSubMenus();
1045
+ module.hideOthers();
1046
+ module.set.active();
1047
+ module.set.scrollPosition();
1048
+ }
1049
+ ;
1050
+ callback = callback || function(){};
1051
+ module.verbose('Doing menu show animation', $currentMenu);
1052
+ if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {
1053
+ if(settings.transition == 'none') {
1054
+ $.proxy(callback, element)();
1055
+ }
1056
+ else if($.fn.transition !== undefined && $module.transition('is supported')) {
1057
+ $currentMenu
1058
+ .transition({
1059
+ animation : settings.transition + ' in',
1060
+ debug : settings.debug,
1061
+ verbose : settings.verbose,
1062
+ duration : settings.duration,
1063
+ queue : true,
1064
+ onStart : start,
1065
+ onComplete : function() {
1066
+ $.proxy(callback, element)();
1067
+ }
1068
+ })
1069
+ ;
1070
+ }
1071
+ else if(settings.transition == 'slide down') {
1072
+ start();
1073
+ $currentMenu
1074
+ .hide()
1075
+ .clearQueue()
1076
+ .children()
1077
+ .clearQueue()
1078
+ .css('opacity', 0)
1079
+ .delay(50)
1080
+ .animate({
1081
+ opacity : 1
1082
+ }, settings.duration, 'easeOutQuad', module.event.resetStyle)
1083
+ .end()
1084
+ .slideDown(100, 'easeOutQuad', function() {
1085
+ $.proxy(module.event.resetStyle, this)();
1086
+ $.proxy(callback, element)();
1087
+ })
1088
+ ;
1089
+ }
1090
+ else if(settings.transition == 'fade') {
1091
+ start();
1092
+ $currentMenu
1093
+ .hide()
1094
+ .clearQueue()
1095
+ .fadeIn(settings.duration, function() {
1096
+ $.proxy(module.event.resetStyle, this)();
1097
+ $.proxy(callback, element)();
1098
+ })
1099
+ ;
1100
+ }
1101
+ else {
1102
+ module.error(error.transition, settings.transition);
1103
+ }
1104
+ }
1105
+ },
1106
+ hide: function(callback, $subMenu) {
1107
+ var
1108
+ $currentMenu = $subMenu || $menu,
1109
+ duration = ($subMenu)
1110
+ ? (settings.duration * 0.9)
1111
+ : settings.duration,
1112
+ start = ($subMenu)
1113
+ ? function() {}
1114
+ : function() {
1115
+ if( module.can.click() ) {
1116
+ module.unbind.intent();
1117
+ }
1118
+ module.focusSearch();
1119
+ module.remove.active();
1120
+ }
1121
+ ;
1122
+ callback = callback || function(){};
1123
+ if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {
1124
+ module.verbose('Doing menu hide animation', $currentMenu);
1125
+
1126
+ if(settings.transition == 'none') {
1127
+ $.proxy(callback, element)();
1128
+ }
1129
+ else if($.fn.transition !== undefined && $module.transition('is supported')) {
1130
+ $currentMenu
1131
+ .transition({
1132
+ animation : settings.transition + ' out',
1133
+ duration : settings.duration,
1134
+ debug : settings.debug,
1135
+ verbose : settings.verbose,
1136
+ queue : true,
1137
+ onStart : start,
1138
+ onComplete : function() {
1139
+ $.proxy(callback, element)();
1140
+ }
1141
+ })
1142
+ ;
1143
+ }
1144
+ else if(settings.transition == 'slide down') {
1145
+ start();
1146
+ $currentMenu
1147
+ .show()
1148
+ .clearQueue()
1149
+ .children()
1150
+ .clearQueue()
1151
+ .css('opacity', 1)
1152
+ .animate({
1153
+ opacity : 0
1154
+ }, 100, 'easeOutQuad', module.event.resetStyle)
1155
+ .end()
1156
+ .delay(50)
1157
+ .slideUp(100, 'easeOutQuad', function() {
1158
+ $.proxy(module.event.resetStyle, this)();
1159
+ $.proxy(callback, element)();
1160
+ })
1161
+ ;
1162
+ }
1163
+ else if(settings.transition == 'fade') {
1164
+ start();
1165
+ $currentMenu
1166
+ .show()
1167
+ .clearQueue()
1168
+ .fadeOut(150, function() {
1169
+ $.proxy(module.event.resetStyle, this)();
1170
+ $.proxy(callback, element)();
1171
+ })
1172
+ ;
1173
+ }
1174
+ else {
1175
+ module.error(error.transition);
1176
+ }
1177
+ }
1178
+ }
1179
+ },
1180
+
1181
+ delay: {
1182
+ show: function() {
1183
+ module.verbose('Delaying show event to ensure user intent');
1184
+ clearTimeout(module.timer);
1185
+ module.timer = setTimeout(module.show, settings.delay.show);
1186
+ },
1187
+ hide: function() {
1188
+ module.verbose('Delaying hide event to ensure user intent');
1189
+ clearTimeout(module.timer);
1190
+ module.timer = setTimeout(module.hide, settings.delay.hide);
1191
+ }
1192
+ },
1193
+
1194
+ setting: function(name, value) {
1195
+ module.debug('Changing setting', name, value);
1196
+ if( $.isPlainObject(name) ) {
1197
+ $.extend(true, settings, name);
1198
+ }
1199
+ else if(value !== undefined) {
1200
+ settings[name] = value;
1201
+ }
1202
+ else {
1203
+ return settings[name];
1204
+ }
1205
+ },
1206
+ internal: function(name, value) {
1207
+ if( $.isPlainObject(name) ) {
1208
+ $.extend(true, module, name);
1209
+ }
1210
+ else if(value !== undefined) {
1211
+ module[name] = value;
1212
+ }
1213
+ else {
1214
+ return module[name];
1215
+ }
1216
+ },
1217
+ debug: function() {
1218
+ if(settings.debug) {
1219
+ if(settings.performance) {
1220
+ module.performance.log(arguments);
1221
+ }
1222
+ else {
1223
+ module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
1224
+ module.debug.apply(console, arguments);
1225
+ }
1226
+ }
1227
+ },
1228
+ verbose: function() {
1229
+ if(settings.verbose && settings.debug) {
1230
+ if(settings.performance) {
1231
+ module.performance.log(arguments);
1232
+ }
1233
+ else {
1234
+ module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
1235
+ module.verbose.apply(console, arguments);
1236
+ }
1237
+ }
1238
+ },
1239
+ error: function() {
1240
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
1241
+ module.error.apply(console, arguments);
1242
+ },
1243
+ performance: {
1244
+ log: function(message) {
1245
+ var
1246
+ currentTime,
1247
+ executionTime,
1248
+ previousTime
1249
+ ;
1250
+ if(settings.performance) {
1251
+ currentTime = new Date().getTime();
1252
+ previousTime = time || currentTime;
1253
+ executionTime = currentTime - previousTime;
1254
+ time = currentTime;
1255
+ performance.push({
1256
+ 'Name' : message[0],
1257
+ 'Arguments' : [].slice.call(message, 1) || '',
1258
+ 'Element' : element,
1259
+ 'Execution Time' : executionTime
1260
+ });
1261
+ }
1262
+ clearTimeout(module.performance.timer);
1263
+ module.performance.timer = setTimeout(module.performance.display, 100);
1264
+ },
1265
+ display: function() {
1266
+ var
1267
+ title = settings.name + ':',
1268
+ totalTime = 0
1269
+ ;
1270
+ time = false;
1271
+ clearTimeout(module.performance.timer);
1272
+ $.each(performance, function(index, data) {
1273
+ totalTime += data['Execution Time'];
1274
+ });
1275
+ title += ' ' + totalTime + 'ms';
1276
+ if(moduleSelector) {
1277
+ title += ' \'' + moduleSelector + '\'';
1278
+ }
1279
+ if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
1280
+ console.groupCollapsed(title);
1281
+ if(console.table) {
1282
+ console.table(performance);
1283
+ }
1284
+ else {
1285
+ $.each(performance, function(index, data) {
1286
+ console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
1287
+ });
1288
+ }
1289
+ console.groupEnd();
1290
+ }
1291
+ performance = [];
1292
+ }
1293
+ },
1294
+ invoke: function(query, passedArguments, context) {
1295
+ var
1296
+ object = instance,
1297
+ maxDepth,
1298
+ found,
1299
+ response
1300
+ ;
1301
+ passedArguments = passedArguments || queryArguments;
1302
+ context = element || context;
1303
+ if(typeof query == 'string' && object !== undefined) {
1304
+ query = query.split(/[\. ]/);
1305
+ maxDepth = query.length - 1;
1306
+ $.each(query, function(depth, value) {
1307
+ var camelCaseValue = (depth != maxDepth)
1308
+ ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
1309
+ : query
1310
+ ;
1311
+ if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
1312
+ object = object[camelCaseValue];
1313
+ }
1314
+ else if( object[camelCaseValue] !== undefined ) {
1315
+ found = object[camelCaseValue];
1316
+ return false;
1317
+ }
1318
+ else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
1319
+ object = object[value];
1320
+ }
1321
+ else if( object[value] !== undefined ) {
1322
+ found = object[value];
1323
+ return false;
1324
+ }
1325
+ else {
1326
+ module.error(error.method, query);
1327
+ return false;
1328
+ }
1329
+ });
1330
+ }
1331
+ if ( $.isFunction( found ) ) {
1332
+ response = found.apply(context, passedArguments);
1333
+ }
1334
+ else if(found !== undefined) {
1335
+ response = found;
1336
+ }
1337
+ if($.isArray(returnedValue)) {
1338
+ returnedValue.push(response);
1339
+ }
1340
+ else if(returnedValue !== undefined) {
1341
+ returnedValue = [returnedValue, response];
1342
+ }
1343
+ else if(response !== undefined) {
1344
+ returnedValue = response;
1345
+ }
1346
+ return found;
1347
+ }
1348
+ };
1349
+
1350
+ if(methodInvoked) {
1351
+ if(instance === undefined) {
1352
+ module.initialize();
1353
+ }
1354
+ module.invoke(query);
1355
+ }
1356
+ else {
1357
+ if(instance !== undefined) {
1358
+ module.destroy();
1359
+ }
1360
+ module.initialize();
1361
+ }
1362
+ })
1363
+ ;
1364
+
1365
+ return (returnedValue !== undefined)
1366
+ ? returnedValue
1367
+ : this
1368
+ ;
1369
+ };
1370
+
1371
+ $.fn.dropdown.settings = {
1372
+
1373
+ debug : false,
1374
+ verbose : true,
1375
+ performance : true,
1376
+
1377
+ on : 'click',
1378
+ action : 'activate',
1379
+
1380
+ allowTab : true,
1381
+ fullTextSearch : true,
1382
+ preserveHTML : true,
1383
+
1384
+ delay : {
1385
+ show : 200,
1386
+ hide : 300,
1387
+ touch : 50
1388
+ },
1389
+
1390
+ transition : 'slide down',
1391
+ duration : 250,
1392
+
1393
+ /* Callbacks */
1394
+
1395
+ onChange : function(value, text){},
1396
+ onShow : function(){},
1397
+ onHide : function(){},
1398
+
1399
+ /* Component */
1400
+
1401
+ name : 'Dropdown',
1402
+ namespace : 'dropdown',
1403
+
1404
+ error : {
1405
+ action : 'You called a dropdown action that was not defined',
1406
+ method : 'The method you called is not defined.',
1407
+ transition : 'The requested transition was not found'
1408
+ },
1409
+
1410
+ metadata: {
1411
+ defaultText : 'defaultText',
1412
+ defaultValue : 'defaultValue',
1413
+ text : 'text',
1414
+ value : 'value'
1415
+ },
1416
+
1417
+ selector : {
1418
+ dropdown : '.ui.dropdown',
1419
+ text : '> .text:not(.icon)',
1420
+ input : '> input[type="hidden"], > select',
1421
+ search : '> input.search, .menu > .search > input, .menu > input.search',
1422
+ menu : '.menu',
1423
+ item : '.item'
1424
+ },
1425
+
1426
+ className : {
1427
+ active : 'active',
1428
+ animating : 'animating',
1429
+ disabled : 'disabled',
1430
+ dropdown : 'ui dropdown',
1431
+ filtered : 'filtered',
1432
+ menu : 'menu',
1433
+ placeholder : 'default',
1434
+ search : 'search',
1435
+ selected : 'selected',
1436
+ selection : 'selection',
1437
+ visible : 'visible'
1438
+ }
1439
+
1440
+ };
1441
+
1442
+ /* Templates */
1443
+ $.fn.dropdown.settings.templates = {
1444
+ menu: function(select) {
1445
+ var
1446
+ placeholder = select.placeholder || false,
1447
+ values = select.values || {},
1448
+ html = ''
1449
+ ;
1450
+ $.each(select.values, function(value, name) {
1451
+ if(value === name) {
1452
+ html += '<div class="item">' + name + '</div>';
1453
+ }
1454
+ else {
1455
+ html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1456
+ }
1457
+ });
1458
+ return html;
1459
+ },
1460
+ dropdown: function(select) {
1461
+ var
1462
+ placeholder = select.placeholder || false,
1463
+ values = select.values || {},
1464
+ html = ''
1465
+ ;
1466
+ html += '<i class="dropdown icon"></i>';
1467
+ if(select.placeholder) {
1468
+ html += '<div class="default text">' + placeholder + '</div>';
1469
+ }
1470
+ else {
1471
+ html += '<div class="text"></div>';
1472
+ }
1473
+ html += '<div class="menu">';
1474
+ $.each(select.values, function(value, name) {
1475
+ if(value === name) {
1476
+ html += '<div class="item">' + name + '</div>';
1477
+ }
1478
+ else {
1479
+ html += '<div class="item" data-value="' + value + '">' + name + '</div>';
1480
+ }
1481
+ });
1482
+ html += '</div>';
1483
+ return html;
1484
+ }
1485
+ };
1486
+
1487
+
1488
+ /* Dependencies */
1489
+ $.extend( $.easing, {
1490
+ easeOutQuad: function (x, t, b, c, d) {
1491
+ return -c *(t/=d)*(t-2) + b;
1492
+ },
1493
+ });
1494
+
1495
+
1496
+ })( jQuery, window , document );